diff --git a/.eslintignore b/.eslintignore index f0d18f085..cfd713ada 100644 --- a/.eslintignore +++ b/.eslintignore @@ -17,6 +17,7 @@ **/next.config.js **/setupTests.js **/setupJest.js +**/jestResolver.js apps/vscode/extension/editor apps/examples/www apps/docs/api-content.json @@ -27,4 +28,6 @@ apps/vscode/extension/editor/tldraw-assets.json **/scripts/upload-sourcemaps.js **/coverage/**/* -apps/dotcom/public/sw.js \ No newline at end of file +apps/dotcom/public/sw.js + +patchedJestJsDom.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index ca67e5fb3..374c45544 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -46,12 +46,12 @@ module.exports = { 'react-hooks/rules-of-hooks': 'error', 'react-hooks/exhaustive-deps': 'error', 'import/no-extraneous-dependencies': 'error', - 'import/no-internal-modules': ['error', { forbid: ['@tldraw/*/**', 'tldraw/**'] }], '@typescript-eslint/consistent-type-exports': [ 'error', { fixMixedExportsWithInlineTypeSpecifier: true }, ], 'local/no-export-star': 'error', + 'local/no-internal-imports': 'error', 'no-only-tests/no-only-tests': 'error', 'no-restricted-syntax': [ 'error', @@ -66,6 +66,10 @@ module.exports = { message: 'Use the getFromSessionStorage/setInSessionStorage helpers instead', }, ], + 'no-restricted-globals': [ + 'error', + { name: 'structuredClone', message: 'Use structuredClone from @tldraw/util instead' }, + ], }, parser: '@typescript-eslint/parser', parserOptions: { @@ -95,7 +99,6 @@ module.exports = { { files: ['apps/examples/**/*'], rules: { - 'import/no-internal-modules': 'off', 'no-restricted-syntax': 'off', }, }, diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index e70e7168d..e172c635b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -19,7 +19,7 @@ body: id: reproduction attributes: label: How can we reproduce the bug? - description: If you can make the bug happen again, please share the steps involved. + description: If you can make the bug happen again, please share the steps involved. You can [fork this CodeSandbox](https://codesandbox.io/p/sandbox/tldraw-example-n539u) to make a reproduction. validations: required: false - type: dropdown diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3e99c2602..35e7f5b96 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,17 +2,25 @@ Describe what your pull request does. If appropriate, add GIFs or images showing ### Change Type -- [ ] `patch` — Bug fix -- [ ] `minor` — New feature -- [ ] `major` — Breaking change -- [ ] `dependencies` — Changes to package dependencies[^1] -- [ ] `documentation` — Changes to the documentation only[^2] -- [ ] `tests` — Changes to any test code only[^2] -- [ ] `internal` — Any other changes that don't affect the published package[^2] -- [ ] I don't know + + +- [ ] `sdk` — Changes the tldraw SDK +- [ ] `dotcom` — Changes the tldraw.com web app +- [ ] `docs` — Changes to the documentation, examples, or templates. +- [ ] `vs code` — Changes to the vscode plugin +- [ ] `internal` — Does not affect user-facing stuff + + + +- [ ] `bugfix` — Bug fix +- [ ] `feature` — New feature +- [ ] `improvement` — Improving existing features +- [ ] `chore` — Updating dependencies, other boring stuff +- [ ] `galaxy brain` — Architectural changes +- [ ] `tests` — Changes to any test code +- [ ] `tools` — Changes to infrastructure, CI, internal scripts, debugging tools, etc. +- [ ] `dunno` — I don't know -[^1]: publishes a `patch` release, for devDependencies use `internal` -[^2]: will not publish a new version ### Test Plan diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 7d4b01256..d5cdc5bcf 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -38,14 +38,17 @@ jobs: - name: Check for installation warnings run: 'yarn | grep -vzq "with warnings"' + - name: Check tsconfigs + run: yarn check-tsconfigs + - name: Typecheck run: yarn build-types - name: Check scripts run: yarn check-scripts - - name: Check tsconfigs - run: yarn check-tsconfigs + - name: Check PR template + run: yarn update-pr-template --check - name: Lint run: yarn lint @@ -73,4 +76,4 @@ jobs: run: "yarn build | sed -E 's/^.*? ::/::/'" - name: Pack public packages - run: "yarn lazy pack-tarball | sed -E 's/^.*? ::/::/'" \ No newline at end of file + run: "yarn lazy pack-tarball | sed -E 's/^.*? ::/::/'" diff --git a/.github/workflows/publish-canary.yml b/.github/workflows/publish-canary.yml index 503466bd5..0f2a280fc 100644 --- a/.github/workflows/publish-canary.yml +++ b/.github/workflows/publish-canary.yml @@ -8,7 +8,7 @@ jobs: deploy: name: 'Publish Canary Packages' environment: npm deploy - timeout-minutes: 15 + timeout-minutes: 60 runs-on: ubuntu-latest-16-cores-open steps: diff --git a/.github/workflows/publish-manual.yml b/.github/workflows/publish-manual.yml index 81b8c65b4..5a661ca47 100644 --- a/.github/workflows/publish-manual.yml +++ b/.github/workflows/publish-manual.yml @@ -13,7 +13,7 @@ jobs: deploy: name: '(Re)Publish public packages manually' environment: npm deploy - timeout-minutes: 15 + timeout-minutes: 60 runs-on: ubuntu-latest-16-cores-open outputs: diff --git a/.github/workflows/publish-new.yml b/.github/workflows/publish-new.yml index 7b6c5d2c3..b2d0f788e 100644 --- a/.github/workflows/publish-new.yml +++ b/.github/workflows/publish-new.yml @@ -27,7 +27,7 @@ jobs: deploy: name: 'Publish new version of public packages' environment: npm deploy - timeout-minutes: 15 + timeout-minutes: 60 runs-on: ubuntu-latest-16-cores-open steps: @@ -76,6 +76,4 @@ jobs: secrets: VITE_TEMPLATE_REPO_SSH_DEPLOY_KEY: ${{ secrets.VITE_TEMPLATE_REPO_SSH_DEPLOY_KEY }} NEXTJS_TEMPLATE_REPO_SSH_DEPLOY_KEY: ${{ secrets.NEXTJS_TEMPLATE_REPO_SSH_DEPLOY_KEY }} - needs: [ - deploy - ] + needs: [deploy] diff --git a/.github/workflows/publish-patch.yml b/.github/workflows/publish-patch.yml index c8e75ef6f..32337f8db 100644 --- a/.github/workflows/publish-patch.yml +++ b/.github/workflows/publish-patch.yml @@ -15,7 +15,7 @@ jobs: deploy: name: Publish patch release environment: npm deploy - timeout-minutes: 15 + timeout-minutes: 60 runs-on: ubuntu-latest-16-cores-open outputs: is_latest_version: ${{ steps.publish_step.outputs.is_latest_version }} diff --git a/.github/workflows/publish-templates.yml b/.github/workflows/publish-templates.yml index cc9d204fc..5ecbedc7d 100644 --- a/.github/workflows/publish-templates.yml +++ b/.github/workflows/publish-templates.yml @@ -19,7 +19,7 @@ defaults: jobs: publish_vite: name: 'Vite' - timeout-minutes: 15 + timeout-minutes: 60 runs-on: ubuntu-latest-16-cores-open steps: diff --git a/.gitignore b/.gitignore index 2b427b3a3..cf55eb9ab 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,8 @@ yarn-error.log* pnpm-debug.log* lerna-debug.log* +.rooms + node_modules dist dist-cjs @@ -72,6 +74,7 @@ apps/examples/www/translations !.yarn/versions packages/*/api/temp +packages/*/api/api.json packages/*/api/internal.d.ts packages/*/api/public.d.ts @@ -85,6 +88,8 @@ apps/examples/e2e/test-results apps/examples/playwright-report apps/docs/content/gen +apps/docs/content/releases +apps/docs/api .dev.vars .env.local @@ -92,4 +97,6 @@ apps/docs/content/gen .env* .wrangler -/vercel.json \ No newline at end of file +/vercel.json +license-report-prod.html +license-report.html diff --git a/.husky/pre-commit b/.husky/pre-commit index cdcc9d17e..58cc5d090 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,7 +1,7 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" +yarn install --immutable npx lazy run build-api git add packages/*/api-report.md -git add packages/*/api/api.json npx lint-staged diff --git a/.ignore b/.ignore index dd142cc32..d6fe09214 100644 --- a/.ignore +++ b/.ignore @@ -2,9 +2,9 @@ dist .tsbuild-dev .tsbuild-pub .tsbuild -node\*modules +node_modules *.d.ts -*.md +**/api-report.md **/_archive **/*.tsbuildinfo yarn.lock @@ -25,4 +25,6 @@ packages/tldraw/tldraw.css **/*.js.map **/*.api.json apps/docs/utils/vector-db +apps/docs/content/releases/**/* +apps/docs/content/reference/**/* packages/**/api \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index 2088ec33e..6e46ea1c5 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,7 +8,6 @@ !**/pages/api/* **/.tsbuild* **/.next/* -*.mdx **/_archive/* apps/docs/api-content.json apps/docs/content.json @@ -17,6 +16,12 @@ apps/examples/www content.json apps/docs/utils/vector-db/index.json **/gen/**/*.md +.github/pull_request_template.md + +**/api-report.md +**/CHANGELOG.md +apps/docs/content/releases/**/* +apps/docs/content/reference/**/* **/.vercel/* **/.wrangler/* diff --git a/.yarnrc.yml b/.yarnrc.yml index af041da40..e61390b39 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -4,4 +4,4 @@ enableGlobalCache: false enableInlineBuilds: true -nodeLinker: node-modules \ No newline at end of file +nodeLinker: node-modules diff --git a/CHANGELOG.md b/CHANGELOG.md index 2acc9d169..939ba5f9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,675 @@ +# v2.1.0 (Tue Apr 23 2024) + +### Release Notes + +#### Make note handles show only one when zoomed out ([#3562](https://github.com/tldraw/tldraw/pull/3562)) + +- Show only the bottom handle on notes when zoomed between .25 and .5 + +#### Perf: minor drawing speedup ([#3464](https://github.com/tldraw/tldraw/pull/3464)) + +- Improve performance of draw shapes. + +#### Prevent default on native clipboard events ([#3536](https://github.com/tldraw/tldraw/pull/3536)) + +- Fix copy sound on clipboard events. + +#### WebGL Minimap ([#3510](https://github.com/tldraw/tldraw/pull/3510)) + +- Add a brief release note for your PR here. + +#### arrows: fix bound arrow labels going over text shape ([#3512](https://github.com/tldraw/tldraw/pull/3512)) + +- Arrows: fix label positioning when bound. + +#### arrows: still use Dist instead of Dist2 ([#3511](https://github.com/tldraw/tldraw/pull/3511)) + +- Fix arrow label positioning + +#### Fix culling. ([#3504](https://github.com/tldraw/tldraw/pull/3504)) + +- Fix culling. + +#### "Soft preload" icons ([#3507](https://github.com/tldraw/tldraw/pull/3507)) + +- Improve icon preloading + +#### Color tweaks (light and dark mode) ([#3486](https://github.com/tldraw/tldraw/pull/3486)) + +- Adjusts colors + +#### Add slides example ([#3467](https://github.com/tldraw/tldraw/pull/3467)) + +- Docs: Added a slideshow example + +#### Only show cursor chat button in select mode ([#3485](https://github.com/tldraw/tldraw/pull/3485)) + +- Fix cursor chat button appearing when not in select tool. + +#### Fix alt-duplicating shapes sometimes not working ([#3488](https://github.com/tldraw/tldraw/pull/3488)) + +- Add a brief release note for your PR here. + +#### [perf] faster signia capture (again) ([#3487](https://github.com/tldraw/tldraw/pull/3487)) + +- Add a brief release note for your PR here. + +#### [perf] faster signia capture ([#3471](https://github.com/tldraw/tldraw/pull/3471)) + +- Slight performance improvement to reactivity bookkeeping. + +#### New migrations again ([#3220](https://github.com/tldraw/tldraw/pull/3220)) + +#### BREAKING CHANGES + +- The `Migrations` type is now called `LegacyMigrations`. +- The serialized schema format (e.g. returned by `StoreSchema.serialize()` and `Store.getSnapshot()`) has changed. You don't need to do anything about it unless you were reading data directly from the schema for some reason. In which case it'd be best to avoid that in the future! We have no plans to change the schema format again (this time was traumatic enough) but you never know. +- `compareRecordVersions` and the `RecordVersion` type have both disappeared. There is no replacement. These were public by mistake anyway, so hopefully nobody had been using it. +- `compareSchemas` is gone. Comparing the schemas directly is no longer really possible since we introduced some fuzziness. The best thing to do now to check compatibility is to call `schema.getMigraitonsSince(prevSchema)` and it will return an error if the schemas are not compatible, an empty array if there are no migrations to apply since the prev schema, and a nonempty array otherwise. + + Generally speaking, the best way to check schema compatibility now is to call `store.schema.getMigrationsSince(persistedSchema)`. This will throw an error if there is no upgrade path from the `persistedSchema` to the current version. + +- `defineMigrations` has been deprecated and will be removed in a future release. For upgrade instructions see https://tldraw.dev/docs/persistence#Updating-legacy-shape-migrations-defineMigrations + +- `migrate` has been removed. Nobody should have been using this but if you were you'll need to find an alternative. For migrating tldraw data, you should stick to using `schema.migrateStoreSnapshot` and, if you are building a nuanced sync engine that supports some amount of backwards compatibility, also feel free to use `schema.migratePersistedRecord`. +- the `Migration` type has changed. If you need the old one for some reason it has been renamed to `LegacyMigration`. It will be removed in a future release. +- the `Migrations` type has been renamed to `LegacyMigrations` and will be removed in a future release. +- the `SerializedSchema` type has been augmented. If you need the old version specifically you can use `SerializedSchemaV1` + +#### Stickies: release candidate ([#3249](https://github.com/tldraw/tldraw/pull/3249)) + +- Improves sticky notes (see list) + +#### Cancel pointer velocity while pinching ([#3462](https://github.com/tldraw/tldraw/pull/3462)) + +- Fixed a bug that could occur while pinching with the hand tool selected. + +#### conditionally use star-history dark theme ([#3461](https://github.com/tldraw/tldraw/pull/3461)) + +updates the star-history image in the README to conditionally show a dark theme image based on the user's `prefers-color-scheme` + +#### Allow users to edit the document title by double clicking it even when editing a shape. ([#3459](https://github.com/tldraw/tldraw/pull/3459)) + +- Allow users to editing document name by double clicking even when previously editing text. + +#### Don't show edit link for locked shapes. ([#3457](https://github.com/tldraw/tldraw/pull/3457)) + +- Hide edit link context menu option for locked shapes. + +#### Faster selection / erasing ([#3454](https://github.com/tldraw/tldraw/pull/3454)) + +- Improve performance of minimum distance checks. + +#### Make minimap display sharp rectangles. ([#3434](https://github.com/tldraw/tldraw/pull/3434)) + +- Improve + +#### Update font import URL in quick-start.mdx ([#3430](https://github.com/tldraw/tldraw/pull/3430)) + +- Fixes font import link in tldraw.dev quickstart guide + +#### Perf: Improve text outline performance ([#3429](https://github.com/tldraw/tldraw/pull/3429)) + +- Improves performance of text shapes on iOS / Safari. + +#### Perf: throttle `updateHoveredId` ([#3419](https://github.com/tldraw/tldraw/pull/3419)) + +- Improves canvas performance by throttling the update to the editor's hovered id. + +#### Perf: block hit tests while moving camera ([#3418](https://github.com/tldraw/tldraw/pull/3418)) + +- Improves performance of canvas while the camera is moving. + +#### Perf: (slightly) faster min dist checks ([#3401](https://github.com/tldraw/tldraw/pull/3401)) + +- Performance: small improvements to hit testing. + +#### Examples: update kbd shortcuts, add actions overrides example ([#3330](https://github.com/tldraw/tldraw/pull/3330)) + +- Add action overrides example, update keyboard shortcuts example + +#### Add long press event ([#3275](https://github.com/tldraw/tldraw/pull/3275)) + +- Add support for long pressing on desktop. + +#### Tool with child states ([#3074](https://github.com/tldraw/tldraw/pull/3074)) + +- Add an example of a tool with child states + +#### Fix text resizing bug ([#3327](https://github.com/tldraw/tldraw/pull/3327)) + +- Fixes an issue with text shapes overflowing their bounds when resized. + +#### Input buffering ([#3223](https://github.com/tldraw/tldraw/pull/3223)) + +- Add a brief release note for your PR here. + +#### Add white ([#3321](https://github.com/tldraw/tldraw/pull/3321)) + +- Adds secret white color. + +#### Don't trigger pointer move on zoom ([#3305](https://github.com/tldraw/tldraw/pull/3305)) + +- Improve performance of zooming. + +#### Decrease the number of rendered dom nodes for geo shape and arrows ([#3283](https://github.com/tldraw/tldraw/pull/3283)) + +- Reduce the number of rendered dom nodes for geo shapes and arrows without text. + +#### Improve performance of culling ([#3272](https://github.com/tldraw/tldraw/pull/3272)) + +- Improve performance of the canvas when many shapes are present. + +#### styling: make dotcom and examples site have consistent font styling ([#3271](https://github.com/tldraw/tldraw/pull/3271)) + +- Add a brief release note for your PR here. + +#### ui: make toasts look more toasty ([#2988](https://github.com/tldraw/tldraw/pull/2988)) + +- UI: Add severity to toasts. + +#### textfields [1 of 3]: add text into speech bubble; also add rich text example ([#3050](https://github.com/tldraw/tldraw/pull/3050)) + +- Refactor textfields be composable/swappable. + +#### Update romanian translations ([#3269](https://github.com/tldraw/tldraw/pull/3269)) + +- Update Romanian translation. + +#### Allow hiding debug panel. ([#3261](https://github.com/tldraw/tldraw/pull/3261)) + +- Allow users to fully override the `DebugPanel`. + +#### Add inline behaviour example ([#3113](https://github.com/tldraw/tldraw/pull/3113)) + +- Docs: Added an example for inline behaviour. + +#### toolbar: fix missing title attributes ([#3244](https://github.com/tldraw/tldraw/pull/3244)) + +- Fix title's being missing on toolbar items. + +#### Don't double squash ([#3182](https://github.com/tldraw/tldraw/pull/3182)) + +- Minor improvement when modifying multiple shapes at once. + +#### Fix lag while panning + translating at the same time ([#3186](https://github.com/tldraw/tldraw/pull/3186)) + +- Add a brief release note for your PR here. + +#### fix docs build ([#3201](https://github.com/tldraw/tldraw/pull/3201)) + +- Add a brief release note for your PR here. + +#### Update the document title to include the document name. ([#3197](https://github.com/tldraw/tldraw/pull/3197)) + +- Use the document name in the `document.title`. + +#### Remove access token logic. ([#3187](https://github.com/tldraw/tldraw/pull/3187)) + +- Remove some leftover logic from pro days. + +#### [fix] Batch tick events ([#3181](https://github.com/tldraw/tldraw/pull/3181)) + +- Fix a performance issue effecting resizing multiple shapes. + +#### [tinyish] Simplify / skip some work in Shape ([#3176](https://github.com/tldraw/tldraw/pull/3176)) + +- SDK: minor improvements to the Shape component + +#### [tiny] Slightly more efficient selection rotated page bounds / page bounds ([#3178](https://github.com/tldraw/tldraw/pull/3178)) + +- SDK, slightly more performant selection bounds calculations. + +#### [sync] allow connections from v4 clients ([#3173](https://github.com/tldraw/tldraw/pull/3173)) + +- Add a brief release note for your PR here. + +#### [fix] Handles extra renders ([#3172](https://github.com/tldraw/tldraw/pull/3172)) + +- SDK: Fixed a minor rendering issue related to handles. + +#### [fix] Cleanup text measures ([#3169](https://github.com/tldraw/tldraw/pull/3169)) + +- Fixed a bug that could cause multiple text measurement divs in development mode. + +#### [perf] Reinstate render throttling ([#3160](https://github.com/tldraw/tldraw/pull/3160)) + +- Add a brief release note for your PR here. + +#### Fix release eliding ([#3156](https://github.com/tldraw/tldraw/pull/3156)) + +- Add a brief release note for your PR here. + +#### Updated exploded example link from installation page. ([#3138](https://github.com/tldraw/tldraw/pull/3138)) + +- Add a brief release note for your PR here. +Installation docs has a link to example for exploded which points to github 404. I have updated the working link. + +#### Make the custom menu examples a bit clearer ([#3106](https://github.com/tldraw/tldraw/pull/3106)) + +- Add a brief release note for your PR here. + +#### Menu updates / fix flip / add export / remove Shape menu ([#3115](https://github.com/tldraw/tldraw/pull/3115)) + +- Revert some changes in the menu. + +#### Performance improvements ([#2977](https://github.com/tldraw/tldraw/pull/2977)) + +- Improves the performance of rendering. + +#### [fix] Rotated crop handle ([#3093](https://github.com/tldraw/tldraw/pull/3093)) + +- Fixed a bug that could cause rotated cropping images to have incorrectly rotated handles. + +#### Fix typo in useValue comment ([#3088](https://github.com/tldraw/tldraw/pull/3088)) + +- Fix typo in useValue comment. + +#### Shape with Migrations ([#3078](https://github.com/tldraw/tldraw/pull/3078)) + +- Adds a shape with migrations example + +#### Fix viewport params for pages. ([#3079](https://github.com/tldraw/tldraw/pull/3079)) + +- Fixes an issue with url params in the share links. The viewport params only worked on the first page in the document. + +#### Fix typo ([#3069](https://github.com/tldraw/tldraw/pull/3069)) + +N/A + +#### Add custom tool examples ([#3064](https://github.com/tldraw/tldraw/pull/3064)) + +- Adds a simple custom tool example + +#### Fix validation errors for `duplicateProps` ([#3065](https://github.com/tldraw/tldraw/pull/3065)) + +- Add a brief release note for your PR here. + +#### Shorten url state ([#3041](https://github.com/tldraw/tldraw/pull/3041)) + +- Shortens url parameters for dot com. + +#### Fix an issue where the video size was not drawn correctly ([#3047](https://github.com/tldraw/tldraw/pull/3047)) + +- Fix an issue where the video size was not drawn correctly. + +#### [fix] Input tags ([#3038](https://github.com/tldraw/tldraw/pull/3038)) + +- Fixed autocomplete, autocapitalize, and autocorrect tags on text inputs. + +#### Lokalise: Translations update ([#3049](https://github.com/tldraw/tldraw/pull/3049)) + +- Updated Hungarian translations. + +#### [terrible] Firefox: Allow scrolling on keyboard shortcuts dialog ([#2974](https://github.com/tldraw/tldraw/pull/2974)) + +- Add a brief release note for your PR here. + +#### Fix cursor chat bubble position. ([#3042](https://github.com/tldraw/tldraw/pull/3042)) + +- Fixed a bug where cursor chat bubble position could be wrong when a sidebar was open. + +#### Fix broken link for shape example ([#3046](https://github.com/tldraw/tldraw/pull/3046)) + +- Fix a link that was pointing to a 404 on GitHub + +#### Protect local storage calls ([#3043](https://github.com/tldraw/tldraw/pull/3043)) + +- Fixes a bug that could cause crashes in React Native webviews. + +#### Custom shape examples ([#2994](https://github.com/tldraw/tldraw/pull/2994)) + +- adds a simple custom shape example +- adds an interactive shape example +- updates editable shape example + +#### Expose `getStyleForNextShape` ([#3039](https://github.com/tldraw/tldraw/pull/3039)) + +- Expose the API for `Editor.getStyleForNextShape`, previously marked as internal. + +#### [fix] Missing element crash (rare) on video shapes. ([#3037](https://github.com/tldraw/tldraw/pull/3037)) + +- Fixed a rare crash with video shapes. + +#### Example of using tldraw styles ([#3017](https://github.com/tldraw/tldraw/pull/3017)) + +- shape with tldraw styles example + +#### Show a broken image for files without assets ([#2990](https://github.com/tldraw/tldraw/pull/2990)) + +- Better handling of broken images / videos. + +#### Selection UI example (plus fixes to pageToScreen) ([#3015](https://github.com/tldraw/tldraw/pull/3015)) + +- Adds selection UI example. +- Adds `Editor.getSelectionRotatedScreenBounds` method +- Fixes a bug with `pageToScreen`. + +#### [bugfix] Avoid randomness at init time to allow running on cloudflare. ([#3016](https://github.com/tldraw/tldraw/pull/3016)) + +- Prevent using randomness API at init time, to allow importing the tldraw package in a cloudflare worker. + +--- + +#### 💥 Breaking Change + +- `@tldraw/editor`, `tldraw`, `@tldraw/validate` + - React-powered SVG exports [#3117](https://github.com/tldraw/tldraw/pull/3117) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- `@tldraw/editor`, `tldraw` + - Component-based toolbar customisation API [#3067](https://github.com/tldraw/tldraw/pull/3067) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) +- `tldraw` + - Menu updates / fix flip / add export / remove Shape menu [#3115](https://github.com/tldraw/tldraw/pull/3115) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state`, `@tldraw/store`, `tldraw`, `@tldraw/utils` + - Performance improvements [#2977](https://github.com/tldraw/tldraw/pull/2977) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + +#### 🚀 Enhancement + +- squish sync data events before sending them out [#3118](https://github.com/tldraw/tldraw/pull/3118) ([@si14](https://github.com/si14)) +- `@tldraw/editor`, `tldraw` + - textfields [1 of 3]: add text into speech bubble; also add rich text example [#3050](https://github.com/tldraw/tldraw/pull/3050) ([@mimecuvalo](https://github.com/mimecuvalo)) +- `@tldraw/editor` + - Selection UI example (plus fixes to pageToScreen) [#3015](https://github.com/tldraw/tldraw/pull/3015) ([@steveruizok](https://github.com/steveruizok)) + +#### 🐛 Bug Fix + +- Revert "squish sync data events before sending them out" [#3331](https://github.com/tldraw/tldraw/pull/3331) ([@ds300](https://github.com/ds300)) +- docs: fix up github link [#3108](https://github.com/tldraw/tldraw/pull/3108) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Bump the npm_and_yarn group across 3 directories with 3 updates [#3087](https://github.com/tldraw/tldraw/pull/3087) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@github-actions[bot]](https://github.com/github-actions[bot]) [@MitjaBezensek](https://github.com/MitjaBezensek)) +- simplify fnmatch pattern ([@ds300](https://github.com/ds300)) +- Bump the npm_and_yarn group group with 7 updates [#2982](https://github.com/tldraw/tldraw/pull/2982) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@MitjaBezensek](https://github.com/MitjaBezensek)) +- `tldraw` + - quick fixes [#3128](https://github.com/tldraw/tldraw/pull/3128) ([@steveruizok](https://github.com/steveruizok)) + +#### 📚 SDK Changes + +- Update useFileSystem.tsx [#3371](https://github.com/tldraw/tldraw/pull/3371) ([@steveruizok](https://github.com/steveruizok)) +- only buffer pointer events [#3337](https://github.com/tldraw/tldraw/pull/3337) ([@steveruizok](https://github.com/steveruizok)) +- `tldraw` + - Fix collaborator size with zoom [#3563](https://github.com/tldraw/tldraw/pull/3563) ([@steveruizok](https://github.com/steveruizok)) + - Make note handles show only one when zoomed out [#3562](https://github.com/tldraw/tldraw/pull/3562) ([@steveruizok](https://github.com/steveruizok)) + - Fix transparent colors in the minimap [#3561](https://github.com/tldraw/tldraw/pull/3561) ([@steveruizok](https://github.com/steveruizok)) + - Expose `usePreloadAssets` [#3545](https://github.com/tldraw/tldraw/pull/3545) ([@SomeHats](https://github.com/SomeHats)) + - Prevent default on native clipboard events [#3536](https://github.com/tldraw/tldraw/pull/3536) ([@steveruizok](https://github.com/steveruizok)) + - Improve back to content [#3532](https://github.com/tldraw/tldraw/pull/3532) ([@steveruizok](https://github.com/steveruizok)) + - arrows: fix bound arrow labels going over text shape [#3512](https://github.com/tldraw/tldraw/pull/3512) ([@mimecuvalo](https://github.com/mimecuvalo)) + - textfields: fix Safari cursor rendering bug, take 2 [#3513](https://github.com/tldraw/tldraw/pull/3513) ([@mimecuvalo](https://github.com/mimecuvalo)) + - geo: fix double unique id on DOM [#3514](https://github.com/tldraw/tldraw/pull/3514) ([@mimecuvalo](https://github.com/mimecuvalo)) + - arrows: still use Dist instead of Dist2 [#3511](https://github.com/tldraw/tldraw/pull/3511) ([@mimecuvalo](https://github.com/mimecuvalo)) + - textfields: nix disableTab option; make TextShapes have custom Tab behavior as intended [#3506](https://github.com/tldraw/tldraw/pull/3506) ([@mimecuvalo](https://github.com/mimecuvalo)) + - "Soft preload" icons [#3507](https://github.com/tldraw/tldraw/pull/3507) ([@steveruizok](https://github.com/steveruizok)) + - textfields: wait a tick before selecting all to fix iOS [#3501](https://github.com/tldraw/tldraw/pull/3501) ([@mimecuvalo](https://github.com/mimecuvalo)) + - textfields: fix dragging selected shape behind another [#3498](https://github.com/tldraw/tldraw/pull/3498) ([@mimecuvalo](https://github.com/mimecuvalo)) + - stickies: a bit of fuzziness when calculating certain text [#3493](https://github.com/tldraw/tldraw/pull/3493) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Fix alt-duplicating shapes sometimes not working [#3488](https://github.com/tldraw/tldraw/pull/3488) ([@TodePond](https://github.com/TodePond)) + - stickies: dont remove selection ranges when edit->edit [#3484](https://github.com/tldraw/tldraw/pull/3484) ([@mimecuvalo](https://github.com/mimecuvalo)) + - stickies: hide clone handles on mobile [#3478](https://github.com/tldraw/tldraw/pull/3478) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Don't show edit link for locked shapes. [#3457](https://github.com/tldraw/tldraw/pull/3457) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Performance measurement tool (for unit tests) [#3447](https://github.com/tldraw/tldraw/pull/3447) ([@steveruizok](https://github.com/steveruizok)) + - Remove minimap throttling [#3438](https://github.com/tldraw/tldraw/pull/3438) ([@steveruizok](https://github.com/steveruizok)) + - Make minimap display sharp rectangles. [#3434](https://github.com/tldraw/tldraw/pull/3434) ([@steveruizok](https://github.com/steveruizok)) + - Perf: throttle `updateHoveredId` [#3419](https://github.com/tldraw/tldraw/pull/3419) ([@steveruizok](https://github.com/steveruizok)) + - Revert "Fix text resizing bug (#3327)" [#3332](https://github.com/tldraw/tldraw/pull/3332) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Fix text resizing bug [#3327](https://github.com/tldraw/tldraw/pull/3327) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) + - Fix count shapes and nodes [#3318](https://github.com/tldraw/tldraw/pull/3318) ([@steveruizok](https://github.com/steveruizok)) + - Decrease the number of rendered dom nodes for geo shape and arrows [#3283](https://github.com/tldraw/tldraw/pull/3283) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - styling: make dotcom and examples site have consistent font styling [#3271](https://github.com/tldraw/tldraw/pull/3271) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) + - Allow hiding debug panel. [#3261](https://github.com/tldraw/tldraw/pull/3261) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - toolbar: fix missing title attributes [#3244](https://github.com/tldraw/tldraw/pull/3244) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) + - Fix jpg export and tests [#3198](https://github.com/tldraw/tldraw/pull/3198) ([@SomeHats](https://github.com/SomeHats)) + - [tiny] lift theme in style panel [#3170](https://github.com/tldraw/tldraw/pull/3170) ([@steveruizok](https://github.com/steveruizok)) +- `tldraw`, `@tldraw/utils` + - Perf: minor drawing speedup [#3464](https://github.com/tldraw/tldraw/pull/3464) ([@steveruizok](https://github.com/steveruizok)) + - fixup file helpers [#3130](https://github.com/tldraw/tldraw/pull/3130) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/editor`, `tldraw` + - WebGL Minimap [#3510](https://github.com/tldraw/tldraw/pull/3510) ([@ds300](https://github.com/ds300)) + - textfields: on mobile edit->edit, allow going to empty geo [#3469](https://github.com/tldraw/tldraw/pull/3469) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Faster selection / erasing [#3454](https://github.com/tldraw/tldraw/pull/3454) ([@steveruizok](https://github.com/steveruizok)) + - Fix SVG exports in Next.js [#3446](https://github.com/tldraw/tldraw/pull/3446) ([@SomeHats](https://github.com/SomeHats)) + - Perf: Incremental culled shapes calculation. [#3411](https://github.com/tldraw/tldraw/pull/3411) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - Fix some tests [#3403](https://github.com/tldraw/tldraw/pull/3403) ([@steveruizok](https://github.com/steveruizok)) + - Add long press event [#3275](https://github.com/tldraw/tldraw/pull/3275) ([@steveruizok](https://github.com/steveruizok)) + - textfields: fix regression with Text shape and resizing [#3333](https://github.com/tldraw/tldraw/pull/3333) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Add image annotator example [#3147](https://github.com/tldraw/tldraw/pull/3147) ([@SomeHats](https://github.com/SomeHats)) + - [fix] Batch tick events [#3181](https://github.com/tldraw/tldraw/pull/3181) ([@steveruizok](https://github.com/steveruizok)) + - [tinyish] Simplify / skip some work in Shape [#3176](https://github.com/tldraw/tldraw/pull/3176) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state` + - [signia] Smart dirty checking of active computeds [#3516](https://github.com/tldraw/tldraw/pull/3516) ([@ds300](https://github.com/ds300)) + - [perf] faster signia capture (again) [#3487](https://github.com/tldraw/tldraw/pull/3487) ([@ds300](https://github.com/ds300)) + - [perf] faster signia capture [#3471](https://github.com/tldraw/tldraw/pull/3471) ([@ds300](https://github.com/ds300)) +- `tldraw`, `@tldraw/validate` + - [fix] allow loading files [#3517](https://github.com/tldraw/tldraw/pull/3517) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor`, `@tldraw/tlschema` + - Color tweaks (light and dark mode) [#3486](https://github.com/tldraw/tldraw/pull/3486) ([@steveruizok](https://github.com/steveruizok) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- `@tldraw/editor` + - Stickies: fix sticky note clipping [#3503](https://github.com/tldraw/tldraw/pull/3503) ([@steveruizok](https://github.com/steveruizok)) + - css more shapes that need transparent behavior [#3497](https://github.com/tldraw/tldraw/pull/3497) ([@mimecuvalo](https://github.com/mimecuvalo)) + - [fix] use page point for pointer [#3476](https://github.com/tldraw/tldraw/pull/3476) ([@ds300](https://github.com/ds300)) + - perf: calculate hypoteneuse manually instead of using hypot [#3468](https://github.com/tldraw/tldraw/pull/3468) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Cancel pointer velocity while pinching [#3462](https://github.com/tldraw/tldraw/pull/3462) ([@steveruizok](https://github.com/steveruizok)) + - Perf: Use a computed cache for masked shape page bounds [#3460](https://github.com/tldraw/tldraw/pull/3460) ([@steveruizok](https://github.com/steveruizok)) + - Remove docs for Editor.batch [#3451](https://github.com/tldraw/tldraw/pull/3451) ([@steveruizok](https://github.com/steveruizok)) + - Fix panning. [#3445](https://github.com/tldraw/tldraw/pull/3445) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Perf: Improve text outline performance [#3429](https://github.com/tldraw/tldraw/pull/3429) ([@steveruizok](https://github.com/steveruizok)) + - Fix text bug on iOS [#3423](https://github.com/tldraw/tldraw/pull/3423) ([@steveruizok](https://github.com/steveruizok)) + - Perf: block hit tests while moving camera [#3418](https://github.com/tldraw/tldraw/pull/3418) ([@steveruizok](https://github.com/steveruizok)) + - Fix an issue with layers when moving shapes. [#3380](https://github.com/tldraw/tldraw/pull/3380) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - [culling] minimal culled diff with webgl [#3377](https://github.com/tldraw/tldraw/pull/3377) ([@steveruizok](https://github.com/steveruizok)) + - put `getCurrentPageId` into a computed [#3378](https://github.com/tldraw/tldraw/pull/3378) ([@steveruizok](https://github.com/steveruizok)) + - Don't trigger pointer move on zoom [#3305](https://github.com/tldraw/tldraw/pull/3305) ([@steveruizok](https://github.com/steveruizok)) + - Improve performance of culling [#3272](https://github.com/tldraw/tldraw/pull/3272) ([@steveruizok](https://github.com/steveruizok)) + - Skip the random ID for regular history entries [#3183](https://github.com/tldraw/tldraw/pull/3183) ([@steveruizok](https://github.com/steveruizok)) + - [tiny] Slightly more efficient selection rotated page bounds / page bounds [#3178](https://github.com/tldraw/tldraw/pull/3178) ([@steveruizok](https://github.com/steveruizok)) + - [fix] handles [#3177](https://github.com/tldraw/tldraw/pull/3177) ([@steveruizok](https://github.com/steveruizok)) + - [fix] Handles extra renders [#3172](https://github.com/tldraw/tldraw/pull/3172) ([@steveruizok](https://github.com/steveruizok)) + - [tiny] remove unused shape indicator equality checker [#3171](https://github.com/tldraw/tldraw/pull/3171) ([@steveruizok](https://github.com/steveruizok)) + - [fix] Cleanup text measures [#3169](https://github.com/tldraw/tldraw/pull/3169) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/state`, `@tldraw/store`, `tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` + - New migrations again [#3220](https://github.com/tldraw/tldraw/pull/3220) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/store` + - undo devFreeze unintentional commit [#3466](https://github.com/tldraw/tldraw/pull/3466) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Fix typo. [#3306](https://github.com/tldraw/tldraw/pull/3306) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Don't double squash [#3182](https://github.com/tldraw/tldraw/pull/3182) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw`, `@tldraw/tlschema` + - Stickies: release candidate [#3249](https://github.com/tldraw/tldraw/pull/3249) ([@steveruizok](https://github.com/steveruizok) [@mimecuvalo](https://github.com/mimecuvalo) [@TodePond](https://github.com/TodePond) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- `@tldraw/editor`, `@tldraw/store`, `tldraw` + - Improve hand dragging with long press [#3432](https://github.com/tldraw/tldraw/pull/3432) ([@steveruizok](https://github.com/steveruizok)) + - Perf: (slightly) faster min dist checks [#3401](https://github.com/tldraw/tldraw/pull/3401) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/utils` + - Perf: slightly faster `getShapeAtPoint` [#3416](https://github.com/tldraw/tldraw/pull/3416) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state`, `@tldraw/tlschema` + - Add white migration [#3334](https://github.com/tldraw/tldraw/pull/3334) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/state`, `tldraw` + - Fix blur bug in editable text [#3343](https://github.com/tldraw/tldraw/pull/3343) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw`, `@tldraw/utils` + - Input buffering [#3223](https://github.com/tldraw/tldraw/pull/3223) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - Fix lag while panning + translating at the same time [#3186](https://github.com/tldraw/tldraw/pull/3186) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) +- `tldraw`, `@tldraw/tlschema` + - Add white [#3321](https://github.com/tldraw/tldraw/pull/3321) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/store`, `tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` + - use native structuredClone on node, cloudflare workers, and in tests [#3166](https://github.com/tldraw/tldraw/pull/3166) ([@si14](https://github.com/si14)) +- `@tldraw/editor`, `@tldraw/state` + - [perf] Reinstate render throttling [#3160](https://github.com/tldraw/tldraw/pull/3160) ([@ds300](https://github.com/ds300)) + +#### 🖥️ tldraw.com Changes + +- fix document name alignment [#3559](https://github.com/tldraw/tldraw/pull/3559) ([@SomeHats](https://github.com/SomeHats)) +- Fix version [#3521](https://github.com/tldraw/tldraw/pull/3521) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Only show cursor chat button in select mode [#3485](https://github.com/tldraw/tldraw/pull/3485) ([@TodePond](https://github.com/TodePond)) +- Allow users to edit the document title by double clicking it even when editing a shape. [#3459](https://github.com/tldraw/tldraw/pull/3459) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Fix cursor chat in context menu. [#3435](https://github.com/tldraw/tldraw/pull/3435) ([@steveruizok](https://github.com/steveruizok)) +- Update romanian translations [#3269](https://github.com/tldraw/tldraw/pull/3269) ([@TodePond](https://github.com/TodePond)) +- fix document name overflow [#3263](https://github.com/tldraw/tldraw/pull/3263) ([@SomeHats](https://github.com/SomeHats)) +- top bar design tweaks [#3205](https://github.com/tldraw/tldraw/pull/3205) ([@SomeHats](https://github.com/SomeHats)) +- Update the document title to include the document name. [#3197](https://github.com/tldraw/tldraw/pull/3197) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Remove access token logic. [#3187](https://github.com/tldraw/tldraw/pull/3187) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [sync] allow connections from v4 clients [#3173](https://github.com/tldraw/tldraw/pull/3173) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor` + - Enable document name [#3150](https://github.com/tldraw/tldraw/pull/3150) ([@ds300](https://github.com/ds300)) + +#### 📖 Documentation changes + +- Add releases section to docs [#3564](https://github.com/tldraw/tldraw/pull/3564) ([@SomeHats](https://github.com/SomeHats)) +- conditionally use star-history dark theme [#3461](https://github.com/tldraw/tldraw/pull/3461) ([@sunnyzanchi](https://github.com/sunnyzanchi)) +- Update font import URL in quick-start.mdx [#3430](https://github.com/tldraw/tldraw/pull/3430) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) +- Examples: update kbd shortcuts, add actions overrides example [#3330](https://github.com/tldraw/tldraw/pull/3330) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Tool with child states [#3074](https://github.com/tldraw/tldraw/pull/3074) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Add inline behaviour example [#3113](https://github.com/tldraw/tldraw/pull/3113) ([@TodePond](https://github.com/TodePond)) +- docs: make header fixed instead of sticky [#3228](https://github.com/tldraw/tldraw/pull/3228) ([@mimecuvalo](https://github.com/mimecuvalo)) +- fix docs slugs [#3227](https://github.com/tldraw/tldraw/pull/3227) ([@SomeHats](https://github.com/SomeHats)) +- docs: work around browser bug with input+scrolling [#3209](https://github.com/tldraw/tldraw/pull/3209) ([@mimecuvalo](https://github.com/mimecuvalo)) +- PDF editor example [#3159](https://github.com/tldraw/tldraw/pull/3159) ([@SomeHats](https://github.com/SomeHats)) +- fix docs build [#3201](https://github.com/tldraw/tldraw/pull/3201) ([@ds300](https://github.com/ds300)) +- [example] culling [#3174](https://github.com/tldraw/tldraw/pull/3174) ([@steveruizok](https://github.com/steveruizok)) +- Fix release eliding [#3156](https://github.com/tldraw/tldraw/pull/3156) ([@ds300](https://github.com/ds300)) +- [docs] Sync docs deploy with npm deploy [#3153](https://github.com/tldraw/tldraw/pull/3153) ([@ds300](https://github.com/ds300)) +- Updated exploded example link from installation page. [#3138](https://github.com/tldraw/tldraw/pull/3138) ([@Kesavaraja](https://github.com/Kesavaraja)) +- Make the custom menu examples a bit clearer [#3106](https://github.com/tldraw/tldraw/pull/3106) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) +- Custom renderer example [#3091](https://github.com/tldraw/tldraw/pull/3091) ([@steveruizok](https://github.com/steveruizok)) +- Shape with Migrations [#3078](https://github.com/tldraw/tldraw/pull/3078) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Fix typo [#3069](https://github.com/tldraw/tldraw/pull/3069) ([@calebeby](https://github.com/calebeby)) +- Add custom tool examples [#3064](https://github.com/tldraw/tldraw/pull/3064) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) +- Fix broken link for shape example [#3046](https://github.com/tldraw/tldraw/pull/3046) ([@lorenzolewis](https://github.com/lorenzolewis)) +- Custom shape examples [#2994](https://github.com/tldraw/tldraw/pull/2994) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Example of using tldraw styles [#3017](https://github.com/tldraw/tldraw/pull/3017) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor` + - Add slides example [#3467](https://github.com/tldraw/tldraw/pull/3467) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@TodePond](https://github.com/TodePond)) + - side effects reference docs & examples [#3258](https://github.com/tldraw/tldraw/pull/3258) ([@SomeHats](https://github.com/SomeHats)) + - fix docs not building due to typo [#3259](https://github.com/tldraw/tldraw/pull/3259) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/store` + - Fix typo in Store.ts [#3385](https://github.com/tldraw/tldraw/pull/3385) ([@OrionReed](https://github.com/OrionReed)) +- `tldraw` + - docs: fix missing API entries [#3111](https://github.com/tldraw/tldraw/pull/3111) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state` + - Fix typo in useValue comment [#3088](https://github.com/tldraw/tldraw/pull/3088) ([@Slowhand0309](https://github.com/Slowhand0309)) + +#### 🏠 Internal + +- Fix deploy script [#3550](https://github.com/tldraw/tldraw/pull/3550) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [internal] Add license report scripts [#2751](https://github.com/tldraw/tldraw/pull/2751) ([@steveruizok](https://github.com/steveruizok)) +- [chore] Bump browser-fs-access. [#3277](https://github.com/tldraw/tldraw/pull/3277) ([@steveruizok](https://github.com/steveruizok)) +- log message size in worker analytics [#3274](https://github.com/tldraw/tldraw/pull/3274) ([@SomeHats](https://github.com/SomeHats)) +- Add yarn immutable check to pre-commit. [#3218](https://github.com/tldraw/tldraw/pull/3218) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- tooling: prettier ignore pr template [#3210](https://github.com/tldraw/tldraw/pull/3210) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Add release docs [#3158](https://github.com/tldraw/tldraw/pull/3158) ([@ds300](https://github.com/ds300)) +- Simplify tlsync types [#3139](https://github.com/tldraw/tldraw/pull/3139) ([@si14](https://github.com/si14)) +- [DX] PR labels revamp [#3112](https://github.com/tldraw/tldraw/pull/3112) ([@ds300](https://github.com/ds300)) +- Restore export menu content [#3126](https://github.com/tldraw/tldraw/pull/3126) ([@steveruizok](https://github.com/steveruizok)) +- Don't import package.json in scripts/refresh-assets.ts, just read it [#3116](https://github.com/tldraw/tldraw/pull/3116) ([@si14](https://github.com/si14)) +- [dx] Allow vscode to search inside md files by default [#3105](https://github.com/tldraw/tldraw/pull/3105) ([@ds300](https://github.com/ds300)) +- Debounce/aggregate tlsync messages [#3012](https://github.com/tldraw/tldraw/pull/3012) ([@si14](https://github.com/si14)) +- [infra] Fix patch release script [#3095](https://github.com/tldraw/tldraw/pull/3095) ([@ds300](https://github.com/ds300)) +- [infra] Patch release scripting [#3072](https://github.com/tldraw/tldraw/pull/3072) ([@ds300](https://github.com/ds300)) +- Shorten url state [#3041](https://github.com/tldraw/tldraw/pull/3041) ([@steveruizok](https://github.com/steveruizok)) +- Fix cursor chat bubble position. [#3042](https://github.com/tldraw/tldraw/pull/3042) ([@steveruizok](https://github.com/steveruizok)) +- Configure dependabot. [#2980](https://github.com/tldraw/tldraw/pull/2980) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [infra] fix canary dist tag [#3048](https://github.com/tldraw/tldraw/pull/3048) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor` + - Use computed cache for getting the parent child relationships [#3508](https://github.com/tldraw/tldraw/pull/3508) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Perf: Improve perf of `getCurrentPageShapesSorted` [#3453](https://github.com/tldraw/tldraw/pull/3453) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - Only run when shapes change. [#3456](https://github.com/tldraw/tldraw/pull/3456) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Reorder dom elements. [#3431](https://github.com/tldraw/tldraw/pull/3431) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - fix export preview size [#3264](https://github.com/tldraw/tldraw/pull/3264) ([@SomeHats](https://github.com/SomeHats)) + - A few more async routes [#3023](https://github.com/tldraw/tldraw/pull/3023) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw` + - Fix culling. [#3504](https://github.com/tldraw/tldraw/pull/3504) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Revert "RBush again? (#3439)" [#3481](https://github.com/tldraw/tldraw/pull/3481) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - RBush again? [#3439](https://github.com/tldraw/tldraw/pull/3439) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - [culling] Improve setting of display none. [#3376](https://github.com/tldraw/tldraw/pull/3376) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/state` + - Revert "[perf] faster signia capture (#3471)" [#3480](https://github.com/tldraw/tldraw/pull/3480) ([@ds300](https://github.com/ds300)) +- `@tldraw/utils` + - Add two simple perf helpers. [#3399](https://github.com/tldraw/tldraw/pull/3399) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/editor`, `tldraw`, `@tldraw/tlschema` + - Display none for culled shapes [#3291](https://github.com/tldraw/tldraw/pull/3291) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/state`, `tldraw` + - Revert perf changes [#3217](https://github.com/tldraw/tldraw/pull/3217) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/tldraw` + - Remove namespaced-tldraw/tldraw.css [#3068](https://github.com/tldraw/tldraw/pull/3068) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/tlschema` + - Remove dependabot config since it only controls version updates? [#3057](https://github.com/tldraw/tldraw/pull/3057) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + +#### 🐛 Bug Fixes + +- VS Code 2.0.30 [#3519](https://github.com/tldraw/tldraw/pull/3519) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [hotfix] Panning fix for VS Code [#3452](https://github.com/tldraw/tldraw/pull/3452) (huppy+SomeHats@tldraw.com huppy+ds300@tldraw.com [@SomeHats](https://github.com/SomeHats) [@web-flow](https://github.com/web-flow) huppy+mimecuvalo@tldraw.com [@steveruizok](https://github.com/steveruizok) [@MitjaBezensek](https://github.com/MitjaBezensek) [@ds300](https://github.com/ds300) huppy+steveruizok@tldraw.com) +- Fix viewport params for pages. [#3079](https://github.com/tldraw/tldraw/pull/3079) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Better websocket reconnection handling [#2960](https://github.com/tldraw/tldraw/pull/2960) ([@si14](https://github.com/si14) [@ds300](https://github.com/ds300)) +- Lokalise: Translations update [#3049](https://github.com/tldraw/tldraw/pull/3049) ([@TodePond](https://github.com/TodePond)) +- `@tldraw/assets`, `@tldraw/editor`, `tldraw` + - ui: make toasts look more toasty [#2988](https://github.com/tldraw/tldraw/pull/2988) ([@mimecuvalo](https://github.com/mimecuvalo)) +- `@tldraw/state` + - Revert throttling of useValue and useStateTracking. [#3129](https://github.com/tldraw/tldraw/pull/3129) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `tldraw`, `@tldraw/utils` + - chore: cleanup multiple uses of FileReader [#3110](https://github.com/tldraw/tldraw/pull/3110) ([@mimecuvalo](https://github.com/mimecuvalo)) +- `tldraw` + - [fix] Rotated crop handle [#3093](https://github.com/tldraw/tldraw/pull/3093) ([@steveruizok](https://github.com/steveruizok)) + - Fix an issue where the video size was not drawn correctly [#3047](https://github.com/tldraw/tldraw/pull/3047) ([@bubweiser](https://github.com/bubweiser) [@steveruizok](https://github.com/steveruizok)) + - [fix] Input tags [#3038](https://github.com/tldraw/tldraw/pull/3038) ([@steveruizok](https://github.com/steveruizok)) + - [terrible] Firefox: Allow scrolling on keyboard shortcuts dialog [#2974](https://github.com/tldraw/tldraw/pull/2974) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) + - [fix] Missing element crash (rare) on video shapes. [#3037](https://github.com/tldraw/tldraw/pull/3037) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw` + - Fix validation errors for `duplicateProps` [#3065](https://github.com/tldraw/tldraw/pull/3065) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - children: any -> children: ReactNode [#3061](https://github.com/tldraw/tldraw/pull/3061) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/editor`, `tldraw`, `@tldraw/utils` + - Wrap local/session storage calls in try/catch (take 2) [#3066](https://github.com/tldraw/tldraw/pull/3066) ([@SomeHats](https://github.com/SomeHats)) + - Revert "Protect local storage calls (#3043)" [#3063](https://github.com/tldraw/tldraw/pull/3063) ([@SomeHats](https://github.com/SomeHats)) + - Protect local storage calls [#3043](https://github.com/tldraw/tldraw/pull/3043) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor` + - Expose `getStyleForNextShape` [#3039](https://github.com/tldraw/tldraw/pull/3039) ([@steveruizok](https://github.com/steveruizok)) + - [bugfix] Avoid randomness at init time to allow running on cloudflare. [#3016](https://github.com/tldraw/tldraw/pull/3016) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor`, `@tldraw/tldraw`, `tldraw` + - Show a broken image for files without assets [#2990](https://github.com/tldraw/tldraw/pull/2990) ([@steveruizok](https://github.com/steveruizok)) + +#### 🧹 Chores + +- VS Code 2.0.29 [#3515](https://github.com/tldraw/tldraw/pull/3515) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- VS Code 2.0.27 [#3442](https://github.com/tldraw/tldraw/pull/3442) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- VS Code 2.0.26 [#3148](https://github.com/tldraw/tldraw/pull/3148) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + +#### 🧪 Tests + +- attempted fix of a flaky ClientWebSocketAdapter test [#3114](https://github.com/tldraw/tldraw/pull/3114) ([@si14](https://github.com/si14)) +- `@tldraw/editor` + - Add tests for Vec.Average [#3071](https://github.com/tldraw/tldraw/pull/3071) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/editor`, `@tldraw/tlschema` + - [fix] Routes check on e2e tests [#3022](https://github.com/tldraw/tldraw/pull/3022) ([@steveruizok](https://github.com/steveruizok)) + +#### 🔩 Dependency Updates + +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3505](https://github.com/tldraw/tldraw/pull/3505) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3443](https://github.com/tldraw/tldraw/pull/3443) ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump the npm_and_yarn group across 1 directory with 1 update [#3348](https://github.com/tldraw/tldraw/pull/3348) ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3304](https://github.com/tldraw/tldraw/pull/3304) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@github-actions[bot]](https://github.com/github-actions[bot]) [@MitjaBezensek](https://github.com/MitjaBezensek)) +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3165](https://github.com/tldraw/tldraw/pull/3165) ([@dependabot[bot]](https://github.com/dependabot[bot])) + +#### Authors: 23 + +- [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@github-actions[bot]](https://github.com/github-actions[bot]) +- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) +- alex ([@SomeHats](https://github.com/SomeHats)) +- Caleb Eby ([@calebeby](https://github.com/calebeby)) +- Dan Groshev ([@si14](https://github.com/si14)) +- David Sheldrick ([@ds300](https://github.com/ds300)) +- ds300 (huppy+ds300@tldraw.com) +- GitHub Web Flow ([@web-flow](https://github.com/web-flow)) +- hirano ([@bubweiser](https://github.com/bubweiser)) +- Kesavaraja Krishnan ([@Kesavaraja](https://github.com/Kesavaraja)) +- Lorenzo Lewis ([@lorenzolewis](https://github.com/lorenzolewis)) +- Lu Wilson ([@TodePond](https://github.com/TodePond)) +- Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) +- mimecuvalo (huppy+mimecuvalo@tldraw.com) +- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Orion Reed ([@OrionReed](https://github.com/OrionReed)) +- Slowhand ([@Slowhand0309](https://github.com/Slowhand0309)) +- SomeHats (huppy+SomeHats@tldraw.com) +- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) +- steveruizok (huppy+steveruizok@tldraw.com) +- Sunny Zanchi ([@sunnyzanchi](https://github.com/sunnyzanchi)) +- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) + +--- + # v2.0.0 (Thu Feb 29 2024) #### ⚠️ Pushed to `main` diff --git a/README.md b/README.md index 9ffff25cc..7bdd35547 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,17 @@ Please see our [contributing guide](https://github.com/tldraw/tldraw/blob/main/C ## Star History - Star History Chart + + + + Star History Chart + ## Contact diff --git a/RELEASES.md b/RELEASES.md new file mode 100644 index 000000000..dae512046 --- /dev/null +++ b/RELEASES.md @@ -0,0 +1,73 @@ +# Releases + +## How tldraw is versioned + +**We do not follow SemVer**. + +- Major version bumps are very rare and we reserve them for special changes that signify a paradigm shift of some kind. +- Minor version bumps are released on a regular cadence. At the time of writing that cadence is monthly. **They may contain breaking changes**. We aim to make breaking changes as minimally disruptive as possible by providing warnings several releases in advance, and by providing tooling to help you migrate your code. We recommend updating tldraw at a similar pace to our release cadence, and be sure to check the release notes. +- Patch version bumps are for bugfixes and hotfixes that can't wait for the next cadence release. + +## How to publish a new major or minor release + +New cadence releases are published from `main`. You trigger a release manually by running the workflow defined in `publish-new.yml`. + +1. Go [here](https://github.com/tldraw/tldraw/actions/workflows/publish-new.yml) and click the 'Run workflow' button. +2. Fill out the form that appears. You can leave the defaults as they are if you want to publish a new 'minor' release. If you want to publish a new 'major' release, select that option from the dropdown. +3. If you need to put the repo in 'prerelease' mode you can select the override option and provide a version number with a prerelease tag, like `3.4.0-rc.1`. + + This is useful for providing a period of time for both us and our users to test a new release before it receives the `latest` tag on npm. + + After switching into prerelease mode, any further 'minor' or 'major' releases will only increment the prerelease tag, like `3.4.0-rc.2`, `3.4.0-rc.3`, etc. + + When you are ready to publish the final release, you can switch back to the `latest` tag by selecting the override option and providing a version number without a prerelease tag, like `3.4.0`. + +When you click the 'run' button after selecting how to bump the version number, the github action will do the following things: + +- Update the version numbers in package.json files. +- Update the changelog. +- Create a new release on github with the release notes from the changelog entry. +- Publish the new packages to npm. +- Create a new release branch for the new version. e.g. for version `3.4.0` it will create a branch called `v3.4.x`. (this is not done for prerelease versions) + +## How to publish a new patch release + +1. Make sure your git repo is up-to-date. + + `git fetch` + +2. Check out the latest release branch. + + New major or minor releases will be given their own 'release branch' at publish time, with a name like `v2.0.x`. Every release branch starts with a `v` and ends in `.x`. Patch releases are published from these release branches. + + To see the latest tldraw version number run `npm show tldraw version`. Then checkout the release branch for that number by prefixing the `v` and replacing the patch number with `x`. For example, if the latest version is `3.4.3`, you would run + + `git checkout v3.4.x` + + You can also patch older release branches if you need to. For example, if the latest version is `3.4.3` but you need to patch `2.8.2`, you would run + + `git checkout v2.8.x` + +3. Create a new branch based on the release branch. + + `git checkout -b david/my-helpful-patches` + + Replace `david/my-helpful-patches` with a branch name that makes sense for the patches you are about to make. + +4. Cherry-pick the commits you want to include in the patch release. + + `git cherry-pick ` + + You can cherry-pick multiple commits if you want to include multiple bugfixes in the patch release. + +5. Push the branch and make a PR targeting the release branch. + +6. Merge the PR. + +That's it! The patch release will be published automatically after merging. Changelog and version number updates will be committed back to the release branch, and deliberately not to `main`. + +## What about documentation? + +Our docs site is published in tandem with our npm packages. When you publish a new release, the docs site will be updated automatically so that the docs are always in sync with the latest version of tldraw. + +If you make a docs change that you want to publish independently of a new cadence release, you can do so by following the same process as for creating a patch release. This will automatically detect that the packages themselves have not changed and will only update the docs site. diff --git a/apps/docs/api/editor.api.json b/apps/docs/api/editor.api.json deleted file mode 100644 index ced4388f4..000000000 --- a/apps/docs/api/editor.api.json +++ /dev/null @@ -1,49413 +0,0 @@ -{ - "metadata": { - "toolPackage": "@microsoft/api-extractor", - "toolVersion": "7.41.0", - "schemaVersion": 1011, - "oldestForwardsCompatibleVersion": 1001, - "tsdocConfig": { - "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", - "noStandardTags": true, - "tagDefinitions": [ - { - "tagName": "@alpha", - "syntaxKind": "modifier" - }, - { - "tagName": "@beta", - "syntaxKind": "modifier" - }, - { - "tagName": "@defaultValue", - "syntaxKind": "block" - }, - { - "tagName": "@decorator", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@deprecated", - "syntaxKind": "block" - }, - { - "tagName": "@eventProperty", - "syntaxKind": "modifier" - }, - { - "tagName": "@example", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@experimental", - "syntaxKind": "modifier" - }, - { - "tagName": "@inheritDoc", - "syntaxKind": "inline" - }, - { - "tagName": "@internal", - "syntaxKind": "modifier" - }, - { - "tagName": "@label", - "syntaxKind": "inline" - }, - { - "tagName": "@link", - "syntaxKind": "inline", - "allowMultiple": true - }, - { - "tagName": "@override", - "syntaxKind": "modifier" - }, - { - "tagName": "@packageDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@param", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@privateRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@public", - "syntaxKind": "modifier" - }, - { - "tagName": "@readonly", - "syntaxKind": "modifier" - }, - { - "tagName": "@remarks", - "syntaxKind": "block" - }, - { - "tagName": "@returns", - "syntaxKind": "block" - }, - { - "tagName": "@sealed", - "syntaxKind": "modifier" - }, - { - "tagName": "@see", - "syntaxKind": "block" - }, - { - "tagName": "@throws", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@typeParam", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@virtual", - "syntaxKind": "modifier" - }, - { - "tagName": "@betaDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@internalRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@preapproved", - "syntaxKind": "modifier" - } - ], - "supportForTags": { - "@alpha": true, - "@beta": true, - "@defaultValue": true, - "@decorator": true, - "@deprecated": true, - "@eventProperty": true, - "@example": true, - "@experimental": true, - "@inheritDoc": true, - "@internal": true, - "@label": true, - "@link": true, - "@override": true, - "@packageDocumentation": true, - "@param": true, - "@privateRemarks": true, - "@public": true, - "@readonly": true, - "@remarks": true, - "@returns": true, - "@sealed": true, - "@see": true, - "@throws": true, - "@typeParam": true, - "@virtual": true, - "@betaDocumentation": true, - "@internalRemarks": true, - "@preapproved": true - }, - "reportUnsupportedHtmlElements": false - } - }, - "kind": "Package", - "canonicalReference": "@tldraw/editor!", - "docComment": "", - "name": "@tldraw/editor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EntryPoint", - "canonicalReference": "@tldraw/editor!", - "name": "", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!angleDistance:function(1)", - "docComment": "/**\n * Get the angle of a point on an arc.\n *\n * @param fromAngle - The angle from center to arc's start point (A) on the circle\n *\n * @param toAngle - The angle from center to arc's end point (B) on the circle\n *\n * @param direction - The direction of the arc (1 = counter-clockwise, -1 = clockwise)\n *\n * @returns The distance in radians between the two angles according to the direction\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function angleDistance(fromAngle: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", toAngle: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", direction: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "fromAngle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "toAngle", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "direction", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "angleDistance" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!approximately:function(1)", - "docComment": "/**\n * Whether two numbers numbers a and b are approximately equal.\n *\n * @param a - The first point.\n *\n * @param b - The second point.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function approximately(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", precision?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "precision", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "name": "approximately" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Arc2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Arc2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Arc2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Arc2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#_center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_center: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Arc2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Arc2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n center: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n radius: number;\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n sweepFlag: number;\n largeArcFlag: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 11 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#angleEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "angleEnd: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "angleEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#angleStart:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "angleStart: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "angleStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#end:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "end", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Arc2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Arc2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", _zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "_zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "length: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#measure:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "measure: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "measure", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Arc2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#radius:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "radius: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "radius", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#start:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "start", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!areAnglesCompatible:function(1)", - "docComment": "/**\n * Checks whether two angles are approximately at right-angles or parallel to each other\n *\n * @param a - Angle a (radians)\n *\n * @param b - Angle b (radians)\n *\n * @returns True iff the angles are approximately at right-angles or parallel to each other\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function areAnglesCompatible(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "areAnglesCompatible" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!average:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function average(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "average" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class BaseBoxShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool.ts", - "releaseTag": "Public", - "isAbstract": true, - "name": "BaseBoxShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/editor!~Idle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/editor!~Pointing:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool#onCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCreate?: " - }, - { - "kind": "Content", - "text": "(_shape: null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => null | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": true - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class BaseBoxShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/BaseBoxShapeUtil.tsx", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": true, - "name": "BaseBoxShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil#getHandleSnapGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandleSnapGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HandleSnapGeometry", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandleSnapGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!BoundsSnapGeometry:interface", - "docComment": "/**\n * When moving or resizing shapes, the bounds of the shape can snap to key geometry on other nearby shapes. Customize how a shape snaps to others with {@link ShapeUtil.getBoundsSnapGeometry}.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface BoundsSnapGeometry " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/BoundsSnaps.ts", - "releaseTag": "Public", - "name": "BoundsSnapGeometry", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapGeometry#points:member", - "docComment": "/**\n * Points that this shape will snap to. By default, this will be the corners and center of the shapes bounding box. To disable snapping to a specific point, use an empty array.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "points?: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface BoundsSnapPoint " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/BoundsSnaps.ts", - "releaseTag": "Public", - "name": "BoundsSnapPoint", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#handle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "handle?: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "handle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Box:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Box " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Box", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Box:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Box` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", w?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", h?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "w", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - }, - { - "parameterName": "h", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#aspectRatio:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get aspectRatio(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "aspectRatio", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get center(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n\nset center(v: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#clone:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#collides:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "collides(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "collides" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Collides:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Collides: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Collides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Common:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Common: " - }, - { - "kind": "Content", - "text": "(boxes: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "[]) => " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Common", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#contains:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "contains(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "contains" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Contains:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Contains: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Contains", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#containsPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "containsPoint(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", margin?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "containsPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.ContainsPoint:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ContainsPoint: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", margin?: number) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ContainsPoint", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#corners:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get corners(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "corners", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#cornersAndCenter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get cornersAndCenter(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "cornersAndCenter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(other: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "other", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.Equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Equals(a: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#expand:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "expand(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "expand" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.Expand:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Expand(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Expand" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#expandBy:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "expandBy(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "expandBy" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.ExpandBy:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ExpandBy(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ExpandBy" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.From:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static From(box: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "From" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.FromCenter:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromCenter(center: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", size: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "center", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "size", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromCenter" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.FromPoints:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromPoints(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromPoints" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#getHandlePoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandlePoint(handle: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandlePoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#height:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get height(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset height(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "height", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#includes:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "includes(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "includes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Includes:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Includes: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Includes", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#maxX:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get maxX(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "maxX", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#maxY:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get maxY(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "maxY", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#midX:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get midX(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "midX", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#midY:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get midY(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "midY", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#minX:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get minX(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset minX(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "minX", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#minY:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get minY(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset minY(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "minY", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#point:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get point(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n\nset point(val: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "point", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#resize:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "resize(handle: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": " | string" - }, - { - "kind": "Content", - "text": ", dx: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", dy: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "dx", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "dy", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "resize" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.Resize:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Resize(box: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", handle: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": " | string" - }, - { - "kind": "Content", - "text": ", dx: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", dy: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", isAspectRatioLocked?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n box: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n scaleX: number;\n scaleY: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 14, - "endIndex": 17 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "dx", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - }, - { - "parameterName": "dy", - "parameterTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "isOptional": false - }, - { - "parameterName": "isAspectRatioLocked", - "parameterTypeTokenRange": { - "startIndex": 12, - "endIndex": 13 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Resize" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#scale:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "scale(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "scale" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#set:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "set(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", w?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", h?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "w", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - }, - { - "parameterName": "h", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "set" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#setTo:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setTo(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setTo" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#sides:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get sides(): " - }, - { - "kind": "Reference", - "text": "Array", - "canonicalReference": "!Array:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "sides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Sides:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Sides: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", inset?: number) => " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[][]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Sides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#size:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get size(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "size", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#snapToGrid:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "snapToGrid(size: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "size", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "snapToGrid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#toFixed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toFixed(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toFixed" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#toJson:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toJson(): " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toJson" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#translate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "translate(delta: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "delta", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "translate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#union:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "union(box: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "union" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#width:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get width(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset width(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "width", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#zeroFix:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "zeroFix(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "zeroFix" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.ZeroFix:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ZeroFix(other: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "other", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ZeroFix" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!BoxLike:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type BoxLike = " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "BoxLike", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!canonicalizeRotation:function(1)", - "docComment": "/**\n * @param a - Any angle in radians\n *\n * @returns A number between 0 and 2 * PI\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function canonicalizeRotation(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "canonicalizeRotation" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Circle2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Circle2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Circle2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Circle2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#_center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_center: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Circle2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Circle2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n x?: number;\n y?: number;\n radius: number;\n isFilled: boolean;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n x?: number;\n y?: number;\n radius: number;\n isFilled: boolean;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", _zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "_zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#radius:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "radius: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "radius", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clamp:function(1)", - "docComment": "/**\n * Clamp a value into a range.\n *\n * @param n - The number to clamp.\n *\n * @param min - The minimum value.\n *\n * @example\n * ```ts\n * const A = clamp(0, 1) // 1\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clamp(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "clamp" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clamp:function(2)", - "docComment": "/**\n * Clamp a value into a range.\n *\n * @param n - The number to clamp.\n *\n * @param min - The minimum value.\n *\n * @param max - The maximum value.\n *\n * @example\n * ```ts\n * const A = clamp(0, 1, 10) // 1\n * const B = clamp(11, 1, 10) // 10\n * const C = clamp(5, 1, 10) // 5\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clamp(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", max: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "max", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "clamp" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clampRadians:function(1)", - "docComment": "/**\n * Clamp radians within 0 and 2PI\n *\n * @param r - The radian value.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clampRadians(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "clampRadians" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clockwiseAngleDist:function(1)", - "docComment": "/**\n * Get the clockwise angle distance between two angles.\n *\n * @param a0 - The first angle.\n *\n * @param a1 - The second angle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clockwiseAngleDist(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "clockwiseAngleDist" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!coreShapes:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "coreShapes: " - }, - { - "kind": "Content", - "text": "readonly [typeof " - }, - { - "kind": "Reference", - "text": "GroupShapeUtil", - "canonicalReference": "@tldraw/editor!GroupShapeUtil:class" - }, - { - "kind": "Content", - "text": "]" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/defaultShapes.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "coreShapes", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!counterClockwiseAngleDist:function(1)", - "docComment": "/**\n * Get the counter-clockwise angle distance between two angles.\n *\n * @param a0 - The first angle.\n *\n * @param a1 - The second angle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function counterClockwiseAngleDist(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "counterClockwiseAngleDist" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!createSessionStateSnapshotSignal:function(1)", - "docComment": "/**\n * Creates a signal of the instance state for a given store.\n *\n * @param store - The store to create the instance state snapshot signal for\n *\n * @returns \n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createSessionStateSnapshotSignal(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "createSessionStateSnapshotSignal" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!createTLStore:function(1)", - "docComment": "/**\n * A helper for creating a TLStore. Custom shapes cannot override default shapes.\n *\n * @param opts - Options for creating the store.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createTLStore({ initialData, defaultName, ...rest }: " - }, - { - "kind": "Reference", - "text": "TLStoreOptions", - "canonicalReference": "@tldraw/editor!TLStoreOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLStore.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ initialData, defaultName, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "createTLStore" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!createTLUser:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createTLUser(opts?: " - }, - { - "kind": "Content", - "text": "{\n derivePresenceState?: ((store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": ") | undefined;\n userPreferences?: " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ", unknown> | undefined;\n setUserPreferences?: ((userPreferences: " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ") => void) | undefined;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLUser", - "canonicalReference": "@tldraw/editor!~TLUser:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLUser.ts", - "returnTypeTokenRange": { - "startIndex": 15, - "endIndex": 16 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isOptional": true - } - ], - "name": "createTLUser" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!CubicBezier2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class CubicBezier2d extends " - }, - { - "kind": "Reference", - "text": "Polyline2d", - "canonicalReference": "@tldraw/editor!Polyline2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/CubicBezier2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "CubicBezier2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!CubicBezier2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `CubicBezier2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n cp1: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n cp2: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 13 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#a:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "a: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "a", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#b:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "b: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "b", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#c:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "c: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "c", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicBezier2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicBezier2d#midPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "midPoint(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "midPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicBezier2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!CubicSpline2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class CubicSpline2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/CubicSpline2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "CubicSpline2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#_length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#_segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_segments?: " - }, - { - "kind": "Reference", - "text": "CubicBezier2d", - "canonicalReference": "@tldraw/editor!CubicBezier2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!CubicSpline2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `CubicSpline2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicSpline2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicSpline2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get length(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicSpline2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#points:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get segments(): " - }, - { - "kind": "Reference", - "text": "CubicBezier2d", - "canonicalReference": "@tldraw/editor!CubicBezier2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!dataUrlToFile:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function dataUrlToFile(url: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", filename: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", mimeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "File", - "canonicalReference": "!File:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/assets.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "url", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "filename", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "mimeType", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "dataUrlToFile" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultBackground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultBackground(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultBackground.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultBackground" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultBrush:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultBrush: ({ brush, color, opacity, className }: " - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultBrush.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ brush, color, opacity, className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultBrush" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultCanvas:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultCanvas({ className }: " - }, - { - "kind": "Reference", - "text": "TLCanvasComponentProps", - "canonicalReference": "@tldraw/editor!~TLCanvasComponentProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCanvas.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultCanvas" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultCollaboratorHint:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultCollaboratorHint({ className, zoom, point, color, viewport, opacity, }: " - }, - { - "kind": "Reference", - "text": "TLCollaboratorHintProps", - "canonicalReference": "@tldraw/editor!TLCollaboratorHintProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCollaboratorHint.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, zoom, point, color, viewport, opacity, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultCollaboratorHint" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!DefaultCursor:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultCursor: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursorProps", - "canonicalReference": "@tldraw/editor!TLCursorProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCursor.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultCursor", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!DefaultErrorFallback:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultErrorFallback: " - }, - { - "kind": "Reference", - "text": "TLErrorFallbackComponent", - "canonicalReference": "@tldraw/editor!~TLErrorFallbackComponent:type" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultErrorFallback.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultErrorFallback", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultGrid:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultGrid({ x, y, z, size }: " - }, - { - "kind": "Reference", - "text": "TLGridProps", - "canonicalReference": "@tldraw/editor!TLGridProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultGrid.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ x, y, z, size }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultGrid" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultHandle:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHandle({ handle, isCoarse, className, zoom }: " - }, - { - "kind": "Reference", - "text": "TLHandleProps", - "canonicalReference": "@tldraw/editor!TLHandleProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandle.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ handle, isCoarse, className, zoom }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHandle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultHandles:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultHandles: ({ children }: " - }, - { - "kind": "Reference", - "text": "TLHandlesProps", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandles.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHandles" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultHoveredShapeIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHoveredShapeIndicator({ shapeId }: " - }, - { - "kind": "Reference", - "text": "TLHoveredShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHoveredShapeIndicator.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ shapeId }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHoveredShapeIndicator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultScribble:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultScribble({ scribble, zoom, color, opacity, className }: " - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultScribble.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ scribble, zoom, color, opacity, className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultScribble" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSelectionBackground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSelectionBackground({ bounds, rotation }: " - }, - { - "kind": "Reference", - "text": "TLSelectionBackgroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionBackground.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ bounds, rotation }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultSelectionBackground" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSelectionForeground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSelectionForeground({ bounds, rotation }: " - }, - { - "kind": "Reference", - "text": "TLSelectionForegroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionForeground.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ bounds, rotation }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultSelectionForeground" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!DefaultShapeIndicator:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultShapeIndicator: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultShapeIndicator.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultShapeIndicator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSnapIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSnapIndicator({ className, line, zoom }: " - }, - { - "kind": "Reference", - "text": "TLSnapIndicatorProps", - "canonicalReference": "@tldraw/editor!TLSnapIndicatorProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSnapIndictor.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, line, zoom }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultSnapIndicator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSpinner:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSpinner(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSpinner.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultSpinner" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSvgDefs:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultSvgDefs: () => " - }, - { - "kind": "Content", - "text": "null" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSvgDefs.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultSvgDefs" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!defaultUserPreferences:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "defaultUserPreferences: " - }, - { - "kind": "Reference", - "text": "Readonly", - "canonicalReference": "!Readonly:type" - }, - { - "kind": "Content", - "text": "<{\n name: \"New User\";\n locale: \"ar\" | \"ca\" | \"cs\" | \"da\" | \"de\" | \"en\" | \"es\" | \"fa\" | \"fi\" | \"fr\" | \"gl\" | \"he\" | \"hi-in\" | \"hr\" | \"hu\" | \"it\" | \"ja\" | \"ko-kr\" | \"ku\" | \"my\" | \"ne\" | \"no\" | \"pl\" | \"pt-br\" | \"pt-pt\" | \"ro\" | \"ru\" | \"sl\" | \"sv\" | \"te\" | \"th\" | \"tr\" | \"uk\" | \"vi\" | \"zh-cn\" | \"zh-tw\";\n color: \"#02B1CC\" | \"#11B3A3\" | \"#39B178\" | \"#55B467\" | \"#7B66DC\" | \"#9D5BD2\" | \"#BD54C6\" | \"#E34BA9\" | \"#EC5E41\" | \"#F04F88\" | \"#F2555A\" | \"#FF802B\";\n isDarkMode: false;\n edgeScrollSpeed: 1;\n animationSpeed: 0 | 1;\n isSnapMode: false;\n}>" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "defaultUserPreferences", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!degreesToRadians:function(1)", - "docComment": "/**\n * Convert degrees to radians.\n *\n * @param d - The degree in degrees.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function degreesToRadians(d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "d", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "degreesToRadians" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!EASINGS:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "EASINGS: " - }, - { - "kind": "Content", - "text": "{\n readonly linear: (t: number) => number;\n readonly easeInQuad: (t: number) => number;\n readonly easeOutQuad: (t: number) => number;\n readonly easeInOutQuad: (t: number) => number;\n readonly easeInCubic: (t: number) => number;\n readonly easeOutCubic: (t: number) => number;\n readonly easeInOutCubic: (t: number) => number;\n readonly easeInQuart: (t: number) => number;\n readonly easeOutQuart: (t: number) => number;\n readonly easeInOutQuart: (t: number) => number;\n readonly easeInQuint: (t: number) => number;\n readonly easeOutQuint: (t: number) => number;\n readonly easeInOutQuint: (t: number) => number;\n readonly easeInSine: (t: number) => number;\n readonly easeOutSine: (t: number) => number;\n readonly easeInOutSine: (t: number) => number;\n readonly easeInExpo: (t: number) => number;\n readonly easeOutExpo: (t: number) => number;\n readonly easeInOutExpo: (t: number) => number;\n}" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/easings.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "EASINGS", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Edge2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Edge2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Edge2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Edge2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#_length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Edge2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Edge2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Content", - "text": "{\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#end:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "end", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", _zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "_zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get length(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#midPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "midPoint(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "midPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#start:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "start", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#u:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "u: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "u", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#ul:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ul: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ul", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Editor:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Editor extends " - }, - { - "kind": "Reference", - "text": "EventEmitter", - "canonicalReference": "eventemitter3!EventEmitter.EventEmitter" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventMap", - "canonicalReference": "@tldraw/editor!TLEventMap:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Editor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Editor:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Editor` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor({ store, user, shapeUtils, tools, getContainer, initialState, inferDarkMode, }: " - }, - { - "kind": "Reference", - "text": "TLEditorOptions", - "canonicalReference": "@tldraw/editor!TLEditorOptions:interface" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ store, user, shapeUtils, tools, getContainer, initialState, inferDarkMode, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#addOpenMenu:member(1)", - "docComment": "/**\n * Add an open menu.\n *\n * @example\n * ```ts\n * editor.addOpenMenu('menu-id')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "addOpenMenu(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "addOpenMenu" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#alignShapes:member(1)", - "docComment": "/**\n * Align shape positions.\n *\n * @param shapes - The shapes (or shape ids) to align.\n *\n * @param operation - The align operation to apply.\n *\n * @example\n * ```ts\n * editor.alignShapes([box1, box2], 'left')\n * editor.alignShapes(editor.getSelectedShapeIds(), 'left')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "alignShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'bottom' | 'center-horizontal' | 'center-vertical' | 'left' | 'right' | 'top'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "alignShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateShape:member(1)", - "docComment": "/**\n * Animate a shape.\n *\n * @param partial - The shape partial to update.\n *\n * @param options - The animation's options.\n *\n * @example\n * ```ts\n * editor.animateShape({ id: 'box1', type: 'box', x: 100, y: 100 })\n * editor.animateShape({ id: 'box1', type: 'box', x: 100, y: 100 }, { duration: 100, ease: t => t*t })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateShape(partial: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", animationOptions?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "animationOptions", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateShapes:member(1)", - "docComment": "/**\n * Animate shapes.\n *\n * @param partials - The shape partials to update.\n *\n * @param options - The animation's options.\n *\n * @example\n * ```ts\n * editor.animateShapes([{ id: 'box1', type: 'box', x: 100, y: 100 }])\n * editor.animateShapes([{ id: 'box1', type: 'box', x: 100, y: 100 }], { duration: 100, ease: t => t*t })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateShapes(partials: " - }, - { - "kind": "Content", - "text": "(null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined)[]" - }, - { - "kind": "Content", - "text": ", animationOptions?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n duration: number;\n easing: (t: number) => number;\n }>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partials", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "animationOptions", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateToShape:member(1)", - "docComment": "/**\n * Animate the camera to a shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateToShape(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateToShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateToUser:member(1)", - "docComment": "/**\n * Animate the camera to a user's cursor position. This also briefly show the user's cursor if it's not currently visible.\n *\n * @param userId - The id of the user to aniamte to.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateToUser(userId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "userId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateToUser" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bail:member(1)", - "docComment": "/**\n * Clear all marks in the undo stack back to the next mark.\n *\n * @example\n * ```ts\n * editor.bail()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bail(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "bail" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bailToMark:member(1)", - "docComment": "/**\n * Clear all marks in the undo stack back to the mark with the provided mark id.\n *\n * @example\n * ```ts\n * editor.bailToMark('dragging')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bailToMark(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "bailToMark" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#batch:member(1)", - "docComment": "/**\n * Run a function in a batch, which will be undone/redone as a single action.\n *\n * @example\n * ```ts\n * editor.batch(() => {\n * \teditor.selectAll()\n * \teditor.deleteShapes(editor.getSelectedShapeIds())\n * \teditor.createShapes(myShapes)\n * \teditor.selectNone()\n * })\n *\n * editor.undo() // will undo all of the above\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "batch(fn: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "fn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "batch" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bringForward:member(1)", - "docComment": "/**\n * Bring shapes forward in the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.bringForward(['id1', 'id2'])\n * editor.bringForward(box1, box2)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bringForward(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "bringForward" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bringToFront:member(1)", - "docComment": "/**\n * Bring shapes to the front of the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.bringToFront(['id1', 'id2'])\n * editor.bringToFront([box1, box2])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bringToFront(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "bringToFront" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#cancel:member(1)", - "docComment": "/**\n * Dispatch a cancel event.\n *\n * @example\n * ```ts\n * editor.cancel()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "cancel(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "cancel" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#cancelDoubleClick:member(1)", - "docComment": "/**\n * Prevent a double click event from firing the next time the user clicks\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "cancelDoubleClick(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "cancelDoubleClick" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#centerOnPoint:member(1)", - "docComment": "/**\n * Center the camera on a point (in the current page space).\n *\n * @param point - The point in the current page space to center on.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.centerOnPoint({ x: 100, y: 100 })\n * editor.centerOnPoint({ x: 100, y: 100 }, { duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "centerOnPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "centerOnPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#clearOpenMenus:member(1)", - "docComment": "/**\n * Clear all open menus.\n *\n * @example\n * ```ts\n * editor.clearOpenMenus()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "clearOpenMenus(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clearOpenMenus" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#complete:member(1)", - "docComment": "/**\n * Dispatch a complete event.\n *\n * @example\n * ```ts\n * editor.complete()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "complete(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "complete" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createAssets:member(1)", - "docComment": "/**\n * Create one or more assets.\n *\n * @param assets - The assets to create.\n *\n * @example\n * ```ts\n * editor.createAssets([...myAssets])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createAssets(assets: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assets", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createPage:member(1)", - "docComment": "/**\n * Create a page.\n *\n * @param page - The page (or page partial) to create.\n *\n * @example\n * ```ts\n * editor.createPage(myPage)\n * editor.createPage({ name: 'Page 2' })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createPage(page: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createShape:member(1)", - "docComment": "/**\n * Create a single shape.\n *\n * @param shape - The shape (or shape partial) to create.\n *\n * @example\n * ```ts\n * editor.createShape(myShape)\n * editor.createShape({ id: 'box1', type: 'text', props: { text: \"ok\" } })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createShape(shape: " - }, - { - "kind": "Reference", - "text": "OptionalKeys", - "canonicalReference": "@tldraw/editor!~OptionalKeys:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": ", 'id'>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createShapes:member(1)", - "docComment": "/**\n * Create shapes.\n *\n * @param shapes - The shapes (or shape partials) to create.\n *\n * @param select - Whether to select the created shapes. Defaults to false.\n *\n * @example\n * ```ts\n * editor.createShapes([myShape])\n * editor.createShapes([{ id: 'box1', type: 'text', props: { text: \"ok\" } }])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createShapes(shapes: " - }, - { - "kind": "Reference", - "text": "OptionalKeys", - "canonicalReference": "@tldraw/editor!~OptionalKeys:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": ", 'id'>[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteAssets:member(1)", - "docComment": "/**\n * Delete one or more assets.\n *\n * @param ids - The assets to delete.\n *\n * @example\n * ```ts\n * editor.deleteAssets(['asset1', 'asset2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteAssets(assets: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assets", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteOpenMenu:member(1)", - "docComment": "/**\n * Delete an open menu.\n *\n * @example\n * ```ts\n * editor.deleteOpenMenu('menu-id')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteOpenMenu(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteOpenMenu" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deletePage:member(1)", - "docComment": "/**\n * Delete a page.\n *\n * @param id - The id of the page to delete.\n *\n * @example\n * ```ts\n * editor.deletePage('page1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deletePage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deletePage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShape:member(1)", - "docComment": "/**\n * Delete a shape.\n *\n * @param id - The id of the shape to delete.\n *\n * @example\n * ```ts\n * editor.deleteShapes(['box1', 'box2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShape(id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShape:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShapes:member(1)", - "docComment": "/**\n * Delete shapes.\n *\n * @param ids - The ids of the shapes to delete.\n *\n * @example\n * ```ts\n * editor.deleteShapes(['box1', 'box2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShapes(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShapes:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deselect:member(1)", - "docComment": "/**\n * Remove a shape from the existing set of selected shapes.\n *\n * @example\n * ```ts\n * editor.deselect(shape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deselect(...shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deselect" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#dispatch:member", - "docComment": "/**\n * Dispatch an event to the editor.\n *\n * @param info - The event info.\n *\n * @example\n * ```ts\n * editor.dispatch(myPointerEvent)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "dispatch: " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLEventInfo", - "canonicalReference": "@tldraw/editor!TLEventInfo:type" - }, - { - "kind": "Content", - "text": ") => this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "dispatch", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#disposables:member", - "docComment": "/**\n * A set of functions to call when the app is disposed.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly disposables: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<() => void>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "disposables", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#dispose:member(1)", - "docComment": "/**\n * Dispose the editor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "dispose(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "dispose" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#distributeShapes:member(1)", - "docComment": "/**\n * Distribute shape positions.\n *\n * @param shapes - The shapes (or shape ids) to distribute.\n *\n * @param operation - Whether to distribute shapes horizontally or vertically.\n *\n * @example\n * ```ts\n * editor.distributeShapes([box1, box2], 'horizontal')\n * editor.distributeShapes(editor.getSelectedShapeIds(), 'horizontal')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "distributeShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distributeShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#duplicatePage:member(1)", - "docComment": "/**\n * Duplicate a page.\n *\n * @param id - The id of the page to duplicate. Defaults to the current page.\n *\n * @param createId - The id of the new page. Defaults to a new id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "duplicatePage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ", createId?: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "createId", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "duplicatePage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#duplicateShapes:member(1)", - "docComment": "/**\n * Duplicate shapes.\n *\n * @param shapes - The shapes (or shape ids) to duplicate.\n *\n * @param offset - The offset (in pixels) to apply to the duplicated shapes.\n *\n * @example\n * ```ts\n * editor.duplicateShapes(['box1', 'box2'], { x: 8, y: 8 })\n * editor.duplicateShapes(editor.getSelectedShapes(), { x: 8, y: 8 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "duplicateShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", offset?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "offset", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "duplicateShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#environment:member", - "docComment": "/**\n * A manager for the editor's environment.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly environment: " - }, - { - "kind": "Reference", - "text": "EnvironmentManager", - "canonicalReference": "@tldraw/editor!~EnvironmentManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "environment", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#findCommonAncestor:member(1)", - "docComment": "/**\n * Get the common ancestor of two or more shapes that matches a predicate.\n *\n * @param shapes - The shapes (or shape ids) to check.\n *\n * @param predicate - The predicate to match.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "findCommonAncestor(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", predicate?: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "predicate", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "findCommonAncestor" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#findShapeAncestor:member(1)", - "docComment": "/**\n * Find the first ancestor matching the given predicate\n *\n * @param shape - The shape to check the ancestors for.\n *\n * @example\n * ```ts\n * const ancestor = editor.findShapeAncestor(myShape)\n * const ancestor = editor.findShapeAncestor(myShape.id)\n * const ancestor = editor.findShapeAncestor(myShape.id, (shape) => shape.type === 'frame')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "findShapeAncestor(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", predicate: " - }, - { - "kind": "Content", - "text": "(parent: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "predicate", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "findShapeAncestor" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#flipShapes:member(1)", - "docComment": "/**\n * Flip shape positions.\n *\n * @param shapes - The ids of the shapes to flip.\n *\n * @param operation - Whether to flip horizontally or vertically.\n *\n * @example\n * ```ts\n * editor.flipShapes([box1, box2], 'horizontal', 32)\n * editor.flipShapes(editor.getSelectedShapeIds(), 'horizontal', 32)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "flipShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "flipShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAncestorPageId:member(1)", - "docComment": "/**\n * Get the id of the containing page for a given shape.\n *\n * @param shape - The shape to get the page id for.\n *\n * @returns The id of the page that contains the shape, or undefined if the shape is undefined.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAncestorPageId(shape?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAncestorPageId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getArrowInfo:member(1)", - "docComment": "/**\n * Get cached info about an arrow.\n *\n * @param shape - The shape (or shape id) of the arrow to get the info for.\n *\n * @example\n * ```ts\n * const arrowInfo = editor.getArrowInfo(myArrow)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArrowInfo(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLArrowInfo", - "canonicalReference": "@tldraw/editor!TLArrowInfo:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getArrowInfo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getArrowsBoundTo:member(1)", - "docComment": "/**\n * Get all arrows bound to a shape.\n *\n * @param shapeId - The id of the shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArrowsBoundTo(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n arrowId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n handleId: \"end\" | \"start\";\n }[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getArrowsBoundTo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAsset:member(1)", - "docComment": "/**\n * Get an asset by its id.\n *\n * @param asset - The asset (or asset id) to get.\n *\n * @example\n * ```ts\n * editor.getAsset('asset1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAsset(asset: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "asset", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAsset" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAssetForExternalContent:member(1)", - "docComment": "/**\n * Get an asset for an external asset content type.\n *\n * @param info - Info about the external content.\n *\n * @returns The asset.\n *\n * @example\n * ```ts\n * const asset = await editor.getAssetForExternalContent({ type: 'file', file: myFile })\n * const asset = await editor.getAssetForExternalContent({ type: 'url', url: myUrl })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAssetForExternalContent(info: " - }, - { - "kind": "Reference", - "text": "TLExternalAssetContent", - "canonicalReference": "@tldraw/editor!TLExternalAssetContent:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | undefined>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAssetForExternalContent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAssets:member(1)", - "docComment": "/**\n * Get all assets in the editor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAssets(): " - }, - { - "kind": "Content", - "text": "(import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "TLBookmarkAsset", - "canonicalReference": "@tldraw/tlschema!TLBookmarkAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLImageAsset", - "canonicalReference": "@tldraw/tlschema!TLImageAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLVideoAsset", - "canonicalReference": "@tldraw/tlschema!TLVideoAsset:type" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCamera:member(1)", - "docComment": "/**\n * The current camera.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCamera(): " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "TLCamera", - "canonicalReference": "@tldraw/tlschema!TLCamera:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCamera" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCameraState:member(1)", - "docComment": "/**\n * Whether the camera is moving or idle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCameraState(): " - }, - { - "kind": "Content", - "text": "\"idle\" | \"moving\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCameraState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCanRedo:member(1)", - "docComment": "/**\n * Whether the app can redo.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanRedo(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanRedo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCanUndo:member(1)", - "docComment": "/**\n * Whether the app can undo.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanUndo(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanUndo" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#getContainer:member", - "docComment": "/**\n * The current HTML element containing the editor.\n *\n * @example\n * ```ts\n * const container = editor.getContainer()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getContainer: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getContainer", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getContentFromCurrentPage:member(1)", - "docComment": "/**\n * Get content that can be exported for the given shape ids.\n *\n * @param shapes - The shapes (or shape ids) to get content for.\n *\n * @returns The exported content.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getContentFromCurrentPage(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLContent", - "canonicalReference": "@tldraw/editor!TLContent:interface" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getContentFromCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCroppingShapeId:member(1)", - "docComment": "/**\n * The current cropping shape's id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCroppingShapeId(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCroppingShapeId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPage:member(1)", - "docComment": "/**\n * The current page.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPage(): " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageBounds:member(1)", - "docComment": "/**\n * The bounds of the current page (the common bounds of all of the shapes on the page).\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageId:member(1)", - "docComment": "/**\n * The current page id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageId(): " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageRenderingShapesSorted:member(1)", - "docComment": "/**\n * An array containing all of the rendering shapes in the current page, sorted in z-index order (accounting for nested shapes): e.g. A, B, BA, BB, C.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageRenderingShapesSorted(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageRenderingShapesSorted" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageShapeIds:member(1)", - "docComment": "/**\n * An array of all of the shapes on the current page.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageShapeIds(): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageShapes:member(1)", - "docComment": "/**\n * An array containing all of the shapes in the current page.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageShapes(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageShapesSorted:member(1)", - "docComment": "/**\n * An array containing all of the shapes in the current page, sorted in z-index order (accounting for nested shapes): e.g. A, B, BA, BB, C.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageShapesSorted(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageShapesSorted" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageState:member(1)", - "docComment": "/**\n * The current page state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageState(): " - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentTool:member(1)", - "docComment": "/**\n * The current selected tool.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentTool(): " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentTool" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentToolId:member(1)", - "docComment": "/**\n * The id of the current selected tool.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentToolId(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentToolId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getDocumentSettings:member(1)", - "docComment": "/**\n * The global document settings that apply to all users.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDocumentSettings(): " - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDocumentSettings" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getDroppingOverShape:member(1)", - "docComment": "/**\n * Get the shape that some shapes should be dropped on at a given point.\n *\n * @param point - The point to find the parent for.\n *\n * @param droppingShapes - The shapes that are being dropped.\n *\n * @returns The shape to drop on.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDroppingOverShape(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", droppingShapes?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "droppingShapes", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getDroppingOverShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getEditingShape:member(1)", - "docComment": "/**\n * The current editing shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getEditingShape(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getEditingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getEditingShapeId:member(1)", - "docComment": "/**\n * The current editing shape's id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getEditingShapeId(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getEditingShapeId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getErasingShapeIds:member(1)", - "docComment": "/**\n * The editor's current erasing ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getErasingShapeIds(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getErasingShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getErasingShapes:member(1)", - "docComment": "/**\n * The editor's current erasing shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getErasingShapes(): " - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined>[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getErasingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getFocusedGroup:member(1)", - "docComment": "/**\n * The current focused group.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getFocusedGroup(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getFocusedGroup" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getFocusedGroupId:member(1)", - "docComment": "/**\n * The current focused group id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getFocusedGroupId(): " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getFocusedGroupId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHighestIndexForParent:member(1)", - "docComment": "/**\n * Get the index above the highest child of a given parent.\n *\n * @param parentId - The id of the parent.\n *\n * @returns The index.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHighestIndexForParent(parent: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHighestIndexForParent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHintingShape:member(1)", - "docComment": "/**\n * The editor's current hinting shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHintingShape(): " - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined>[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHintingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHintingShapeIds:member(1)", - "docComment": "/**\n * The editor's current hinting shape ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHintingShapeIds(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHintingShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHoveredShape:member(1)", - "docComment": "/**\n * The current hovered shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHoveredShape(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHoveredShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHoveredShapeId:member(1)", - "docComment": "/**\n * The current hovered shape id.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHoveredShapeId(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHoveredShapeId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getInitialMetaForShape:member(1)", - "docComment": "/**\n * Get the initial meta value for a shape.\n *\n * @param shape - The shape to get the initial meta for.\n *\n * @example\n * ```ts\n * editor.getInitialMetaForShape = (shape) => {\n * if (shape.type === 'note') {\n * return { createdBy: myCurrentUser.id }\n * }\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getInitialMetaForShape(_shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "_shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getInitialMetaForShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getInstanceState:member(1)", - "docComment": "/**\n * The current instance's state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getInstanceState(): " - }, - { - "kind": "Reference", - "text": "TLInstance", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getInstanceState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getIsMenuOpen:member(1)", - "docComment": "/**\n * Get whether any menus are open.\n *\n * @example\n * ```ts\n * editor.isMenuOpen()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getIsMenuOpen(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getIsMenuOpen" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getOnlySelectedShape:member(1)", - "docComment": "/**\n * The app's only selected shape.\n *\n * @returns Null if there is no shape or more than one selected shape, otherwise the selected shape.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getOnlySelectedShape(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getOnlySelectedShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getOpenMenus:member(1)", - "docComment": "/**\n * A set of strings representing any open menus. When menus are open, certain interactions will behave differently; for example, when a draw tool is selected and a menu is open, a pointer-down will not create a dot (because the user is probably trying to close the menu) however a pointer-down event followed by a drag will begin drawing a line (because the user is BOTH trying to close the menu AND start drawing a line).\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getOpenMenus(): " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getOpenMenus" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getOutermostSelectableShape:member(1)", - "docComment": "/**\n * Get the shape that should be selected when you click on a given shape, assuming there is nothing already selected. It will not return anything higher than or including the current focus layer.\n *\n * @param shape - The shape to get the outermost selectable shape for.\n *\n * @param filter - A function to filter the selectable shapes.\n *\n * @returns The outermost selectable shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getOutermostSelectableShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", filter?: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "filter", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getOutermostSelectableShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPage:member(1)", - "docComment": "/**\n * Get a page.\n *\n * @param page - The page (or page id) to get.\n *\n * @example\n * ```ts\n * editor.getPage(myPage.id)\n * editor.getPage(myPage)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPages:member(1)", - "docComment": "/**\n * Info about the project's current pages.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPages(): " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPages" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPageShapeIds:member(1)", - "docComment": "/**\n * Get the ids of shapes on a page.\n *\n * @param page - The page (or page id) to get.\n *\n * @example\n * ```ts\n * const idsOnPage1 = editor.getPageShapeIds('page1')\n * const idsOnPage2 = editor.getPageShapeIds(myPage2)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPageShapeIds(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPageShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPageStates:member(1)", - "docComment": "/**\n * Page states.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPageStates(): " - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPageStates" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPath:member(1)", - "docComment": "/**\n * The editor's current path of active states.\n *\n * @example\n * ```ts\n * editor.getPath() // \"select.idle\"\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPath" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPointInParentSpace:member(1)", - "docComment": "/**\n * Convert a delta in the current page space to a point in the local space of a shape's parent.\n *\n * @param shape - The shape to get the point in the local space of.\n *\n * @param point - The page point to get in the local space of the shape.\n *\n * @example\n * ```ts\n * editor.getPointInParentSpace(myShape.id, { x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPointInParentSpace(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPointInParentSpace" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPointInShapeSpace:member(1)", - "docComment": "/**\n * Convert a point in the current page space to a point in the local space of a shape. For example, if a shape's page point were `{ x: 100, y: 100 }`, a page point at `{ x: 110, y: 110 }` would be at `{ x: 10, y: 10 }` in the shape's local space.\n *\n * @param shape - The shape to get the point in the local space of.\n *\n * @param point - The page point to get in the local space of the shape.\n *\n * @example\n * ```ts\n * editor.getPointInShapeSpace(myShape, { x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPointInShapeSpace(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPointInShapeSpace" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getRenderingBounds:member(1)", - "docComment": "/**\n * The current rendering bounds in the current page space, used for checking which shapes are \"on screen\".\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRenderingBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getRenderingBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getRenderingBoundsExpanded:member(1)", - "docComment": "/**\n * The current rendering bounds in the current page space, expanded slightly. Used for determining which shapes to render and which to \"cull\".\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRenderingBoundsExpanded(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getRenderingBoundsExpanded" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getRenderingShapes:member(1)", - "docComment": "/**\n * Get the shapes that should be displayed in the current viewport.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRenderingShapes(): " - }, - { - "kind": "Content", - "text": "{\n id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n util: " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">;\n index: number;\n backgroundIndex: number;\n opacity: number;\n isCulled: boolean;\n maskedPageBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined;\n }[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getRenderingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectedShapeAtPoint:member(1)", - "docComment": "/**\n * Get the top-most selected shape at the given point, ignoring groups.\n *\n * @param point - The point to check.\n *\n * @returns The top-most selected shape at the given point, or undefined if there is no shape at the point.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectedShapeAtPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSelectedShapeAtPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectedShapeIds:member(1)", - "docComment": "/**\n * The current selected ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectedShapeIds(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectedShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectedShapes:member(1)", - "docComment": "/**\n * An array containing all of the currently selected shapes.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectedShapes(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectedShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionPageBounds:member(1)", - "docComment": "/**\n * The current page bounds of all the selected shapes. If the selection is rotated, then these bounds are the axis-aligned box that the rotated bounds would fit inside of.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionRotatedPageBounds:member(1)", - "docComment": "/**\n * The bounds of the selection bounding box in the current page space.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionRotatedPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionRotatedPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionRotation:member(1)", - "docComment": "/**\n * The rotation of the selection bounding box in the current page space.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionRotation(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionRotation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShape:member(1)", - "docComment": "/**\n * Get a shape by its id.\n *\n * @param id - The id of the shape to get.\n *\n * @example\n * ```ts\n * editor.getShape('box1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShape(shape: " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeAncestors:member(1)", - "docComment": "/**\n * Get the ancestors of a shape.\n *\n * @param shape - The shape (or shape id) to get the ancestors for.\n *\n * @example\n * ```ts\n * const ancestors = editor.getShapeAncestors(myShape)\n * const ancestors = editor.getShapeAncestors(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeAncestors(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", acc?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "acc", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeAncestors" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeAndDescendantIds:member(1)", - "docComment": "/**\n * Get the shape ids of all descendants of the given shapes (including the shapes themselves).\n *\n * @param ids - The ids of the shapes to get descendants of.\n *\n * @returns The decscendant ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeAndDescendantIds(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeAndDescendantIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeAtPoint:member(1)", - "docComment": "/**\n * Get the shape at the current point.\n *\n * @param point - The point to check.\n *\n * @param opts - Options for the check: `hitInside` to check if the point is inside the shape, `margin` to check if the point is within a margin of the shape, `hitFrameInside` to check if the point is inside the frame, and `filter` to filter the shapes to check.\n *\n * @returns The shape at the given point, or undefined if there is no shape at the point.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeAtPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n renderingOnly?: boolean | undefined;\n margin?: number | undefined;\n hitInside?: boolean | undefined;\n hitLabels?: boolean | undefined;\n hitFrameInside?: boolean | undefined;\n filter?: ((shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean) | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeAtPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeClipPath:member(1)", - "docComment": "/**\n * Get the clip path for a shape.\n *\n * @param shape - The shape (or shape id) to get the clip path for.\n *\n * @returns The clip path or undefined.\n *\n * @example\n * ```ts\n * const clipPath = editor.getShapeClipPath(shape)\n * const clipPath = editor.getShapeClipPath(shape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeClipPath(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeClipPath" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeGeometry:member(1)", - "docComment": "/**\n * Get the geometry of a shape.\n *\n * @param shape - The shape (or shape id) to get the geometry for.\n *\n * @example\n * ```ts\n * editor.getShapeGeometry(myShape)\n * editor.getShapeGeometry(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeHandles:member(1)", - "docComment": "/**\n * Get the handles (if any) for a shape.\n *\n * @param shape - The shape (or shape id) to get the handles for.\n *\n * @example\n * ```ts\n * editor.getShapeHandles(myShape)\n * editor.getShapeHandles(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeHandles(shape: " - }, - { - "kind": "Content", - "text": "T | T['id']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "[] | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeHandles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeLocalTransform:member(1)", - "docComment": "/**\n * Get the local transform for a shape as a matrix model. This transform reflects both its translation (x, y) from from either its parent's top left corner, if the shape's parent is another shape, or else from the 0,0 of the page, if the shape's parent is the page; and the shape's rotation.\n *\n * @param shape - The shape to get the local transform for.\n *\n * @example\n * ```ts\n * editor.getShapeLocalTransform(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeLocalTransform(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeLocalTransform" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeMask:member(1)", - "docComment": "/**\n * Get the mask (in the current page space) for a shape.\n *\n * @param id - The id of the shape to get the mask for.\n *\n * @returns The mask for the shape.\n *\n * @example\n * ```ts\n * const pageMask = editor.getShapeMask(shape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeMask(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "undefined | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeMask" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeMaskedPageBounds:member(1)", - "docComment": "/**\n * Get the bounds of a shape in the current page space, incorporating any masks. For example, if the shape were the child of a frame and was half way out of the frame, the bounds would be the half of the shape that was in the frame.\n *\n * @param shape - The shape to get the masked bounds for.\n *\n * @example\n * ```ts\n * editor.getShapeMaskedPageBounds(myShape)\n * editor.getShapeMaskedPageBounds(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeMaskedPageBounds(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeMaskedPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapePageBounds:member(1)", - "docComment": "/**\n * Get the bounds of a shape in the current page space.\n *\n * @param shape - The shape (or shape id) to get the bounds for.\n *\n * @example\n * ```ts\n * editor.getShapePageBounds(myShape)\n * editor.getShapePageBounds(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapePageBounds(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapePageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapePageTransform:member(1)", - "docComment": "/**\n * Get the transform of a shape in the current page space.\n *\n * @param shape - The shape (or shape id) to get the page transform for.\n *\n * @example\n * ```ts\n * editor.getShapePageTransform(myShape)\n * editor.getShapePageTransform(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapePageTransform(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapePageTransform" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeParent:member(1)", - "docComment": "/**\n * Get the parent shape for a given shape. Returns undefined if the shape is the direct child of the page.\n *\n * @example\n * ```ts\n * editor.getShapeParent(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeParent(shape?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeParent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeParentTransform:member(1)", - "docComment": "/**\n * Get the local transform of a shape's parent as a matrix model.\n *\n * @param shape - The shape (or shape id) to get the parent transform for.\n *\n * @example\n * ```ts\n * editor.getShapeParentTransform(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeParentTransform(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeParentTransform" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapesAtPoint:member(1)", - "docComment": "/**\n * Get the shapes, if any, at a given page point.\n *\n * @param point - The page point to test.\n *\n * @example\n * ```ts\n * editor.getShapesAtPoint({ x: 100, y: 100 })\n * editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, exact: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapesAtPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n margin?: number | undefined;\n hitInside?: boolean | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapesAtPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeStyleIfExists:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeStyleIfExists(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ", style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeStyleIfExists" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeUtil:member(1)", - "docComment": "/**\n * Get a shape util from a shape itself.\n *\n * @param shape - A shape, shape partial, or shape type.\n *\n * @example\n * ```ts\n * const util = editor.getShapeUtil(myArrowShape)\n * const util = editor.getShapeUtil('arrow')\n * const util = editor.getShapeUtil(myArrowShape)\n * const util = editor.getShapeUtil(TLArrowShape)('arrow')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeUtil(shape: " - }, - { - "kind": "Content", - "text": "S | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "S", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeUtil" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeUtil:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeUtil(type: " - }, - { - "kind": "Content", - "text": "S['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "S", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeUtil" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeUtil:member(3)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeUtil(type: " - }, - { - "kind": "Content", - "text": "T extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": " ? R['type'] : string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 3, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeUtil" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSharedOpacity:member(1)", - "docComment": "/**\n * Get the currently selected shared opacity. If any shapes are selected, this returns the shared opacity of the selected shapes. Otherwise, this returns the chosen opacity for the next shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSharedOpacity(): " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSharedOpacity" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSharedStyles:member(1)", - "docComment": "/**\n * A map of all the current styles either in the current selection, or that are relevant to the current tool.\n *\n * @example\n * ```ts\n * const color = editor.getSharedStyles().get(DefaultColorStyle)\n * if (color && color.type === 'shared') {\n * print('All selected shapes have the same color:', color.value)\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSharedStyles(): " - }, - { - "kind": "Reference", - "text": "ReadonlySharedStyleMap", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSharedStyles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSortedChildIdsForParent:member(1)", - "docComment": "/**\n * Get an array of all the children of a shape.\n *\n * @param parentId - The id of the parent shape.\n *\n * @example\n * ```ts\n * editor.getSortedChildIdsForParent('frame1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSortedChildIdsForParent(parent: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSortedChildIdsForParent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getStateDescendant:member(1)", - "docComment": "/**\n * Get a descendant by its path.\n *\n * @param path - The descendant's path of state ids, separated by periods.\n *\n * @example\n * ```ts\n * state.getStateDescendant('select')\n * state.getStateDescendant('select.brushing')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getStateDescendant(path: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "path", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getStateDescendant" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSvg:member(1)", - "docComment": "/**\n * Get an exported SVG of the given shapes.\n *\n * @param ids - The shapes (or shape ids) to export.\n *\n * @param opts - Options for the export.\n *\n * @returns The SVG element.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSvg(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSvgOptions", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGSVGElement", - "canonicalReference": "!SVGSVGElement:interface" - }, - { - "kind": "Content", - "text": " | undefined>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 11, - "endIndex": 15 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 10 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSvg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportPageBounds:member(1)", - "docComment": "/**\n * The current viewport in the current page space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportPageCenter:member(1)", - "docComment": "/**\n * The center of the viewport in the current page space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportPageCenter(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportPageCenter" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportScreenBounds:member(1)", - "docComment": "/**\n * The bounds of the editor's viewport in screen space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportScreenBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportScreenBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportScreenCenter:member(1)", - "docComment": "/**\n * The center of the editor's viewport in screen space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportScreenCenter(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportScreenCenter" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getZoomLevel:member(1)", - "docComment": "/**\n * The current camera zoom level.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getZoomLevel(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getZoomLevel" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#groupShapes:member(1)", - "docComment": "/**\n * Create a group containing the provided shapes.\n *\n * @param shapes - The shapes (or shape ids) to group. Defaults to the selected shapes.\n *\n * @param groupId - The id of the group to create.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "groupShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", groupId?: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "groupId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "groupShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#hasAncestor:member(1)", - "docComment": "/**\n * Returns true if the the given shape has the given ancestor.\n *\n * @param shape - The shape.\n *\n * @param ancestorId - The id of the ancestor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hasAncestor(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", ancestorId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "ancestorId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hasAncestor" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#history:member", - "docComment": "/**\n * A manager for the app's history.\n *\n * @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly history: " - }, - { - "kind": "Reference", - "text": "HistoryManager", - "canonicalReference": "@tldraw/editor!~HistoryManager:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "history", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#inputs:member", - "docComment": "/**\n * The app's current input state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "inputs: " - }, - { - "kind": "Content", - "text": "{\n originPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n originScreenPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n previousPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n previousScreenPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n currentPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n currentScreenPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n keys: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": ";\n buttons: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": ";\n isPen: boolean;\n shiftKey: boolean;\n ctrlKey: boolean;\n altKey: boolean;\n isDragging: boolean;\n isPointing: boolean;\n isPinching: boolean;\n isEditing: boolean;\n isPanning: boolean;\n pointerVelocity: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "inputs", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#interrupt:member(1)", - "docComment": "/**\n * Dispatch an interrupt event.\n *\n * @example\n * ```ts\n * editor.interrupt()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "interrupt(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "interrupt" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isAncestorSelected:member(1)", - "docComment": "/**\n * Determine whether or not any of a shape's ancestors are selected.\n *\n * @param id - The id of the shape to check.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAncestorSelected(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isAncestorSelected" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isIn:member(1)", - "docComment": "/**\n * Get whether a certain tool (or other state node) is currently active.\n *\n * @param path - The path of active states, separated by periods.\n *\n * @example\n * ```ts\n * editor.isIn('select')\n * editor.isIn('select.brushing')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isIn(path: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "path", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isIn" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isInAny:member(1)", - "docComment": "/**\n * Get whether the state node is in any of the given active paths.\n *\n * @example\n * ```ts\n * state.isInAny('select', 'erase')\n * state.isInAny('select.brushing', 'erase.idle')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isInAny(...paths: " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "paths", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isInAny" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isPointInShape:member(1)", - "docComment": "/**\n * Test whether a point (in the current page space) will will a shape. This method takes into account masks, such as when a shape is the child of a frame and is partially clipped by the frame.\n *\n * @param shape - The shape to test against.\n *\n * @param point - The page point to test (in the current page space).\n *\n * @param hitInside - Whether to count as a hit if the point is inside of a closed shape.\n *\n * @example\n * ```ts\n * editor.isPointInShape({ x: 100, y: 100 }, myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isPointInShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n margin?: number | undefined;\n hitInside?: boolean | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isPointInShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeInPage:member(1)", - "docComment": "/**\n * Get whether the given shape is the descendant of the given page.\n *\n * @param shape - The shape to check.\n *\n * @param pageId - The id of the page to check against. Defaults to the current page.\n *\n * @example\n * ```ts\n * editor.isShapeInPage(myShape)\n * editor.isShapeInPage(myShape, 'page1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeInPage(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", pageId?: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "pageId", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeInPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOfType:member(1)", - "docComment": "/**\n * Get whether a shape matches the type of a TLShapeUtil.\n *\n * @param util - the TLShapeUtil constructor to test against\n *\n * @param shape - the shape to test\n *\n * @example\n * ```ts\n * const isArrowShape = isShapeOfType(someShape, 'arrow')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOfType(shape: " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Content", - "text": "T['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "shape", - "canonicalReference": "@tldraw/editor!~shape" - }, - { - "kind": "Content", - "text": " is T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOfType" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOfType:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOfType(shapeId: " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": "['id']" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Content", - "text": "T['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "shapeId", - "canonicalReference": "@tldraw/editor!~shapeId" - }, - { - "kind": "Content", - "text": " is T['id']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOfType" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOrAncestorLocked:member(1)", - "docComment": "/**\n * Check whether a shape or its parent is locked.\n *\n * @param shape - The shape (or shape id) to check.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOrAncestorLocked(shape?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOrAncestorLocked" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOrAncestorLocked:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOrAncestorLocked(id?: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOrAncestorLocked" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#mark:member(1)", - "docComment": "/**\n * Create a new \"mark\", or stopping point, in the undo redo history. Creating a mark will clear any redos.\n *\n * @param markId - The mark's id, usually the reason for adding the mark.\n *\n * @param onUndo - Whether to stop at the mark when undoing.\n *\n * @param onRedo - Whether to stop at the mark when redoing.\n *\n * @example\n * ```ts\n * editor.mark()\n * editor.mark('flip shapes')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "mark(markId?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", onUndo?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ", onRedo?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "markId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "onUndo", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "onRedo", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "mark" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#moveShapesToPage:member(1)", - "docComment": "/**\n * Move shapes to page.\n *\n * @param shapes - The shapes (or shape ids) of the shapes to move.\n *\n * @param pageId - The id of the page where the shapes will be moved.\n *\n * @example\n * ```ts\n * editor.moveShapesToPage(['box1', 'box2'], 'page1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "moveShapesToPage(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", pageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "pageId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "moveShapesToPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#nudgeShapes:member(1)", - "docComment": "/**\n * Move shapes by a delta.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @param direction - The direction in which to move the shapes.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.nudgeShapes(['box1', 'box2'], { x: 8, y: 8 })\n * editor.nudgeShapes(editor.getSelectedShapes(), { x: 8, y: 8 }, { squashing: true })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "nudgeShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", offset: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "offset", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nudgeShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#packShapes:member(1)", - "docComment": "/**\n * Pack shapes into a grid centered on their current position. Based on potpack (https://github.com/mapbox/potpack).\n *\n * @param shapes - The shapes (or shape ids) to pack.\n *\n * @param gap - The padding to apply to the packed shapes. Defaults to 16.\n *\n * @example\n * ```ts\n * editor.packShapes([box1, box2], 32)\n * editor.packShapes(editor.getSelectedShapeIds(), 32)\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "packShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", gap: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "gap", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "packShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#pageToScreen:member(1)", - "docComment": "/**\n * Convert a point in the current page space to a point in current screen space.\n *\n * @param point - The point in screen space.\n *\n * @example\n * ```ts\n * editor.pageToScreen({ x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "pageToScreen(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "pageToScreen" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#pan:member(1)", - "docComment": "/**\n * Pan the camera.\n *\n * @param offset - The offset in the current page space.\n *\n * @param animation - The animation options.\n *\n * @example\n * ```ts\n * editor.pan({ x: 100, y: 100 })\n * editor.pan({ x: 100, y: 100 }, { duration: 1000 })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "pan(offset: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "offset", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "pan" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#panZoomIntoView:member(1)", - "docComment": "/**\n * Pan or pan/zoom the selected ids into view. This method tries to not change the zoom if possible.\n *\n * @param ids - The ids of the shapes to pan and zoom into view.\n *\n * @param animation - The options for an animation.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "panZoomIntoView(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "panZoomIntoView" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#popFocusedGroupId:member(1)", - "docComment": "/**\n * Exit the current focused group, moving up to the next parent group if there is one.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "popFocusedGroupId(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "popFocusedGroupId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#putContentOntoCurrentPage:member(1)", - "docComment": "/**\n * Place content into the editor.\n *\n * @param content - The content.\n *\n * @param options - Options for placing the content.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "putContentOntoCurrentPage(content: " - }, - { - "kind": "Reference", - "text": "TLContent", - "canonicalReference": "@tldraw/editor!TLContent:interface" - }, - { - "kind": "Content", - "text": ", options?: " - }, - { - "kind": "Content", - "text": "{\n point?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n select?: boolean;\n preservePosition?: boolean;\n preserveIds?: boolean;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "content", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "putContentOntoCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#putExternalContent:member(1)", - "docComment": "/**\n * Handle external content, such as files, urls, embeds, or plain text which has been put into the app, for example by pasting external text or dropping external images onto canvas.\n *\n * @param info - Info about the external content.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "putExternalContent(info: " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "putExternalContent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#redo:member(1)", - "docComment": "/**\n * Redo to the next mark.\n *\n * @example\n * ```ts\n * editor.redo()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "redo(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "redo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#registerExternalAssetHandler:member(1)", - "docComment": "/**\n * Register an external content handler. This handler will be called when the editor receives external content of the provided type. For example, the 'image' type handler will be called when a user drops an image onto the canvas.\n *\n * @param type - The type of external content.\n *\n * @param handler - The handler to use for this content type.\n *\n * @example\n * ```ts\n * editor.registerExternalAssetHandler('text', myHandler)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "registerExternalAssetHandler(type: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", handler: " - }, - { - "kind": "Content", - "text": "((info: " - }, - { - "kind": "Reference", - "text": "TLExternalAssetContent", - "canonicalReference": "@tldraw/editor!TLExternalAssetContent:type" - }, - { - "kind": "Content", - "text": " & {\n type: T;\n }) => " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": ">) | null" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 14, - "endIndex": 15 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "handler", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 13 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "registerExternalAssetHandler" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#registerExternalContentHandler:member(1)", - "docComment": "/**\n * Register an external content handler. This handler will be called when the editor receives external content of the provided type. For example, the 'image' type handler will be called when a user drops an image onto the canvas.\n *\n * @param type - The type of external content.\n *\n * @param handler - The handler to use for this content type.\n *\n * @example\n * ```ts\n * editor.registerExternalContentHandler('text', myHandler)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "registerExternalContentHandler(type: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", handler: " - }, - { - "kind": "Content", - "text": "((info: T extends " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": "['type'] ? " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": " & {\n type: T;\n } : " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": ") => void) | null" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 14, - "endIndex": 15 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "handler", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 13 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "registerExternalContentHandler" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#renamePage:member(1)", - "docComment": "/**\n * Rename a page.\n *\n * @param id - The id of the page to rename.\n *\n * @param name - The new name.\n *\n * @example\n * ```ts\n * editor.renamePage('page1', 'My Page')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "renamePage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ", name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "renamePage" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#renderingBoundsMargin:member", - "docComment": "/**\n * The distance to expand the viewport when measuring culling. A larger distance will mean that shapes near to the viewport (but still outside of it) will not be culled.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "renderingBoundsMargin: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "renderingBoundsMargin", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#reparentShapes:member(1)", - "docComment": "/**\n * Reparent shapes to a new parent. This operation preserves the shape's current page positions / rotations.\n *\n * @param shapes - The shapes (or shape ids) of the shapes to reparent.\n *\n * @param parentId - The id of the new parent shape.\n *\n * @param insertIndex - The index to insert the children.\n *\n * @example\n * ```ts\n * editor.reparentShapes([box1, box2], 'frame1')\n * editor.reparentShapes([box1.id, box2.id], 'frame1')\n * editor.reparentShapes([box1.id, box2.id], 'frame1', 4)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "reparentShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", parentId: " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ", insertIndex?: " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "parentId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "insertIndex", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "reparentShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#resetZoom:member(1)", - "docComment": "/**\n * Set the zoom back to 100%.\n *\n * @param point - The screen point to zoom out on. Defaults to the viewport screen center.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.resetZoom()\n * editor.resetZoom(editor.getViewportScreenCenter(), { duration: 200 })\n * editor.resetZoom(editor.getViewportScreenCenter(), { duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "resetZoom(point?: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "resetZoom" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#resizeShape:member(1)", - "docComment": "/**\n * Resize a shape.\n *\n * @param id - The id of the shape to resize.\n *\n * @param scale - The scale factor to apply to the shape.\n *\n * @param options - Additional options.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "resizeShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", scale: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", options?: " - }, - { - "kind": "Reference", - "text": "TLResizeShapeOptions", - "canonicalReference": "@tldraw/editor!TLResizeShapeOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "scale", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "resizeShape" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#root:member", - "docComment": "/**\n * The root state of the statechart.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly root: " - }, - { - "kind": "Reference", - "text": "RootState", - "canonicalReference": "@tldraw/editor!~RootState:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "root", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#rotateShapesBy:member(1)", - "docComment": "/**\n * Rotate shapes by a delta in radians. Note: Currently, this assumes that the shapes are your currently selected shapes.\n *\n * @param shapes - The shapes (or shape ids) of the shapes to move.\n *\n * @param delta - The delta in radians to apply to the selection rotation.\n *\n * @example\n * ```ts\n * editor.rotateShapesBy(editor.getSelectedShapeIds(), Math.PI)\n * editor.rotateShapesBy(editor.getSelectedShapeIds(), Math.PI / 2)\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotateShapesBy(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", delta: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "delta", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rotateShapesBy" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#screenToPage:member(1)", - "docComment": "/**\n * Convert a point in screen space to a point in the current page space.\n *\n * @param point - The point in screen space.\n *\n * @example\n * ```ts\n * editor.screenToPage({ x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "screenToPage(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "screenToPage" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#scribbles:member", - "docComment": "/**\n * A manager for the editor's scribbles.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly scribbles: " - }, - { - "kind": "Reference", - "text": "ScribbleManager", - "canonicalReference": "@tldraw/editor!~ScribbleManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "scribbles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#select:member(1)", - "docComment": "/**\n * Select one or more shapes.\n *\n * @param ids - The ids to select.\n *\n * @example\n * ```ts\n * editor.select('id1')\n * editor.select('id1', 'id2')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "select(...shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "select" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#selectAll:member(1)", - "docComment": "/**\n * Select all direct children of the current page.\n *\n * @example\n * ```ts\n * editor.selectAll()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "selectAll(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "selectAll" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#selectNone:member(1)", - "docComment": "/**\n * Clear the selection.\n *\n * @example\n * ```ts\n * editor.selectNone()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "selectNone(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "selectNone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#sendBackward:member(1)", - "docComment": "/**\n * Send shapes backward in the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.sendBackward(['id1', 'id2'])\n * editor.sendBackward([box1, box2])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "sendBackward(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "sendBackward" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#sendToBack:member(1)", - "docComment": "/**\n * Send shapes to the back of the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.sendToBack(['id1', 'id2'])\n * editor.sendToBack(box1, box2)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "sendToBack(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "sendToBack" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCamera:member(1)", - "docComment": "/**\n * Set the current camera.\n *\n * @param point - The new camera position.\n *\n * @param animation - Options for an animation.\n *\n * @example\n * ```ts\n * editor.setCamera({ x: 0, y: 0})\n * editor.setCamera({ x: 0, y: 0, z: 1.5})\n * editor.setCamera({ x: 0, y: 0, z: 1.5}, { duration: 1000, easing: (t) => t * t })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCamera(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCamera" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCroppingShape:member(1)", - "docComment": "/**\n * Set the current cropping shape.\n *\n * @param shape - The shape (or shape id) to set as cropping.\n *\n * @example\n * ```ts\n * editor.setCroppingShape(myShape)\n * editor.setCroppingShape(myShape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCroppingShape(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCroppingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCurrentPage:member(1)", - "docComment": "/**\n * Set the current page.\n *\n * @param page - The page (or page id) to set as the current page.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setCurrentPage('page1')\n * editor.setCurrentPage(myPage1)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCurrentPage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCurrentTool:member(1)", - "docComment": "/**\n * Set the selected tool.\n *\n * @param id - The id of the tool to select.\n *\n * @param info - Arbitrary data to pass along into the transition.\n *\n * @example\n * ```ts\n * editor.setCurrentTool('hand')\n * editor.setCurrentTool('hand', { date: Date.now() })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCurrentTool(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", info?: " - }, - { - "kind": "Content", - "text": "{}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCurrentTool" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#setCursor:member", - "docComment": "/**\n * Set the cursor.\n *\n * @param type - The cursor type.\n *\n * @param rotation - The cursor rotation.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCursor: " - }, - { - "kind": "Content", - "text": "(cursor: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursor", - "canonicalReference": "@tldraw/tlschema!TLCursor:interface" - }, - { - "kind": "Content", - "text": ">) => this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "setCursor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setEditingShape:member(1)", - "docComment": "/**\n * Set the current editing shape.\n *\n * @param shape - The shape (or shape id) to set as editing.\n *\n * @example\n * ```ts\n * editor.setEditingShape(myShape)\n * editor.setEditingShape(myShape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setEditingShape(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setEditingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setErasingShapes:member(1)", - "docComment": "/**\n * Set the editor's current erasing shapes.\n *\n * @param shapes - The shapes (or shape ids) to set as hinting.\n *\n * @example\n * ```ts\n * editor.setErasingShapes([myShape])\n * editor.setErasingShapes([myShape.id])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setErasingShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setErasingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setFocusedGroup:member(1)", - "docComment": "/**\n * Set the current focused group shape.\n *\n * @param shape - The group shape id (or group shape's id) to set as the focused group shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setFocusedGroup(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setFocusedGroup" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setHintingShapes:member(1)", - "docComment": "/**\n * Set the editor's current hinting shapes.\n *\n * @param shapes - The shapes (or shape ids) to set as hinting.\n *\n * @example\n * ```ts\n * editor.setHintingShapes([myShape])\n * editor.setHintingShapes([myShape.id])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setHintingShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setHintingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setHoveredShape:member(1)", - "docComment": "/**\n * Set the editor's current hovered shape.\n *\n * @param shapes - The shape (or shape id) to set as hovered.\n *\n * @example\n * ```ts\n * editor.setHoveredShape(myShape)\n * editor.setHoveredShape(myShape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setHoveredShape(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setHoveredShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setOpacityForNextShapes:member(1)", - "docComment": "/**\n * Set the opacity for the next shapes. This will effect subsequently created shapes.\n *\n * @param opacity - The opacity to set. Must be a number between 0 and 1 inclusive.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setOpacityForNextShapes(0.5)\n * editor.setOpacityForNextShapes(0.5, { squashing: true })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setOpacityForNextShapes(opacity: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opacity", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setOpacityForNextShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setOpacityForSelectedShapes:member(1)", - "docComment": "/**\n * Set the current opacity. This will effect any selected shapes.\n *\n * @param opacity - The opacity to set. Must be a number between 0 and 1 inclusive.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setOpacityForSelectedShapes(0.5)\n * editor.setOpacityForSelectedShapes(0.5, { squashing: true })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setOpacityForSelectedShapes(opacity: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opacity", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setOpacityForSelectedShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setSelectedShapes:member(1)", - "docComment": "/**\n * Select one or more shapes.\n *\n * @param ids - The ids to select.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setSelectedShapes(['id1'])\n * editor.setSelectedShapes(['id1', 'id2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setSelectedShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setSelectedShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setStyleForNextShapes:member(1)", - "docComment": "/**\n * Set the value of a {@link @tldraw/tlschema#StyleProp} for the next shapes. This change will be applied to subsequently created shapes.\n *\n * @param style - The style to set.\n *\n * @param value - The value to set.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setStyleForNextShapes(DefaultColorStyle, 'red')\n * editor.setStyleForNextShapes(DefaultColorStyle, 'red', { ephemeral: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setStyleForNextShapes(style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", value: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setStyleForNextShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setStyleForSelectedShapes:member(1)", - "docComment": "/**\n * Set the value of a {@link @tldraw/tlschema#StyleProp}. This change will be applied to the currently selected shapes.\n *\n * @param style - The style to set.\n *\n * @param value - The value to set.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setStyleForSelectedShapes(DefaultColorStyle, 'red')\n * editor.setStyleForSelectedShapes(DefaultColorStyle, 'red', { ephemeral: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setStyleForSelectedShapes" - }, - { - "kind": "Content", - "text": ">(style: " - }, - { - "kind": "Content", - "text": "S" - }, - { - "kind": "Content", - "text": ", value: " - }, - { - "kind": "Reference", - "text": "StylePropValue", - "canonicalReference": "@tldraw/tlschema!StylePropValue:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "S", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setStyleForSelectedShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#shapeUtils:member", - "docComment": "/**\n * A map of shape utility classes (TLShapeUtils) by shape type.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeUtils: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in string]?: " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeUtils", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#sideEffects:member", - "docComment": "/**\n * A manager for side effects and correct state enforcement.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly sideEffects: " - }, - { - "kind": "Reference", - "text": "SideEffectManager", - "canonicalReference": "@tldraw/editor!~SideEffectManager:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "sideEffects", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#slideCamera:member(1)", - "docComment": "/**\n * Slide the camera in a certain direction.\n *\n * @param opts - Options for the slide\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "slideCamera(opts?: " - }, - { - "kind": "Content", - "text": "{\n speed: number;\n direction: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n friction: number;\n speedThreshold?: number | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "slideCamera" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#snaps:member", - "docComment": "/**\n * A manager for the app's snapping feature.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly snaps: " - }, - { - "kind": "Reference", - "text": "SnapManager", - "canonicalReference": "@tldraw/editor!SnapManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "snaps", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stackShapes:member(1)", - "docComment": "/**\n * Stack shape.\n *\n * @param shapes - The shapes (or shape ids) to stack.\n *\n * @param operation - Whether to stack horizontally or vertically.\n *\n * @param gap - The gap to leave between shapes.\n *\n * @example\n * ```ts\n * editor.stackShapes([box1, box2], 'horizontal', 32)\n * editor.stackShapes(editor.getSelectedShapeIds(), 'horizontal', 32)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stackShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": ", gap: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "gap", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "stackShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#startFollowingUser:member(1)", - "docComment": "/**\n * Start viewport-following a user.\n *\n * @param userId - The id of the user to follow.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "startFollowingUser(userId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "userId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "startFollowingUser" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stopCameraAnimation:member(1)", - "docComment": "/**\n * Stop the current camera animation, if any.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stopCameraAnimation(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "stopCameraAnimation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stopFollowingUser:member(1)", - "docComment": "/**\n * Stop viewport-following a user.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stopFollowingUser(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "stopFollowingUser" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#store:member", - "docComment": "/**\n * The editor's store\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "store", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stretchShapes:member(1)", - "docComment": "/**\n * Stretch shape sizes and positions to fill their common bounding box.\n *\n * @param shapes - The shapes (or shape ids) to stretch.\n *\n * @param operation - Whether to stretch shapes horizontally or vertically.\n *\n * @example\n * ```ts\n * editor.stretchShapes([box1, box2], 'horizontal')\n * editor.stretchShapes(editor.getSelectedShapeIds(), 'horizontal')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stretchShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "stretchShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#styleProps:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "styleProps: " - }, - { - "kind": "Content", - "text": "{\n [key: string]: " - }, - { - "kind": "Reference", - "text": "Map", - "canonicalReference": "!Map:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", string>;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "styleProps", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#textMeasure:member", - "docComment": "/**\n * A helper for measuring text.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly textMeasure: " - }, - { - "kind": "Reference", - "text": "TextManager", - "canonicalReference": "@tldraw/editor!~TextManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "textMeasure", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#toggleLock:member(1)", - "docComment": "/**\n * Toggle the lock state of one or more shapes. If there is a mix of locked and unlocked shapes, all shapes will be locked.\n *\n * @param shapes - The shapes (or shape ids) to toggle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "toggleLock(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toggleLock" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#undo:member(1)", - "docComment": "/**\n * Undo to the last mark.\n *\n * @example\n * ```ts\n * editor.undo()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "undo(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "undo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#ungroupShapes:member(1)", - "docComment": "/**\n * Ungroup some shapes.\n *\n * @param ids - Ids of the shapes to ungroup. Defaults to the selected shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "ungroupShapes(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ungroupShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#ungroupShapes:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ungroupShapes(ids: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ungroupShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateAssets:member(1)", - "docComment": "/**\n * Update one or more assets.\n *\n * @param assets - The assets to update.\n *\n * @example\n * ```ts\n * editor.updateAssets([{ id: 'asset1', name: 'New name' }])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateAssets(assets: " - }, - { - "kind": "Reference", - "text": "TLAssetPartial", - "canonicalReference": "@tldraw/tlschema!TLAssetPartial:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assets", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateCurrentPageState:member(1)", - "docComment": "/**\n * Update this instance's page state.\n *\n * @param partial - The partial of the page state object containing the changes.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updateCurrentPageState({ id: 'page1', editingShapeId: 'shape:123' })\n * editor.updateCurrentPageState({ id: 'page1', editingShapeId: 'shape:123' }, { ephemeral: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateCurrentPageState(partial: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": ", 'editingShapeId' | 'focusedGroupId' | 'pageId' | 'selectedShapeIds'>>" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateCurrentPageState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateDocumentSettings:member(1)", - "docComment": "/**\n * Update the global document settings that apply to all users.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateDocumentSettings(settings: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "settings", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateDocumentSettings" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateInstanceState:member(1)", - "docComment": "/**\n * Update the instance's state.\n *\n * @param partial - A partial object to update the instance state with.\n *\n * @param historyOptions - The history options for the change.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateInstanceState(partial: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstance", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface" - }, - { - "kind": "Content", - "text": ", 'currentPageId'>>" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateInstanceState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updatePage:member(1)", - "docComment": "/**\n * Update a page.\n *\n * @param partial - The partial of the shape to update.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updatePage({ id: 'page2', name: 'Page 2' })\n * editor.updatePage({ id: 'page2', name: 'Page 2' }, { squashing: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updatePage(partial: " - }, - { - "kind": "Reference", - "text": "RequiredKeys", - "canonicalReference": "@tldraw/editor!RequiredKeys:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ", 'id'>" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updatePage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateShape:member(1)", - "docComment": "/**\n * Update a shape using a partial of the shape.\n *\n * @param partial - The shape partial to update.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updateShape({ id: 'box1', type: 'geo', props: { w: 100, h: 100 } })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateShape(partial: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateShapes:member(1)", - "docComment": "/**\n * Update shapes using partials of each shape.\n *\n * @param partials - The shape partials to update.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updateShapes([{ id: 'box1', type: 'geo', props: { w: 100, h: 100 } }])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateShapes(partials: " - }, - { - "kind": "Content", - "text": "(null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined)[]" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partials", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateViewportScreenBounds:member(1)", - "docComment": "/**\n * Update the viewport. The viewport will measure the size and screen position of its container element. This should be done whenever the container's position on the screen changes.\n *\n * @param center - Whether to preserve the viewport page center as the viewport changes.\n *\n * @example\n * ```ts\n * editor.updateViewportScreenBounds()\n * editor.updateViewportScreenBounds(true)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateViewportScreenBounds(screenBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", center?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "screenBounds", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "center", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateViewportScreenBounds" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#user:member", - "docComment": "/**\n * A manager for the user and their preferences.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly user: " - }, - { - "kind": "Reference", - "text": "UserPreferencesManager", - "canonicalReference": "@tldraw/editor!~UserPreferencesManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "user", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#visitDescendants:member(1)", - "docComment": "/**\n * Run a visitor function for all descendants of a shape.\n *\n * @param parentId - The id of the parent shape.\n *\n * @param visitor - The visitor function.\n *\n * @example\n * ```ts\n * editor.visitDescendants('frame1', myCallback)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "visitDescendants(parent: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ", visitor: " - }, - { - "kind": "Content", - "text": "(id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ") => false | void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "visitor", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 10 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "visitDescendants" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomIn:member(1)", - "docComment": "/**\n * Zoom the camera in.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomIn()\n * editor.zoomIn(editor.getViewportScreenCenter(), { duration: 120 })\n * editor.zoomIn(editor.inputs.currentScreenPoint, { duration: 120 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomIn(point?: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomIn" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomOut:member(1)", - "docComment": "/**\n * Zoom the camera out.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomOut()\n * editor.zoomOut(editor.getViewportScreenCenter(), { duration: 120 })\n * editor.zoomOut(editor.inputs.currentScreenPoint, { duration: 120 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomOut(point?: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomOut" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToBounds:member(1)", - "docComment": "/**\n * Zoom the camera to fit a bounding box (in the current page space).\n *\n * @param bounds - The bounding box.\n *\n * @param options - The options for an animation, target zoom, or custom inset amount.\n *\n * @example\n * ```ts\n * editor.zoomToBounds(myBounds)\n * editor.zoomToBounds(myBounds)\n * editor.zoomToBounds(myBounds, { duration: 100 })\n * editor.zoomToBounds(myBounds, { inset: 0, targetZoom: 1 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToBounds(bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n targetZoom?: number;\n inset?: number;\n } & " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "bounds", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomToBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToContent:member(1)", - "docComment": "/**\n * Move the camera to the nearest content.\n *\n * @param opts - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomToContent()\n * editor.zoomToContent({ duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToContent(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "zoomToContent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToFit:member(1)", - "docComment": "/**\n * Zoom the camera to fit the current page's content in the viewport.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomToFit()\n * editor.zoomToFit({ duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToFit(animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomToFit" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToSelection:member(1)", - "docComment": "/**\n * Zoom the camera to fit the current selection in the viewport.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomToSelection()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToSelection(animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomToSelection" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Ellipse2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Ellipse2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Ellipse2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Ellipse2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#_edges:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_edges?: " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_edges", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Ellipse2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Ellipse2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#edges:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get edges(): " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "edges", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Content", - "text": "any[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!ErrorBoundary:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ErrorBoundary extends " - }, - { - "kind": "Reference", - "text": "React.Component", - "canonicalReference": "@types/react!React.Component:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "React.PropsWithRef", - "canonicalReference": "@types/react!React.PropsWithRef:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "React.PropsWithChildren", - "canonicalReference": "@types/react!React.PropsWithChildren:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLErrorBoundaryProps", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps:interface" - }, - { - "kind": "Content", - "text": ">>, " - }, - { - "kind": "Reference", - "text": "TLErrorBoundaryState", - "canonicalReference": "@tldraw/editor!~TLErrorBoundaryState:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/components/ErrorBoundary.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "ErrorBoundary", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ErrorBoundary#componentDidCatch:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "componentDidCatch(error: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "error", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "componentDidCatch" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ErrorBoundary.getDerivedStateFromError:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static getDerivedStateFromError(error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "error", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getDerivedStateFromError" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ErrorBoundary#render:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "render(): " - }, - { - "kind": "Content", - "text": "boolean | import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "Iterable", - "canonicalReference": "!Iterable:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": "> | null | number | string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "render" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ErrorBoundary#state:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "state: " - }, - { - "kind": "Reference", - "text": "TLErrorBoundaryState", - "canonicalReference": "@tldraw/editor!~TLErrorBoundaryState:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "state", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 11 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!ErrorScreen:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function ErrorScreen({ children }: " - }, - { - "kind": "Content", - "text": "{\n children: any;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "ErrorScreen" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!EVENT_NAME_MAP:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "EVENT_NAME_MAP: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventName", - "canonicalReference": "@tldraw/editor!TLEventName:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLPinchEventName", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type" - }, - { - "kind": "Content", - "text": ">, keyof " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "EVENT_NAME_MAP", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 11 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!GapsSnapIndicator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type GapsSnapIndicator = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n type: 'gaps';\n direction: 'horizontal' | 'vertical';\n gaps: " - }, - { - "kind": "Reference", - "text": "Array", - "canonicalReference": "!Array:interface" - }, - { - "kind": "Content", - "text": "<{\n startEdge: [" - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "];\n endEdge: [" - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "];\n }>;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "name": "GapsSnapIndicator", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Geometry2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class Geometry2d " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Geometry2d.ts", - "releaseTag": "Public", - "isAbstract": true, - "name": "Geometry2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Geometry2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Geometry2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(opts: " - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#area:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get area(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "area", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#bounds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get bounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "bounds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get center(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#debugColor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "debugColor?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "debugColor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#distanceToLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#distanceToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", hitInside?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#getArea:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArea(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getArea" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": true, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", distance?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "distance", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#hitTestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", hitInside?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#ignore:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ignore?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "ignore", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#isClosed:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isClosed: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isClosed", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#isFilled:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isFilled: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isFilled", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#isLabel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isLabel: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isLabel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#isPointInBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isPointInBounds(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isPointInBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "nearestPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#nearestPointOnLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPointOnLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPointOnLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#toSimpleSvgPath:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSimpleSvgPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toSimpleSvgPath" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#vertices:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get vertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "vertices", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getArcMeasure:function(1)", - "docComment": "/**\n * Get the measure of an arc.\n *\n * @param A - The angle from center to arc's start point (A) on the circle\n *\n * @param B - The angle from center to arc's end point (B) on the circle\n *\n * @param sweepFlag - 1 if the arc is clockwise, 0 if counter-clockwise\n *\n * @param largeArcFlag - 1 if the arc is greater than 180 degrees, 0 if less than 180 degrees\n *\n * @returns The measure of the arc, negative if counter-clockwise\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getArcMeasure(A: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", sweepFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", largeArcFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "sweepFlag", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "largeArcFlag", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "getArcMeasure" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getArrowTerminalsInArrowSpace:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getArrowTerminalsInArrowSpace(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/shared.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getArrowTerminalsInArrowSpace" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getCursor:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getCursor(cursor: " - }, - { - "kind": "Reference", - "text": "TLCursorType", - "canonicalReference": "@tldraw/tlschema!TLCursorType:type" - }, - { - "kind": "Content", - "text": ", rotation?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", color?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useCursor.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "cursor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "rotation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "color", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "name": "getCursor" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getFreshUserPreferences:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getFreshUserPreferences(): " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "getFreshUserPreferences" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getIncrementedName:function(1)", - "docComment": "/**\n * Get an incremented name (e.g. New page (2)) from a name (e.g. New page), based on an array of existing names.\n *\n * @param name - The name to increment.\n *\n * @param others - The array of existing names.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getIncrementedName(name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", others: " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/getIncrementedName.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "others", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getIncrementedName" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPointerInfo:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPointerInfo(e: " - }, - { - "kind": "Reference", - "text": "PointerEvent", - "canonicalReference": "!PointerEvent:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n point: {\n x: number;\n y: number;\n z: number;\n };\n shiftKey: boolean;\n altKey: boolean;\n ctrlKey: boolean;\n pointerId: number;\n button: number;\n isPen: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/.tsbuild-api/lib/utils/getPointerInfo.d.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "e", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getPointerInfo" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPointInArcT:function(1)", - "docComment": "/**\n * Returns the t value of the point on the arc.\n *\n * @param mAB - The measure of the arc from A to B, negative if counter-clockwise\n *\n * @param A - The angle from center to arc's start point (A) on the circle\n *\n * @param B - The angle from center to arc's end point (B) on the circle\n *\n * @param P - The angle on the circle (P) to find the t value for\n *\n * @returns The t value of the point on the arc, with 0 being the start and 1 being the end\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPointInArcT(mAB: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", A: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "mAB", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "getPointInArcT" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPointOnCircle:function(1)", - "docComment": "/**\n * Get a point on the perimeter of a circle.\n *\n * @param center - The center of the circle.\n *\n * @param r - The radius of the circle.\n *\n * @param a - The angle in radians.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPointOnCircle(center: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "center", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "getPointOnCircle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPolygonVertices:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPolygonVertices(width: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", height: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", sides: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "width", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "height", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "sides", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "getPolygonVertices" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getSvgPathFromPoints:function(1)", - "docComment": "/**\n * Turn an array of points into a path of quadradic curves.\n *\n * @param points - The points returned from perfect-freehand\n *\n * @param closed - Whether the stroke is closed\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getSvgPathFromPoints(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", closed?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/getSvgPathFromPoints.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "closed", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": true - } - ], - "name": "getSvgPathFromPoints" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getUserPreferences:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getUserPreferences(): " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "getUserPreferences" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!GRID_STEPS:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "GRID_STEPS: " - }, - { - "kind": "Content", - "text": "{\n min: number;\n mid: number;\n step: number;\n}[]" - } - ], - "fileUrlPath": "packages/editor/src/lib/constants.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "GRID_STEPS", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Group2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Group2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Group2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Group2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Group2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Group2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n children: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Group2d#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#distanceToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", hitInside?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#getArea:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArea(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getArea" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#hitTestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", hitInside: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Group2d#ignoredChildren:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ignoredChildren: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ignoredChildren", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#toSimpleSvgPath:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSimpleSvgPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toSimpleSvgPath" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!GroupShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class GroupShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/group/GroupShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "GroupShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#canBind:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#onChildrenChange:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onChildrenChange: " - }, - { - "kind": "Reference", - "text": "TLOnChildrenChangeHandler", - "canonicalReference": "@tldraw/editor!TLOnChildrenChangeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onChildrenChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "ShapeProps", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"group\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!HALF_PI:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "HALF_PI: " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "HALF_PI", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface", - "docComment": "/**\n * When dragging a handle, users can snap the handle to key geometry on other nearby shapes. Customize how handles snap to a shape by returning this from {@link ShapeUtil.getHandleSnapGeometry}.\n *\n * Any co-ordinates here should be in the shape's local space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface HandleSnapGeometry " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/HandleSnaps.ts", - "releaseTag": "Public", - "name": "HandleSnapGeometry", - "preserveMemberOrder": false, - "members": [ - { - "kind": "MethodSignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#getSelfSnapOutline:member(1)", - "docComment": "/**\n * By default, handles can't snap to their own shape because moving the handle might change the snapping location which can cause feedback loops. You can override this by returning a version of `outline` that won't be affected by the current handle's position to use for self-snapping.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelfSnapOutline?(handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isOptional": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getSelfSnapOutline" - }, - { - "kind": "MethodSignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#getSelfSnapPoints:member(1)", - "docComment": "/**\n * By default, handles can't snap to their own shape because moving the handle might change the snapping location which can cause feedback loops. You can override this by returning a version of `points` that won't be affected by the current handle's position to use for self-snapping.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelfSnapPoints?(handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isOptional": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getSelfSnapPoints" - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#outline:member", - "docComment": "/**\n * A `Geometry2d` that describe the outline of the shape that the handle will snap to - fills are ignored. By default, this is the same geometry returned by {@link ShapeUtil.getGeometry}. Set this to `null` to disable handle snapping to this shape's outline.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "outline?: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "outline", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#points:member", - "docComment": "/**\n * Key points on the shape that the handle will snap to. For example, the corners of a rectangle, or the centroid of a triangle. By default, no points are used.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "points?: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!hardReset:function(1)", - "docComment": "/**\n * Clear the database of all data associated with tldraw.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function hardReset({ shouldReload }?: " - }, - { - "kind": "Content", - "text": "{\n shouldReload?: boolean | undefined;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/sync/hardReset.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ shouldReload }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "name": "hardReset" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!hardResetEditor:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function hardResetEditor(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/hardResetEditor.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "hardResetEditor" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!HIT_TEST_MARGIN:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "HIT_TEST_MARGIN = " - }, - { - "kind": "Content", - "text": "8" - } - ], - "fileUrlPath": "packages/editor/src/lib/constants.ts", - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isReadonly": true, - "releaseTag": "Public", - "name": "HIT_TEST_MARGIN", - "variableTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!HTMLContainer:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function HTMLContainer({ children, className, ...rest }: " - }, - { - "kind": "Reference", - "text": "HTMLContainerProps", - "canonicalReference": "@tldraw/editor!HTMLContainerProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/HTMLContainer.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, className, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "HTMLContainer" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!HTMLContainerProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type HTMLContainerProps = " - }, - { - "kind": "Reference", - "text": "React.HTMLAttributes", - "canonicalReference": "@types/react!React.HTMLAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLDivElement", - "canonicalReference": "!HTMLDivElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/HTMLContainer.tsx", - "releaseTag": "Public", - "name": "HTMLContainerProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectCircleCircle:function(1)", - "docComment": "/**\n * Find the intersections between a circle and a circle.\n *\n * @param c1 - The first circle's center.\n *\n * @param r1 - The first circle's radius.\n *\n * @param c2 - The second circle's center.\n *\n * @param r2 - The second circle's radius.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectCircleCircle(c1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", c2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r2: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "c1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "c2", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "r2", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "intersectCircleCircle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectCirclePolygon:function(1)", - "docComment": "/**\n * Find the intersections between a circle and a bounding box.\n *\n * @param c - The circle's center.\n *\n * @param r - The circle's radius.\n *\n * @param points - The points in the polygon.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectCirclePolygon(c: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectCirclePolygon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectCirclePolyline:function(1)", - "docComment": "/**\n * Find the intersections between a circle and a bounding box.\n *\n * @param c - The circle's center.\n *\n * @param r - The circle's radius.\n *\n * @param points - The points in the polyline.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectCirclePolyline(c: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectCirclePolyline" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentCircle:function(1)", - "docComment": "/**\n * Find the intersections between a line segment and a circle.\n *\n * @param a1 - The segment's first point.\n *\n * @param a2 - The segment's second point.\n *\n * @param c - The circle's center.\n *\n * @param r - The circle's radius.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentCircle(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", c: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 12 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentCircle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentLineSegment:function(1)", - "docComment": "/**\n * Find the intersection between a line segment and a line segment.\n *\n * @param a1 - The first segment's first point.\n *\n * @param a2 - The first segment's second point.\n *\n * @param b1 - The second segment's first point.\n *\n * @param b2 - The second segment's second point.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentLineSegment(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", b1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", b2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "b1", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "b2", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentLineSegment" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentPolygon:function(1)", - "docComment": "/**\n * Find the intersections between a line segment and a closed polygon.\n *\n * @param a1 - The segment's first point.\n *\n * @param a2 - The segment's second point.\n *\n * @param points - The points in the polygon.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentPolygon(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentPolygon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentPolyline:function(1)", - "docComment": "/**\n * Find the intersections between a line segment and a polyline.\n *\n * @param a1 - The segment's first point.\n *\n * @param a2 - The segment's second point.\n *\n * @param points - The points in the polyline.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentPolyline(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentPolyline" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectPolygonBounds:function(1)", - "docComment": "/**\n * Find the intersections between a polygon and a bounding box.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectPolygonBounds(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "bounds", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "intersectPolygonBounds" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectPolygonPolygon:function(1)", - "docComment": "/**\n * Create a new convex polygon as the intersection of two convex polygons.\n *\n * @param polygonA - An array of points representing the first polygon.\n *\n * @param polygonB - An array of points representing the second polygon.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectPolygonPolygon(polygonA: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", polygonB: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "polygonA", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "polygonB", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "intersectPolygonPolygon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!isSafeFloat:function(1)", - "docComment": "/**\n * Check if a float is safe to use. ie: Not too big or small.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isSafeFloat: (n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "boolean" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "isSafeFloat" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!linesIntersect:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function linesIntersect(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", D: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "D", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "linesIntersect" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!LoadingScreen:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function LoadingScreen({ children }: " - }, - { - "kind": "Content", - "text": "{\n children: any;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "LoadingScreen" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!loadSessionStateSnapshotIntoStore:function(1)", - "docComment": "/**\n * Loads a snapshot of the editor's instance state into the store of a new editor instance.\n *\n * @param store - The store to load the instance state into\n *\n * @param snapshot - The instance state snapshot to load\n *\n * @returns \n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function loadSessionStateSnapshotIntoStore(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ", snapshot: " - }, - { - "kind": "Reference", - "text": "TLSessionStateSnapshot", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "snapshot", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "loadSessionStateSnapshotIntoStore" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!loopToHtmlElement:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function loopToHtmlElement(elm: " - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "elm", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "loopToHtmlElement" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Mat:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Mat " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Mat.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Mat", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Mat:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Mat` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", c: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", e: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", f: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "d", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - }, - { - "parameterName": "e", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "isOptional": false - }, - { - "parameterName": "f", - "parameterTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#a:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "a", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Absolute:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Absolute(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Absolute" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToBounds(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", box: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#applyToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "applyToPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToPoint(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#applyToPoints:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "applyToPoints(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoints" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToPoints:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToPoints(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoints" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToXY(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToXY" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#b:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "b", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#c:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "c: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "c", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Cast:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cast(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cast" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#clone:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Compose:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Compose(...matrices: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "matrices", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Compose" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#decompose:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "decompose(): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n scaleX: number;\n scaleY: number;\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "decompose" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Decompose:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Decompose(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n scaleX: number;\n scaleY: number;\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Decompose" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#decomposed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "decomposed(): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n scaleX: number;\n scaleY: number;\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "decomposed" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#e:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "e: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "e", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(m: " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#f:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "f: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "f", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.From:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static From(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "From" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#identity:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "identity(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "identity" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Identity:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Identity(): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "Identity" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Inverse:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Inverse(m: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Inverse" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#invert:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "invert(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "invert" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#multiply:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "multiply(m: " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "multiply" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Multiply:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Multiply(m1: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ", m2: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "m2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Multiply" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#point:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "point(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "point" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Point:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Point(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Point" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#rotate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotate(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cx?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cy?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "cx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "cy", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rotate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Rotate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rotate(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cx?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cy?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "cx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "cy", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rotate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#rotation:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotation(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "rotation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Rotation:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rotation(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rotation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#scale:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "scale(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "scale" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat.Scale:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Scale: " - }, - { - "kind": "Content", - "text": "{\n (x: number, y: number): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";\n (x: number, y: number, cx: number, cy: number): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Scale", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#setTo:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setTo(model: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "model", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setTo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Smooth:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Smooth(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", precision?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "precision", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Smooth" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#toCssString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toCssString(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toCssString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.toCssString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static toCssString(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toCssString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#translate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "translate(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "translate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Translate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Translate(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Translate" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!MatLike:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type MatLike = " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Mat.ts", - "releaseTag": "Public", - "name": "MatLike", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!MatModel:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface MatModel " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Mat.ts", - "releaseTag": "Public", - "name": "MatModel", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#a:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "a", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#b:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "b", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#c:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "c: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "c", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#e:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "e: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "e", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#f:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "f: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "f", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!moveCameraWhenCloseToEdge:function(1)", - "docComment": "/**\n * Moves the camera when the mouse is close to the edge of the screen.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function moveCameraWhenCloseToEdge(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/edgeScrolling.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "moveCameraWhenCloseToEdge" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!openWindow:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function openWindow(url: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", target?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/window-open.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "url", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "target", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "name": "openWindow" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!perimeterOfEllipse:function(1)", - "docComment": "/**\n * Find the approximate perimeter of an ellipse.\n *\n * @param rx - The ellipse's x radius.\n *\n * @param ry - The ellipse's y radius.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function perimeterOfEllipse(rx: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", ry: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "rx", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ry", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "perimeterOfEllipse" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!PI:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "PI: " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "PI", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!PI2:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "PI2: " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "PI2", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Point2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Point2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Point2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Point2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Point2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Point2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n margin: number;\n point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Point2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Point2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Point2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Point2d#point:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "point", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!pointInPolygon:function(1)", - "docComment": "/**\n * Get whether a point is inside of a polygon.\n * ```ts\n * const result = pointInPolygon(myPoint, myPoints)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function pointInPolygon(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "pointInPolygon" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!PointsSnapIndicator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type PointsSnapIndicator = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n type: 'points';\n points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "name": "PointsSnapIndicator", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Polygon2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Polygon2d extends " - }, - { - "kind": "Reference", - "text": "Polyline2d", - "canonicalReference": "@tldraw/editor!Polyline2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Polygon2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Polygon2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Polygon2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Polygon2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!polygonsIntersect:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function polygonsIntersect(a: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "polygonsIntersect" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Polyline2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Polyline2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Polyline2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Polyline2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#_length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#_segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_segments?: " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Polyline2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Polyline2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Polyline2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Polyline2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get length(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Polyline2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#points:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get segments(): " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!precise:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function precise(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "precise" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!preventDefault:function(1)", - "docComment": "/**\n * This function calls `event.preventDefault()` for you. Why is that useful?\n *\n * Beacuase if you enable `window.preventDefaultLogging = true` it'll log out a message when it happens. Because we use console.warn rather than (log) you'll get a stack trace in the inspector telling you exactly where it happened. This is important because `e.preventDefault()` is the source of many bugs, but unfortuantly it can't be avoided because it also stops a lot of default behaviour which doesn't make sense in our UI\n *\n * @param event - To prevent default on\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function preventDefault(event: " - }, - { - "kind": "Reference", - "text": "Event", - "canonicalReference": "!Event:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.BaseSyntheticEvent", - "canonicalReference": "@types/react!React.BaseSyntheticEvent:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "event", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "preventDefault" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!radiansToDegrees:function(1)", - "docComment": "/**\n * Convert radians to degrees.\n *\n * @param r - The degree in radians.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function radiansToDegrees(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "radiansToDegrees" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!rangeIntersection:function(1)", - "docComment": "/**\n * Finds the intersection of two ranges.\n *\n * @param a0 - The start point in the A range\n *\n * @param a1 - The end point in the A range\n *\n * @param b0 - The start point in the B range\n *\n * @param b1 - The end point in the B range\n *\n * @returns The intersection of the ranges, or null if no intersection\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function rangeIntersection(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "[number, number] | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "b0", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "b1", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "rangeIntersection" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class", - "docComment": "/**\n * A map of {@link @tldraw/tlschema#StyleProp | StyleProps} to their {@link SharedStyle} values. See {@link Editor.getSharedStyles}.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ReadonlySharedStyleMap " - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/SharedStylesMap.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "ReadonlySharedStyleMap", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#[Symbol.iterator]:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "[" - }, - { - "kind": "Reference", - "text": "Symbol.iterator", - "canonicalReference": "!SymbolConstructor#iterator" - }, - { - "kind": "Content", - "text": "](): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "[Symbol.iterator]" - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ReadonlySharedStyleMap` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(entries?: " - }, - { - "kind": "Reference", - "text": "Iterable", - "canonicalReference": "!Iterable:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "entries", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#entries:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "entries(): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "entries" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(other: " - }, - { - "kind": "Reference", - "text": "ReadonlySharedStyleMap", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "other", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#get:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get(prop: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "prop", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "get" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#getAsKnownValue:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAsKnownValue(prop: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "prop", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAsKnownValue" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#keys:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "keys(): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "keys" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#size:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get size(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "size", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#values:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "values(): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "values" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Rectangle2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Rectangle2d extends " - }, - { - "kind": "Reference", - "text": "Polygon2d", - "canonicalReference": "@tldraw/editor!Polygon2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Rectangle2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Rectangle2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Rectangle2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Rectangle2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n x?: number;\n y?: number;\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Rectangle2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!refreshPage:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function refreshPage(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/refreshPage.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "refreshPage" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!releasePointerCapture:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function releasePointerCapture(element: " - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ", event: " - }, - { - "kind": "Reference", - "text": "PointerEvent", - "canonicalReference": "!PointerEvent:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "element", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "event", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 9 - }, - "isOptional": false - } - ], - "name": "releasePointerCapture" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!RequiredKeys:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RequiredKeys = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "> & " - }, - { - "kind": "Reference", - "text": "Pick", - "canonicalReference": "!Pick:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/misc-types.ts", - "releaseTag": "Public", - "name": "RequiredKeys", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "K", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 9 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!resizeBox:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function resizeBox(shape: " - }, - { - "kind": "Reference", - "text": "TLBaseBoxShape", - "canonicalReference": "@tldraw/editor!TLBaseBoxShape:type" - }, - { - "kind": "Content", - "text": ", info: " - }, - { - "kind": "Content", - "text": "{\n newPoint: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLResizeHandle", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type" - }, - { - "kind": "Content", - "text": ";\n mode: " - }, - { - "kind": "Reference", - "text": "TLResizeMode", - "canonicalReference": "@tldraw/editor!TLResizeMode:type" - }, - { - "kind": "Content", - "text": ";\n scaleX: number;\n scaleY: number;\n initialBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n initialShape: " - }, - { - "kind": "Reference", - "text": "TLBaseBoxShape", - "canonicalReference": "@tldraw/editor!TLBaseBoxShape:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n minWidth: number;\n maxWidth: number;\n minHeight: number;\n maxHeight: number;\n}>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n props: {\n w: number;\n h: number;\n };\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/resizeBox.ts", - "returnTypeTokenRange": { - "startIndex": 18, - "endIndex": 19 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 14 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 15, - "endIndex": 17 - }, - "isOptional": true - } - ], - "name": "resizeBox" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!ResizeBoxOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type ResizeBoxOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n minWidth: number;\n maxWidth: number;\n minHeight: number;\n maxHeight: number;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/resizeBox.ts", - "releaseTag": "Public", - "name": "ResizeBoxOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!ROTATE_CORNER_TO_SELECTION_CORNER:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "ROTATE_CORNER_TO_SELECTION_CORNER: " - }, - { - "kind": "Content", - "text": "{\n readonly top_left_rotate: \"top_left\";\n readonly top_right_rotate: \"top_right\";\n readonly bottom_right_rotate: \"bottom_right\";\n readonly bottom_left_rotate: \"bottom_left\";\n readonly mobile_rotate: \"top_left\";\n}" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "ROTATE_CORNER_TO_SELECTION_CORNER", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!RotateCorner:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RotateCorner = " - }, - { - "kind": "Content", - "text": "'bottom_left_rotate' | 'bottom_right_rotate' | 'mobile_rotate' | 'top_left_rotate' | 'top_right_rotate'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "RotateCorner", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!rotateSelectionHandle:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function rotateSelectionHandle(handle: " - }, - { - "kind": "Reference", - "text": "SelectionHandle", - "canonicalReference": "@tldraw/editor!SelectionHandle:type" - }, - { - "kind": "Content", - "text": ", rotation: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SelectionHandle", - "canonicalReference": "@tldraw/editor!SelectionHandle:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "rotation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "rotateSelectionHandle" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!runtime:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "runtime: " - }, - { - "kind": "Content", - "text": "{\n openWindow: (url: string, target: string) => void;\n refreshPage: () => void;\n hardReset: () => void;\n}" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/runtime.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "runtime", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SelectionCorner:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SelectionCorner = " - }, - { - "kind": "Content", - "text": "'bottom_left' | 'bottom_right' | 'top_left' | 'top_right'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "SelectionCorner", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SelectionEdge:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SelectionEdge = " - }, - { - "kind": "Content", - "text": "'bottom' | 'left' | 'right' | 'top'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "SelectionEdge", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SelectionHandle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SelectionHandle = " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "SelectionHandle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!setPointerCapture:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setPointerCapture(element: " - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ", event: " - }, - { - "kind": "Reference", - "text": "PointerEvent", - "canonicalReference": "!PointerEvent:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "element", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "event", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 9 - }, - "isOptional": false - } - ], - "name": "setPointerCapture" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!setRuntimeOverrides:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setRuntimeOverrides(input: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/runtime.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "input", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "setRuntimeOverrides" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!setUserPreferences:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setUserPreferences(user: " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "user", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "setUserPreferences" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!ShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class ShapeUtil " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "isAbstract": true, - "name": "ShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!ShapeUtil:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ShapeUtil` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canBind:member", - "docComment": "/**\n * Whether the shape can be bound to by an arrow.\n *\n * @param _otherShape - The other shape attempting to bind to this shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind: " - }, - { - "kind": "Content", - "text": "(_shape: Shape, _otherShape?: K | undefined) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canCrop:member", - "docComment": "/**\n * Whether the shape can be cropped.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canCrop: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canCrop", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#canDropShapes:member(1)", - "docComment": "/**\n * Get whether the shape can receive children of a given type.\n *\n * @param shape - The shape type.\n *\n * @param shapes - The shapes that are being dropped.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canDropShapes(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "canDropShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canEdit:member", - "docComment": "/**\n * Whether the shape can be double clicked to edit.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canEditInReadOnly:member", - "docComment": "/**\n * Whether the shape can be edited in read-only mode.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEditInReadOnly: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEditInReadOnly", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#canReceiveNewChildrenOfType:member(1)", - "docComment": "/**\n * Get whether the shape can receive children of a given type.\n *\n * @param type - The shape type.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canReceiveNewChildrenOfType(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "canReceiveNewChildrenOfType" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canResize:member", - "docComment": "/**\n * Whether the shape can be resized.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canResize: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canScroll:member", - "docComment": "/**\n * Whether the shape can be scrolled while editing.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canScroll: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canScroll", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canSnap:member", - "docComment": "/**\n * Whether the shape can be snapped to by another shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canSnap: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canSnap", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canUnmount:member", - "docComment": "/**\n * Whether the shape should unmount when not visible in the editor. Consider keeping this to false if the shape's `component` has local state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canUnmount: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canUnmount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#component:member(1)", - "docComment": "/**\n * Get a JSX element for the shape (as an HTML element).\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract component(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "component" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#editor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "editor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getBoundsSnapGeometry:member(1)", - "docComment": "/**\n * Get the geometry to use when snapping to this this shape in translate/resize operations. See {@link BoundsSnapGeometry} for details.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBoundsSnapGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "BoundsSnapGeometry", - "canonicalReference": "@tldraw/editor!BoundsSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getBoundsSnapGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getCanvasSvgDefs:member(1)", - "docComment": "/**\n * Return elements to be added to the \\ section of the canvases SVG context. This can be used to define SVG content (e.g. patterns & masks) that can be referred to by ID from svg elements returned by `component`.\n *\n * Each def should have a unique `key`. If multiple defs from different shapes all have the same key, only one will be used.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanvasSvgDefs(): " - }, - { - "kind": "Reference", - "text": "TLShapeUtilCanvasSvgDef", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanvasSvgDefs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getDefaultProps:member(1)", - "docComment": "/**\n * Get the default props for a shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract getDefaultProps(): " - }, - { - "kind": "Content", - "text": "Shape['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": true, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getGeometry:member(1)", - "docComment": "/**\n * Get the shape's geometry.\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract getGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getHandles:member(1)", - "docComment": "/**\n * Get an array of handle models for the shape. This is an optional method.\n *\n * @param shape - The shape.\n *\n * @example\n * ```ts\n * util.getHandles?.(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandles?(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": true, - "isAbstract": false, - "name": "getHandles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getHandleSnapGeometry:member(1)", - "docComment": "/**\n * Get the geometry to use when snapping handles to this shape. See {@link HandleSnapGeometry} for details.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandleSnapGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HandleSnapGeometry", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandleSnapGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideResizeHandles:member", - "docComment": "/**\n * Whether the shape should hide its resize handles when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideRotateHandle:member", - "docComment": "/**\n * Whether the shape should hide its rotation handles when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideRotateHandle: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideRotateHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideSelectionBoundsBg:member", - "docComment": "/**\n * Whether the shape should hide its selection bounds background when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsBg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsBg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideSelectionBoundsFg:member", - "docComment": "/**\n * Whether the shape should hide its selection bounds foreground when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#indicator:member(1)", - "docComment": "/**\n * Get JSX describing the shape's indicator (as an SVG element).\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract indicator(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#isAspectRatioLocked:member", - "docComment": "/**\n * Whether the shape's aspect ratio is locked.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAspectRatioLocked: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isAspectRatioLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onBeforeCreate:member", - "docComment": "/**\n * A callback called just before a shape is created. This method provides a last chance to modify the created shape.\n *\n * @param next - The next shape.\n *\n * @returns The next shape or void.\n *\n * @example\n * ```ts\n * onBeforeCreate = (next) => {\n * \treturn { ...next, x: next.x + 1 }\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate?: " - }, - { - "kind": "Reference", - "text": "TLOnBeforeCreateHandler", - "canonicalReference": "@tldraw/editor!TLOnBeforeCreateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onBeforeUpdate:member", - "docComment": "/**\n * A callback called just before a shape is updated. This method provides a last chance to modify the updated shape.\n *\n * @param prev - The previous shape.\n *\n * @param next - The next shape.\n *\n * @returns The next shape or void.\n *\n * @example\n * ```ts\n * onBeforeUpdate = (prev, next) => {\n * \tif (prev.x === next.x) {\n * \t\treturn { ...next, x: next.x + 1 }\n * \t}\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeUpdate?: " - }, - { - "kind": "Reference", - "text": "TLOnBeforeUpdateHandler", - "canonicalReference": "@tldraw/editor!TLOnBeforeUpdateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeUpdate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onChildrenChange:member", - "docComment": "/**\n * A callback called when a shape's children change.\n *\n * @param shape - The shape.\n *\n * @returns An array of shape updates, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onChildrenChange?: " - }, - { - "kind": "Reference", - "text": "TLOnChildrenChangeHandler", - "canonicalReference": "@tldraw/editor!TLOnChildrenChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onChildrenChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onClick:member", - "docComment": "/**\n * A callback called when a shape is clicked.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onClick?: " - }, - { - "kind": "Reference", - "text": "TLOnClickHandler", - "canonicalReference": "@tldraw/editor!TLOnClickHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDoubleClick:member", - "docComment": "/**\n * A callback called when a shape is double clicked.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick?: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDoubleClickEdge:member", - "docComment": "/**\n * A callback called when a shape's edge is double clicked.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickEdge?: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClickEdge", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDoubleClickHandle:member", - "docComment": "/**\n * A callback called when a shape's handle is double clicked.\n *\n * @param shape - The shape.\n *\n * @param handle - The handle that is double-clicked.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickHandle?: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandleHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandleHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClickHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDragShapesOut:member", - "docComment": "/**\n * A callback called when some other shapes are dragged out of this one.\n *\n * @param shape - The shape.\n *\n * @param shapes - The shapes that are being dragged out.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDragShapesOut?: " - }, - { - "kind": "Reference", - "text": "TLOnDragHandler", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDragShapesOut", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDragShapesOver:member", - "docComment": "/**\n * A callback called when some other shapes are dragged over this one.\n *\n * @param shape - The shape.\n *\n * @param shapes - The shapes that are being dragged over this one.\n *\n * @returns An object specifying whether the shape should hint that it can receive the dragged shapes.\n *\n * @example\n * ```ts\n * onDragShapesOver = (shape, shapes) => {\n * \treturn { shouldHint: true }\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDragShapesOver?: " - }, - { - "kind": "Reference", - "text": "TLOnDragHandler", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDragShapesOver", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDropShapesOver:member", - "docComment": "/**\n * A callback called when some other shapes are dropped over this one.\n *\n * @param shape - The shape.\n *\n * @param shapes - The shapes that are being dropped over this one.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDropShapesOver?: " - }, - { - "kind": "Reference", - "text": "TLOnDragHandler", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDropShapesOver", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onEditEnd:member", - "docComment": "/**\n * A callback called when a shape finishes being editing.\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEditEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnEditEndHandler", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onEditEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onHandleDrag:member", - "docComment": "/**\n * A callback called when a shape's handle changes.\n *\n * @param shape - The current shape.\n *\n * @param info - An object containing the handle and whether the handle is 'precise' or not.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onHandleDrag?: " - }, - { - "kind": "Reference", - "text": "TLOnHandleDragHandler", - "canonicalReference": "@tldraw/editor!TLOnHandleDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onHandleDrag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onResize:member", - "docComment": "/**\n * A callback called when a shape changes from a resize.\n *\n * @param shape - The shape at the start of the resize.\n *\n * @param info - Info about the resize.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize?: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onResizeEnd:member", - "docComment": "/**\n * A callback called when a shape finishes resizing.\n *\n * @param initial - The shape at the start of the resize.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResizeEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnResizeEndHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onResizeEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onResizeStart:member", - "docComment": "/**\n * A callback called when a shape starts being resized.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResizeStart?: " - }, - { - "kind": "Reference", - "text": "TLOnResizeStartHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onResizeStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onRotate:member", - "docComment": "/**\n * A callback called when a shape changes from a rotation.\n *\n * @param initial - The shape at the start of the rotation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRotate?: " - }, - { - "kind": "Reference", - "text": "TLOnRotateHandler", - "canonicalReference": "@tldraw/editor!TLOnRotateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRotate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onRotateEnd:member", - "docComment": "/**\n * A callback called when a shape finishes rotating.\n *\n * @param initial - The shape at the start of the rotation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRotateEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnRotateEndHandler", - "canonicalReference": "@tldraw/editor!TLOnRotateEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRotateEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onRotateStart:member", - "docComment": "/**\n * A callback called when a shape starts being rotated.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRotateStart?: " - }, - { - "kind": "Reference", - "text": "TLOnRotateStartHandler", - "canonicalReference": "@tldraw/editor!TLOnRotateStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRotateStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onTranslate:member", - "docComment": "/**\n * A callback called when a shape changes from a translation.\n *\n * @param initial - The shape at the start of the translation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslate?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onTranslateEnd:member", - "docComment": "/**\n * A callback called when a shape finishes translating.\n *\n * @param initial - The shape at the start of the translation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslateEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateEndHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslateEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onTranslateStart:member", - "docComment": "/**\n * A callback called when a shape starts being translated.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslateStart?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateStartHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslateStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props?: " - }, - { - "kind": "Reference", - "text": "ShapeProps", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#toBackgroundSvg:member(1)", - "docComment": "/**\n * Get the shape's background layer as an SVG object.\n *\n * @param shape - The shape.\n *\n * @param ctx - ctx - The export context for the SVG - used for adding e.g. \\s\n *\n * @returns An SVG element.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "toBackgroundSvg?(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "> | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": true, - "isAbstract": false, - "name": "toBackgroundSvg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#toSvg:member(1)", - "docComment": "/**\n * Get the shape as an SVG object.\n *\n * @param shape - The shape.\n *\n * @param ctx - The export context for the SVG - used for adding e.g. \\s\n *\n * @returns An SVG element.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg?(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "> | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": true, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil.type:member", - "docComment": "/**\n * The type of the shape util, which should match the shape's type.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SharedStyle:type", - "docComment": "/**\n * The value of a particular {@link @tldraw/tlschema#StyleProp}.\n *\n * A `mixed` style means that in the current selection, there are lots of different values for the same style prop - e.g. a red and a blue shape are selected.\n *\n * A `shared` style means that all shapes in the selection share the same value for this style prop.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SharedStyle = " - }, - { - "kind": "Content", - "text": "{\n readonly type: 'mixed';\n} | {\n readonly type: 'shared';\n readonly value: T;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/SharedStylesMap.ts", - "releaseTag": "Public", - "name": "SharedStyle", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!shortAngleDist:function(1)", - "docComment": "/**\n * Get the short angle distance between two angles.\n *\n * @param a0 - The first angle.\n *\n * @param a1 - The second angle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function shortAngleDist(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "shortAngleDist" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!SIN:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "SIN: (x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "SIN" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!snapAngle:function(1)", - "docComment": "/**\n * Clamp rotation to even segments.\n *\n * @param r - The rotation in radians.\n *\n * @param segments - The number of segments.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function snapAngle(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", segments: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "segments", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "snapAngle" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SnapIndicator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SnapIndicator = " - }, - { - "kind": "Reference", - "text": "GapsSnapIndicator", - "canonicalReference": "@tldraw/editor!GapsSnapIndicator:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "PointsSnapIndicator", - "canonicalReference": "@tldraw/editor!PointsSnapIndicator:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "name": "SnapIndicator", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!SnapManager:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class SnapManager " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "SnapManager", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!SnapManager:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `SnapManager` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#clearIndicators:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clearIndicators(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clearIndicators" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!SnapManager#editor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "editor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getCurrentCommonAncestor:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentCommonAncestor(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentCommonAncestor" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getIndicators:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getIndicators(): " - }, - { - "kind": "Reference", - "text": "SnapIndicator", - "canonicalReference": "@tldraw/editor!SnapIndicator:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getIndicators" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getSnappableShapes:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSnappableShapes(): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSnappableShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getSnapThreshold:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSnapThreshold(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSnapThreshold" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!SnapManager#handles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly handles: " - }, - { - "kind": "Reference", - "text": "HandleSnaps", - "canonicalReference": "@tldraw/editor!~HandleSnaps:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "handles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#setIndicators:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setIndicators(indicators: " - }, - { - "kind": "Reference", - "text": "SnapIndicator", - "canonicalReference": "@tldraw/editor!SnapIndicator:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "indicators", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setIndicators" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!SnapManager#shapeBounds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly shapeBounds: " - }, - { - "kind": "Reference", - "text": "BoundsSnaps", - "canonicalReference": "@tldraw/editor!~BoundsSnaps:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeBounds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Stadium2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Stadium2d extends " - }, - { - "kind": "Reference", - "text": "Ellipse2d", - "canonicalReference": "@tldraw/editor!Ellipse2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Stadium2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Stadium2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Stadium2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Stadium2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Stadium2d#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Stadium2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!StateNode:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class StateNode implements " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/tools/StateNode.ts", - "releaseTag": "Public", - "isAbstract": true, - "name": "StateNode", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#_currentToolIdMask:member", - "docComment": "/**\n * This is a hack / escape hatch that will tell the editor to report a different state as active (in `getCurrentToolId()`) when this state is active. This is usually used when a tool transitions to a child of a different state for a certain interaction and then returns to the original tool when that interaction completes; and where we would want to show the original tool as active in the UI.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "_currentToolIdMask: " - }, - { - "kind": "Reference", - "text": "Atom", - "canonicalReference": "@tldraw/state!Atom:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_currentToolIdMask", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#_path:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_path: " - }, - { - "kind": "Reference", - "text": "Computed", - "canonicalReference": "@tldraw/state!Computed:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_path", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!StateNode:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `StateNode` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", parent?: " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children?: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#editor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "editor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#enter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "enter: " - }, - { - "kind": "Content", - "text": "(info: any, from: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "enter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#exit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "exit: " - }, - { - "kind": "Content", - "text": "(info: any, from: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "exit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getCurrent:member(1)", - "docComment": "/**\n * This node's current active child node, if any.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrent(): " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getCurrentToolIdMask:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentToolIdMask(): " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentToolIdMask" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getIsActive:member(1)", - "docComment": "/**\n * Whether this node is active.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getIsActive(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getIsActive" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getPath:member(1)", - "docComment": "/**\n * This node's path of active state nodes\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPath" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#handleEvent:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "handleEvent: " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventInfo", - "canonicalReference": "@tldraw/editor!TLEventInfo:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLPinchEventInfo", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type" - }, - { - "kind": "Content", - "text": ">) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "handleEvent", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "initial?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onCancel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCancel?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onCancel']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onCancel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onComplete:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onComplete?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onComplete']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onComplete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onDoubleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onEnter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEnter?: " - }, - { - "kind": "Reference", - "text": "TLEnterEventHandler", - "canonicalReference": "@tldraw/editor!TLEnterEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onEnter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onExit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onExit?: " - }, - { - "kind": "Reference", - "text": "TLExitEventHandler", - "canonicalReference": "@tldraw/editor!TLExitEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onExit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onInterrupt:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onInterrupt?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onInterrupt']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onInterrupt", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onKeyDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyDown?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onKeyDown']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onKeyDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onKeyRepeat:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyRepeat?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onKeyRepeat']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onKeyRepeat", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onKeyUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyUp?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onKeyUp']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onKeyUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onMiddleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onMiddleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onMiddleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onMiddleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onPointerDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerDown?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onPointerDown']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onPointerDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onPointerMove:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerMove?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onPointerMove']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onPointerMove", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onPointerUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerUp?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onPointerUp']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onPointerUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onQuadrupleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onQuadrupleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onQuadrupleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onQuadrupleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onRightClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRightClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onRightClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRightClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onTick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTick?: " - }, - { - "kind": "Reference", - "text": "TLTickEventHandler", - "canonicalReference": "@tldraw/editor!TLTickEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onTripleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTripleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onTripleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTripleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onWheel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onWheel?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onWheel']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onWheel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#parent:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "parent: " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "parent", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#setCurrentToolIdMask:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCurrentToolIdMask(id: " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCurrentToolIdMask" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#transition:member", - "docComment": "/**\n * Transition to a new active child state node.\n *\n * @param id - The id of the child state node to transition to.\n *\n * @param info - Any data to pass to the `onEnter` and `onExit` handlers.\n *\n * @example\n * ```ts\n * parentState.transition('childStateA')\n * parentState.transition('childStateB', { myData: 4 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "transition: " - }, - { - "kind": "Content", - "text": "(id: string, info?: any) => this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "transition", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Reference", - "text": "TLStateNodeType", - "canonicalReference": "@tldraw/editor!~TLStateNodeType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!stopEventPropagation:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stopEventPropagation: (e: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "any" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "e", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "stopEventPropagation" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!SVGContainer:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function SVGContainer({ children, className, ...rest }: " - }, - { - "kind": "Reference", - "text": "SVGContainerProps", - "canonicalReference": "@tldraw/editor!SVGContainerProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/SVGContainer.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, className, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "SVGContainer" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SVGContainerProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SVGContainerProps = " - }, - { - "kind": "Reference", - "text": "React.HTMLAttributes", - "canonicalReference": "@types/react!React.HTMLAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/SVGContainer.tsx", - "releaseTag": "Public", - "name": "SVGContainerProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface SvgExportContext " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/SvgExportContext.tsx", - "releaseTag": "Public", - "name": "SvgExportContext", - "preserveMemberOrder": false, - "members": [ - { - "kind": "MethodSignature", - "canonicalReference": "@tldraw/editor!SvgExportContext#addExportDef:member(1)", - "docComment": "/**\n * Add contents to the `` section of the export SVG. Each export def should have a unique key. If multiple defs come with the same key, only one will be added.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "addExportDef(def: " - }, - { - "kind": "Reference", - "text": "SvgExportDef", - "canonicalReference": "@tldraw/editor!SvgExportDef:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isOptional": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "def", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "addExportDef" - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!SvgExportContext#isDarkMode:member", - "docComment": "/**\n * Whether the export should be in dark mode.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly isDarkMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "isDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!SvgExportDef:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface SvgExportDef " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/SvgExportContext.tsx", - "releaseTag": "Public", - "name": "SvgExportDef", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!SvgExportDef#getElement:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getElement: " - }, - { - "kind": "Content", - "text": "() => null | " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getElement", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!SvgExportDef#key:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "key: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "key", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!TAB_ID:var", - "docComment": "/**\n * A string that is unique per browser tab\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TAB_ID: " - }, - { - "kind": "Content", - "text": "string" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TAB_ID", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAfterChangeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAfterChangeHandler = " - }, - { - "kind": "Content", - "text": "(prev: R, next: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLAfterChangeHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAfterCreateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAfterCreateHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLAfterCreateHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAfterDeleteHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAfterDeleteHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLAfterDeleteHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAnimationOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n duration: number;\n easing: (t: number) => number;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "name": "TLAnimationOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAnyShapeUtilConstructor = " - }, - { - "kind": "Reference", - "text": "TLShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/defaultShapes.ts", - "releaseTag": "Public", - "name": "TLAnyShapeUtilConstructor", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLArcInfo:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLArcInfo " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/arrow-types.ts", - "releaseTag": "Public", - "name": "TLArcInfo", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "center: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#largeArcFlag:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "largeArcFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "largeArcFlag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "length: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#radius:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "radius: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "radius", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#size:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "size: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "size", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#sweepFlag:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "sweepFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "sweepFlag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLArrowInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowInfo = " - }, - { - "kind": "Content", - "text": "{\n isStraight: false;\n start: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n middle: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n handleArc: " - }, - { - "kind": "Reference", - "text": "TLArcInfo", - "canonicalReference": "@tldraw/editor!TLArcInfo:interface" - }, - { - "kind": "Content", - "text": ";\n bodyArc: " - }, - { - "kind": "Reference", - "text": "TLArcInfo", - "canonicalReference": "@tldraw/editor!TLArcInfo:interface" - }, - { - "kind": "Content", - "text": ";\n isValid: boolean;\n} | {\n isStraight: true;\n start: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n middle: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n isValid: boolean;\n length: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/arrow-types.ts", - "releaseTag": "Public", - "name": "TLArrowInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 18 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowPoint = " - }, - { - "kind": "Content", - "text": "{\n handle: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n arrowhead: " - }, - { - "kind": "Reference", - "text": "TLArrowShapeArrowheadStyle", - "canonicalReference": "@tldraw/tlschema!TLArrowShapeArrowheadStyle:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/arrow-types.ts", - "releaseTag": "Public", - "name": "TLArrowPoint", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBaseBoxShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBaseBoxShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/BaseBoxShapeUtil.tsx", - "releaseTag": "Public", - "name": "TLBaseBoxShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLBaseEventInfo " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLBaseEventInfo", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#altKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "altKey: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "altKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#ctrlKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ctrlKey: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ctrlKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#shiftKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shiftKey: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shiftKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Reference", - "text": "UiEventType", - "canonicalReference": "@tldraw/editor!UiEventType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBatchCompleteHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBatchCompleteHandler = " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBatchCompleteHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBeforeChangeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBeforeChangeHandler = " - }, - { - "kind": "Content", - "text": "(prev: R, next: R, source: 'remote' | 'user') => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBeforeChangeHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBeforeCreateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBeforeCreateHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBeforeCreateHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBeforeDeleteHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBeforeDeleteHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => false | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBeforeDeleteHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBrushProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBrushProps = " - }, - { - "kind": "Content", - "text": "{\n brush: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";\n color?: string;\n opacity?: number;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultBrush.tsx", - "releaseTag": "Public", - "name": "TLBrushProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCancelEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCancelEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLCancelEventInfo", - "canonicalReference": "@tldraw/editor!TLCancelEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCancelEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCancelEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCancelEventInfo = " - }, - { - "kind": "Content", - "text": "{\n type: 'misc';\n name: 'cancel';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCancelEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLClickEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLClickEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLClickEventInfo", - "canonicalReference": "@tldraw/editor!TLClickEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLClickEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLClickEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLClickEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'click';\n name: " - }, - { - "kind": "Reference", - "text": "TLCLickEventName", - "canonicalReference": "@tldraw/editor!TLCLickEventName:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n pointerId: number;\n button: number;\n phase: 'down' | 'settle' | 'up';\n} & " - }, - { - "kind": "Reference", - "text": "TLPointerEventTarget", - "canonicalReference": "@tldraw/editor!TLPointerEventTarget:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLClickEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCLickEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCLickEventName = " - }, - { - "kind": "Content", - "text": "'double_click' | 'quadruple_click' | 'triple_click'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCLickEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCollaboratorHintProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCollaboratorHintProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n point: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n viewport: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n opacity?: number;\n color: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCollaboratorHint.tsx", - "releaseTag": "Public", - "name": "TLCollaboratorHintProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCommand:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCommand = " - }, - { - "kind": "Content", - "text": "{\n type: 'command';\n id: string;\n data: Data;\n name: Name;\n preservesRedoStack?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLCommand", - "typeParameters": [ - { - "typeParameterName": "Name", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "Data", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - } - } - ], - "typeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCommandHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCommandHandler = " - }, - { - "kind": "Content", - "text": "{\n do: (data: Data) => void;\n undo: (data: Data) => void;\n redo?: (data: Data) => void;\n squash?: (prevData: Data, nextData: Data) => Data;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLCommandHandler", - "typeParameters": [ - { - "typeParameterName": "Data", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCommandHistoryOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n squashing: boolean;\n ephemeral: boolean;\n preservesRedoStack: boolean;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLCommandHistoryOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCompleteEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCompleteEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLCompleteEventInfo", - "canonicalReference": "@tldraw/editor!TLCompleteEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCompleteEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCompleteEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCompleteEventInfo = " - }, - { - "kind": "Content", - "text": "{\n type: 'misc';\n name: 'complete';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCompleteEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLContent:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLContent " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/clipboard-types.ts", - "releaseTag": "Public", - "name": "TLContent", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#assets:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "assets: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "assets", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#rootShapeIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rootShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "rootShapeIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#schema:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "schema: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "schema", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#shapes:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapes", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCursorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCursorProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n point: null | " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n color?: string;\n name: null | string;\n chatMessage: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCursor.tsx", - "releaseTag": "Public", - "name": "TLCursorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!TldrawEditor:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawEditor: " - }, - { - "kind": "Reference", - "text": "React.NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawEditorProps", - "canonicalReference": "@tldraw/editor!TldrawEditorProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawEditor", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps:interface", - "docComment": "/**\n * Base props for the {@link @tldraw/tldraw#Tldraw} and {@link TldrawEditor} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TldrawEditorBaseProps " - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "releaseTag": "Public", - "name": "TldrawEditorBaseProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#autoFocus:member", - "docComment": "/**\n * Whether to automatically focus the editor when it mounts.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "autoFocus?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "autoFocus", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#children:member", - "docComment": "/**\n * The component's children.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#className:member", - "docComment": "/**\n * A classname to pass to the editor's container.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "className?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "className", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#components:member", - "docComment": "/**\n * Overrides for the editor's components, such as handles, collaborator cursors, etc.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "components?: " - }, - { - "kind": "Reference", - "text": "TLEditorComponents", - "canonicalReference": "@tldraw/editor!TLEditorComponents:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "components", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#inferDarkMode:member", - "docComment": "/**\n * Whether to infer dark mode from the user's OS. Defaults to false.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "inferDarkMode?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "inferDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#initialState:member", - "docComment": "/**\n * The editor's initial state (usually the id of the first active tool).\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "initialState?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initialState", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#onMount:member", - "docComment": "/**\n * Called when the editor has mounted.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onMount?: " - }, - { - "kind": "Reference", - "text": "TLOnMountHandler", - "canonicalReference": "@tldraw/editor!TLOnMountHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onMount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#shapeUtils:member", - "docComment": "/**\n * An array of shape utils to use in the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeUtils?: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "shapeUtils", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#tools:member", - "docComment": "/**\n * An array of tools to add to the editor's state chart.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "tools?: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "tools", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#user:member", - "docComment": "/**\n * The user interacting with the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "user?: " - }, - { - "kind": "Reference", - "text": "TLUser", - "canonicalReference": "@tldraw/editor!~TLUser:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "user", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TldrawEditorProps:type", - "docComment": "/**\n * Props for the {@link @tldraw/tldraw#Tldraw} and {@link TldrawEditor} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TldrawEditorProps = " - }, - { - "kind": "Reference", - "text": "Expand", - "canonicalReference": "@tldraw/utils!Expand:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawEditorBaseProps", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps:interface" - }, - { - "kind": "Content", - "text": " & ({\n store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLStoreWithStatus", - "canonicalReference": "@tldraw/editor!TLStoreWithStatus:type" - }, - { - "kind": "Content", - "text": ";\n} | {\n store?: undefined;\n snapshot?: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n initialData?: " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n persistenceKey?: string;\n sessionId?: string;\n defaultName?: string;\n})>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "releaseTag": "Public", - "name": "TldrawEditorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 17 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEditorComponents:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEditorComponents = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n [K in keyof " - }, - { - "kind": "Reference", - "text": "BaseEditorComponents", - "canonicalReference": "@tldraw/editor!~BaseEditorComponents:interface" - }, - { - "kind": "Content", - "text": "]: " - }, - { - "kind": "Reference", - "text": "BaseEditorComponents", - "canonicalReference": "@tldraw/editor!~BaseEditorComponents:interface" - }, - { - "kind": "Content", - "text": "[K] | null;\n} & " - }, - { - "kind": "Reference", - "text": "ErrorComponents", - "canonicalReference": "@tldraw/editor!~ErrorComponents:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useEditorComponents.tsx", - "releaseTag": "Public", - "name": "TLEditorComponents", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLEditorOptions:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLEditorOptions " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "name": "TLEditorOptions", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#getContainer:member", - "docComment": "/**\n * Should return a containing html element which has all the styles applied to the editor. If not given, the body element will be used.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getContainer: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getContainer", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#inferDarkMode:member", - "docComment": "/**\n * Whether to infer dark mode from the user's system preferences. Defaults to false.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "inferDarkMode?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "inferDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#initialState:member", - "docComment": "/**\n * The editor's initial active tool (or other state node id).\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "initialState?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initialState", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#shapeUtils:member", - "docComment": "/**\n * An array of shapes to use in the editor. These will be used to create and manage shapes in the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeUtils: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeUtils", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#store:member", - "docComment": "/**\n * The Store instance to use for keeping the app's data. This may be prepopulated, e.g. by loading from a server or database.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "store", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#tools:member", - "docComment": "/**\n * An array of tools to use in the editor. These will be used to handle events and manage user interactions in the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "tools: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "tools", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#user:member", - "docComment": "/**\n * A user defined externally to replace the default user.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "user?: " - }, - { - "kind": "Reference", - "text": "TLUser", - "canonicalReference": "@tldraw/editor!~TLUser:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "user", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEnterEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEnterEventHandler = " - }, - { - "kind": "Content", - "text": "(info: any, from: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEnterEventHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLErrorBoundaryProps " - } - ], - "fileUrlPath": "packages/editor/src/lib/components/ErrorBoundary.tsx", - "releaseTag": "Public", - "name": "TLErrorBoundaryProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps#fallback:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "fallback: " - }, - { - "kind": "Reference", - "text": "TLErrorFallbackComponent", - "canonicalReference": "@tldraw/editor!~TLErrorFallbackComponent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "fallback", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps#onError:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onError?: " - }, - { - "kind": "Content", - "text": "((error: unknown) => void) | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onError", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLEventHandlers " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEventHandlers", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onCancel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCancel: " - }, - { - "kind": "Reference", - "text": "TLCancelEvent", - "canonicalReference": "@tldraw/editor!TLCancelEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onCancel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onComplete:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onComplete: " - }, - { - "kind": "Reference", - "text": "TLCompleteEvent", - "canonicalReference": "@tldraw/editor!TLCompleteEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onComplete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onInterrupt:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onInterrupt: " - }, - { - "kind": "Reference", - "text": "TLInterruptEvent", - "canonicalReference": "@tldraw/editor!TLInterruptEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onInterrupt", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onKeyDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyDown: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onKeyRepeat:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyRepeat: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyRepeat", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onKeyUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyUp: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onMiddleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onMiddleClick: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onMiddleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onPointerDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerDown: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onPointerDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onPointerMove:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerMove: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onPointerMove", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onPointerUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerUp: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onPointerUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onQuadrupleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onQuadrupleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onQuadrupleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onRightClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRightClick: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onRightClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onTripleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTripleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onTripleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onWheel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onWheel: " - }, - { - "kind": "Reference", - "text": "TLWheelEvent", - "canonicalReference": "@tldraw/editor!TLWheelEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onWheel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEventInfo = " - }, - { - "kind": "Reference", - "text": "TLCancelEventInfo", - "canonicalReference": "@tldraw/editor!TLCancelEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLClickEventInfo", - "canonicalReference": "@tldraw/editor!TLClickEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLCompleteEventInfo", - "canonicalReference": "@tldraw/editor!TLCompleteEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLInterruptEventInfo", - "canonicalReference": "@tldraw/editor!TLInterruptEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventInfo", - "canonicalReference": "@tldraw/editor!TLKeyboardEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPinchEventInfo", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointerEventInfo", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLWheelEventInfo", - "canonicalReference": "@tldraw/editor!TLWheelEventInfo:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 16 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLEventMap:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLEventMap " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/emit-types.ts", - "releaseTag": "Public", - "name": "TLEventMap", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"change-history\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'change-history': " - }, - { - "kind": "Content", - "text": "[{\n reason: 'bail';\n markId?: string;\n } | {\n reason: 'push' | 'redo' | 'undo';\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"change-history\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"mark-history\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'mark-history': " - }, - { - "kind": "Content", - "text": "[{\n id: string;\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"mark-history\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"max-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'max-shapes': " - }, - { - "kind": "Content", - "text": "[{\n name: string;\n pageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";\n count: number;\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"max-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"stop-camera-animation\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stop-camera-animation': " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stop-camera-animation\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"stop-following\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stop-following': " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stop-following\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#change:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "change: " - }, - { - "kind": "Content", - "text": "[" - }, - { - "kind": "Reference", - "text": "HistoryEntry", - "canonicalReference": "@tldraw/store!HistoryEntry:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "change", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#crash:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "crash: " - }, - { - "kind": "Content", - "text": "[{\n error: unknown;\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "crash", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#event:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "event: " - }, - { - "kind": "Content", - "text": "[" - }, - { - "kind": "Reference", - "text": "TLEventInfo", - "canonicalReference": "@tldraw/editor!TLEventInfo:type" - }, - { - "kind": "Content", - "text": "]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "event", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#frame:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "frame: " - }, - { - "kind": "Content", - "text": "[number]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "frame", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#mount:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "mount: " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "mount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#tick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "tick: " - }, - { - "kind": "Content", - "text": "[number]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "tick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#update:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "update: " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "update", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEventMapHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEventMapHandler = " - }, - { - "kind": "Content", - "text": "(...args: " - }, - { - "kind": "Reference", - "text": "TLEventMap", - "canonicalReference": "@tldraw/editor!TLEventMap:interface" - }, - { - "kind": "Content", - "text": "[T]) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/emit-types.ts", - "releaseTag": "Public", - "name": "TLEventMapHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 4, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEventName = " - }, - { - "kind": "Content", - "text": "'cancel' | 'complete' | 'interrupt' | 'wheel' | " - }, - { - "kind": "Reference", - "text": "TLCLickEventName", - "canonicalReference": "@tldraw/editor!TLCLickEventName:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventName", - "canonicalReference": "@tldraw/editor!TLKeyboardEventName:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPinchEventName", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointerEventName", - "canonicalReference": "@tldraw/editor!TLPointerEventName:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExitEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExitEventHandler = " - }, - { - "kind": "Content", - "text": "(info: any, to: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLExitEventHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExternalAssetContent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExternalAssetContent = " - }, - { - "kind": "Content", - "text": "{\n type: 'file';\n file: " - }, - { - "kind": "Reference", - "text": "File", - "canonicalReference": "!File:interface" - }, - { - "kind": "Content", - "text": ";\n} | {\n type: 'url';\n url: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/external-content.ts", - "releaseTag": "Public", - "name": "TLExternalAssetContent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExternalContent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExternalContent = " - }, - { - "kind": "Content", - "text": "{\n sources?: " - }, - { - "kind": "Reference", - "text": "TLExternalContentSource", - "canonicalReference": "@tldraw/editor!TLExternalContentSource:type" - }, - { - "kind": "Content", - "text": "[];\n point?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n} & ({\n type: 'embed';\n url: string;\n embed: " - }, - { - "kind": "Reference", - "text": "EmbedDefinition", - "canonicalReference": "@tldraw/tlschema!EmbedDefinition:type" - }, - { - "kind": "Content", - "text": ";\n} | {\n type: 'files';\n files: " - }, - { - "kind": "Reference", - "text": "File", - "canonicalReference": "!File:interface" - }, - { - "kind": "Content", - "text": "[];\n ignoreParent: boolean;\n} | {\n type: 'svg-text';\n text: string;\n} | {\n type: 'text';\n text: string;\n} | {\n type: 'url';\n url: string;\n})" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/external-content.ts", - "releaseTag": "Public", - "name": "TLExternalContent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExternalContentSource:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExternalContentSource = " - }, - { - "kind": "Content", - "text": "{\n type: 'error';\n data: null | string;\n reason: string;\n} | {\n type: 'excalidraw';\n data: any;\n} | {\n type: 'text';\n data: string;\n subtype: 'html' | 'json' | 'text' | 'url';\n} | {\n type: 'tldraw';\n data: " - }, - { - "kind": "Reference", - "text": "TLContent", - "canonicalReference": "@tldraw/editor!TLContent:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/external-content.ts", - "releaseTag": "Public", - "name": "TLExternalContentSource", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLGridProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLGridProps = " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n size: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultGrid.tsx", - "releaseTag": "Public", - "name": "TLGridProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHandleProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHandleProps = " - }, - { - "kind": "Content", - "text": "{\n shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n isCoarse: boolean;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandle.tsx", - "releaseTag": "Public", - "name": "TLHandleProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHandlesProps = " - }, - { - "kind": "Content", - "text": "{\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandles.tsx", - "releaseTag": "Public", - "name": "TLHandlesProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHistoryEntry:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHistoryEntry = " - }, - { - "kind": "Reference", - "text": "TLCommand", - "canonicalReference": "@tldraw/editor!TLCommand:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLHistoryMark", - "canonicalReference": "@tldraw/editor!TLHistoryMark:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLHistoryEntry", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHistoryMark:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHistoryMark = " - }, - { - "kind": "Content", - "text": "{\n type: 'STOP';\n id: string;\n onUndo: boolean;\n onRedo: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLHistoryMark", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHoveredShapeIndicatorProps = " - }, - { - "kind": "Content", - "text": "{\n shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHoveredShapeIndicator.tsx", - "releaseTag": "Public", - "name": "TLHoveredShapeIndicatorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLInterruptEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLInterruptEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLInterruptEventInfo", - "canonicalReference": "@tldraw/editor!TLInterruptEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLInterruptEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLInterruptEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLInterruptEventInfo = " - }, - { - "kind": "Content", - "text": "{\n type: 'misc';\n name: 'interrupt';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLInterruptEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLKeyboardEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventInfo", - "canonicalReference": "@tldraw/editor!TLKeyboardEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLKeyboardEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLKeyboardEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLKeyboardEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'keyboard';\n name: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventName", - "canonicalReference": "@tldraw/editor!TLKeyboardEventName:type" - }, - { - "kind": "Content", - "text": ";\n key: string;\n code: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLKeyboardEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLKeyboardEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLKeyboardEventName = " - }, - { - "kind": "Content", - "text": "'key_down' | 'key_repeat' | 'key_up'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLKeyboardEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnBeforeCreateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnBeforeCreateHandler = " - }, - { - "kind": "Content", - "text": "(next: T) => T | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnBeforeCreateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnBeforeUpdateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnBeforeUpdateHandler = " - }, - { - "kind": "Content", - "text": "(prev: T, next: T) => T | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnBeforeUpdateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnChildrenChangeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnChildrenChangeHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": "[] | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnChildrenChangeHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnClickHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnClickHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnClickHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandleHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnDoubleClickHandleHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnDoubleClickHandleHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnDoubleClickHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnDoubleClickHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnDragHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]) => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnDragHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnEditEndHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnEditEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnHandleDragHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnHandleDragHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, info: {\n handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ";\n isPrecise: boolean;\n initial?: T | undefined;\n}) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnHandleDragHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnMountHandler:type", - "docComment": "/**\n * Called when the editor has mounted.\n *\n * @param editor - The editor instance.\n *\n * @example\n * ```ts\n * editor.selectAll()} />\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnMountHandler = " - }, - { - "kind": "Content", - "text": "(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ") => (() => undefined | void) | undefined | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "releaseTag": "Public", - "name": "TLOnMountHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnResizeEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnResizeEndHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnResizeEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnResizeHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, info: " - }, - { - "kind": "Reference", - "text": "TLResizeInfo", - "canonicalReference": "@tldraw/editor!TLResizeInfo:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": ", 'id' | 'type'> | undefined | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnResizeHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnResizeStartHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnResizeStartHandler = " - }, - { - "kind": "Reference", - "text": "TLEventStartHandler", - "canonicalReference": "@tldraw/editor!~TLEventStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnResizeStartHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnRotateEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnRotateEndHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnRotateEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnRotateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnRotateHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnRotateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnRotateStartHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnRotateStartHandler = " - }, - { - "kind": "Reference", - "text": "TLEventStartHandler", - "canonicalReference": "@tldraw/editor!~TLEventStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnRotateStartHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnTranslateEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnTranslateEndHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnTranslateEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnTranslateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnTranslateHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnTranslateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnTranslateStartHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnTranslateStartHandler = " - }, - { - "kind": "Reference", - "text": "TLEventStartHandler", - "canonicalReference": "@tldraw/editor!~TLEventStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnTranslateStartHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPinchEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPinchEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLPinchEventInfo", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPinchEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPinchEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'pinch';\n name: " - }, - { - "kind": "Reference", - "text": "TLPinchEventName", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n delta: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPinchEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPinchEventName = " - }, - { - "kind": "Content", - "text": "'pinch_end' | 'pinch_start' | 'pinch'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPinchEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLPointerEventInfo", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'pointer';\n name: " - }, - { - "kind": "Reference", - "text": "TLPointerEventName", - "canonicalReference": "@tldraw/editor!TLPointerEventName:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n pointerId: number;\n button: number;\n isPen: boolean;\n} & " - }, - { - "kind": "Reference", - "text": "TLPointerEventTarget", - "canonicalReference": "@tldraw/editor!TLPointerEventTarget:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEventName = " - }, - { - "kind": "Content", - "text": "'middle_click' | 'pointer_down' | 'pointer_move' | 'pointer_up' | 'right_click'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEventTarget:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEventTarget = " - }, - { - "kind": "Content", - "text": "{\n target: 'canvas';\n shape?: undefined;\n} | {\n target: 'handle';\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ";\n} | {\n target: 'selection';\n handle?: " - }, - { - "kind": "Reference", - "text": "TLSelectionHandle", - "canonicalReference": "@tldraw/editor!TLSelectionHandle:type" - }, - { - "kind": "Content", - "text": ";\n shape?: undefined;\n} | {\n target: 'shape';\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEventTarget", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeHandle = " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/selection-types.ts", - "releaseTag": "Public", - "name": "TLResizeHandle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeInfo:type", - "docComment": "/**\n * Info about a resize.\n *\n * @param newPoint - The new local position of the shape.\n *\n * @param handle - The handle being dragged.\n *\n * @param mode - The type of resize.\n *\n * @param scaleX - The scale in the x-axis.\n *\n * @param scaleY - The scale in the y-axis.\n *\n * @param initialBounds - The bounds of the shape at the start of the resize.\n *\n * @param initialShape - The shape at the start of the resize.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeInfo = " - }, - { - "kind": "Content", - "text": "{\n newPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLResizeHandle", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type" - }, - { - "kind": "Content", - "text": ";\n mode: " - }, - { - "kind": "Reference", - "text": "TLResizeMode", - "canonicalReference": "@tldraw/editor!TLResizeMode:type" - }, - { - "kind": "Content", - "text": ";\n scaleX: number;\n scaleY: number;\n initialBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n initialShape: T;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLResizeInfo", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 12 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeMode:type", - "docComment": "/**\n * The type of resize.\n *\n * 'scale_shape' - The shape is being scaled, usually as part of a larger selection.\n *\n * 'resize_bounds' - The user is directly manipulating an individual shape's bounds using a resize handle. It is up to shape util implementers to decide how they want to handle the two situations.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeMode = " - }, - { - "kind": "Content", - "text": "'resize_bounds' | 'scale_shape'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLResizeMode", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeShapeOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeShapeOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n initialBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n scaleOrigin: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n scaleAxisRotation: number;\n initialShape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n initialPageTransform: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ";\n dragHandle: " - }, - { - "kind": "Reference", - "text": "TLResizeHandle", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type" - }, - { - "kind": "Content", - "text": ";\n mode: " - }, - { - "kind": "Reference", - "text": "TLResizeMode", - "canonicalReference": "@tldraw/editor!TLResizeMode:type" - }, - { - "kind": "Content", - "text": ";\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "name": "TLResizeShapeOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 15 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLRotationSnapshot:type", - "docComment": "/**\n * Info about a rotation that can be applied to the editor's selected shapes.\n *\n * @param selectionPageCenter - The center of the selection in page coordinates\n *\n * @param initialCursorAngle - The angle of the cursor relative to the selection center when the rotation started\n *\n * @param initialSelectionRotation - The rotation of the selection when the rotation started\n *\n * @param shapeSnapshots - Info about each shape that is being rotated\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLRotationSnapshot = " - }, - { - "kind": "Content", - "text": "{\n selectionPageCenter: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n initialCursorAngle: number;\n initialSelectionRotation: number;\n shapeSnapshots: {\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n initialPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }[];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/rotation.ts", - "releaseTag": "Public", - "name": "TLRotationSnapshot", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLScribbleProps = " - }, - { - "kind": "Content", - "text": "{\n scribble: " - }, - { - "kind": "Reference", - "text": "TLScribble", - "canonicalReference": "@tldraw/tlschema!TLScribble:type" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n color?: string;\n opacity?: number;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultScribble.tsx", - "releaseTag": "Public", - "name": "TLScribbleProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSelectionBackgroundProps = " - }, - { - "kind": "Content", - "text": "{\n bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n rotation: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionBackground.tsx", - "releaseTag": "Public", - "name": "TLSelectionBackgroundProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSelectionForegroundProps = " - }, - { - "kind": "Content", - "text": "{\n bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n rotation: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionForeground.tsx", - "releaseTag": "Public", - "name": "TLSelectionForegroundProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSelectionHandle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSelectionHandle = " - }, - { - "kind": "Reference", - "text": "RotateCorner", - "canonicalReference": "@tldraw/editor!RotateCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/selection-types.ts", - "releaseTag": "Public", - "name": "TLSelectionHandle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot:interface", - "docComment": "/**\n * The state of the editor instance, not including any document state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLSessionStateSnapshot " - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "releaseTag": "Public", - "name": "TLSessionStateSnapshot", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#currentPageId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "currentPageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "currentPageId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#exportBackground:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "exportBackground: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "exportBackground", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isDebugMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isDebugMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isDebugMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isFocusMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isFocusMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isFocusMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isGridMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isGridMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isGridMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isToolLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isToolLocked: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isToolLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#pageStates:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "pageStates: " - }, - { - "kind": "Reference", - "text": "Array", - "canonicalReference": "!Array:interface" - }, - { - "kind": "Content", - "text": "<{\n pageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";\n camera: {\n x: number;\n y: number;\n z: number;\n };\n selectedShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[];\n focusedGroupId: null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n }>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "pageStates", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#version:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "version: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "version", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeIndicatorProps = " - }, - { - "kind": "Content", - "text": "{\n shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n color?: string | undefined;\n opacity?: number;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultShapeIndicator.tsx", - "releaseTag": "Public", - "name": "TLShapeIndicatorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLShapeUtilCanvasSvgDef " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLShapeUtilCanvasSvgDef", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef#component:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component: " - }, - { - "kind": "Reference", - "text": "React.ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "component", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef#key:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "key: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "key", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLShapeUtilConstructor" - }, - { - "kind": "Content", - "text": " = " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "> " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "U", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "defaultTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - } - } - ], - "name": "TLShapeUtilConstructor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "ConstructSignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:new(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "new (editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "U" - }, - { - "kind": "Content", - "text": ";" - } - ], - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor#migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "migrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor#props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "props?: " - }, - { - "kind": "Reference", - "text": "ShapeProps", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Content", - "text": "T['type']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeUtilFlag = " - }, - { - "kind": "Content", - "text": "(shape: T) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLShapeUtilFlag", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSnapIndicatorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSnapIndicatorProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n line: " - }, - { - "kind": "Reference", - "text": "SnapIndicator", - "canonicalReference": "@tldraw/editor!SnapIndicator:type" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSnapIndictor.tsx", - "releaseTag": "Public", - "name": "TLSnapIndicatorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLStateNodeConstructor " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/tools/StateNode.ts", - "releaseTag": "Public", - "name": "TLStateNodeConstructor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "ConstructSignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:new(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "new (editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", parent?: " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ] - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor#initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "initial?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLStoreEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreEventInfo = " - }, - { - "kind": "Reference", - "text": "HistoryEntry", - "canonicalReference": "@tldraw/store!HistoryEntry:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLStore.ts", - "releaseTag": "Public", - "name": "TLStoreEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLStoreOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreOptions = " - }, - { - "kind": "Content", - "text": "{\n initialData?: " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n defaultName?: string;\n} & ({\n schema?: " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLStoreProps", - "canonicalReference": "@tldraw/tlschema!TLStoreProps:type" - }, - { - "kind": "Content", - "text": ">;\n} | {\n shapeUtils?: readonly " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[];\n})" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLStore.ts", - "releaseTag": "Public", - "name": "TLStoreOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 14 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLStoreWithStatus:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreWithStatus = " - }, - { - "kind": "Content", - "text": "{\n readonly status: 'error';\n readonly store?: undefined;\n readonly error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": ";\n} | {\n readonly status: 'loading';\n readonly store?: undefined;\n readonly error?: undefined;\n} | {\n readonly status: 'not-synced';\n readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";\n readonly error?: undefined;\n} | {\n readonly status: 'synced-local';\n readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";\n readonly error?: undefined;\n} | {\n readonly status: 'synced-remote';\n readonly connectionStatus: 'offline' | 'online';\n readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";\n readonly error?: undefined;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/sync/StoreWithStatus.ts", - "releaseTag": "Public", - "name": "TLStoreWithStatus", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSvgOptions = " - }, - { - "kind": "Content", - "text": "{\n bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n scale: number;\n background: boolean;\n padding: number;\n darkMode?: boolean;\n preserveAspectRatio: " - }, - { - "kind": "Reference", - "text": "React.SVGAttributes", - "canonicalReference": "@types/react!React.SVGAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGSVGElement", - "canonicalReference": "!SVGSVGElement:interface" - }, - { - "kind": "Content", - "text": ">['preserveAspectRatio'];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/misc-types.ts", - "releaseTag": "Public", - "name": "TLSvgOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLTickEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLTickEvent = " - }, - { - "kind": "Content", - "text": "(elapsed: number) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLTickEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLTickEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLTickEventHandler = " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLTickEventHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface", - "docComment": "/**\n * A user of tldraw\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUserPreferences " - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "releaseTag": "Public", - "name": "TLUserPreferences", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#animationSpeed:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "animationSpeed?: " - }, - { - "kind": "Content", - "text": "null | number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "animationSpeed", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#color:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "color?: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "color", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#edgeScrollSpeed:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "edgeScrollSpeed?: " - }, - { - "kind": "Content", - "text": "null | number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "edgeScrollSpeed", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#isDarkMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isDarkMode?: " - }, - { - "kind": "Content", - "text": "boolean | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "isDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#isSnapMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isSnapMode?: " - }, - { - "kind": "Content", - "text": "boolean | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "isSnapMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#locale:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "locale?: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "locale", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#name:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "name?: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "name", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLWheelEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLWheelEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLWheelEventInfo", - "canonicalReference": "@tldraw/editor!TLWheelEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLWheelEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLWheelEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLWheelEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'wheel';\n name: 'wheel';\n delta: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLWheelEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!toDomPrecision:function(1)", - "docComment": "/**\n * The DOM likes values to be fixed to 3 decimal places\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toDomPrecision(v: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "v", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "toDomPrecision" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!toFixed:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toFixed(v: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "v", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "toFixed" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!toPrecision:function(1)", - "docComment": "/**\n * Get a number to a precision.\n *\n * @param n - The number.\n *\n * @param precision - The precision.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toPrecision(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", precision?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "precision", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "name": "toPrecision" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!UiEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type UiEvent = " - }, - { - "kind": "Reference", - "text": "TLCancelEvent", - "canonicalReference": "@tldraw/editor!TLCancelEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLCompleteEvent", - "canonicalReference": "@tldraw/editor!TLCompleteEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPinchEvent", - "canonicalReference": "@tldraw/editor!TLPinchEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "UiEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!UiEventType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type UiEventType = " - }, - { - "kind": "Content", - "text": "'click' | 'keyboard' | 'pinch' | 'pointer' | 'wheel' | 'zoom'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "UiEventType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!uniq:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function uniq(array: " - }, - { - "kind": "Content", - "text": "{\n readonly length: number;\n readonly [n: number]: T;\n} | null | undefined" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/uniq.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "array", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "uniq" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!uniqueId:function(1)", - "docComment": "/**\n * Generate a unique id.\n *\n * @example\n * ```ts\n * const id = uniqueId()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function uniqueId(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/uniqueId.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "uniqueId" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useContainer:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useContainer(): " - }, - { - "kind": "Reference", - "text": "HTMLDivElement", - "canonicalReference": "!HTMLDivElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useContainer.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useContainer" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useEditor:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useEditor(): " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useEditor.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useEditor" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useEditorComponents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useEditorComponents(): " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n Background: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n SvgDefs: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n Brush: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n ZoomBrush: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n ShapeIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Cursor: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursorProps", - "canonicalReference": "@tldraw/editor!TLCursorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Canvas: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCanvasComponentProps", - "canonicalReference": "@tldraw/editor!~TLCanvasComponentProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorBrush: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorCursor: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursorProps", - "canonicalReference": "@tldraw/editor!TLCursorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorHint: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCollaboratorHintProps", - "canonicalReference": "@tldraw/editor!TLCollaboratorHintProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorShapeIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Grid: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGridProps", - "canonicalReference": "@tldraw/editor!TLGridProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Scribble: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorScribble: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n SnapIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSnapIndicatorProps", - "canonicalReference": "@tldraw/editor!TLSnapIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Handles: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHandlesProps", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Handle: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHandleProps", - "canonicalReference": "@tldraw/editor!TLHandleProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Spinner: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n SelectionForeground: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSelectionForegroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n SelectionBackground: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSelectionBackgroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n HoveredShapeIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHoveredShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n OnTheCanvas: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n InFrontOfTheCanvas: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n LoadingScreen: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n} & " - }, - { - "kind": "Reference", - "text": "ErrorComponents", - "canonicalReference": "@tldraw/editor!~ErrorComponents:type" - }, - { - "kind": "Content", - "text": "> & " - }, - { - "kind": "Reference", - "text": "ErrorComponents", - "canonicalReference": "@tldraw/editor!~ErrorComponents:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useEditorComponents.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 90 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useEditorComponents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useIsCropping:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useIsCropping(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useIsCropping.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "useIsCropping" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useIsDarkMode:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useIsDarkMode(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useIsDarkMode.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useIsDarkMode" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useIsEditing:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useIsEditing(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useIsEditing.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "useIsEditing" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useSelectionEvents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useSelectionEvents(handle: " - }, - { - "kind": "Reference", - "text": "TLSelectionHandle", - "canonicalReference": "@tldraw/editor!TLSelectionHandle:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n onPointerDown: import(\"react\")." - }, - { - "kind": "Reference", - "text": "PointerEventHandler", - "canonicalReference": "@types/react!React.PointerEventHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">;\n onPointerMove: (e: " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": ") => void;\n onPointerUp: import(\"react\")." - }, - { - "kind": "Reference", - "text": "PointerEventHandler", - "canonicalReference": "@types/react!React.PointerEventHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useSelectionEvents.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 14 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "useSelectionEvents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useTLStore:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTLStore(opts: " - }, - { - "kind": "Reference", - "text": "TLStoreOptions", - "canonicalReference": "@tldraw/editor!TLStoreOptions:type" - }, - { - "kind": "Content", - "text": " & {\n snapshot?: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useTLStore.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "useTLStore" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useTransform:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTransform(ref: " - }, - { - "kind": "Reference", - "text": "React.RefObject", - "canonicalReference": "@types/react!React.RefObject:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ", x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", scale?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", rotate?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", additionalOffset?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useTransform.ts", - "returnTypeTokenRange": { - "startIndex": 18, - "endIndex": 19 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ref", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "isOptional": true - }, - { - "parameterName": "scale", - "parameterTypeTokenRange": { - "startIndex": 12, - "endIndex": 13 - }, - "isOptional": true - }, - { - "parameterName": "rotate", - "parameterTypeTokenRange": { - "startIndex": 14, - "endIndex": 15 - }, - "isOptional": true - }, - { - "parameterName": "additionalOffset", - "parameterTypeTokenRange": { - "startIndex": 16, - "endIndex": 17 - }, - "isOptional": true - } - ], - "name": "useTransform" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Vec:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Vec " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Vec.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Vec", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Vec:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Vec` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", z?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "z", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#abs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abs(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "abs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Abs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Abs(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Abs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#add:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "add(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "add" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Add:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Add(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Add" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#addScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "addScalar(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "addScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.AddScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static AddScalar(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "AddScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#addXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "addXY(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "addXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.AddXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static AddXY(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "AddXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#angle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "angle(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "angle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Angle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Angle(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Angle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Average:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Average(arr: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "arr", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Average" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Cast:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cast(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cast" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#clamp:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clamp(min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", max?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "max", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "clamp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Clamp:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Clamp(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", max?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "max", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Clamp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Clockwise:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Clockwise(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Clockwise" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#clone:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#cpr:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cpr(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "cpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Cpr:member(1)", - "docComment": "/**\n * Cross product of two vectors which is used to calculate the area of a parallelogram.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cpr(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#cross:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cross(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "cross" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Cross:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cross(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cross" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#dist:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "dist(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "dist" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Dist:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Dist(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Dist" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Dist2:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Dist2(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Dist2" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#distanceToLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToLineSegment(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.DistanceToLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static DistanceToLineSegment(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", clamp?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "clamp", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "DistanceToLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.DistanceToLineThroughPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static DistanceToLineThroughPoint(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", u: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "u", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "DistanceToLineThroughPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#div:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "div(t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "div" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Div:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Div(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Div" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#divV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "divV(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "divV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.DivV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static DivV(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "DivV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#dpr:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "dpr(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "dpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Dpr:member(1)", - "docComment": "/**\n * Dot product of two vectors which is used to calculate the angle between them.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Dpr(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Dpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Equals(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#equalsXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equalsXY(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equalsXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.EqualsXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static EqualsXY(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "EqualsXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.From:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static From({ x, y, z }: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ x, y, z }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "From" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.FromAngle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromAngle(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "length", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromAngle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.FromArray:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromArray(v: " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "v", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromArray" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.IsNaN:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static IsNaN(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "IsNaN" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#len:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "len(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "len" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Len:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Len(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Len" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#len2:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "len2(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "len2" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Len2:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Len2(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Len2" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#lrp:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "lrp(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "lrp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Lrp:member(1)", - "docComment": "/**\n * Linearly interpolate between two points.\n *\n * @param A - The first point.\n *\n * @param B - The second point.\n *\n * @param t - The interpolation value between 0 and 1.\n *\n * @returns The interpolated point.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Lrp(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Lrp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Max:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Max(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Max" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Med:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Med(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Med" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Min:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Min(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Min" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#mul:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "mul(t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "mul" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Mul:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Mul(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Mul" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#mulV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "mulV(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "mulV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.MulV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static MulV(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "MulV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.NearestPointOnLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static NearestPointOnLineSegment(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", clamp?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "clamp", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "NearestPointOnLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.NearestPointOnLineThroughPoint:member(1)", - "docComment": "/**\n * Get the nearest point on a line with a known unit vector that passes through point A\n * ```ts\n * Vec.nearestPointOnLineThroughPoint(A, u, Point)\n * ```\n *\n * @param A - Any point on the line\n *\n * @param u - The unit vector for the line.\n *\n * @param P - A point not on the line to test.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static NearestPointOnLineThroughPoint(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", u: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "u", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "NearestPointOnLineThroughPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#neg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "neg(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "neg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Neg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Neg(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Neg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#norm:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "norm(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "norm" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#nudge:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nudge(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", distance: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "distance", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nudge" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Nudge:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Nudge(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", distance: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "distance", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Nudge" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#per:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "per(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "per" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Per:member(1)", - "docComment": "/**\n * Get the perpendicular vector to A.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Per(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Per" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.PointsBetween:member(1)", - "docComment": "/**\n * Get an array of points (with simulated pressure) between two points.\n *\n * @param A - The first point.\n *\n * @param B - The second point.\n *\n * @param steps - The number of points to return.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static PointsBetween(A: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ", steps?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "steps", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "PointsBetween" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#pressure:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get pressure(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "pressure", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#pry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "pry(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "pry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Pry:member(1)", - "docComment": "/**\n * Get the projection of A onto B.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Pry(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Pry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Rescale:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rescale(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rescale" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#rot:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rot(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rot" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Rot:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rot(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rot" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#rotWith:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotWith(C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rotWith" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.RotWith:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static RotWith(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "RotWith" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ScaleWithOrigin:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ScaleWithOrigin(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", scale: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", origin: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "scale", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "origin", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ScaleWithOrigin" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#set:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "set(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", z?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "z", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "set" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#setTo:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setTo({ x, y, z }: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ x, y, z }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setTo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#slope:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "slope(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "slope" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Slope:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Slope(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Slope" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Snap:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Snap(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", step?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "step", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Snap" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#snapToGrid:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "snapToGrid(gridSize: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "gridSize", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "snapToGrid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.SnapToGrid:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static SnapToGrid(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", gridSize?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "gridSize", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "SnapToGrid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#sub:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "sub(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "sub" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Sub:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Sub(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Sub" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#subScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "subScalar(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "subScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.SubScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static SubScalar(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "SubScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#subXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "subXY(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "subXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.SubXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static SubXY(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "SubXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#tan:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "tan(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "tan" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Tan:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Tan(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Tan" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toAngle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toAngle(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toAngle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToAngle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToAngle(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToAngle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toArray:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toArray(): " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toArray" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToArray:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToArray(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToArray" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toFixed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toFixed(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toFixed" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToFixed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToFixed(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToFixed" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toJson:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toJson(): " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toJson" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToJson:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToJson(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number | undefined;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToJson" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toString(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToString(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#uni:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "uni(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "uni" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Uni:member(1)", - "docComment": "/**\n * Get the unit vector of A.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Uni(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Uni" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#z:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "z: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "z", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!VecLike:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type VecLike = " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Vec.ts", - "releaseTag": "Public", - "name": "VecLike", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!WeakMapCache:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class WeakMapCache " - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/WeakMapCache.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "K", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "WeakMapCache", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#access:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "access(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "K | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "access" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#bust:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "bust(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "bust" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#get:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get

(item: " - }, - { - "kind": "Content", - "text": "P" - }, - { - "kind": "Content", - "text": ", cb: " - }, - { - "kind": "Content", - "text": "(item: P) => K" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "P", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "cb", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "get" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#has:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "has(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "has" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#invalidate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "invalidate(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "invalidate" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!WeakMapCache#items:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "items: " - }, - { - "kind": "Reference", - "text": "WeakMap", - "canonicalReference": "!WeakMap:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "items", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#set:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "set(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", value: " - }, - { - "kind": "Content", - "text": "K" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "set" - } - ], - "implementsTokenRanges": [] - } - ] - } - ] -} diff --git a/apps/docs/api/store.api.json b/apps/docs/api/store.api.json deleted file mode 100644 index d676a9c7e..000000000 --- a/apps/docs/api/store.api.json +++ /dev/null @@ -1,5714 +0,0 @@ -{ - "metadata": { - "toolPackage": "@microsoft/api-extractor", - "toolVersion": "7.41.0", - "schemaVersion": 1011, - "oldestForwardsCompatibleVersion": 1001, - "tsdocConfig": { - "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", - "noStandardTags": true, - "tagDefinitions": [ - { - "tagName": "@alpha", - "syntaxKind": "modifier" - }, - { - "tagName": "@beta", - "syntaxKind": "modifier" - }, - { - "tagName": "@defaultValue", - "syntaxKind": "block" - }, - { - "tagName": "@decorator", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@deprecated", - "syntaxKind": "block" - }, - { - "tagName": "@eventProperty", - "syntaxKind": "modifier" - }, - { - "tagName": "@example", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@experimental", - "syntaxKind": "modifier" - }, - { - "tagName": "@inheritDoc", - "syntaxKind": "inline" - }, - { - "tagName": "@internal", - "syntaxKind": "modifier" - }, - { - "tagName": "@label", - "syntaxKind": "inline" - }, - { - "tagName": "@link", - "syntaxKind": "inline", - "allowMultiple": true - }, - { - "tagName": "@override", - "syntaxKind": "modifier" - }, - { - "tagName": "@packageDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@param", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@privateRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@public", - "syntaxKind": "modifier" - }, - { - "tagName": "@readonly", - "syntaxKind": "modifier" - }, - { - "tagName": "@remarks", - "syntaxKind": "block" - }, - { - "tagName": "@returns", - "syntaxKind": "block" - }, - { - "tagName": "@sealed", - "syntaxKind": "modifier" - }, - { - "tagName": "@see", - "syntaxKind": "block" - }, - { - "tagName": "@throws", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@typeParam", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@virtual", - "syntaxKind": "modifier" - }, - { - "tagName": "@betaDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@internalRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@preapproved", - "syntaxKind": "modifier" - } - ], - "supportForTags": { - "@alpha": true, - "@beta": true, - "@defaultValue": true, - "@decorator": true, - "@deprecated": true, - "@eventProperty": true, - "@example": true, - "@experimental": true, - "@inheritDoc": true, - "@internal": true, - "@label": true, - "@link": true, - "@override": true, - "@packageDocumentation": true, - "@param": true, - "@privateRemarks": true, - "@public": true, - "@readonly": true, - "@remarks": true, - "@returns": true, - "@sealed": true, - "@see": true, - "@throws": true, - "@typeParam": true, - "@virtual": true, - "@betaDocumentation": true, - "@internalRemarks": true, - "@preapproved": true - }, - "reportUnsupportedHtmlElements": false - } - }, - "kind": "Package", - "canonicalReference": "@tldraw/store!", - "docComment": "", - "name": "@tldraw/store", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EntryPoint", - "canonicalReference": "@tldraw/store!", - "name": "", - "preserveMemberOrder": false, - "members": [ - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!AllRecords:type", - "docComment": "/**\n * Get the type of all records in a record store.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type AllRecords" - }, - { - "kind": "Content", - "text": "> = " - }, - { - "kind": "Reference", - "text": "ExtractR", - "canonicalReference": "@tldraw/store!~ExtractR:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "ExtractRecordType", - "canonicalReference": "@tldraw/store!~ExtractRecordType:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/type-utils.ts", - "releaseTag": "Public", - "name": "AllRecords", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 4, - "endIndex": 8 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!assertIdType:function(1)", - "docComment": "/**\n * Assert whether an id correspond to a record type.\n *\n * @param id - The id to check.\n *\n * @param type - The type of the record.\n *\n * @example\n * ```ts\n * assertIdType(myId, \"shape\")\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function assertIdType(id: " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "asserts " - }, - { - "kind": "Reference", - "text": "id", - "canonicalReference": "@tldraw/store!~id" - }, - { - "kind": "Content", - "text": " is " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/RecordType.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 13 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "assertIdType" - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/store!BaseRecord:interface", - "docComment": "/**\n * The base record that all records must extend.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface BaseRecord" - }, - { - "kind": "Content", - "text": "> " - } - ], - "fileUrlPath": "packages/store/src/lib/BaseRecord.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "TypeName", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Id", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "BaseRecord", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!BaseRecord#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly id: " - }, - { - "kind": "Content", - "text": "Id" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!BaseRecord#typeName:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly typeName: " - }, - { - "kind": "Content", - "text": "TypeName" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "typeName", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!CollectionDiff:type", - "docComment": "/**\n * A diff describing the changes to a collection.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type CollectionDiff = " - }, - { - "kind": "Content", - "text": "{\n added?: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": ";\n removed?: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "CollectionDiff", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!compareRecordVersions:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function compareRecordVersions(a: " - }, - { - "kind": "Reference", - "text": "RecordVersion", - "canonicalReference": "@tldraw/store!RecordVersion:type" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Reference", - "text": "RecordVersion", - "canonicalReference": "@tldraw/store!RecordVersion:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "-1 | 0 | 1" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "compareRecordVersions" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!compareSchemas:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "compareSchemas: (a: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "-1 | 0 | 1" - } - ], - "fileUrlPath": "packages/store/src/lib/compareSchemas.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "compareSchemas" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!ComputedCache:type", - "docComment": "/**\n * A record store is a collection of records of different types.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type ComputedCache = " - }, - { - "kind": "Content", - "text": "{\n get(id: " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "): Data | undefined;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "ComputedCache", - "typeParameters": [ - { - "typeParameterName": "Data", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!createRecordType:function(1)", - "docComment": "/**\n * Create a record type.\n *\n * @param typeName - The name of the type to create.\n *\n * @example\n * ```ts\n * const Book = createRecordType('book')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createRecordType(typeName: " - }, - { - "kind": "Content", - "text": "R['typeName']" - }, - { - "kind": "Content", - "text": ", config: " - }, - { - "kind": "Content", - "text": "{\n migrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";\n validator?: " - }, - { - "kind": "Reference", - "text": "StoreValidator", - "canonicalReference": "@tldraw/store!StoreValidator:type" - }, - { - "kind": "Content", - "text": ";\n scope: " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/RecordType.ts", - "returnTypeTokenRange": { - "startIndex": 13, - "endIndex": 17 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "typeName", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 12 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "createRecordType" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!defineMigrations:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function defineMigrations" - }, - { - "kind": "Content", - "text": " = " - }, - { - "kind": "Reference", - "text": "EMPTY_SYMBOL", - "canonicalReference": "@tldraw/store!~EMPTY_SYMBOL:type" - }, - { - "kind": "Content", - "text": ">(opts: " - }, - { - "kind": "Content", - "text": "{\n firstVersion?: CurrentVersion extends number ? FirstVersion : never;\n currentVersion?: CurrentVersion;\n migrators?: CurrentVersion extends number ? FirstVersion extends number ? CurrentVersion extends FirstVersion ? {\n [version in " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Range", - "canonicalReference": "@tldraw/store!~Range_2:type" - }, - { - "kind": "Content", - "text": "<1, CurrentVersion>, 0>]: " - }, - { - "kind": "Reference", - "text": "Migration", - "canonicalReference": "@tldraw/store!Migration:type" - }, - { - "kind": "Content", - "text": ";\n } : {\n [version in " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Range", - "canonicalReference": "@tldraw/store!~Range_2:type" - }, - { - "kind": "Content", - "text": ", FirstVersion>]: " - }, - { - "kind": "Reference", - "text": "Migration", - "canonicalReference": "@tldraw/store!Migration:type" - }, - { - "kind": "Content", - "text": ";\n } : {\n [version in " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Range", - "canonicalReference": "@tldraw/store!~Range_2:type" - }, - { - "kind": "Content", - "text": "<1, CurrentVersion>, 0>]: " - }, - { - "kind": "Reference", - "text": "Migration", - "canonicalReference": "@tldraw/store!Migration:type" - }, - { - "kind": "Content", - "text": ";\n } : never;\n subTypeKey?: string;\n subTypeMigrations?: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "returnTypeTokenRange": { - "startIndex": 37, - "endIndex": 38 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 13, - "endIndex": 36 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "FirstVersion", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - } - }, - { - "typeParameterName": "CurrentVersion", - "constraintTokenRange": { - "startIndex": 6, - "endIndex": 10 - }, - "defaultTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - } - } - ], - "name": "defineMigrations" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!devFreeze:function(1)", - "docComment": "/**\n * Freeze an object when in development mode. Copied from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n *\n * @param object - The object to freeze.\n *\n * @returns The frozen object when in development mode, or else the object when in other modes.\n *\n * @example\n * ```ts\n * const frozen = devFreeze({ a: 1 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function devFreeze(object: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/devFreeze.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "object", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "devFreeze" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!getRecordVersion:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getRecordVersion(record: " - }, - { - "kind": "Reference", - "text": "UnknownRecord", - "canonicalReference": "@tldraw/store!UnknownRecord:type" - }, - { - "kind": "Content", - "text": ", serializedSchema: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "RecordVersion", - "canonicalReference": "@tldraw/store!RecordVersion:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "record", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "serializedSchema", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getRecordVersion" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!HistoryEntry:type", - "docComment": "/**\n * An entry containing changes that originated either by user actions or remote changes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type HistoryEntry = " - }, - { - "kind": "Content", - "text": "{\n changes: " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": ";\n source: " - }, - { - "kind": "Reference", - "text": "ChangeSource", - "canonicalReference": "@tldraw/store!~ChangeSource:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "HistoryEntry", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!IdOf:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type IdOf = " - }, - { - "kind": "Content", - "text": "R['id']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/BaseRecord.ts", - "releaseTag": "Public", - "name": "IdOf", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!migrate:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function migrate({ value, migrations, fromVersion, toVersion, }: " - }, - { - "kind": "Content", - "text": "{\n value: unknown;\n migrations: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";\n fromVersion: number;\n toVersion: number;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MigrationResult", - "canonicalReference": "@tldraw/store!MigrationResult:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ value, migrations, fromVersion, toVersion, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "migrate" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!migrateRecord:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function migrateRecord({ record, migrations, fromVersion, toVersion, }: " - }, - { - "kind": "Content", - "text": "{\n record: unknown;\n migrations: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";\n fromVersion: number;\n toVersion: number;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MigrationResult", - "canonicalReference": "@tldraw/store!MigrationResult:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ record, migrations, fromVersion, toVersion, }", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "migrateRecord" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!Migration:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type Migration = " - }, - { - "kind": "Content", - "text": "{\n up: (oldState: Before) => After;\n down: (newState: After) => Before;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "releaseTag": "Public", - "name": "Migration", - "typeParameters": [ - { - "typeParameterName": "Before", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "typeParameterName": "After", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 6 - } - }, - { - "kind": "Enum", - "canonicalReference": "@tldraw/store!MigrationFailureReason:enum", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare enum MigrationFailureReason " - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "releaseTag": "Public", - "name": "MigrationFailureReason", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EnumMember", - "canonicalReference": "@tldraw/store!MigrationFailureReason.IncompatibleSubtype:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "IncompatibleSubtype = " - }, - { - "kind": "Content", - "text": "\"incompatible-subtype\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "name": "IncompatibleSubtype" - }, - { - "kind": "EnumMember", - "canonicalReference": "@tldraw/store!MigrationFailureReason.MigrationError:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "MigrationError = " - }, - { - "kind": "Content", - "text": "\"migration-error\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "name": "MigrationError" - }, - { - "kind": "EnumMember", - "canonicalReference": "@tldraw/store!MigrationFailureReason.TargetVersionTooNew:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "TargetVersionTooNew = " - }, - { - "kind": "Content", - "text": "\"target-version-too-new\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "name": "TargetVersionTooNew" - }, - { - "kind": "EnumMember", - "canonicalReference": "@tldraw/store!MigrationFailureReason.TargetVersionTooOld:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "TargetVersionTooOld = " - }, - { - "kind": "Content", - "text": "\"target-version-too-old\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "name": "TargetVersionTooOld" - }, - { - "kind": "EnumMember", - "canonicalReference": "@tldraw/store!MigrationFailureReason.UnknownType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "UnknownType = " - }, - { - "kind": "Content", - "text": "\"unknown-type\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "name": "UnknownType" - }, - { - "kind": "EnumMember", - "canonicalReference": "@tldraw/store!MigrationFailureReason.UnrecognizedSubtype:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "UnrecognizedSubtype = " - }, - { - "kind": "Content", - "text": "\"unrecognized-subtype\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "name": "UnrecognizedSubtype" - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!MigrationResult:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type MigrationResult = " - }, - { - "kind": "Content", - "text": "{\n type: 'error';\n reason: " - }, - { - "kind": "Reference", - "text": "MigrationFailureReason", - "canonicalReference": "@tldraw/store!MigrationFailureReason:enum" - }, - { - "kind": "Content", - "text": ";\n} | {\n type: 'success';\n value: T;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "releaseTag": "Public", - "name": "MigrationResult", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/store!Migrations:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface Migrations extends " - }, - { - "kind": "Reference", - "text": "BaseMigrationsInfo", - "canonicalReference": "@tldraw/store!~BaseMigrationsInfo:interface" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "releaseTag": "Public", - "name": "Migrations", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!Migrations#subTypeKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "subTypeKey?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "subTypeKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!Migrations#subTypeMigrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "subTypeMigrations?: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "subTypeMigrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 2 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!RecordId:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RecordId = " - }, - { - "kind": "Content", - "text": "string & {\n __type__: R;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/BaseRecord.ts", - "releaseTag": "Public", - "name": "RecordId", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!RecordsDiff:type", - "docComment": "/**\n * A diff describing the changes to a record.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RecordsDiff = " - }, - { - "kind": "Content", - "text": "{\n added: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": ", R>;\n updated: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": ", [from: R, to: R]>;\n removed: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": ", R>;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "RecordsDiff", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 16 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/store!RecordType:class", - "docComment": "/**\n * A record type is a type that can be stored in a record store. It is created with `createRecordType`.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class RecordType" - }, - { - "kind": "Content", - "text": "> " - } - ], - "fileUrlPath": "packages/store/src/lib/RecordType.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "RequiredProperties", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "RecordType", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/store!RecordType:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `RecordType` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(\n typeName: " - }, - { - "kind": "Content", - "text": "R['typeName']" - }, - { - "kind": "Content", - "text": ", config: " - }, - { - "kind": "Content", - "text": "{\n readonly createDefaultProperties: () => " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "OmitMeta", - "canonicalReference": "@tldraw/store!~OmitMeta:type" - }, - { - "kind": "Content", - "text": ", RequiredProperties>;\n readonly migrations: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";\n readonly validator?: " - }, - { - "kind": "Reference", - "text": "StoreValidator", - "canonicalReference": "@tldraw/store!StoreValidator:type" - }, - { - "kind": "Content", - "text": ";\n readonly scope?: " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "typeName", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 14 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#clone:member(1)", - "docComment": "/**\n * Clone a record of this type.\n *\n * @param record - The record to clone.\n *\n * @returns The cloned record.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(record: " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "record", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#create:member(1)", - "docComment": "/**\n * Create a new record of this type.\n *\n * @param properties - The properties of the record.\n *\n * @returns The new record.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "create(properties: " - }, - { - "kind": "Reference", - "text": "Pick", - "canonicalReference": "!Pick:type" - }, - { - "kind": "Content", - "text": " & " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": ", RequiredProperties>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "properties", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "create" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#createCustomId:member(1)", - "docComment": "/**\n * Create a new ID for this record type based on the given ID.\n *\n * @deprecated\n *\n * - Use `createId` instead.\n *\n * @param id - The ID to base the new ID on.\n *\n * @returns The new ID.\n *\n * @example\n * ```ts\n * const id = recordType.createCustomId('myId')\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createCustomId(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createCustomId" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!RecordType#createDefaultProperties:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly createDefaultProperties: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "OmitMeta", - "canonicalReference": "@tldraw/store!~OmitMeta:type" - }, - { - "kind": "Content", - "text": ", RequiredProperties>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "createDefaultProperties", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#createId:member(1)", - "docComment": "/**\n * Create a new ID for this record type.\n *\n * @returns The new ID.\n *\n * @example\n * ```ts\n * const id = recordType.createId()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createId(customUniquePart?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "customUniquePart", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#isId:member(1)", - "docComment": "/**\n * Check whether an id is an id of this type.\n *\n * @param id - The id to check.\n *\n * @returns Whether the id is an id of this type.\n *\n * @example\n * ```ts\n * const result = recordType.isIn('someId')\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isId(id?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "id", - "canonicalReference": "@tldraw/store!~id" - }, - { - "kind": "Content", - "text": " is " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isId" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!RecordType#isInstance:member", - "docComment": "/**\n * Check whether a record is an instance of this record type.\n *\n * @param record - The record to check.\n *\n * @returns Whether the record is an instance of this record type.\n *\n * @example\n * ```ts\n * const result = recordType.isInstance(someRecord)\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isInstance: " - }, - { - "kind": "Content", - "text": "(record?: " - }, - { - "kind": "Reference", - "text": "UnknownRecord", - "canonicalReference": "@tldraw/store!UnknownRecord:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "record", - "canonicalReference": "@tldraw/store!~record" - }, - { - "kind": "Content", - "text": " is R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isInstance", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!RecordType#migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly migrations: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#parseId:member(1)", - "docComment": "/**\n * Takes an id like `user:123` and returns the part after the colon `123`\n *\n * @param id - The id\n *\n * @returns \n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "parseId(id: " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "parseId" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!RecordType#scope:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly scope: " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "scope", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!RecordType#typeName:member", - "docComment": "/**\n * The unique type associated with this record.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly typeName: " - }, - { - "kind": "Content", - "text": "R['typeName']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "typeName", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#validate:member(1)", - "docComment": "/**\n * Check that the passed in record passes the validations for this type. Returns its input correctly typed if it does, but throws an error otherwise.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "validate(record: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": ", recordBefore?: " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "record", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "recordBefore", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validate" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!RecordType#validator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly validator: " - }, - { - "kind": "Reference", - "text": "StoreValidator", - "canonicalReference": "@tldraw/store!StoreValidator:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "validator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!RecordType#withDefaultProperties:member(1)", - "docComment": "/**\n * Create a new RecordType that has the same type name as this RecordType and includes the given default properties.\n *\n * @param fn - A function that returns the default properties of the new RecordType.\n *\n * @returns The new RecordType.\n *\n * @example\n * ```ts\n * const authorType = createRecordType('author', () => ({ living: true }))\n * const deadAuthorType = authorType.withDefaultProperties({ living: false })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "withDefaultProperties, 'id' | 'typeName'>" - }, - { - "kind": "Content", - "text": ">(createDefaultProperties: " - }, - { - "kind": "Content", - "text": "() => DefaultProps" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "DefaultProps", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "createDefaultProperties", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "withDefaultProperties" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!RecordVersion:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RecordVersion = " - }, - { - "kind": "Content", - "text": "{\n rootVersion: number;\n subTypeVersion?: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/migrate.ts", - "releaseTag": "Public", - "name": "RecordVersion", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!reverseRecordsDiff:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function reverseRecordsDiff(diff: " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "diff", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "name": "reverseRecordsDiff" - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/store!SerializedSchema:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface SerializedSchema " - } - ], - "fileUrlPath": "packages/store/src/lib/StoreSchema.ts", - "releaseTag": "Public", - "name": "SerializedSchema", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!SerializedSchema#recordVersions:member", - "docComment": "/**\n * Record versions are the versions for each record type. e.g. adding a new field to a record\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "recordVersions: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ";\n subTypeKey: string;\n } | {\n version: number;\n }>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "recordVersions", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!SerializedSchema#schemaVersion:member", - "docComment": "/**\n * Schema version is the version for this type you're looking at right now\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "schemaVersion: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "schemaVersion", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/store!SerializedSchema#storeVersion:member", - "docComment": "/**\n * Store version is the version for the structure of the store. e.g. higher level structure like removing or renaming a record type.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "storeVersion: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "storeVersion", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!SerializedStore:type", - "docComment": "/**\n * A serialized snapshot of the record store's values.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SerializedStore = " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": ", R>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "SerializedStore", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 7 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/store!squashRecordDiffs:function(1)", - "docComment": "/**\n * Squash a collection of diffs into a single diff.\n *\n * @param diffs - An array of diffs to squash.\n *\n * @returns A single diff that represents the squashed diffs.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function squashRecordDiffs(diffs: " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "diffs", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "squashRecordDiffs" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/store!Store:class", - "docComment": "/**\n * A store of records.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Store " - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "Props", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - } - } - ], - "isAbstract": false, - "name": "Store", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#_flushHistory:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_flushHistory(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "_flushHistory" - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/store!Store:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Store` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Content", - "text": "{\n initialData?: " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": ";\n schema: " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": ";\n props: Props;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#allRecords:member", - "docComment": "/**\n * Get an array of all values in the store.\n *\n * @returns An array of all values in the store.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "allRecords: " - }, - { - "kind": "Content", - "text": "() => R[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "allRecords", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#applyDiff:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "applyDiff(diff: " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", runCallbacks?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "diff", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "runCallbacks", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyDiff" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#clear:member", - "docComment": "/**\n * Removes all records from the store.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "clear: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "clear", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#createComputedCache:member", - "docComment": "/**\n * Create a computed cache.\n *\n * @param name - The name of the derivation cache.\n *\n * @param derive - A function used to derive the value of the cache.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createComputedCache: " - }, - { - "kind": "Content", - "text": "(name: string, derive: (record: V) => T | undefined, isEqual?: ((a: V, b: V) => boolean) | undefined) => " - }, - { - "kind": "Reference", - "text": "ComputedCache", - "canonicalReference": "@tldraw/store!ComputedCache:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "createComputedCache", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#createSelectedComputedCache:member", - "docComment": "/**\n * Create a computed cache from a selector\n *\n * @param name - The name of the derivation cache.\n *\n * @param selector - A function that returns a subset of the original shape\n *\n * @param derive - A function used to derive the value of the cache.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createSelectedComputedCache: " - }, - { - "kind": "Content", - "text": "(name: string, selector: (record: V) => T | undefined, derive: (input: T) => J | undefined) => " - }, - { - "kind": "Reference", - "text": "ComputedCache", - "canonicalReference": "@tldraw/store!ComputedCache:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "createSelectedComputedCache", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#extractingChanges:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "extractingChanges(fn: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "fn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "extractingChanges" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#filterChangesByScope:member(1)", - "docComment": "/**\n * Filters out non-document changes from a diff. Returns null if there are no changes left.\n *\n * @param change - the records diff\n *\n * @returns \n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "filterChangesByScope(change: " - }, - { - "kind": "Reference", - "text": "RecordsDiff", - "canonicalReference": "@tldraw/store!RecordsDiff:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", scope: " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n added: { [K in " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "]: R; };\n updated: { [K_1 in " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "]: [from: R, to: R]; };\n removed: { [K in " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "]: R; };\n } | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 13 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "change", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "scope", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "filterChangesByScope" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#get:member", - "docComment": "/**\n * Get the value of a store record by its id.\n *\n * @param id - The id of the record to get.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "get: " - }, - { - "kind": "Content", - "text": ">(id: K) => " - }, - { - "kind": "Reference", - "text": "RecFromId", - "canonicalReference": "@tldraw/store!~RecFromId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "get", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#getRecordType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRecordType: " - }, - { - "kind": "Content", - "text": "(record: R) => T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getRecordType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#getSnapshot:member(1)", - "docComment": "/**\n * Get a serialized snapshot of the store and its schema.\n * ```ts\n * const snapshot = store.getSnapshot()\n * store.loadSnapshot(snapshot)\n * ```\n *\n * @param scope - The scope of records to serialize. Defaults to 'document'.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSnapshot(scope?: " - }, - { - "kind": "Content", - "text": "'all' | " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "scope", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSnapshot" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#has:member", - "docComment": "/**\n * Get whether the record store has a id.\n *\n * @param id - The id of the record to check.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "has: " - }, - { - "kind": "Content", - "text": ">(id: K) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "has", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#history:member", - "docComment": "/**\n * An atom containing the store's history.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly history: " - }, - { - "kind": "Reference", - "text": "Atom", - "canonicalReference": "@tldraw/state!Atom:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "history", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#id:member", - "docComment": "/**\n * The random id of the store.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#listen:member", - "docComment": "/**\n * Add a new listener to the store.\n *\n * @param onHistory - The listener to call when the store updates.\n *\n * @param filters - Filters to apply to the listener.\n *\n * @returns A function to remove the listener.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "listen: " - }, - { - "kind": "Content", - "text": "(onHistory: " - }, - { - "kind": "Reference", - "text": "StoreListener", - "canonicalReference": "@tldraw/store!StoreListener:type" - }, - { - "kind": "Content", - "text": ", filters?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "StoreListenerFilters", - "canonicalReference": "@tldraw/store!~StoreListenerFilters:type" - }, - { - "kind": "Content", - "text": ">) => () => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "listen", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#loadSnapshot:member(1)", - "docComment": "/**\n * Load a serialized snapshot.\n * ```ts\n * const snapshot = store.getSnapshot()\n * store.loadSnapshot(snapshot)\n * ```\n *\n * @param snapshot - The snapshot to load.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "loadSnapshot(snapshot: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "snapshot", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "loadSnapshot" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#mergeRemoteChanges:member", - "docComment": "/**\n * Merge changes from a remote source without triggering listeners.\n *\n * @param fn - A function that merges the external changes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "mergeRemoteChanges: " - }, - { - "kind": "Content", - "text": "(fn: () => void) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "mergeRemoteChanges", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#migrateSnapshot:member(1)", - "docComment": "/**\n * Migrate a serialized snapshot of the store and its schema.\n * ```ts\n * const snapshot = store.getSnapshot()\n * store.migrateSnapshot(snapshot)\n * ```\n *\n * @param snapshot - The snapshot to load.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "migrateSnapshot(snapshot: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "snapshot", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "migrateSnapshot" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#onAfterChange:member", - "docComment": "/**\n * A callback fired after each record's change.\n *\n * @param prev - The previous value, if any.\n *\n * @param next - The next value.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onAfterChange?: " - }, - { - "kind": "Content", - "text": "(prev: R, next: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onAfterChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#onAfterCreate:member", - "docComment": "/**\n * A callback fired after a record is created. Use this to perform related updates to other records in the store.\n *\n * @param record - The record to be created\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onAfterCreate?: " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onAfterCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#onAfterDelete:member", - "docComment": "/**\n * A callback fired after a record is deleted.\n *\n * @param prev - The record that will be deleted.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onAfterDelete?: " - }, - { - "kind": "Content", - "text": "(prev: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onAfterDelete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#onBeforeChange:member", - "docComment": "/**\n * A callback before after each record's change.\n *\n * @param prev - The previous value, if any.\n *\n * @param next - The next value.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeChange?: " - }, - { - "kind": "Content", - "text": "(prev: R, next: R, source: 'remote' | 'user') => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#onBeforeCreate:member", - "docComment": "/**\n * A callback fired after each record's change.\n *\n * @param prev - The previous value, if any.\n *\n * @param next - The next value.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate?: " - }, - { - "kind": "Content", - "text": "(next: R, source: 'remote' | 'user') => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#onBeforeDelete:member", - "docComment": "/**\n * A callback fired before a record is deleted.\n *\n * @param prev - The record that will be deleted.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeDelete?: " - }, - { - "kind": "Content", - "text": "(prev: R, source: 'remote' | 'user') => false | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeDelete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly props: " - }, - { - "kind": "Content", - "text": "Props" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#put:member", - "docComment": "/**\n * Add some records to the store. It's an error if they already exist.\n *\n * @param records - The records to add.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "put: " - }, - { - "kind": "Content", - "text": "(records: R[], phaseOverride?: 'initialize') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "put", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#query:member", - "docComment": "/**\n * A StoreQueries instance for this store.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly query: " - }, - { - "kind": "Reference", - "text": "StoreQueries", - "canonicalReference": "@tldraw/store!~StoreQueries:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "query", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#remove:member", - "docComment": "/**\n * Remove some records from the store via their ids.\n *\n * @param ids - The ids of the records to remove.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "remove: " - }, - { - "kind": "Content", - "text": "(ids: " - }, - { - "kind": "Reference", - "text": "IdOf", - "canonicalReference": "@tldraw/store!IdOf:type" - }, - { - "kind": "Content", - "text": "[]) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "remove", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#schema:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly schema: " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "schema", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#scopedTypes:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly scopedTypes: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": "]: " - }, - { - "kind": "Reference", - "text": "ReadonlySet", - "canonicalReference": "!ReadonlySet:interface" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "scopedTypes", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#serialize:member", - "docComment": "/**\n * Creates a JSON payload from the record store.\n *\n * @param scope - The scope of records to serialize. Defaults to 'document'.\n *\n * @returns The record store snapshot as a JSON payload.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "serialize: " - }, - { - "kind": "Content", - "text": "(scope?: 'all' | " - }, - { - "kind": "Reference", - "text": "RecordScope", - "canonicalReference": "@tldraw/store!~RecordScope:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "serialize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#unsafeGetWithoutCapture:member", - "docComment": "/**\n * Get the value of a store record by its id without updating its epoch.\n *\n * @param id - The id of the record to get.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "unsafeGetWithoutCapture: " - }, - { - "kind": "Content", - "text": ">(id: K) => " - }, - { - "kind": "Reference", - "text": "RecFromId", - "canonicalReference": "@tldraw/store!~RecFromId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "unsafeGetWithoutCapture", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!Store#update:member", - "docComment": "/**\n * Update a record. To update multiple records at once, use the `update` method of the `TypedStore` class.\n *\n * @param id - The id of the record to update.\n *\n * @param updater - A function that updates the record.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "update: " - }, - { - "kind": "Content", - "text": ">(id: K, updater: (record: " - }, - { - "kind": "Reference", - "text": "RecFromId", - "canonicalReference": "@tldraw/store!~RecFromId:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "RecFromId", - "canonicalReference": "@tldraw/store!~RecFromId:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "update", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!Store#validate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validate(phase: " - }, - { - "kind": "Content", - "text": "'createRecord' | 'initialize' | 'tests' | 'updateRecord'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "phase", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validate" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!StoreError:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StoreError = " - }, - { - "kind": "Content", - "text": "{\n error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": ";\n phase: 'createRecord' | 'initialize' | 'tests' | 'updateRecord';\n recordBefore?: unknown;\n recordAfter: unknown;\n isExistingValidationIssue: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "StoreError", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!StoreListener:type", - "docComment": "/**\n * A function that will be called when the history changes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StoreListener = " - }, - { - "kind": "Content", - "text": "(entry: " - }, - { - "kind": "Reference", - "text": "HistoryEntry", - "canonicalReference": "@tldraw/store!HistoryEntry:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "StoreListener", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/store!StoreSchema:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class StoreSchema " - } - ], - "fileUrlPath": "packages/store/src/lib/StoreSchema.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "P", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "isAbstract": false, - "name": "StoreSchema", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/store!StoreSchema.create:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static create(types: " - }, - { - "kind": "Content", - "text": "{\n [TypeName in R['typeName']]: {\n createId: any;\n };\n }" - }, - { - "kind": "Content", - "text": ", options?: " - }, - { - "kind": "Reference", - "text": "StoreSchemaOptions", - "canonicalReference": "@tldraw/store!StoreSchemaOptions:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "P", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "types", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "create" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!StoreSchema#currentStoreVersion:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get currentStoreVersion(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "currentStoreVersion", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!StoreSchema#migratePersistedRecord:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "migratePersistedRecord(record: " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": ", persistedSchema: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ", direction?: " - }, - { - "kind": "Content", - "text": "'down' | 'up'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MigrationResult", - "canonicalReference": "@tldraw/store!MigrationResult:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "record", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "persistedSchema", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "direction", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "migratePersistedRecord" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!StoreSchema#migrateStoreSnapshot:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "migrateStoreSnapshot(snapshot: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MigrationResult", - "canonicalReference": "@tldraw/store!MigrationResult:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "snapshot", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "migrateStoreSnapshot" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!StoreSchema#serialize:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "serialize(): " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "serialize" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!StoreSchema#serializeEarliestVersion:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "serializeEarliestVersion(): " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "serializeEarliestVersion" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/store!StoreSchema#types:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly types: " - }, - { - "kind": "Content", - "text": "{\n [Record in R as Record['typeName']]: " - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "types", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/store!StoreSchema#validateRecord:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validateRecord(store: " - }, - { - "kind": "Reference", - "text": "Store", - "canonicalReference": "@tldraw/store!Store:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", record: " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": ", phase: " - }, - { - "kind": "Content", - "text": "'createRecord' | 'initialize' | 'tests' | 'updateRecord'" - }, - { - "kind": "Content", - "text": ", recordBefore: " - }, - { - "kind": "Content", - "text": "null | R" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "record", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "phase", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "recordBefore", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validateRecord" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!StoreSchemaOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StoreSchemaOptions = " - }, - { - "kind": "Content", - "text": "{\n snapshotMigrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";\n onValidationFailure?: (data: {\n error: unknown;\n store: " - }, - { - "kind": "Reference", - "text": "Store", - "canonicalReference": "@tldraw/store!Store:class" - }, - { - "kind": "Content", - "text": ";\n record: R;\n phase: 'createRecord' | 'initialize' | 'tests' | 'updateRecord';\n recordBefore: null | R;\n }) => R;\n createIntegrityChecker?: (store: " - }, - { - "kind": "Reference", - "text": "Store", - "canonicalReference": "@tldraw/store!Store:class" - }, - { - "kind": "Content", - "text": ") => void;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/StoreSchema.ts", - "releaseTag": "Public", - "name": "StoreSchemaOptions", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "P", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!StoreSnapshot:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StoreSnapshot = " - }, - { - "kind": "Content", - "text": "{\n store: " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": ";\n schema: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "StoreSnapshot", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!StoreValidator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StoreValidator = " - }, - { - "kind": "Content", - "text": "{\n validate: (record: unknown) => R;\n validateUsingKnownGoodVersion?: (knownGoodVersion: R, record: unknown) => R;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "StoreValidator", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!StoreValidators:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StoreValidators = " - }, - { - "kind": "Content", - "text": "{\n [K in R['typeName']]: " - }, - { - "kind": "Reference", - "text": "StoreValidator", - "canonicalReference": "@tldraw/store!StoreValidator:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Extract", - "canonicalReference": "!Extract:type" - }, - { - "kind": "Content", - "text": ">;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/Store.ts", - "releaseTag": "Public", - "name": "StoreValidators", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/store!UnknownRecord:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type UnknownRecord = " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/store/src/lib/BaseRecord.ts", - "releaseTag": "Public", - "name": "UnknownRecord", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - } - ] - } - ] -} diff --git a/apps/docs/api/tldraw.api.json b/apps/docs/api/tldraw.api.json deleted file mode 100644 index 0fbcc7551..000000000 --- a/apps/docs/api/tldraw.api.json +++ /dev/null @@ -1,24995 +0,0 @@ -{ - "metadata": { - "toolPackage": "@microsoft/api-extractor", - "toolVersion": "7.41.0", - "schemaVersion": 1011, - "oldestForwardsCompatibleVersion": 1001, - "tsdocConfig": { - "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", - "noStandardTags": true, - "tagDefinitions": [ - { - "tagName": "@alpha", - "syntaxKind": "modifier" - }, - { - "tagName": "@beta", - "syntaxKind": "modifier" - }, - { - "tagName": "@defaultValue", - "syntaxKind": "block" - }, - { - "tagName": "@decorator", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@deprecated", - "syntaxKind": "block" - }, - { - "tagName": "@eventProperty", - "syntaxKind": "modifier" - }, - { - "tagName": "@example", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@experimental", - "syntaxKind": "modifier" - }, - { - "tagName": "@inheritDoc", - "syntaxKind": "inline" - }, - { - "tagName": "@internal", - "syntaxKind": "modifier" - }, - { - "tagName": "@label", - "syntaxKind": "inline" - }, - { - "tagName": "@link", - "syntaxKind": "inline", - "allowMultiple": true - }, - { - "tagName": "@override", - "syntaxKind": "modifier" - }, - { - "tagName": "@packageDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@param", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@privateRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@public", - "syntaxKind": "modifier" - }, - { - "tagName": "@readonly", - "syntaxKind": "modifier" - }, - { - "tagName": "@remarks", - "syntaxKind": "block" - }, - { - "tagName": "@returns", - "syntaxKind": "block" - }, - { - "tagName": "@sealed", - "syntaxKind": "modifier" - }, - { - "tagName": "@see", - "syntaxKind": "block" - }, - { - "tagName": "@throws", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@typeParam", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@virtual", - "syntaxKind": "modifier" - }, - { - "tagName": "@betaDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@internalRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@preapproved", - "syntaxKind": "modifier" - } - ], - "supportForTags": { - "@alpha": true, - "@beta": true, - "@defaultValue": true, - "@decorator": true, - "@deprecated": true, - "@eventProperty": true, - "@example": true, - "@experimental": true, - "@inheritDoc": true, - "@internal": true, - "@label": true, - "@link": true, - "@override": true, - "@packageDocumentation": true, - "@param": true, - "@privateRemarks": true, - "@public": true, - "@readonly": true, - "@remarks": true, - "@returns": true, - "@sealed": true, - "@see": true, - "@throws": true, - "@typeParam": true, - "@virtual": true, - "@betaDocumentation": true, - "@internalRemarks": true, - "@preapproved": true - }, - "reportUnsupportedHtmlElements": false - } - }, - "kind": "Package", - "canonicalReference": "@tldraw/tldraw!", - "docComment": "", - "name": "@tldraw/tldraw", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EntryPoint", - "canonicalReference": "@tldraw/tldraw!", - "name": "", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!ArrowShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ArrowShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/arrow/ArrowShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "ArrowShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ArrowShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/arrow/ArrowShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "ArrowShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#canBind:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#canSnap:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canSnap: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canSnap", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#getCanvasSvgDefs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanvasSvgDefs(): " - }, - { - "kind": "Reference", - "text": "TLShapeUtilCanvasSvgDef", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanvasSvgDefs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Group2d", - "canonicalReference": "@tldraw/editor!Group2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#getHandles:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandles(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandles" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#hideResizeHandles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#hideRotateHandle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideRotateHandle: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideRotateHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#hideSelectionBoundsBg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsBg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsBg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#onDoubleClickHandle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickHandle: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ", handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "> | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClickHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 10 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#onEditEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEditEnd: " - }, - { - "kind": "Reference", - "text": "TLOnEditEndHandler", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEditEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#onHandleDrag:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onHandleDrag: " - }, - { - "kind": "Reference", - "text": "TLOnHandleDragHandler", - "canonicalReference": "@tldraw/editor!TLOnHandleDragHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onHandleDrag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#onTranslate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslate?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#onTranslateStart:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslateStart: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateStartHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateStartHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onTranslateStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n labelColor: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n fill: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">;\n dash: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n arrowheadStart: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow\" | \"bar\" | \"diamond\" | \"dot\" | \"inverted\" | \"none\" | \"pipe\" | \"square\" | \"triangle\">;\n arrowheadEnd: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow\" | \"bar\" | \"diamond\" | \"dot\" | \"inverted\" | \"none\" | \"pipe\" | \"square\" | \"triangle\">;\n font: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n start: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "<\"type\", {\n binding: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"binding\";\n boundShapeId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n normalizedAnchor: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n isExact: boolean;\n isPrecise: boolean;\n }>;\n point: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n x: number;\n y: number;\n type: \"point\";\n }>;\n }, never>;\n end: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "<\"type\", {\n binding: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"binding\";\n boundShapeId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n normalizedAnchor: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n isExact: boolean;\n isPrecise: boolean;\n }>;\n point: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n x: number;\n y: number;\n type: \"point\";\n }>;\n }, never>;\n bend: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n labelPosition: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 44 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ArrowShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"arrow\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class BookmarkShapeUtil extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeUtil", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "BookmarkShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#canResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canResize: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#onBeforeCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate?: " - }, - { - "kind": "Reference", - "text": "TLOnBeforeCreateHandler", - "canonicalReference": "@tldraw/editor!TLOnBeforeCreateHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil#onBeforeUpdate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeUpdate?: " - }, - { - "kind": "Reference", - "text": "TLOnBeforeUpdateHandler", - "canonicalReference": "@tldraw/editor!TLOnBeforeUpdateHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeUpdate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n assetId: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!BookmarkShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"bookmark\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!BreakPointProvider:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function BreakPointProvider({ forceMobile, children, }: " - }, - { - "kind": "Content", - "text": "{\n forceMobile?: boolean;\n children: any;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/breakpoints.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ forceMobile, children, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "BreakPointProvider" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!containBoxSize:function(1)", - "docComment": "/**\n * Contains the size within the given box size\n *\n * @param originalSize - The size of the asset\n *\n * @param containBoxSize - The container size\n *\n * @returns Adjusted size\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function containBoxSize(originalSize: " - }, - { - "kind": "Reference", - "text": "BoxWidthHeight", - "canonicalReference": "@tldraw/tldraw!~BoxWidthHeight:type" - }, - { - "kind": "Content", - "text": ", containBoxSize: " - }, - { - "kind": "Reference", - "text": "BoxWidthHeight", - "canonicalReference": "@tldraw/tldraw!~BoxWidthHeight:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "BoxWidthHeight", - "canonicalReference": "@tldraw/tldraw!~BoxWidthHeight:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/assets/assets.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "originalSize", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "containBoxSize", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "containBoxSize" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!copyAs:function(1)", - "docComment": "/**\n * Copy the given shapes to the clipboard.\n *\n * @param editor - The editor instance.\n *\n * @param ids - The ids of the shapes to copy.\n *\n * @param format - The format to copy as.\n *\n * @param opts - Options for the copy.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function copyAs(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", format?: " - }, - { - "kind": "Reference", - "text": "TLCopyType", - "canonicalReference": "@tldraw/tldraw!~TLCopyType:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSvgOptions", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/export/copyAs.ts", - "returnTypeTokenRange": { - "startIndex": 13, - "endIndex": 15 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "format", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 12 - }, - "isOptional": true - } - ], - "name": "copyAs" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DEFAULT_ACCEPTED_IMG_TYPE:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DEFAULT_ACCEPTED_IMG_TYPE: " - }, - { - "kind": "Content", - "text": "string[]" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/assets/assets.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DEFAULT_ACCEPTED_IMG_TYPE", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DEFAULT_ACCEPTED_VID_TYPE:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DEFAULT_ACCEPTED_VID_TYPE: " - }, - { - "kind": "Content", - "text": "string[]" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/assets/assets.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DEFAULT_ACCEPTED_VID_TYPE", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultActionsMenu:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultActionsMenu: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiActionsMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiActionsMenuProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultActionsMenu", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultActionsMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultActionsMenuContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ActionsMenu/DefaultActionsMenuContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultActionsMenuContent" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultContextMenu:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultContextMenu: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiContextMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiContextMenuProps:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ContextMenu/DefaultContextMenu.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultContextMenu", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultContextMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultContextMenuContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ContextMenu/DefaultContextMenuContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultContextMenuContent" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultDebugMenu:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultDebugMenu({ children }: " - }, - { - "kind": "Reference", - "text": "TLUiDebugMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiDebugMenuProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/DebugMenu/DefaultDebugMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultDebugMenu" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultDebugMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultDebugMenuContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/DebugMenu/DefaultDebugMenuContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultDebugMenuContent" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultHelperButtons:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHelperButtons({ children }: " - }, - { - "kind": "Reference", - "text": "TLUiHelperButtonsProps", - "canonicalReference": "@tldraw/tldraw!TLUiHelperButtonsProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/HelperButtons/DefaultHelperButtons.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHelperButtons" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultHelperButtonsContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHelperButtonsContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/HelperButtons/DefaultHelperButtonsContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultHelperButtonsContent" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultHelpMenu:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultHelpMenu: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiHelpMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiHelpMenuProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/HelpMenu/DefaultHelpMenu.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultHelpMenu", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultHelpMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHelpMenuContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/HelpMenu/DefaultHelpMenuContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultHelpMenuContent" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultKeyboardShortcutsDialog:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultKeyboardShortcutsDialog: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiKeyboardShortcutsDialogProps", - "canonicalReference": "@tldraw/tldraw!TLUiKeyboardShortcutsDialogProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultKeyboardShortcutsDialog", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultKeyboardShortcutsDialogContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultKeyboardShortcutsDialogContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultKeyboardShortcutsDialogContent" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultMainMenu:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultMainMenu: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiMainMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiMainMenuProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/MainMenu/DefaultMainMenu.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultMainMenu", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultMainMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultMainMenuContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultMainMenuContent" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultMinimap:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultMinimap(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/Minimap/DefaultMinimap.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultMinimap" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultPageMenu:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultPageMenu: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultPageMenu", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultQuickActions:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultQuickActions: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiQuickActionsProps", - "canonicalReference": "@tldraw/tldraw!TLUiQuickActionsProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/QuickActions/DefaultQuickActions.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultQuickActions", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultQuickActionsContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultQuickActionsContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/QuickActions/DefaultQuickActionsContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultQuickActionsContent" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!defaultShapeTools:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "defaultShapeTools: " - }, - { - "kind": "Content", - "text": "(typeof " - }, - { - "kind": "Reference", - "text": "ArrowShapeTool", - "canonicalReference": "@tldraw/tldraw!ArrowShapeTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "DrawShapeTool", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "FrameShapeTool", - "canonicalReference": "@tldraw/tldraw!FrameShapeTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "GeoShapeTool", - "canonicalReference": "@tldraw/tldraw!GeoShapeTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "LineShapeTool", - "canonicalReference": "@tldraw/tldraw!LineShapeTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "NoteShapeTool", - "canonicalReference": "@tldraw/tldraw!NoteShapeTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "TextShapeTool", - "canonicalReference": "@tldraw/tldraw!TextShapeTool:class" - }, - { - "kind": "Content", - "text": ")[]" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/defaultShapeTools.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "defaultShapeTools", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 16 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!defaultShapeUtils:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "defaultShapeUtils: " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[]" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/defaultShapeUtils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "defaultShapeUtils", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultStylePanel:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultStylePanel: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiStylePanelProps", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelProps:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultStylePanel", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultStylePanelContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultStylePanelContent({ styles }: " - }, - { - "kind": "Reference", - "text": "TLUiStylePanelContentProps", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelContentProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ styles }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultStylePanelContent" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultToolbar:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultToolbar: " - }, - { - "kind": "Reference", - "text": "React.NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/Toolbar/DefaultToolbar.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultToolbar", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!defaultTools:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "defaultTools: " - }, - { - "kind": "Content", - "text": "(typeof " - }, - { - "kind": "Reference", - "text": "EraserTool", - "canonicalReference": "@tldraw/tldraw!EraserTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "HandTool", - "canonicalReference": "@tldraw/tldraw!HandTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "LaserTool", - "canonicalReference": "@tldraw/tldraw!LaserTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "SelectTool", - "canonicalReference": "@tldraw/tldraw!SelectTool:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "ZoomTool", - "canonicalReference": "@tldraw/tldraw!ZoomTool:class" - }, - { - "kind": "Content", - "text": ")[]" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/defaultTools.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "defaultTools", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!DefaultZoomMenu:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultZoomMenu: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiZoomMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiZoomMenuProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ZoomMenu/DefaultZoomMenu.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultZoomMenu", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!DefaultZoomMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultZoomMenuContent(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ZoomMenu/DefaultZoomMenuContent.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultZoomMenuContent" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!downsizeImage:function(1)", - "docComment": "/**\n * Resize an image Blob to be smaller than it is currently.\n *\n * @param image - The image Blob.\n *\n * @param width - The desired width.\n *\n * @param height - The desired height.\n *\n * @param opts - Options for the image.\n *\n * @example\n * ```ts\n * const image = await (await fetch('/image.jpg')).blob()\n * const size = await getImageSize(image)\n * const resizedImage = await downsizeImage(image, size.w / 2, size.h / 2, { type: \"image/jpeg\", quality: 0.92 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function downsizeImage(blob: " - }, - { - "kind": "Reference", - "text": "Blob", - "canonicalReference": "!Blob:interface" - }, - { - "kind": "Content", - "text": ", width: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", height: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n type?: string | undefined;\n quality?: number | undefined;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Blob", - "canonicalReference": "!Blob:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/assets/assets.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 13 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "blob", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "width", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "height", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "name": "downsizeImage" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class DrawShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/draw/DrawShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "DrawShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Drawing", - "canonicalReference": "@tldraw/tldraw!~Drawing:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_2:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool#onExit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onExit: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onExit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class DrawShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/draw/DrawShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "DrawShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#expandSelectionOutlinePx:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "expandSelectionOutlinePx(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "expandSelectionOutlinePx" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#getCanvasSvgDefs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanvasSvgDefs(): " - }, - { - "kind": "Reference", - "text": "TLShapeUtilCanvasSvgDef", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanvasSvgDefs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Circle2d", - "canonicalReference": "@tldraw/editor!Circle2d:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "Polyline2d", - "canonicalReference": "@tldraw/editor!Polyline2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#hideResizeHandles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#hideRotateHandle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideRotateHandle: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideRotateHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n fill: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">;\n dash: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n segments: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "ArrayOfValidator", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"free\" | \"straight\";\n points: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[];\n }>;\n isComplete: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n isClosed: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n isPen: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!DrawShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"draw\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class EmbedShapeUtil extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeUtil", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/embed/EmbedShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "EmbedShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#canEditInReadOnly:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEditInReadOnly: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEditInReadOnly", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#canResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canResize: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#canUnmount:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canUnmount: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canUnmount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#isAspectRatioLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAspectRatioLocked: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isAspectRatioLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n w: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EmbedShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"embed\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!EraserTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class EraserTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/tools/EraserTool/EraserTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "EraserTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EraserTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Erasing", - "canonicalReference": "@tldraw/tldraw!~Erasing:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_7:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_6:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EraserTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EraserTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!EraserTool#onEnter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEnter: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEnter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!EventsProviderProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type EventsProviderProps = " - }, - { - "kind": "Content", - "text": "{\n onEvent?: " - }, - { - "kind": "Reference", - "text": "TLUiEventHandler", - "canonicalReference": "@tldraw/tldraw!TLUiEventHandler:type" - }, - { - "kind": "Content", - "text": ";\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "releaseTag": "Public", - "name": "EventsProviderProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!exportAs:function(1)", - "docComment": "/**\n * Export the given shapes as files.\n *\n * @param editor - The editor instance.\n *\n * @param ids - The ids of the shapes to export.\n *\n * @param format - The format to export as.\n *\n * @param name - Name of the exported file. If undefined a predefined name, based on the selection, will be used.\n *\n * @param opts - Options for the export.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function exportAs(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", format: " - }, - { - "kind": "Reference", - "text": "TLExportType", - "canonicalReference": "@tldraw/tldraw!~TLExportType:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", name: " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSvgOptions", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/export/exportAs.ts", - "returnTypeTokenRange": { - "startIndex": 16, - "endIndex": 18 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "format", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "isOptional": false - }, - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 11, - "endIndex": 15 - }, - "isOptional": true - } - ], - "name": "exportAs" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!fitFrameToContent:function(1)", - "docComment": "/**\n * Fit a frame to its content.\n *\n * @param id - Id of the frame you wish to fit to content.\n *\n * @param editor - tlraw editor instance.\n *\n * @param opts - Options for fitting the frame.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function fitFrameToContent(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n padding: number;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/frames/frames.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "name": "fitFrameToContent" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!FrameShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class FrameShapeTool extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeTool", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/frame/FrameShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "FrameShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeTool#onCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCreate: " - }, - { - "kind": "Content", - "text": "(shape: null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class FrameShapeUtil extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeUtil", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/frame/FrameShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "FrameShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#canBind:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#canDropShapes:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canDropShapes: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": ", _shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canDropShapes", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#canReceiveNewChildrenOfType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canReceiveNewChildrenOfType: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ", _type: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "['type']) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canReceiveNewChildrenOfType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#onDragShapesOut:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDragShapesOut: " - }, - { - "kind": "Content", - "text": "(_shape: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": ", shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDragShapesOut", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#onDragShapesOver:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDragShapesOver: " - }, - { - "kind": "Content", - "text": "(frame: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": ", shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]) => {\n shouldHint: boolean;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDragShapesOver", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#onResizeEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResizeEnd: " - }, - { - "kind": "Reference", - "text": "TLOnResizeEndHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeEndHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResizeEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n w: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n name: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#providesBackgroundForChildren:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "providesBackgroundForChildren(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "providesBackgroundForChildren" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "> | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!FrameShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"frame\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!GeoShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class GeoShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/geo/GeoShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "GeoShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_3:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_2:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class GeoShapeUtil extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeUtil", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/geo/GeoShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "GeoShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#getCanvasSvgDefs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanvasSvgDefs(): " - }, - { - "kind": "Reference", - "text": "TLShapeUtilCanvasSvgDef", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanvasSvgDefs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Group2d", - "canonicalReference": "@tldraw/editor!Group2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#getHandleSnapGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandleSnapGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HandleSnapGeometry", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandleSnapGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#onBeforeCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ") => {\n props: {\n growY: number;\n geo: \"arrow-down\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up\" | \"check-box\" | \"cloud\" | \"diamond\" | \"ellipse\" | \"hexagon\" | \"octagon\" | \"oval\" | \"pentagon\" | \"rectangle\" | \"rhombus-2\" | \"rhombus\" | \"star\" | \"trapezoid\" | \"triangle\" | \"x-box\";\n labelColor: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n color: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n fill: \"none\" | \"pattern\" | \"semi\" | \"solid\";\n dash: \"dashed\" | \"dotted\" | \"draw\" | \"solid\";\n size: \"l\" | \"m\" | \"s\" | \"xl\";\n font: \"draw\" | \"mono\" | \"sans\" | \"serif\";\n align: \"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\";\n verticalAlign: \"end\" | \"middle\" | \"start\";\n url: string;\n w: number;\n h: number;\n text: string;\n };\n type: \"geo\";\n x: number;\n y: number;\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#onBeforeUpdate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeUpdate: " - }, - { - "kind": "Content", - "text": "(prev: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ", next: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ") => {\n props: {\n growY: number;\n geo: \"arrow-down\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up\" | \"check-box\" | \"cloud\" | \"diamond\" | \"ellipse\" | \"hexagon\" | \"octagon\" | \"oval\" | \"pentagon\" | \"rectangle\" | \"rhombus-2\" | \"rhombus\" | \"star\" | \"trapezoid\" | \"triangle\" | \"x-box\";\n labelColor: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n color: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n fill: \"none\" | \"pattern\" | \"semi\" | \"solid\";\n dash: \"dashed\" | \"dotted\" | \"draw\" | \"solid\";\n size: \"l\" | \"m\" | \"s\" | \"xl\";\n font: \"draw\" | \"mono\" | \"sans\" | \"serif\";\n align: \"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\";\n verticalAlign: \"end\" | \"middle\" | \"start\";\n url: string;\n w: number;\n h: number;\n text: string;\n };\n type: \"geo\";\n x: number;\n y: number;\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onBeforeUpdate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ") => {\n props: {\n geo: \"check-box\";\n };\n type: \"geo\";\n x: number;\n y: number;\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | {\n props: {\n geo: \"rectangle\";\n };\n type: \"geo\";\n x: number;\n y: number;\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#onEditEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEditEnd: " - }, - { - "kind": "Reference", - "text": "TLOnEditEndHandler", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEditEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n geo: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow-down\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up\" | \"check-box\" | \"cloud\" | \"diamond\" | \"ellipse\" | \"hexagon\" | \"octagon\" | \"oval\" | \"pentagon\" | \"rectangle\" | \"rhombus-2\" | \"rhombus\" | \"star\" | \"trapezoid\" | \"triangle\" | \"x-box\">;\n labelColor: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n fill: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">;\n dash: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n font: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n align: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">;\n verticalAlign: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end\" | \"middle\" | \"start\">;\n url: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n w: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n growY: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 30 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!GeoShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"geo\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!getEmbedInfo:function(1)", - "docComment": "/**\n * Tests whether an URL supports embedding and returns the result. If we encounter an error, we return undefined.\n *\n * @param inputUrl - The URL to match\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getEmbedInfo(inputUrl: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLEmbedResult", - "canonicalReference": "@tldraw/tldraw!~TLEmbedResult:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/embeds/embeds.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "inputUrl", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getEmbedInfo" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!getSvgAsImage:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getSvgAsImage(svg: " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ", isSafari: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ", options: " - }, - { - "kind": "Content", - "text": "{\n type: 'jpeg' | 'png' | 'webp';\n quality: number;\n scale: number;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Blob", - "canonicalReference": "!Blob:interface" - }, - { - "kind": "Content", - "text": " | null>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/export/export.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "svg", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "isSafari", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "getSvgAsImage" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!getSvgAsString:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getSvgAsString(svg: " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/export/export.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "svg", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getSvgAsString" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!HandTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class HandTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/tools/HandTool/HandTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "HandTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HandTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Dragging", - "canonicalReference": "@tldraw/tldraw!~Dragging:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_8:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_7:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HandTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HandTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HandTool#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HandTool#onQuadrupleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onQuadrupleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onQuadrupleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HandTool#onTripleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTripleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onTripleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!HighlightShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class HighlightShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/highlight/HighlightShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "HighlightShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Drawing", - "canonicalReference": "@tldraw/tldraw!~Drawing:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_2:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeTool#onExit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onExit: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onExit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class HighlightShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/highlight/HighlightShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "HighlightShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#backgroundComponent:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "backgroundComponent(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "backgroundComponent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Circle2d", - "canonicalReference": "@tldraw/editor!Circle2d:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "Polygon2d", - "canonicalReference": "@tldraw/editor!Polygon2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#hideResizeHandles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#hideRotateHandle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideRotateHandle: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideRotateHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n segments: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "ArrayOfValidator", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"free\" | \"straight\";\n points: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[];\n }>;\n isComplete: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n isPen: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#toBackgroundSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toBackgroundSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGPathElement", - "canonicalReference": "!SVGPathElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toBackgroundSvg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGPathElement", - "canonicalReference": "!SVGPathElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!HighlightShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"highlight\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ImageShapeUtil extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeUtil", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/image/ImageShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "ImageShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#canCrop:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canCrop: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canCrop", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#isAspectRatioLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAspectRatioLocked: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isAspectRatioLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#onDoubleClickEdge:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickEdge: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClickEdge", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n w: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n playing: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n assetId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n crop: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<{\n topLeft: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n bottomRight: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n } | null>;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#shouldGetDataURI:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shouldGetDataURI(src: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "\"\" | boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "src", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "shouldGetDataURI" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ImageShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"image\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!isGifAnimated:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function isGifAnimated(file: " - }, - { - "kind": "Reference", - "text": "Blob", - "canonicalReference": "!Blob:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/assets/assets.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "file", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "isGifAnimated" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!LaserTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class LaserTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/tools/LaserTool/LaserTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "LaserTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LaserTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_9:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Lasering", - "canonicalReference": "@tldraw/tldraw!~Lasering:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LaserTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LaserTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LaserTool#onEnter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEnter: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEnter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!LineShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class LineShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/line/LineShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "LineShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_4:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_3:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class LineShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/line/LineShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "LineShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "CubicSpline2d", - "canonicalReference": "@tldraw/editor!CubicSpline2d:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "Polyline2d", - "canonicalReference": "@tldraw/editor!Polyline2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#getHandles:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandles(shape: " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#getHandleSnapGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandleSnapGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HandleSnapGeometry", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandleSnapGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#hideResizeHandles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#hideRotateHandle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideRotateHandle: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideRotateHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#hideSelectionBoundsBg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsBg: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsBg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#onHandleDrag:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onHandleDrag: " - }, - { - "kind": "Reference", - "text": "TLOnHandleDragHandler", - "canonicalReference": "@tldraw/editor!TLOnHandleDragHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onHandleDrag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n dash: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n spline: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"cubic\" | \"line\">;\n points: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "DictValidator", - "canonicalReference": "@tldraw/validate!DictValidator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!LineShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"line\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!NoteShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class NoteShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/note/NoteShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "NoteShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_5:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_4:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class NoteShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/note/NoteShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "NoteShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Rectangle2d", - "canonicalReference": "@tldraw/editor!Rectangle2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#getHeight:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHeight(shape: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHeight" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#hideResizeHandles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#onBeforeCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate: " - }, - { - "kind": "Content", - "text": "(next: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": ") => {\n props: {\n growY: number;\n color: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n size: \"l\" | \"m\" | \"s\" | \"xl\";\n font: \"draw\" | \"mono\" | \"sans\" | \"serif\";\n align: \"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\";\n verticalAlign: \"end\" | \"middle\" | \"start\";\n url: string;\n text: string;\n };\n type: \"note\";\n x: number;\n y: number;\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#onBeforeUpdate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeUpdate: " - }, - { - "kind": "Content", - "text": "(prev: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": ", next: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": ") => {\n props: {\n growY: number;\n color: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n size: \"l\" | \"m\" | \"s\" | \"xl\";\n font: \"draw\" | \"mono\" | \"sans\" | \"serif\";\n align: \"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\";\n verticalAlign: \"end\" | \"middle\" | \"start\";\n url: string;\n text: string;\n };\n type: \"note\";\n x: number;\n y: number;\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onBeforeUpdate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#onEditEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEditEnd: " - }, - { - "kind": "Reference", - "text": "TLOnEditEndHandler", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEditEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n font: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n align: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">;\n verticalAlign: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end\" | \"middle\" | \"start\">;\n growY: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 18 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!NoteShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"note\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!OfflineIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function OfflineIndicator(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/OfflineIndicator/OfflineIndicator.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "OfflineIndicator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!parseTldrawJsonFile:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function parseTldrawJsonFile({ json, schema, }: " - }, - { - "kind": "Content", - "text": "{\n schema: " - }, - { - "kind": "Reference", - "text": "TLSchema", - "canonicalReference": "@tldraw/tlschema!TLSchema:type" - }, - { - "kind": "Content", - "text": ";\n json: string;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Result", - "canonicalReference": "@tldraw/utils!Result:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TldrawFileParseError", - "canonicalReference": "@tldraw/tldraw!~TldrawFileParseError:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/tldr/file.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ json, schema, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "parseTldrawJsonFile" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!preloadFont:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function preloadFont(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", font: " - }, - { - "kind": "Reference", - "text": "TLTypeFace", - "canonicalReference": "@tldraw/tldraw!~TLTypeFace:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "FontFace", - "canonicalReference": "!FontFace:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/assets/preload-font.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "font", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "preloadFont" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!removeFrame:function(1)", - "docComment": "/**\n * Remove a frame.\n *\n * @param editor - tlraw editor instance.\n *\n * @param ids - Ids of the frames you wish to remove.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function removeFrame(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/frames/frames.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "removeFrame" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!SelectTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class SelectTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/tools/SelectTool/SelectTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "SelectTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!SelectTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Brushing", - "canonicalReference": "@tldraw/tldraw!~Brushing:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Crop", - "canonicalReference": "@tldraw/tldraw!~Crop:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Cropping", - "canonicalReference": "@tldraw/tldraw!~Cropping:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "DraggingHandle", - "canonicalReference": "@tldraw/tldraw!~DraggingHandle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "EditingShape", - "canonicalReference": "@tldraw/tldraw!~EditingShape:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_11:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingArrowLabel", - "canonicalReference": "@tldraw/tldraw!~PointingArrowLabel:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingCanvas", - "canonicalReference": "@tldraw/tldraw!~PointingCanvas:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingCropHandle", - "canonicalReference": "@tldraw/tldraw!~PointingCropHandle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingHandle", - "canonicalReference": "@tldraw/tldraw!~PointingHandle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingResizeHandle", - "canonicalReference": "@tldraw/tldraw!~PointingResizeHandle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingRotateHandle", - "canonicalReference": "@tldraw/tldraw!~PointingRotateHandle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingSelection", - "canonicalReference": "@tldraw/tldraw!~PointingSelection:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "PointingShape", - "canonicalReference": "@tldraw/tldraw!~PointingShape:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Resizing", - "canonicalReference": "@tldraw/tldraw!~Resizing:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Rotating", - "canonicalReference": "@tldraw/tldraw!~Rotating:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "ScribbleBrushing", - "canonicalReference": "@tldraw/tldraw!~ScribbleBrushing:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Translating", - "canonicalReference": "@tldraw/tldraw!~Translating:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 38 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!SelectTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!SelectTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!SelectTool#onEnter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEnter: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEnter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!SelectTool#onExit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onExit: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onExit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!SelectTool#reactor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "reactor: " - }, - { - "kind": "Content", - "text": "(() => void) | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "reactor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!serializeTldrawJson:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function serializeTldrawJson(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/tldr/file.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "serializeTldrawJson" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!serializeTldrawJsonBlob:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function serializeTldrawJsonBlob(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Blob", - "canonicalReference": "!Blob:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/tldr/file.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "serializeTldrawJsonBlob" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!setDefaultEditorAssetUrls:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setDefaultEditorAssetUrls(assetUrls: " - }, - { - "kind": "Reference", - "text": "TLEditorAssetUrls", - "canonicalReference": "@tldraw/tldraw!~TLEditorAssetUrls:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/static-assets/assetUrls.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assetUrls", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "setDefaultEditorAssetUrls" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!TextShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class TextShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/text/TextShapeTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "TextShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_6:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_5:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class TextShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/text/TextShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "TextShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Rectangle2d", - "canonicalReference": "@tldraw/editor!Rectangle2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#getMinDimensions:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getMinDimensions(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n height: number;\n width: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getMinDimensions" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#isAspectRatioLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAspectRatioLocked: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isAspectRatioLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#onBeforeCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ") => {\n x: number;\n y: number;\n type: \"text\";\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n props: {\n color: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n size: \"l\" | \"m\" | \"s\" | \"xl\";\n font: \"draw\" | \"mono\" | \"sans\" | \"serif\";\n align: \"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\";\n w: number;\n text: string;\n scale: number;\n autoSize: boolean;\n };\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#onBeforeUpdate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeUpdate: " - }, - { - "kind": "Content", - "text": "(prev: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ", next: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ") => {\n x: number;\n y: number;\n props: {\n w: number;\n color: \"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\";\n size: \"l\" | \"m\" | \"s\" | \"xl\";\n font: \"draw\" | \"mono\" | \"sans\" | \"serif\";\n align: \"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\";\n text: string;\n scale: number;\n autoSize: boolean;\n };\n type: \"text\";\n rotation: number;\n index: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";\n parentId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";\n isLocked: boolean;\n opacity: number;\n meta: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: \"shape\";\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onBeforeUpdate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#onDoubleClickEdge:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickEdge: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ") => {\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n type: \"text\";\n props: {\n autoSize: boolean;\n scale?: undefined;\n };\n } | {\n id: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n type: \"text\";\n props: {\n scale: number;\n autoSize?: undefined;\n };\n } | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClickEdge", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#onEditEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEditEnd: " - }, - { - "kind": "Reference", - "text": "TLOnEditEndHandler", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEditEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n size: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n font: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n align: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">;\n w: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n scale: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n autoSize: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 18 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!TextShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"text\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLComponents:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLComponents = " - }, - { - "kind": "Reference", - "text": "Expand", - "canonicalReference": "@tldraw/utils!Expand:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEditorComponents", - "canonicalReference": "@tldraw/editor!TLEditorComponents:type" - }, - { - "kind": "Content", - "text": " & " - }, - { - "kind": "Reference", - "text": "TLUiComponents", - "canonicalReference": "@tldraw/tldraw!TLUiComponents:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/Tldraw.tsx", - "releaseTag": "Public", - "name": "TLComponents", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TLDRAW_FILE_EXTENSION:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TLDRAW_FILE_EXTENSION: " - }, - { - "kind": "Content", - "text": "\".tldr\"" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/tldr/file.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TLDRAW_FILE_EXTENSION", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!Tldraw:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function Tldraw(props: " - }, - { - "kind": "Reference", - "text": "TldrawProps", - "canonicalReference": "@tldraw/tldraw!TldrawProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/Tldraw.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "props", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "Tldraw" - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TldrawFile:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TldrawFile " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/tldr/file.ts", - "releaseTag": "Public", - "name": "TldrawFile", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawFile#records:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "records: " - }, - { - "kind": "Reference", - "text": "UnknownRecord", - "canonicalReference": "@tldraw/store!UnknownRecord:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "records", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawFile#schema:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "schema: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "schema", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawFile#tldrawFileFormatVersion:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "tldrawFileFormatVersion: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "tldrawFileFormatVersion", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawHandles:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawHandles({ children }: " - }, - { - "kind": "Reference", - "text": "TLHandlesProps", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/canvas/TldrawHandles.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawHandles" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawHoveredShapeIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawHoveredShapeIndicator({ shapeId }: " - }, - { - "kind": "Reference", - "text": "TLHoveredShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/canvas/TldrawHoveredShapeIndicator.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ shapeId }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawHoveredShapeIndicator" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawImage:var", - "docComment": "/**\n * A renderered SVG image of a Tldraw snapshot.\n *\n * @example\n * ```tsx\n * \n * \tsnapshot={snapshot}\n * \tpageId={pageId}\n * \tbackground={false}\n * darkMode={true}\n * bounds={new Box(0,0,600,400)}\n * scale={1}\n * />\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawImage: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<{\n snapshot: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n format?: \"png\" | \"svg\" | undefined;\n pageId?: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": " | undefined;\n shapeUtils?: readonly " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[] | undefined;\n bounds?: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined;\n scale?: number | undefined;\n background?: boolean | undefined;\n padding?: number | undefined;\n darkMode?: boolean | undefined;\n preserveAspectRatio?: string | undefined;\n}>" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/TldrawImage.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawImage", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TldrawImageProps:type", - "docComment": "/**\n * Props for the {@link @tldraw/tldraw#TldrawImage} component.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TldrawImageProps = " - }, - { - "kind": "Reference", - "text": "Expand", - "canonicalReference": "@tldraw/utils!Expand:type" - }, - { - "kind": "Content", - "text": "<{\n snapshot: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n format?: 'png' | 'svg';\n pageId?: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";\n shapeUtils?: readonly " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[];\n} & " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSvgOptions", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type" - }, - { - "kind": "Content", - "text": ">>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/TldrawImage.tsx", - "releaseTag": "Public", - "name": "TldrawImageProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 15 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TldrawProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TldrawProps = " - }, - { - "kind": "Reference", - "text": "Expand", - "canonicalReference": "@tldraw/utils!Expand:type" - }, - { - "kind": "Content", - "text": "<(" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawUiProps", - "canonicalReference": "@tldraw/tldraw!TldrawUiProps:type" - }, - { - "kind": "Content", - "text": ", 'components'> & " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawEditorBaseProps", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps:interface" - }, - { - "kind": "Content", - "text": ", 'components'> & {\n components?: " - }, - { - "kind": "Reference", - "text": "TLComponents", - "canonicalReference": "@tldraw/tldraw!TLComponents:type" - }, - { - "kind": "Content", - "text": ";\n}) & " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLExternalContentProps", - "canonicalReference": "@tldraw/tldraw!~TLExternalContentProps:type" - }, - { - "kind": "Content", - "text": "> & ({\n store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLStoreWithStatus", - "canonicalReference": "@tldraw/editor!TLStoreWithStatus:type" - }, - { - "kind": "Content", - "text": ";\n} | {\n store?: undefined;\n persistenceKey?: string;\n sessionId?: string;\n defaultName?: string;\n snapshot?: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n})>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/Tldraw.tsx", - "releaseTag": "Public", - "name": "TldrawProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 25 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawScribble:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawScribble({ scribble, zoom, color, opacity, className }: " - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/canvas/TldrawScribble.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ scribble, zoom, color, opacity, className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawScribble" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawSelectionBackground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawSelectionBackground: ({ bounds, rotation }: " - }, - { - "kind": "Reference", - "text": "TLSelectionBackgroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/canvas/TldrawSelectionBackground.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ bounds, rotation }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawSelectionBackground" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawSelectionForeground:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawSelectionForeground: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "MemoExoticComponent", - "canonicalReference": "@types/react!React.MemoExoticComponent:type" - }, - { - "kind": "Content", - "text": "<({ bounds, rotation, }: " - }, - { - "kind": "Reference", - "text": "TLSelectionForegroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type" - }, - { - "kind": "Content", - "text": ") => import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null>" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/canvas/TldrawSelectionForeground.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawSelectionForeground", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawUi:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawUi: " - }, - { - "kind": "Reference", - "text": "React.NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawUiProps", - "canonicalReference": "@tldraw/tldraw!TldrawUiProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/TldrawUi.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawUi", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps:interface", - "docComment": "/**\n * Base props for the {@link @tldraw/tldraw#Tldraw} and {@link TldrawUi} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TldrawUiBaseProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/TldrawUi.tsx", - "releaseTag": "Public", - "name": "TldrawUiBaseProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps#assetUrls:member", - "docComment": "/**\n * Asset URL override.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "assetUrls?: " - }, - { - "kind": "Reference", - "text": "TLUiAssetUrlOverrides", - "canonicalReference": "@tldraw/tldraw!TLUiAssetUrlOverrides:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "assetUrls", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps#children:member", - "docComment": "/**\n * The component's children.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Reference", - "text": "ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps#components:member", - "docComment": "/**\n * Overrides for the UI components.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "components?: " - }, - { - "kind": "Reference", - "text": "TLUiComponents", - "canonicalReference": "@tldraw/tldraw!TLUiComponents:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "components", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps#hideUi:member", - "docComment": "/**\n * Whether to hide the user interface and only display the canvas.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideUi?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "hideUi", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps#renderDebugMenuItems:member", - "docComment": "/**\n * Additional items to add to the debug menu (will be deprecated)\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "renderDebugMenuItems?: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "renderDebugMenuItems", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawUiButton:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawUiButton: " - }, - { - "kind": "Reference", - "text": "React.ForwardRefExoticComponent", - "canonicalReference": "@types/react!React.ForwardRefExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiButtonProps", - "canonicalReference": "@tldraw/tldraw!TLUiButtonProps:interface" - }, - { - "kind": "Content", - "text": " & " - }, - { - "kind": "Reference", - "text": "React.RefAttributes", - "canonicalReference": "@types/react!React.RefAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLButtonElement", - "canonicalReference": "!HTMLButtonElement:interface" - }, - { - "kind": "Content", - "text": ">>" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButton.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawUiButton", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiButtonCheck:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiButtonCheck({ checked }: " - }, - { - "kind": "Reference", - "text": "TLUiButtonCheckProps", - "canonicalReference": "@tldraw/tldraw!TLUiButtonCheckProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButtonCheck.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ checked }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiButtonCheck" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiButtonIcon:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiButtonIcon({ icon, small, invertIcon }: " - }, - { - "kind": "Reference", - "text": "TLUiButtonIconProps", - "canonicalReference": "@tldraw/tldraw!TLUiButtonIconProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButtonIcon.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ icon, small, invertIcon }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiButtonIcon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiButtonLabel:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiButtonLabel({ children }: " - }, - { - "kind": "Reference", - "text": "TLUiButtonLabelProps", - "canonicalReference": "@tldraw/tldraw!TLUiButtonLabelProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButtonLabel.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiButtonLabel" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawUiButtonPicker:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawUiButtonPicker: " - }, - { - "kind": "Content", - "text": "typeof " - }, - { - "kind": "Reference", - "text": "_TldrawUiButtonPicker", - "canonicalReference": "@tldraw/tldraw!~_TldrawUiButtonPicker:function" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawUiButtonPicker", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiComponentsProvider:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiComponentsProvider({ overrides, children, }: " - }, - { - "kind": "Reference", - "text": "TLUiComponentsProviderProps", - "canonicalReference": "@tldraw/tldraw!TLUiComponentsProviderProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/components.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ overrides, children, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiComponentsProvider" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProvider:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiContextProvider({ overrides, components, assetUrls, onUiEvent, forceMobile, children, }: " - }, - { - "kind": "Reference", - "text": "TldrawUiContextProviderProps", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/TldrawUiContextProvider.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ overrides, components, assetUrls, onUiEvent, forceMobile, children, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiContextProvider" - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps:interface", - "docComment": "/**\n * Props for the {@link @tldraw/tldraw#Tldraw} and {@link TldrawUi} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TldrawUiContextProviderProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/TldrawUiContextProvider.tsx", - "releaseTag": "Public", - "name": "TldrawUiContextProviderProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps#assetUrls:member", - "docComment": "/**\n * Urls for where to find fonts and other assets for the UI.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "assetUrls?: " - }, - { - "kind": "Reference", - "text": "RecursivePartial", - "canonicalReference": "@tldraw/utils!RecursivePartial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiAssetUrls", - "canonicalReference": "@tldraw/tldraw!~TLUiAssetUrls:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "assetUrls", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps#children:member", - "docComment": "/**\n * The component's children.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps#components:member", - "docComment": "/**\n * Overrides for the UI components.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "components?: " - }, - { - "kind": "Reference", - "text": "TLUiComponents", - "canonicalReference": "@tldraw/tldraw!TLUiComponents:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "components", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps#forceMobile:member", - "docComment": "/**\n * Whether to always should the mobile breakpoints.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "forceMobile?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "forceMobile", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps#onUiEvent:member", - "docComment": "/**\n * Callback for when an event occurs in the UI.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onUiEvent?: " - }, - { - "kind": "Reference", - "text": "TLUiEventHandler", - "canonicalReference": "@tldraw/tldraw!TLUiEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onUiEvent", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps#overrides:member", - "docComment": "/**\n * Overrides for the UI.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "overrides?: " - }, - { - "kind": "Reference", - "text": "TLUiOverrides", - "canonicalReference": "@tldraw/tldraw!TLUiOverrides:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLUiOverrides", - "canonicalReference": "@tldraw/tldraw!TLUiOverrides:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "overrides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDialogBody:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDialogBody({ className, children, style }: " - }, - { - "kind": "Reference", - "text": "TLUiDialogBodyProps", - "canonicalReference": "@tldraw/tldraw!TLUiDialogBodyProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, children, style }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDialogBody" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDialogCloseButton:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDialogCloseButton(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "TldrawUiDialogCloseButton" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDialogFooter:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDialogFooter({ className, children }: " - }, - { - "kind": "Reference", - "text": "TLUiDialogFooterProps", - "canonicalReference": "@tldraw/tldraw!TLUiDialogFooterProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDialogFooter" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDialogHeader:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDialogHeader({ className, children }: " - }, - { - "kind": "Reference", - "text": "TLUiDialogHeaderProps", - "canonicalReference": "@tldraw/tldraw!TLUiDialogHeaderProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDialogHeader" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDialogTitle:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDialogTitle({ className, children }: " - }, - { - "kind": "Reference", - "text": "TLUiDialogTitleProps", - "canonicalReference": "@tldraw/tldraw!TLUiDialogTitleProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDialogTitle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuCheckboxItem:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuCheckboxItem({ children, onSelect, ...rest }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuCheckboxItemProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, onSelect, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuCheckboxItem" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuContent({ side, align, sideOffset, alignOffset, children, }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuContentProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuContentProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ side, align, sideOffset, alignOffset, children, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuContent" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuGroup:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuGroup({ children }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuGroupProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuGroupProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuGroup" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuIndicator(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "TldrawUiDropdownMenuIndicator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuItem:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuItem({ noClose, children }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuItemProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuItemProps:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ noClose, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuItem" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuRoot:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuRoot({ id, children, modal, debugOpen, }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuRootProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuRootProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ id, children, modal, debugOpen, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuRoot" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuSub:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuSub({ id, children }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuSubProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuSubProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ id, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuSub" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuSubTrigger:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuSubTrigger({ label, title, disabled, }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuSubTriggerProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuSubTriggerProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ label, title, disabled, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuSubTrigger" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiDropdownMenuTrigger:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiDropdownMenuTrigger({ children, ...rest }: " - }, - { - "kind": "Reference", - "text": "TLUiDropdownMenuTriggerProps", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuTriggerProps:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiDropdownMenuTrigger" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawUiIcon:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawUiIcon: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiIconProps", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiIcon.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawUiIcon", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tldraw!TldrawUiInput:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawUiInput: " - }, - { - "kind": "Reference", - "text": "React.ForwardRefExoticComponent", - "canonicalReference": "@types/react!React.ForwardRefExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiInputProps", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps:interface" - }, - { - "kind": "Content", - "text": " & " - }, - { - "kind": "Reference", - "text": "React.RefAttributes", - "canonicalReference": "@types/react!React.RefAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLInputElement", - "canonicalReference": "!HTMLInputElement:interface" - }, - { - "kind": "Content", - "text": ">>" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiInput.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawUiInput", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiKbd:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiKbd({ children, visibleOnMobileLayout }: " - }, - { - "kind": "Reference", - "text": "TLUiKbdProps", - "canonicalReference": "@tldraw/tldraw!TLUiKbdProps:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiKbd.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, visibleOnMobileLayout }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiKbd" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiMenuCheckboxItem:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiMenuCheckboxItem({ id, kbd, label, readonlyOk, onSelect, disabled, checked, }: " - }, - { - "kind": "Reference", - "text": "TLUiMenuCheckboxItemProps", - "canonicalReference": "@tldraw/tldraw!TLUiMenuCheckboxItemProps:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx", - "returnTypeTokenRange": { - "startIndex": 12, - "endIndex": 15 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ id, kbd, label, readonlyOk, onSelect, disabled, checked, }", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "TranslationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "IconType", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - } - ], - "name": "TldrawUiMenuCheckboxItem" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiMenuContextProvider:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiMenuContextProvider({ type, sourceId, children, }: " - }, - { - "kind": "Reference", - "text": "TLUiMenuContextProviderProps", - "canonicalReference": "@tldraw/tldraw!TLUiMenuContextProviderProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ type, sourceId, children, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiMenuContextProvider" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiMenuGroup:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiMenuGroup({ id, label, children }: " - }, - { - "kind": "Reference", - "text": "TLUiMenuGroupProps", - "canonicalReference": "@tldraw/tldraw!TLUiMenuGroupProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ id, label, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiMenuGroup" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiMenuItem:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiMenuItem({ disabled, spinner, readonlyOk, id, kbd, label, icon, onSelect, noClose, }: " - }, - { - "kind": "Reference", - "text": "TLUiMenuItemProps", - "canonicalReference": "@tldraw/tldraw!TLUiMenuItemProps:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx", - "returnTypeTokenRange": { - "startIndex": 12, - "endIndex": 15 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ disabled, spinner, readonlyOk, id, kbd, label, icon, onSelect, noClose, }", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "TranslationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "IconType", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - } - ], - "name": "TldrawUiMenuItem" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiMenuSubmenu:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiMenuSubmenu({ id, disabled, label, size, children, }: " - }, - { - "kind": "Reference", - "text": "TLUiMenuSubmenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiMenuSubmenuProps:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.tsx", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ id, disabled, label, size, children, }", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "Translation", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "name": "TldrawUiMenuSubmenu" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiPopover:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiPopover({ id, children, onOpenChange, open }: " - }, - { - "kind": "Reference", - "text": "TLUiPopoverProps", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiPopover.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ id, children, onOpenChange, open }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiPopover" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiPopoverContent:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiPopoverContent({ side, children, align, sideOffset, alignOffset, }: " - }, - { - "kind": "Reference", - "text": "TLUiPopoverContentProps", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverContentProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiPopover.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ side, children, align, sideOffset, alignOffset, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiPopoverContent" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!TldrawUiPopoverTrigger:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function TldrawUiPopoverTrigger({ children }: " - }, - { - "kind": "Reference", - "text": "TLUiPopoverTriggerProps", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverTriggerProps:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiPopover.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "TldrawUiPopoverTrigger" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TldrawUiProps:type", - "docComment": "/**\n * Props for the {@link @tldraw/tldraw#Tldraw} and {@link TldrawUi} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TldrawUiProps = " - }, - { - "kind": "Reference", - "text": "TldrawUiBaseProps", - "canonicalReference": "@tldraw/tldraw!TldrawUiBaseProps:interface" - }, - { - "kind": "Content", - "text": " & " - }, - { - "kind": "Reference", - "text": "TldrawUiContextProviderProps", - "canonicalReference": "@tldraw/tldraw!TldrawUiContextProviderProps:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/TldrawUi.tsx", - "releaseTag": "Public", - "name": "TldrawUiProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiActionItem " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/actions.tsx", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "TransationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "IconType", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - } - ], - "name": "TLUiActionItem", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#checkbox:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "checkbox?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "checkbox", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#icon:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "icon?: " - }, - { - "kind": "Content", - "text": "IconType" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "icon", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#kbd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "kbd?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "kbd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#label:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "label?: " - }, - { - "kind": "Content", - "text": "{\n [key: string]: TransationKey;\n } | TransationKey" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "label", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#onSelect:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onSelect: " - }, - { - "kind": "Content", - "text": "(source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onSelect", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#readonlyOk:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonlyOk?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "readonlyOk", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem#title:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "title?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "title", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiActionsContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiActionsContextType = " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/actions.tsx", - "releaseTag": "Public", - "name": "TLUiActionsContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiActionsMenuProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiActionsMenuProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/ActionsMenu/DefaultActionsMenu.d.ts", - "releaseTag": "Public", - "name": "TLUiActionsMenuProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiAssetUrlOverrides:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiAssetUrlOverrides = " - }, - { - "kind": "Reference", - "text": "RecursivePartial", - "canonicalReference": "@tldraw/utils!RecursivePartial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiAssetUrls", - "canonicalReference": "@tldraw/tldraw!~TLUiAssetUrls:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/assetUrls.ts", - "releaseTag": "Public", - "name": "TLUiAssetUrlOverrides", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiButtonCheckProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiButtonCheckProps = " - }, - { - "kind": "Content", - "text": "{\n checked: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButtonCheck.tsx", - "releaseTag": "Public", - "name": "TLUiButtonCheckProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiButtonIconProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiButtonIconProps = " - }, - { - "kind": "Content", - "text": "{\n icon: string;\n small?: boolean;\n invertIcon?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButtonIcon.tsx", - "releaseTag": "Public", - "name": "TLUiButtonIconProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiButtonLabelProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiButtonLabelProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButtonLabel.tsx", - "releaseTag": "Public", - "name": "TLUiButtonLabelProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiButtonPickerProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "TLUiButtonPickerProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps#items:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "items: " - }, - { - "kind": "Reference", - "text": "StyleValuesForUi", - "canonicalReference": "@tldraw/tldraw!~StyleValuesForUi:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "items", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps#onValueChange:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onValueChange: " - }, - { - "kind": "Content", - "text": "(style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", value: T, squashing: boolean) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onValueChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps#style:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "style", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps#title:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "title: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "title", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps#uiType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "uiType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "uiType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonPickerProps#value:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "value: " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "value", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiButtonProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiButtonProps extends " - }, - { - "kind": "Reference", - "text": "React.HTMLAttributes", - "canonicalReference": "@types/react!React.HTMLAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLButtonElement", - "canonicalReference": "!HTMLButtonElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/Button/TldrawUiButton.tsx", - "releaseTag": "Public", - "name": "TLUiButtonProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonProps#disabled:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "disabled?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "disabled", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiButtonProps#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Content", - "text": "'danger' | 'help' | 'icon' | 'low' | 'menu' | 'normal' | 'primary' | 'tool'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiComponents:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiComponents = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n [K in keyof " - }, - { - "kind": "Reference", - "text": "BaseTLUiComponents", - "canonicalReference": "@tldraw/tldraw!~BaseTLUiComponents:interface" - }, - { - "kind": "Content", - "text": "]: " - }, - { - "kind": "Reference", - "text": "BaseTLUiComponents", - "canonicalReference": "@tldraw/tldraw!~BaseTLUiComponents:interface" - }, - { - "kind": "Content", - "text": "[K] | null;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/components.tsx", - "releaseTag": "Public", - "name": "TLUiComponents", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiComponentsProviderProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiComponentsProviderProps = " - }, - { - "kind": "Content", - "text": "{\n overrides?: " - }, - { - "kind": "Reference", - "text": "TLUiComponents", - "canonicalReference": "@tldraw/tldraw!TLUiComponents:type" - }, - { - "kind": "Content", - "text": ";\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/components.tsx", - "releaseTag": "Public", - "name": "TLUiComponentsProviderProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiContextMenuProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiContextMenuProps " - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/ContextMenu/DefaultContextMenu.d.ts", - "releaseTag": "Public", - "name": "TLUiContextMenuProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiContextMenuProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/ContextMenu/DefaultContextMenu.tsx", - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDebugMenuProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDebugMenuProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/DebugMenu/DefaultDebugMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDebugMenuProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiDialog:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiDialog " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/dialogs.tsx", - "releaseTag": "Public", - "name": "TLUiDialog", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDialog#component:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiDialogProps", - "canonicalReference": "@tldraw/tldraw!TLUiDialogProps:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "component", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDialog#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDialog#onClose:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onClose?: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onClose", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDialogBodyProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDialogBodyProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n children: any;\n style?: " - }, - { - "kind": "Reference", - "text": "React.CSSProperties", - "canonicalReference": "@types/react!React.CSSProperties:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "releaseTag": "Public", - "name": "TLUiDialogBodyProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDialogFooterProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDialogFooterProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "releaseTag": "Public", - "name": "TLUiDialogFooterProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDialogHeaderProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDialogHeaderProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/primitives/TldrawUiDialog.d.ts", - "releaseTag": "Public", - "name": "TLUiDialogHeaderProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiDialogProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiDialogProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/dialogs.tsx", - "releaseTag": "Public", - "name": "TLUiDialogProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDialogProps#onClose:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onClose: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onClose", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDialogsContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDialogsContextType = " - }, - { - "kind": "Content", - "text": "{\n addDialog: (dialog: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiDialog", - "canonicalReference": "@tldraw/tldraw!TLUiDialog:interface" - }, - { - "kind": "Content", - "text": ", 'id'> & {\n id?: string;\n }) => string;\n removeDialog: (id: string) => string;\n updateDialog: (id: string, newDialogData: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiDialog", - "canonicalReference": "@tldraw/tldraw!TLUiDialog:interface" - }, - { - "kind": "Content", - "text": ">) => string;\n clearDialogs: () => void;\n dialogs: " - }, - { - "kind": "Reference", - "text": "TLUiDialog", - "canonicalReference": "@tldraw/tldraw!TLUiDialog:interface" - }, - { - "kind": "Content", - "text": "[];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/dialogs.tsx", - "releaseTag": "Public", - "name": "TLUiDialogsContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDialogTitleProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDialogTitleProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDialog.tsx", - "releaseTag": "Public", - "name": "TLUiDialogTitleProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiDropdownMenuCheckboxItemProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuCheckboxItemProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps#checked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "checked?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "checked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps#disabled:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "disabled?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "disabled", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps#onSelect:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onSelect?: " - }, - { - "kind": "Content", - "text": "(e: " - }, - { - "kind": "Reference", - "text": "Event", - "canonicalReference": "!Event:interface" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onSelect", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuCheckboxItemProps#title:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "title: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "title", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuContentProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDropdownMenuContentProps = " - }, - { - "kind": "Content", - "text": "{\n id?: string;\n children: any;\n alignOffset?: number;\n sideOffset?: number;\n align?: 'center' | 'end' | 'start';\n side?: 'bottom' | 'left' | 'right' | 'top';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuContentProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuGroupProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDropdownMenuGroupProps = " - }, - { - "kind": "Content", - "text": "{\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuGroupProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuItemProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiDropdownMenuItemProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuItemProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuItemProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuItemProps#noClose:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "noClose?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "noClose", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuRootProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDropdownMenuRootProps = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n children: any;\n modal?: boolean;\n debugOpen?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuRootProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuSubProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDropdownMenuSubProps = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuSubProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuSubTriggerProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiDropdownMenuSubTriggerProps = " - }, - { - "kind": "Content", - "text": "{\n label: string;\n id?: string;\n title?: string;\n disabled?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuSubTriggerProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuTriggerProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiDropdownMenuTriggerProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiDropdownMenu.tsx", - "releaseTag": "Public", - "name": "TLUiDropdownMenuTriggerProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiDropdownMenuTriggerProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiEventContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiEventContextType = " - }, - { - "kind": "Reference", - "text": "TLUiEventHandler", - "canonicalReference": "@tldraw/tldraw!TLUiEventHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "releaseTag": "Public", - "name": "TLUiEventContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiEventHandler = " - }, - { - "kind": "Content", - "text": "(name: T, data: " - }, - { - "kind": "Reference", - "text": "Join", - "canonicalReference": "@tldraw/tldraw!~Join:type" - }, - { - "kind": "Content", - "text": "<{\n source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ";\n}, " - }, - { - "kind": "Reference", - "text": "TLUiEventMap", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap:interface" - }, - { - "kind": "Content", - "text": "[T]>) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "releaseTag": "Public", - "name": "TLUiEventHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - } - } - ], - "typeTokenRange": { - "startIndex": 7, - "endIndex": 14 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiEventMap " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "releaseTag": "Public", - "name": "TLUiEventMap", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"align-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'align-shapes': " - }, - { - "kind": "Content", - "text": "{\n operation: 'bottom' | 'center-horizontal' | 'center-vertical' | 'left' | 'right' | 'top';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"align-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"change-language\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'change-language': " - }, - { - "kind": "Content", - "text": "{\n locale: string;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"change-language\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"close-menu\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'close-menu': " - }, - { - "kind": "Content", - "text": "{\n id: string;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"close-menu\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"convert-to-bookmark\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'convert-to-bookmark': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"convert-to-bookmark\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"convert-to-embed\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'convert-to-embed': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"convert-to-embed\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"copy-as\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'copy-as': " - }, - { - "kind": "Content", - "text": "{\n format: 'json' | 'png' | 'svg';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"copy-as\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"create-new-project\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'create-new-project': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"create-new-project\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"delete-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'delete-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"delete-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"distribute-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'distribute-shapes': " - }, - { - "kind": "Content", - "text": "{\n operation: 'horizontal' | 'vertical';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"distribute-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"duplicate-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'duplicate-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"duplicate-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"edit-link\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'edit-link': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"edit-link\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"exit-pen-mode\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'exit-pen-mode': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"exit-pen-mode\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"export-as\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'export-as': " - }, - { - "kind": "Content", - "text": "{\n format: 'json' | 'png' | 'svg';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"export-as\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"fit-frame-to-content\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'fit-frame-to-content': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"fit-frame-to-content\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"flip-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'flip-shapes': " - }, - { - "kind": "Content", - "text": "{\n operation: 'horizontal' | 'vertical';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"flip-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"group-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'group-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"group-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"insert-embed\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'insert-embed': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"insert-embed\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"insert-media\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'insert-media': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"insert-media\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"move-to-page\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'move-to-page': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"move-to-page\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"new-page\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'new-page': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"new-page\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"open-cursor-chat\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'open-cursor-chat': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"open-cursor-chat\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"open-embed-link\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'open-embed-link': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"open-embed-link\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"open-file\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'open-file': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"open-file\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"open-menu\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'open-menu': " - }, - { - "kind": "Content", - "text": "{\n id: string;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"open-menu\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"pack-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'pack-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"pack-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"remove-frame\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'remove-frame': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"remove-frame\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"reorder-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'reorder-shapes': " - }, - { - "kind": "Content", - "text": "{\n operation: 'backward' | 'forward' | 'toBack' | 'toFront';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"reorder-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"reset-zoom\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'reset-zoom': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"reset-zoom\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"rotate-ccw\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'rotate-ccw': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"rotate-ccw\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"rotate-cw\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'rotate-cw': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"rotate-cw\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"save-project-to-file\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'save-project-to-file': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"save-project-to-file\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"select-all-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'select-all-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"select-all-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"select-none-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'select-none-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"select-none-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"select-tool\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'select-tool': " - }, - { - "kind": "Content", - "text": "{\n id: string;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"select-tool\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"set-style\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'set-style': " - }, - { - "kind": "Content", - "text": "{\n id: string;\n value: number | string;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"set-style\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"stack-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stack-shapes': " - }, - { - "kind": "Content", - "text": "{\n operation: 'horizontal' | 'vertical';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stack-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"stop-following\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stop-following': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stop-following\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"stretch-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stretch-shapes': " - }, - { - "kind": "Content", - "text": "{\n operation: 'horizontal' | 'vertical';\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stretch-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-auto-size\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-auto-size': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-auto-size\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-dark-mode\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-dark-mode': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-dark-mode\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-debug-mode\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-debug-mode': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-debug-mode\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-edge-scrolling\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-edge-scrolling': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-edge-scrolling\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-focus-mode\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-focus-mode': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-focus-mode\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-grid-mode\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-grid-mode': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-grid-mode\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-lock\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-lock': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-lock\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-reduce-motion\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-reduce-motion': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-reduce-motion\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-snap-mode\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-snap-mode': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-snap-mode\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-tool-lock\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-tool-lock': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-tool-lock\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"toggle-transparent\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'toggle-transparent': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"toggle-transparent\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"ungroup-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'ungroup-shapes': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"ungroup-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"unlock-all\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'unlock-all': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"unlock-all\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-in\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-in': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-in\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-into-view\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-into-view': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-into-view\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-out\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-out': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-out\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-to-content\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-to-content': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-to-content\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-to-fit\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-to-fit': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-to-fit\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-to-selection\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-to-selection': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-to-selection\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#\"zoom-tool\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'zoom-tool': " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"zoom-tool\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#copy:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "copy: " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "copy", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#cut:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cut: " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "cut", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#paste:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "paste: " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "paste", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#print:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "print: " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "print", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#redo:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "redo: " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "redo", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiEventMap#undo:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "undo: " - }, - { - "kind": "Content", - "text": "null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "undo", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiEventSource = " - }, - { - "kind": "Content", - "text": "'actions-menu' | 'context-menu' | 'debug-panel' | 'dialog' | 'document-name' | 'export-menu' | 'help-menu' | 'helper-buttons' | 'kbd' | 'menu' | 'navigation-zone' | 'page-menu' | 'people-menu' | 'quick-actions' | 'share-menu' | 'style-panel' | 'toolbar' | 'unknown' | 'zoom-menu'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "releaseTag": "Public", - "name": "TLUiEventSource", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiHelperButtonsProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiHelperButtonsProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/HelperButtons/DefaultHelperButtons.tsx", - "releaseTag": "Public", - "name": "TLUiHelperButtonsProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiHelpMenuProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiHelpMenuProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/HelpMenu/DefaultHelpMenu.d.ts", - "releaseTag": "Public", - "name": "TLUiHelpMenuProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiIconProps extends " - }, - { - "kind": "Reference", - "text": "React.HTMLProps", - "canonicalReference": "@types/react!React.HTMLProps:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLDivElement", - "canonicalReference": "!HTMLDivElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiIcon.tsx", - "releaseTag": "Public", - "name": "TLUiIconProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps#color:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "color?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "color", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps#crossOrigin:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "crossOrigin?: " - }, - { - "kind": "Content", - "text": "'anonymous' | 'use-credentials'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "crossOrigin", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps#icon:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "icon: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLUiIconType", - "canonicalReference": "@tldraw/tldraw!TLUiIconType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "icon", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps#invertIcon:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "invertIcon?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "invertIcon", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiIconProps#small:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "small?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "small", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiIconType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiIconType = " - }, - { - "kind": "Content", - "text": "'align-bottom-center' | 'align-bottom-left' | 'align-bottom-right' | 'align-bottom' | 'align-center-center' | 'align-center-horizontal' | 'align-center-left' | 'align-center-right' | 'align-center-vertical' | 'align-left' | 'align-right' | 'align-top-center' | 'align-top-left' | 'align-top-right' | 'align-top' | 'arrow-left' | 'arrowhead-arrow' | 'arrowhead-bar' | 'arrowhead-diamond' | 'arrowhead-dot' | 'arrowhead-none' | 'arrowhead-square' | 'arrowhead-triangle-inverted' | 'arrowhead-triangle' | 'aspect-ratio' | 'avatar' | 'blob' | 'bring-forward' | 'bring-to-front' | 'check' | 'checkbox-checked' | 'checkbox-empty' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'chevrons-ne' | 'chevrons-sw' | 'clipboard-copied' | 'clipboard-copy' | 'code' | 'collab' | 'color' | 'comment' | 'cross-2' | 'cross' | 'dash-dashed' | 'dash-dotted' | 'dash-draw' | 'dash-solid' | 'discord' | 'distribute-horizontal' | 'distribute-vertical' | 'dot' | 'dots-horizontal' | 'dots-vertical' | 'drag-handle-dots' | 'duplicate' | 'edit' | 'external-link' | 'file' | 'fill-none' | 'fill-pattern' | 'fill-semi' | 'fill-solid' | 'follow' | 'following' | 'font-draw' | 'font-mono' | 'font-sans' | 'font-serif' | 'geo-arrow-down' | 'geo-arrow-left' | 'geo-arrow-right' | 'geo-arrow-up' | 'geo-check-box' | 'geo-cloud' | 'geo-diamond' | 'geo-ellipse' | 'geo-hexagon' | 'geo-octagon' | 'geo-oval' | 'geo-pentagon' | 'geo-rectangle' | 'geo-rhombus-2' | 'geo-rhombus' | 'geo-star' | 'geo-trapezoid' | 'geo-triangle' | 'geo-x-box' | 'github' | 'group' | 'hidden' | 'image' | 'info-circle' | 'leading' | 'link' | 'lock-small' | 'lock' | 'menu' | 'minus' | 'mixed' | 'pack' | 'page' | 'plus' | 'question-mark-circle' | 'question-mark' | 'redo' | 'reset-zoom' | 'rotate-ccw' | 'rotate-cw' | 'ruler' | 'search' | 'send-backward' | 'send-to-back' | 'settings-horizontal' | 'settings-vertical-1' | 'settings-vertical' | 'share-1' | 'share-2' | 'size-extra-large' | 'size-large' | 'size-medium' | 'size-small' | 'spline-cubic' | 'spline-line' | 'stack-horizontal' | 'stack-vertical' | 'status-offline' | 'status-online' | 'stretch-horizontal' | 'stretch-vertical' | 'text-align-center' | 'text-align-justify' | 'text-align-left' | 'text-align-right' | 'tool-arrow' | 'tool-embed' | 'tool-eraser' | 'tool-frame' | 'tool-hand' | 'tool-highlight' | 'tool-laser' | 'tool-line' | 'tool-media' | 'tool-note' | 'tool-pencil' | 'tool-pointer' | 'tool-text' | 'trash' | 'triangle-down' | 'triangle-up' | 'twitter' | 'undo' | 'ungroup' | 'unlock-small' | 'unlock' | 'vertical-align-center' | 'vertical-align-end' | 'vertical-align-start' | 'visible' | 'warning-triangle' | 'zoom-in' | 'zoom-out'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/icon-types.ts", - "releaseTag": "Public", - "name": "TLUiIconType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiInputProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiInput.tsx", - "releaseTag": "Public", - "name": "TLUiInputProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#autofocus:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "autofocus?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "autofocus", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#autoselect:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "autoselect?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "autoselect", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#className:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "className?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "className", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#defaultValue:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "defaultValue?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "defaultValue", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#disabled:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "disabled?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "disabled", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#icon:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "icon?: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLUiIconType", - "canonicalReference": "@tldraw/tldraw!TLUiIconType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "icon", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#iconLeft:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "iconLeft?: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLUiIconType", - "canonicalReference": "@tldraw/tldraw!TLUiIconType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "iconLeft", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#label:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "label?: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLUiTranslationKey", - "canonicalReference": "@tldraw/tldraw!TLUiTranslationKey:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "label", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#onBlur:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBlur?: " - }, - { - "kind": "Content", - "text": "(value: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBlur", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#onCancel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCancel?: " - }, - { - "kind": "Content", - "text": "(value: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onCancel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#onComplete:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onComplete?: " - }, - { - "kind": "Content", - "text": "(value: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onComplete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#onValueChange:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onValueChange?: " - }, - { - "kind": "Content", - "text": "(value: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onValueChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#placeholder:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "placeholder?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "placeholder", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#shouldManuallyMaintainScrollPositionWhenFocused:member", - "docComment": "/**\n * Usually on iOS when you focus an input, the browser will adjust the viewport to bring the input into view. Sometimes this doesn't work properly though - for example, if the input is newly created, iOS seems to have a hard time adjusting the viewport for it. This prop allows you to opt-in to some extra code to manually bring the input into view when the visual viewport of the browser changes, but we don't want to use it everywhere because generally the native behavior looks nicer in scenarios where it's sufficient.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shouldManuallyMaintainScrollPositionWhenFocused?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "shouldManuallyMaintainScrollPositionWhenFocused", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiInputProps#value:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "value?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "value", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiKbdProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiKbdProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiKbd.tsx", - "releaseTag": "Public", - "name": "TLUiKbdProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiKbdProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiKbdProps#visibleOnMobileLayout:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "visibleOnMobileLayout?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "visibleOnMobileLayout", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiKeyboardShortcutsDialogProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiKeyboardShortcutsDialogProps = " - }, - { - "kind": "Reference", - "text": "TLUiDialogProps", - "canonicalReference": "@tldraw/tldraw!TLUiDialogProps:interface" - }, - { - "kind": "Content", - "text": " & {\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog.tsx", - "releaseTag": "Public", - "name": "TLUiKeyboardShortcutsDialogProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiMainMenuProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiMainMenuProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/MainMenu/DefaultMainMenu.d.ts", - "releaseTag": "Public", - "name": "TLUiMainMenuProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiMenuCheckboxItemProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiMenuCheckboxItemProps = " - }, - { - "kind": "Content", - "text": "{\n icon?: IconType;\n id: string;\n kbd?: string;\n title?: string;\n label?: {\n [key: string]: TranslationKey;\n } | TranslationKey;\n readonlyOk?: boolean;\n onSelect: (source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": " | void;\n checked?: boolean;\n disabled?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx", - "releaseTag": "Public", - "name": "TLUiMenuCheckboxItemProps", - "typeParameters": [ - { - "typeParameterName": "TranslationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "IconType", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - } - ], - "typeTokenRange": { - "startIndex": 9, - "endIndex": 14 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiMenuContextProviderProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiMenuContextProviderProps = " - }, - { - "kind": "Content", - "text": "{\n type: " - }, - { - "kind": "Reference", - "text": "TldrawUiMenuContextType", - "canonicalReference": "@tldraw/tldraw!~TldrawUiMenuContextType:type" - }, - { - "kind": "Content", - "text": ";\n sourceId: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ";\n children: " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx", - "releaseTag": "Public", - "name": "TLUiMenuContextProviderProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiMenuGroupProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiMenuGroupProps = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n label?: {\n [key: string]: TranslationKey;\n } | TranslationKey;\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx", - "releaseTag": "Public", - "name": "TLUiMenuGroupProps", - "typeParameters": [ - { - "typeParameterName": "TranslationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiMenuItemProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiMenuItemProps = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n icon?: IconType;\n kbd?: string;\n title?: string;\n label?: {\n [key: string]: TranslationKey;\n } | TranslationKey;\n readonlyOk?: boolean;\n onSelect: (source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": " | void;\n disabled?: boolean;\n noClose?: boolean;\n spinner?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx", - "releaseTag": "Public", - "name": "TLUiMenuItemProps", - "typeParameters": [ - { - "typeParameterName": "TranslationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "IconType", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - } - ], - "typeTokenRange": { - "startIndex": 9, - "endIndex": 14 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiMenuSubmenuProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiMenuSubmenuProps = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n label?: {\n [key: string]: Translation;\n } | Translation;\n disabled?: boolean;\n children: any;\n size?: 'medium' | 'small' | 'tiny' | 'wide';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.tsx", - "releaseTag": "Public", - "name": "TLUiMenuSubmenuProps", - "typeParameters": [ - { - "typeParameterName": "Translation", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiOverrides:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiOverrides = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n actions: " - }, - { - "kind": "Reference", - "text": "WithDefaultHelpers", - "canonicalReference": "@tldraw/tldraw!~WithDefaultHelpers:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "ActionsProviderProps", - "canonicalReference": "@tldraw/tldraw!~ActionsProviderProps:type" - }, - { - "kind": "Content", - "text": "['overrides']>>;\n toolbar: " - }, - { - "kind": "Reference", - "text": "WithDefaultHelpers", - "canonicalReference": "@tldraw/tldraw!~WithDefaultHelpers:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiToolbarSchemaProviderProps", - "canonicalReference": "@tldraw/tldraw!~TLUiToolbarSchemaProviderProps:type" - }, - { - "kind": "Content", - "text": "['overrides']>>;\n tools: " - }, - { - "kind": "Reference", - "text": "WithDefaultHelpers", - "canonicalReference": "@tldraw/tldraw!~WithDefaultHelpers:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiToolsProviderProps", - "canonicalReference": "@tldraw/tldraw!TLUiToolsProviderProps:type" - }, - { - "kind": "Content", - "text": "['overrides']>>;\n translations: " - }, - { - "kind": "Reference", - "text": "TLUiTranslationProviderProps", - "canonicalReference": "@tldraw/tldraw!~TLUiTranslationProviderProps:interface" - }, - { - "kind": "Content", - "text": "['overrides'];\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/overrides.ts", - "releaseTag": "Public", - "name": "TLUiOverrides", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 23 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverContentProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiPopoverContentProps = " - }, - { - "kind": "Content", - "text": "{\n children: " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";\n side: 'bottom' | 'left' | 'right' | 'top';\n align?: 'center' | 'end' | 'start';\n alignOffset?: number;\n sideOffset?: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiPopover.tsx", - "releaseTag": "Public", - "name": "TLUiPopoverContentProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiPopoverProps = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n open?: boolean;\n children: " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";\n onOpenChange?: (isOpen: boolean) => void;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiPopover.tsx", - "releaseTag": "Public", - "name": "TLUiPopoverProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverTriggerProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiPopoverTriggerProps " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/primitives/TldrawUiPopover.tsx", - "releaseTag": "Public", - "name": "TLUiPopoverTriggerProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiPopoverTriggerProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiQuickActionsProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiQuickActionsProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/QuickActions/DefaultQuickActions.d.ts", - "releaseTag": "Public", - "name": "TLUiQuickActionsProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelContentProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiStylePanelContentProps = " - }, - { - "kind": "Content", - "text": "{\n styles: " - }, - { - "kind": "Reference", - "text": "ReturnType", - "canonicalReference": "!ReturnType:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx", - "releaseTag": "Public", - "name": "TLUiStylePanelContentProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiStylePanelProps " - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/StylePanel/DefaultStylePanel.d.ts", - "releaseTag": "Public", - "name": "TLUiStylePanelProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx", - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelProps#isMobile:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isMobile?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx", - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "isMobile", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiToast:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiToast " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/toasts.tsx", - "releaseTag": "Public", - "name": "TLUiToast", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#actions:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "actions?: " - }, - { - "kind": "Reference", - "text": "TLUiToastAction", - "canonicalReference": "@tldraw/tldraw!TLUiToastAction:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "actions", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#closeLabel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "closeLabel?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "closeLabel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#description:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "description?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "description", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#icon:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "icon?: " - }, - { - "kind": "Reference", - "text": "TLUiIconType", - "canonicalReference": "@tldraw/tldraw!TLUiIconType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "icon", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#keepOpen:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "keepOpen?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "keepOpen", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToast#title:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "title?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "title", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiToastAction:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiToastAction " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/toasts.tsx", - "releaseTag": "Public", - "name": "TLUiToastAction", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToastAction#label:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "label: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "label", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToastAction#onClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onClick: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToastAction#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Content", - "text": "'danger' | 'normal' | 'primary'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiToastsContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiToastsContextType = " - }, - { - "kind": "Content", - "text": "{\n addToast: (toast: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiToast", - "canonicalReference": "@tldraw/tldraw!TLUiToast:interface" - }, - { - "kind": "Content", - "text": ", 'id'> & {\n id?: string;\n }) => string;\n removeToast: (id: " - }, - { - "kind": "Reference", - "text": "TLUiToast", - "canonicalReference": "@tldraw/tldraw!TLUiToast:interface" - }, - { - "kind": "Content", - "text": "['id']) => string;\n clearToasts: () => void;\n toasts: " - }, - { - "kind": "Reference", - "text": "TLUiToast", - "canonicalReference": "@tldraw/tldraw!TLUiToast:interface" - }, - { - "kind": "Content", - "text": "[];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/toasts.tsx", - "releaseTag": "Public", - "name": "TLUiToastsContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiToolbarItem:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiToolbarItem = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n type: 'item';\n readonlyOk?: boolean;\n toolItem: " - }, - { - "kind": "Reference", - "text": "TLUiToolItem", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useToolbarSchema.tsx", - "releaseTag": "Public", - "name": "TLUiToolbarItem", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiToolbarSchemaContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiToolbarSchemaContextType = " - }, - { - "kind": "Reference", - "text": "TLUiToolbarItem", - "canonicalReference": "@tldraw/tldraw!TLUiToolbarItem:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useToolbarSchema.tsx", - "releaseTag": "Public", - "name": "TLUiToolbarSchemaContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUiToolItem " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTools.tsx", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "TranslationKey", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "IconType", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - } - ], - "name": "TLUiToolItem", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#icon:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "icon: " - }, - { - "kind": "Content", - "text": "IconType" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "icon", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#kbd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "kbd?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "kbd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#label:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "label: " - }, - { - "kind": "Content", - "text": "TranslationKey" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "label", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta?: " - }, - { - "kind": "Content", - "text": "{\n [key: string]: any;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#onSelect:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onSelect: " - }, - { - "kind": "Content", - "text": "(source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onSelect", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#readonlyOk:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonlyOk?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "readonlyOk", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem#shortcutsLabel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shortcutsLabel?: " - }, - { - "kind": "Content", - "text": "TranslationKey" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "shortcutsLabel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiToolsContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiToolsContextType = " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTools.tsx", - "releaseTag": "Public", - "name": "TLUiToolsContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiToolsProviderProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiToolsProviderProps = " - }, - { - "kind": "Content", - "text": "{\n overrides?: (editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", tools: " - }, - { - "kind": "Reference", - "text": "TLUiToolsContextType", - "canonicalReference": "@tldraw/tldraw!TLUiToolsContextType:type" - }, - { - "kind": "Content", - "text": ", helpers: {\n insertMedia: () => void;\n }) => " - }, - { - "kind": "Reference", - "text": "TLUiToolsContextType", - "canonicalReference": "@tldraw/tldraw!TLUiToolsContextType:type" - }, - { - "kind": "Content", - "text": ";\n children: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTools.tsx", - "releaseTag": "Public", - "name": "TLUiToolsProviderProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiTranslation:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiTranslation = " - }, - { - "kind": "Content", - "text": "{\n readonly locale: string;\n readonly label: string;\n readonly messages: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiTranslationKey", - "canonicalReference": "@tldraw/tldraw!TLUiTranslationKey:type" - }, - { - "kind": "Content", - "text": ", string>;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTranslation/translations.ts", - "releaseTag": "Public", - "name": "TLUiTranslation", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiTranslationContextType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiTranslationContextType = " - }, - { - "kind": "Reference", - "text": "TLUiTranslation", - "canonicalReference": "@tldraw/tldraw!TLUiTranslation:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTranslation/useTranslation.tsx", - "releaseTag": "Public", - "name": "TLUiTranslationContextType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiTranslationKey:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiTranslationKey = " - }, - { - "kind": "Content", - "text": "'action.align-bottom' | 'action.align-center-horizontal.short' | 'action.align-center-horizontal' | 'action.align-center-vertical.short' | 'action.align-center-vertical' | 'action.align-left' | 'action.align-right' | 'action.align-top' | 'action.back-to-content' | 'action.bring-forward' | 'action.bring-to-front' | 'action.convert-to-bookmark' | 'action.convert-to-embed' | 'action.copy-as-json.short' | 'action.copy-as-json' | 'action.copy-as-png.short' | 'action.copy-as-png' | 'action.copy-as-svg.short' | 'action.copy-as-svg' | 'action.copy' | 'action.cut' | 'action.delete' | 'action.distribute-horizontal.short' | 'action.distribute-horizontal' | 'action.distribute-vertical.short' | 'action.distribute-vertical' | 'action.duplicate' | 'action.edit-link' | 'action.exit-pen-mode' | 'action.export-as-json.short' | 'action.export-as-json' | 'action.export-as-png.short' | 'action.export-as-png' | 'action.export-as-svg.short' | 'action.export-as-svg' | 'action.fit-frame-to-content' | 'action.flip-horizontal.short' | 'action.flip-horizontal' | 'action.flip-vertical.short' | 'action.flip-vertical' | 'action.fork-project' | 'action.group' | 'action.insert-embed' | 'action.insert-media' | 'action.leave-shared-project' | 'action.new-project' | 'action.new-shared-project' | 'action.open-cursor-chat' | 'action.open-embed-link' | 'action.open-file' | 'action.pack' | 'action.paste' | 'action.print' | 'action.redo' | 'action.remove-frame' | 'action.rename' | 'action.rotate-ccw' | 'action.rotate-cw' | 'action.save-copy' | 'action.select-all' | 'action.select-none' | 'action.send-backward' | 'action.send-to-back' | 'action.share-project' | 'action.stack-horizontal.short' | 'action.stack-horizontal' | 'action.stack-vertical.short' | 'action.stack-vertical' | 'action.stop-following' | 'action.stretch-horizontal.short' | 'action.stretch-horizontal' | 'action.stretch-vertical.short' | 'action.stretch-vertical' | 'action.toggle-auto-size' | 'action.toggle-dark-mode.menu' | 'action.toggle-dark-mode' | 'action.toggle-debug-mode.menu' | 'action.toggle-debug-mode' | 'action.toggle-edge-scrolling.menu' | 'action.toggle-edge-scrolling' | 'action.toggle-focus-mode.menu' | 'action.toggle-focus-mode' | 'action.toggle-grid.menu' | 'action.toggle-grid' | 'action.toggle-lock' | 'action.toggle-reduce-motion.menu' | 'action.toggle-reduce-motion' | 'action.toggle-snap-mode.menu' | 'action.toggle-snap-mode' | 'action.toggle-tool-lock.menu' | 'action.toggle-tool-lock' | 'action.toggle-transparent.context-menu' | 'action.toggle-transparent.menu' | 'action.toggle-transparent' | 'action.undo' | 'action.ungroup' | 'action.unlock-all' | 'action.zoom-in' | 'action.zoom-out' | 'action.zoom-to-100' | 'action.zoom-to-fit' | 'action.zoom-to-selection' | 'actions-menu.title' | 'align-style.end' | 'align-style.justify' | 'align-style.middle' | 'align-style.start' | 'arrowheadEnd-style.arrow' | 'arrowheadEnd-style.bar' | 'arrowheadEnd-style.diamond' | 'arrowheadEnd-style.dot' | 'arrowheadEnd-style.inverted' | 'arrowheadEnd-style.none' | 'arrowheadEnd-style.pipe' | 'arrowheadEnd-style.square' | 'arrowheadEnd-style.triangle' | 'arrowheadStart-style.arrow' | 'arrowheadStart-style.bar' | 'arrowheadStart-style.diamond' | 'arrowheadStart-style.dot' | 'arrowheadStart-style.inverted' | 'arrowheadStart-style.none' | 'arrowheadStart-style.pipe' | 'arrowheadStart-style.square' | 'arrowheadStart-style.triangle' | 'color-style.black' | 'color-style.blue' | 'color-style.green' | 'color-style.grey' | 'color-style.light-blue' | 'color-style.light-green' | 'color-style.light-red' | 'color-style.light-violet' | 'color-style.orange' | 'color-style.red' | 'color-style.violet' | 'color-style.yellow' | 'context-menu.arrange' | 'context-menu.copy-as' | 'context-menu.export-as' | 'context-menu.move-to-page' | 'context-menu.reorder' | 'context.pages.new-page' | 'cursor-chat.type-to-chat' | 'dash-style.dashed' | 'dash-style.dotted' | 'dash-style.draw' | 'dash-style.solid' | 'debug-panel.more' | 'document.default-name' | 'edit-link-dialog.cancel' | 'edit-link-dialog.clear' | 'edit-link-dialog.detail' | 'edit-link-dialog.invalid-url' | 'edit-link-dialog.save' | 'edit-link-dialog.title' | 'edit-link-dialog.url' | 'edit-pages-dialog.move-down' | 'edit-pages-dialog.move-up' | 'embed-dialog.back' | 'embed-dialog.cancel' | 'embed-dialog.create' | 'embed-dialog.instruction' | 'embed-dialog.invalid-url' | 'embed-dialog.title' | 'embed-dialog.url' | 'file-system.confirm-clear.cancel' | 'file-system.confirm-clear.continue' | 'file-system.confirm-clear.description' | 'file-system.confirm-clear.dont-show-again' | 'file-system.confirm-clear.title' | 'file-system.confirm-open.cancel' | 'file-system.confirm-open.description' | 'file-system.confirm-open.dont-show-again' | 'file-system.confirm-open.open' | 'file-system.confirm-open.title' | 'file-system.file-open-error.file-format-version-too-new' | 'file-system.file-open-error.generic-corrupted-file' | 'file-system.file-open-error.not-a-tldraw-file' | 'file-system.file-open-error.title' | 'file-system.shared-document-file-open-error.description' | 'file-system.shared-document-file-open-error.title' | 'fill-style.none' | 'fill-style.pattern' | 'fill-style.semi' | 'fill-style.solid' | 'focus-mode.toggle-focus-mode' | 'font-style.draw' | 'font-style.mono' | 'font-style.sans' | 'font-style.serif' | 'geo-style.arrow-down' | 'geo-style.arrow-left' | 'geo-style.arrow-right' | 'geo-style.arrow-up' | 'geo-style.check-box' | 'geo-style.cloud' | 'geo-style.diamond' | 'geo-style.ellipse' | 'geo-style.hexagon' | 'geo-style.octagon' | 'geo-style.oval' | 'geo-style.pentagon' | 'geo-style.rectangle' | 'geo-style.rhombus-2' | 'geo-style.rhombus' | 'geo-style.star' | 'geo-style.trapezoid' | 'geo-style.triangle' | 'geo-style.x-box' | 'help-menu.about' | 'help-menu.discord' | 'help-menu.github' | 'help-menu.keyboard-shortcuts' | 'help-menu.title' | 'help-menu.twitter' | 'home-project-dialog.description' | 'home-project-dialog.ok' | 'home-project-dialog.title' | 'menu.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | 'menu.language' | 'menu.preferences' | 'menu.title' | 'menu.view' | 'navigation-zone.toggle-minimap' | 'navigation-zone.zoom' | 'opacity-style.0.1' | 'opacity-style.0.25' | 'opacity-style.0.5' | 'opacity-style.0.75' | 'opacity-style.1' | 'page-menu.create-new-page' | 'page-menu.edit-done' | 'page-menu.edit-start' | 'page-menu.go-to-page' | 'page-menu.max-page-count-reached' | 'page-menu.new-page-initial-name' | 'page-menu.submenu.delete' | 'page-menu.submenu.duplicate-page' | 'page-menu.submenu.move-down' | 'page-menu.submenu.move-up' | 'page-menu.submenu.rename' | 'page-menu.submenu.title' | 'page-menu.title' | 'people-menu.change-color' | 'people-menu.change-name' | 'people-menu.follow' | 'people-menu.following' | 'people-menu.invite' | 'people-menu.leading' | 'people-menu.title' | 'people-menu.user' | 'rename-project-dialog.cancel' | 'rename-project-dialog.rename' | 'rename-project-dialog.title' | 'share-menu.copy-link-note' | 'share-menu.copy-link' | 'share-menu.copy-readonly-link-note' | 'share-menu.copy-readonly-link' | 'share-menu.create-snapshot-link' | 'share-menu.default-project-name' | 'share-menu.fork-note' | 'share-menu.offline-note' | 'share-menu.project-too-large' | 'share-menu.readonly-link' | 'share-menu.save-note' | 'share-menu.share-project' | 'share-menu.snapshot-link-note' | 'share-menu.title' | 'share-menu.upload-failed' | 'sharing.confirm-leave.cancel' | 'sharing.confirm-leave.description' | 'sharing.confirm-leave.dont-show-again' | 'sharing.confirm-leave.leave' | 'sharing.confirm-leave.title' | 'shortcuts-dialog.collaboration' | 'shortcuts-dialog.edit' | 'shortcuts-dialog.file' | 'shortcuts-dialog.preferences' | 'shortcuts-dialog.title' | 'shortcuts-dialog.tools' | 'shortcuts-dialog.transform' | 'shortcuts-dialog.view' | 'size-style.l' | 'size-style.m' | 'size-style.s' | 'size-style.xl' | 'spline-style.cubic' | 'spline-style.line' | 'status.offline' | 'status.online' | 'style-panel.align' | 'style-panel.arrowhead-end' | 'style-panel.arrowhead-start' | 'style-panel.arrowheads' | 'style-panel.color' | 'style-panel.dash' | 'style-panel.fill' | 'style-panel.font' | 'style-panel.geo' | 'style-panel.mixed' | 'style-panel.opacity' | 'style-panel.position' | 'style-panel.size' | 'style-panel.spline' | 'style-panel.title' | 'style-panel.vertical-align' | 'toast.close' | 'toast.error.copy-fail.desc' | 'toast.error.copy-fail.title' | 'toast.error.export-fail.desc' | 'toast.error.export-fail.title' | 'tool-panel.drawing' | 'tool-panel.more' | 'tool-panel.shapes' | 'tool.arrow-down' | 'tool.arrow-left' | 'tool.arrow-right' | 'tool.arrow-up' | 'tool.arrow' | 'tool.asset' | 'tool.check-box' | 'tool.cloud' | 'tool.diamond' | 'tool.draw' | 'tool.ellipse' | 'tool.embed' | 'tool.eraser' | 'tool.frame' | 'tool.hand' | 'tool.hexagon' | 'tool.highlight' | 'tool.laser' | 'tool.line' | 'tool.note' | 'tool.octagon' | 'tool.oval' | 'tool.pentagon' | 'tool.rectangle' | 'tool.rhombus' | 'tool.select' | 'tool.star' | 'tool.text' | 'tool.trapezoid' | 'tool.triangle' | 'tool.x-box' | 'verticalAlign-style.end' | 'verticalAlign-style.middle' | 'verticalAlign-style.start' | 'vscode.file-open.backup-failed' | 'vscode.file-open.backup-saved' | 'vscode.file-open.backup' | 'vscode.file-open.desc' | 'vscode.file-open.dont-show-again' | 'vscode.file-open.open'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts", - "releaseTag": "Public", - "name": "TLUiTranslationKey", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tldraw!TLUiZoomMenuProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUiZoomMenuProps = " - }, - { - "kind": "Content", - "text": "{\n children?: any;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/.tsbuild-api/lib/ui/components/ZoomMenu/DefaultZoomMenu.d.ts", - "releaseTag": "Public", - "name": "TLUiZoomMenuProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!toolbarItem:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toolbarItem(toolItem: " - }, - { - "kind": "Reference", - "text": "TLUiToolItem", - "canonicalReference": "@tldraw/tldraw!TLUiToolItem:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLUiToolbarItem", - "canonicalReference": "@tldraw/tldraw!TLUiToolbarItem:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useToolbarSchema.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "toolItem", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "toolbarItem" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!truncateStringWithEllipsis:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "truncateStringWithEllipsis: (str: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", maxLength: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "string" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/utils/text/text.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "str", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "maxLength", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "truncateStringWithEllipsis" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!UiEventsProvider:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function UiEventsProvider({ onEvent, children }: " - }, - { - "kind": "Reference", - "text": "EventsProviderProps", - "canonicalReference": "@tldraw/tldraw!EventsProviderProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ onEvent, children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "UiEventsProvider" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!unwrapLabel:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function unwrapLabel(label?: " - }, - { - "kind": "Reference", - "text": "TLUiActionItem", - "canonicalReference": "@tldraw/tldraw!TLUiActionItem:interface" - }, - { - "kind": "Content", - "text": "['label']" - }, - { - "kind": "Content", - "text": ", menuType?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/actions.tsx", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "label", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": true - }, - { - "parameterName": "menuType", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": true - } - ], - "name": "unwrapLabel" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useActions:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useActions(): " - }, - { - "kind": "Reference", - "text": "TLUiActionsContextType", - "canonicalReference": "@tldraw/tldraw!TLUiActionsContextType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/actions.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useActions" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useBreakpoint:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useBreakpoint(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/breakpoints.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useBreakpoint" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useCanRedo:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useCanRedo(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/menu-hooks.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useCanRedo" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useCanUndo:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useCanUndo(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/menu-hooks.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useCanUndo" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useCopyAs:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useCopyAs(): " - }, - { - "kind": "Content", - "text": "(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[], format?: " - }, - { - "kind": "Reference", - "text": "TLCopyType", - "canonicalReference": "@tldraw/tldraw!~TLCopyType:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useCopyAs.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useCopyAs" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useDefaultHelpers:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useDefaultHelpers(): " - }, - { - "kind": "Content", - "text": "{\n addToast: (toast: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": " & {\n id?: string | undefined;\n }) => string;\n removeToast: (id: string) => string;\n clearToasts: () => void;\n addDialog: (dialog: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": " & {\n id?: string | undefined;\n }) => string;\n clearDialogs: () => void;\n removeDialog: (id: string) => string;\n updateDialog: (id: string, newDialogData: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": ") => string;\n msg: (id?: string | undefined) => string;\n isMobile: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/overrides.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useDefaultHelpers" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useDialogs:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useDialogs(): " - }, - { - "kind": "Reference", - "text": "TLUiDialogsContextType", - "canonicalReference": "@tldraw/tldraw!TLUiDialogsContextType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/dialogs.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useDialogs" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useExportAs:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useExportAs(): " - }, - { - "kind": "Content", - "text": "(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[], format: " - }, - { - "kind": "Reference", - "text": "TLExportType", - "canonicalReference": "@tldraw/tldraw!~TLExportType:type" - }, - { - "kind": "Content", - "text": " | undefined, name: string | undefined) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useExportAs.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useExportAs" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useKeyboardShortcuts:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useKeyboardShortcuts(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useKeyboardShortcuts.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useKeyboardShortcuts" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useLocalStorageState:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useLocalStorageState(key: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", defaultValue: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "readonly [T, (setter: ((value: T) => T) | T) => void]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useLocalStorageState.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "key", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "defaultValue", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "name": "useLocalStorageState" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useMenuClipboardEvents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useMenuClipboardEvents(): " - }, - { - "kind": "Content", - "text": "{\n copy: (source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ") => void;\n cut: (source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ") => void;\n paste: (data: " - }, - { - "kind": "Reference", - "text": "ClipboardItem", - "canonicalReference": "!ClipboardItem:interface" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "DataTransfer", - "canonicalReference": "!DataTransfer:interface" - }, - { - "kind": "Content", - "text": ", source: " - }, - { - "kind": "Reference", - "text": "TLUiEventSource", - "canonicalReference": "@tldraw/tldraw!TLUiEventSource:type" - }, - { - "kind": "Content", - "text": ", point?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useClipboardEvents.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 16 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useMenuClipboardEvents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useMenuIsOpen:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useMenuIsOpen(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", cb?: " - }, - { - "kind": "Content", - "text": "(isOpen: boolean) => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "readonly [boolean, (isOpen: boolean) => void]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useMenuIsOpen.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "cb", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "name": "useMenuIsOpen" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useNativeClipboardEvents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useNativeClipboardEvents(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useClipboardEvents.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useNativeClipboardEvents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useReadonly:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useReadonly(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useReadonly.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useReadonly" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useRelevantStyles:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useRelevantStyles(stylesToCheck?: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "ReadonlySharedStyleMap", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useRelevantStyles.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "stylesToCheck", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "name": "useRelevantStyles" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useTldrawUiComponents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTldrawUiComponents(): " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n ContextMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiContextMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiContextMenuProps:interface" - }, - { - "kind": "Content", - "text": "> | null;\n ActionsMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiActionsMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiActionsMenuProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n HelpMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiHelpMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiHelpMenuProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n ZoomMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiZoomMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiZoomMenuProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n MainMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiMainMenuProps", - "canonicalReference": "@tldraw/tldraw!TLUiMainMenuProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Minimap: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n StylePanel: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiStylePanelProps", - "canonicalReference": "@tldraw/tldraw!TLUiStylePanelProps:interface" - }, - { - "kind": "Content", - "text": "> | null;\n PageMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n NavigationPanel: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n Toolbar: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n KeyboardShortcutsDialog: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiKeyboardShortcutsDialogProps", - "canonicalReference": "@tldraw/tldraw!TLUiKeyboardShortcutsDialogProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n QuickActions: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiQuickActionsProps", - "canonicalReference": "@tldraw/tldraw!TLUiQuickActionsProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n HelperButtons: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUiHelperButtonsProps", - "canonicalReference": "@tldraw/tldraw!TLUiHelperButtonsProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n DebugMenu: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n MenuPanel: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n TopPanel: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n SharePanel: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/components.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 55 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useTldrawUiComponents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useToasts:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useToasts(): " - }, - { - "kind": "Reference", - "text": "TLUiToastsContextType", - "canonicalReference": "@tldraw/tldraw!TLUiToastsContextType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/toasts.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useToasts" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useToolbarSchema:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useToolbarSchema(): " - }, - { - "kind": "Reference", - "text": "TLUiToolbarSchemaContextType", - "canonicalReference": "@tldraw/tldraw!TLUiToolbarSchemaContextType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useToolbarSchema.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useToolbarSchema" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useTools:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTools(): " - }, - { - "kind": "Reference", - "text": "TLUiToolsContextType", - "canonicalReference": "@tldraw/tldraw!TLUiToolsContextType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTools.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useTools" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useTranslation:function(1)", - "docComment": "/**\n * Returns a function to translate a translation key into a string based on the current translation.\n *\n * @example\n * ```ts\n * const msg = useTranslation()\n * const label = msg('style-panel.styles')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTranslation(): " - }, - { - "kind": "Content", - "text": "(id?: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": " | string) => string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/hooks/useTranslation/useTranslation.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useTranslation" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tldraw!useUiEvents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useUiEvents(): " - }, - { - "kind": "Reference", - "text": "TLUiEventContextType", - "canonicalReference": "@tldraw/tldraw!TLUiEventContextType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tldraw/src/lib/ui/context/events.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useUiEvents" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class VideoShapeUtil extends " - }, - { - "kind": "Reference", - "text": "BaseBoxShapeUtil", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLVideoShape", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/shapes/video/VideoShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "VideoShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil#canEdit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLVideoShape", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLVideoShape", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLVideoShape", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil#isAspectRatioLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAspectRatioLocked: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isAspectRatioLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "{\n w: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n time: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n playing: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n assetId: import(\"@tldraw/editor\")." - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 16 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil#toSvg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg(shape: " - }, - { - "kind": "Reference", - "text": "TLVideoShape", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SVGGElement", - "canonicalReference": "!SVGGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!VideoShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"video\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tldraw!ZoomTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ZoomTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tldraw/src/lib/tools/ZoomTool/ZoomTool.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "ZoomTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/tldraw!~Idle_12:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/tldraw!~Pointing_8:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "ZoomBrushing", - "canonicalReference": "@tldraw/tldraw!~ZoomBrushing:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool#info:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "info: " - }, - { - "kind": "Reference", - "text": "TLPointerEventInfo", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type" - }, - { - "kind": "Content", - "text": " & {\n onInteractionEnd?: string | undefined;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "info", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool#onEnter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEnter: " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLPointerEventInfo", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type" - }, - { - "kind": "Content", - "text": " & {\n onInteractionEnd: string;\n }) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onEnter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool#onExit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onExit: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onExit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool#onInterrupt:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onInterrupt: " - }, - { - "kind": "Reference", - "text": "TLInterruptEvent", - "canonicalReference": "@tldraw/editor!TLInterruptEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onInterrupt", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool#onKeyDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyDown: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tldraw!ZoomTool#onKeyUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyUp: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - } - ] - } - ] -} diff --git a/apps/docs/api/tlschema.api.json b/apps/docs/api/tlschema.api.json deleted file mode 100644 index 24eb2c131..000000000 --- a/apps/docs/api/tlschema.api.json +++ /dev/null @@ -1,9760 +0,0 @@ -{ - "metadata": { - "toolPackage": "@microsoft/api-extractor", - "toolVersion": "7.41.0", - "schemaVersion": 1011, - "oldestForwardsCompatibleVersion": 1001, - "tsdocConfig": { - "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", - "noStandardTags": true, - "tagDefinitions": [ - { - "tagName": "@alpha", - "syntaxKind": "modifier" - }, - { - "tagName": "@beta", - "syntaxKind": "modifier" - }, - { - "tagName": "@defaultValue", - "syntaxKind": "block" - }, - { - "tagName": "@decorator", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@deprecated", - "syntaxKind": "block" - }, - { - "tagName": "@eventProperty", - "syntaxKind": "modifier" - }, - { - "tagName": "@example", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@experimental", - "syntaxKind": "modifier" - }, - { - "tagName": "@inheritDoc", - "syntaxKind": "inline" - }, - { - "tagName": "@internal", - "syntaxKind": "modifier" - }, - { - "tagName": "@label", - "syntaxKind": "inline" - }, - { - "tagName": "@link", - "syntaxKind": "inline", - "allowMultiple": true - }, - { - "tagName": "@override", - "syntaxKind": "modifier" - }, - { - "tagName": "@packageDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@param", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@privateRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@public", - "syntaxKind": "modifier" - }, - { - "tagName": "@readonly", - "syntaxKind": "modifier" - }, - { - "tagName": "@remarks", - "syntaxKind": "block" - }, - { - "tagName": "@returns", - "syntaxKind": "block" - }, - { - "tagName": "@sealed", - "syntaxKind": "modifier" - }, - { - "tagName": "@see", - "syntaxKind": "block" - }, - { - "tagName": "@throws", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@typeParam", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@virtual", - "syntaxKind": "modifier" - }, - { - "tagName": "@betaDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@internalRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@preapproved", - "syntaxKind": "modifier" - } - ], - "supportForTags": { - "@alpha": true, - "@beta": true, - "@defaultValue": true, - "@decorator": true, - "@deprecated": true, - "@eventProperty": true, - "@example": true, - "@experimental": true, - "@inheritDoc": true, - "@internal": true, - "@label": true, - "@link": true, - "@override": true, - "@packageDocumentation": true, - "@param": true, - "@privateRemarks": true, - "@public": true, - "@readonly": true, - "@remarks": true, - "@returns": true, - "@sealed": true, - "@see": true, - "@throws": true, - "@typeParam": true, - "@virtual": true, - "@betaDocumentation": true, - "@internalRemarks": true, - "@preapproved": true - }, - "reportUnsupportedHtmlElements": false - } - }, - "kind": "Package", - "canonicalReference": "@tldraw/tlschema!", - "docComment": "", - "name": "@tldraw/tlschema", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EntryPoint", - "canonicalReference": "@tldraw/tlschema!", - "name": "", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!ArrowShapeArrowheadEndStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "ArrowShapeArrowheadEndStyle: " - }, - { - "kind": "Content", - "text": "import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow\" | \"bar\" | \"diamond\" | \"dot\" | \"inverted\" | \"none\" | \"pipe\" | \"square\" | \"triangle\">" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "ArrowShapeArrowheadEndStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!ArrowShapeArrowheadStartStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "ArrowShapeArrowheadStartStyle: " - }, - { - "kind": "Content", - "text": "import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow\" | \"bar\" | \"diamond\" | \"dot\" | \"inverted\" | \"none\" | \"pipe\" | \"square\" | \"triangle\">" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "ArrowShapeArrowheadStartStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!arrowShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "arrowShapeProps: " - }, - { - "kind": "Content", - "text": "{\n labelColor: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n color: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n fill: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">;\n dash: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n arrowheadStart: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow\" | \"bar\" | \"diamond\" | \"dot\" | \"inverted\" | \"none\" | \"pipe\" | \"square\" | \"triangle\">;\n arrowheadEnd: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow\" | \"bar\" | \"diamond\" | \"dot\" | \"inverted\" | \"none\" | \"pipe\" | \"square\" | \"triangle\">;\n font: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n start: " - }, - { - "kind": "Reference", - "text": "T.UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "<\"type\", {\n binding: " - }, - { - "kind": "Reference", - "text": "T.ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"binding\";\n boundShapeId: import(\"..\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n normalizedAnchor: import(\"../misc/geometry-types\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n isExact: boolean;\n isPrecise: boolean;\n } & {}>;\n point: " - }, - { - "kind": "Reference", - "text": "T.ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n x: number;\n y: number;\n type: \"point\";\n } & {}>;\n }, never>;\n end: " - }, - { - "kind": "Reference", - "text": "T.UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "<\"type\", {\n binding: " - }, - { - "kind": "Reference", - "text": "T.ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"binding\";\n boundShapeId: import(\"..\")." - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n normalizedAnchor: import(\"../misc/geometry-types\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n isExact: boolean;\n isPrecise: boolean;\n } & {}>;\n point: " - }, - { - "kind": "Reference", - "text": "T.ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n x: number;\n y: number;\n type: \"point\";\n } & {}>;\n }, never>;\n bend: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n labelPosition: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "arrowShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 44 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!assetIdValidator:var", - "docComment": "/**\n * A validator for asset record type Ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "assetIdValidator: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tlschema/src/assets/TLBaseAsset.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "assetIdValidator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!AssetRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "AssetRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": ", \"props\" | \"type\">" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLAsset.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "AssetRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!bookmarkShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bookmarkShapeProps: " - }, - { - "kind": "Content", - "text": "{\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n assetId: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBookmarkShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "bookmarkShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface", - "docComment": "/**\n * A serializable model for 2D boxes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface BoxModel " - } - ], - "fileUrlPath": "packages/tlschema/src/misc/geometry-types.ts", - "releaseTag": "Public", - "name": "BoxModel", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!BoxModel#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!BoxModel#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!BoxModel#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!BoxModel#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!boxModelValidator:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "boxModelValidator: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/geometry-types.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "boxModelValidator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!CameraRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "CameraRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCamera", - "canonicalReference": "@tldraw/tlschema!TLCamera:interface" - }, - { - "kind": "Content", - "text": ", never>" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLCamera.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "CameraRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!canvasUiColorTypeValidator:var", - "docComment": "/**\n * A validator for the colors used by tldraw's default shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canvasUiColorTypeValidator: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<\"accent\" | \"black\" | \"laser\" | \"muted-1\" | \"selection-fill\" | \"selection-stroke\" | \"white\">" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLColor.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "canvasUiColorTypeValidator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!createAssetValidator:function(1)", - "docComment": "/**\n * Create a validator for an asset record type.\n *\n * @param type - The type of the asset\n *\n * @param props - The validator for the asset's props\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createAssetValidator(type: " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ", props: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "T.ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{ [P in \"id\" | \"meta\" | \"typeName\" | (undefined extends Props ? never : \"props\") | (undefined extends Type ? never : \"type\")]: {\n id: " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: 'asset';\n type: Type;\n props: Props;\n meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n}[P]; } & { [P_1 in (undefined extends Props ? \"props\" : never) | (undefined extends Type ? \"type\" : never)]?: {\n id: " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": ";\n typeName: 'asset';\n type: Type;\n props: Props;\n meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";\n}[P_1] | undefined; }>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/assets/TLBaseAsset.ts", - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 20 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "props", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "Type", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Props", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "createAssetValidator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!createPresenceStateDerivation:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createPresenceStateDerivation: ($user: " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": "<{\n id: string;\n color: string;\n name: string;\n}>" - }, - { - "kind": "Content", - "text": ", instanceId?: " - }, - { - "kind": "Reference", - "text": "TLInstancePresence", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence:interface" - }, - { - "kind": "Content", - "text": "['id']" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/tlschema/src/createPresenceStateDerivation.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 14 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "$user", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "instanceId", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": true - } - ], - "name": "createPresenceStateDerivation" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!createShapeId:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createShapeId(id?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "name": "createShapeId" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!createShapeValidator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createShapeValidator(type: " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ", props?: " - }, - { - "kind": "Content", - "text": "{\n [K in keyof Props]: " - }, - { - "kind": "Reference", - "text": "T.Validatable", - "canonicalReference": "@tldraw/validate!Validatable:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ", meta?: " - }, - { - "kind": "Content", - "text": "{\n [K in keyof Meta]: " - }, - { - "kind": "Reference", - "text": "T.Validatable", - "canonicalReference": "@tldraw/validate!Validatable:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "T.ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{ [P in \"id\" | \"index\" | \"isLocked\" | \"meta\" | \"opacity\" | \"parentId\" | \"rotation\" | \"typeName\" | \"x\" | \"y\" | (undefined extends Props ? never : \"props\") | (undefined extends Type ? never : \"type\")]: " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "[P]; } & { [P_1 in (undefined extends Props ? \"props\" : never) | (undefined extends Type ? \"type\" : never)]?: " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "[P_1] | undefined; }>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBaseShape.ts", - "returnTypeTokenRange": { - "startIndex": 17, - "endIndex": 23 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - }, - { - "parameterName": "props", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 12 - }, - "isOptional": true - }, - { - "parameterName": "meta", - "parameterTypeTokenRange": { - "startIndex": 13, - "endIndex": 16 - }, - "isOptional": true - } - ], - "typeParameters": [ - { - "typeParameterName": "Type", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Props", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Meta", - "constraintTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "createShapeValidator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!createTLSchema:function(1)", - "docComment": "/**\n * Create a TLSchema with custom shapes. Custom shapes cannot override default shapes.\n *\n * @param opts - Options\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createTLSchema({ shapes }: " - }, - { - "kind": "Content", - "text": "{\n shapes: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLSchema", - "canonicalReference": "@tldraw/tlschema!TLSchema:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/createTLSchema.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ shapes }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "createTLSchema" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultColorStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultColorStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLColorStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultColorStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultColorThemePalette:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultColorThemePalette: " - }, - { - "kind": "Content", - "text": "{\n lightMode: " - }, - { - "kind": "Reference", - "text": "TLDefaultColorTheme", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorTheme:type" - }, - { - "kind": "Content", - "text": ";\n darkMode: " - }, - { - "kind": "Reference", - "text": "TLDefaultColorTheme", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorTheme:type" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLColorStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultColorThemePalette", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultDashStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultDashStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLDashStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultDashStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultFillStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultFillStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLFillStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultFillStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultFontFamilies:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultFontFamilies: " - }, - { - "kind": "Content", - "text": "{\n draw: string;\n sans: string;\n serif: string;\n mono: string;\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLFontStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultFontFamilies", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultFontStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultFontStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLFontStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultFontStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultHorizontalAlignStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultHorizontalAlignStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLHorizontalAlignStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultHorizontalAlignStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultSizeStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultSizeStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLSizeStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultSizeStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DefaultVerticalAlignStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultVerticalAlignStyle: " - }, - { - "kind": "Content", - "text": "import(\"./StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end\" | \"middle\" | \"start\">" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLVerticalAlignStyle.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultVerticalAlignStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!DocumentRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DocumentRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ", never>" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLDocument.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "DocumentRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!drawShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "drawShapeProps: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n fill: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">;\n dash: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n segments: " - }, - { - "kind": "Reference", - "text": "T.ArrayOfValidator", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"free\" | \"straight\";\n points: import(\"../misc/geometry-types\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[];\n } & {}>;\n isComplete: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n isClosed: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n isPen: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLDrawShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "drawShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!EMBED_DEFINITIONS:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "EMBED_DEFINITIONS: " - }, - { - "kind": "Content", - "text": "readonly [{\n readonly type: \"tldraw\";\n readonly title: \"tldraw\";\n readonly hostnames: readonly [\"beta.tldraw.com\", \"tldraw.com\"];\n readonly minWidth: 300;\n readonly minHeight: 300;\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: true;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"figma\";\n readonly title: \"Figma\";\n readonly hostnames: readonly [\"figma.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: true;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"google_maps\";\n readonly title: \"Google Maps\";\n readonly hostnames: readonly [\"google.*\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"val_town\";\n readonly title: \"Val Town\";\n readonly hostnames: readonly [\"val.town\"];\n readonly minWidth: 260;\n readonly minHeight: 100;\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"codesandbox\";\n readonly title: \"CodeSandbox\";\n readonly hostnames: readonly [\"codesandbox.io\"];\n readonly minWidth: 300;\n readonly minHeight: 300;\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"codepen\";\n readonly title: \"Codepen\";\n readonly hostnames: readonly [\"codepen.io\"];\n readonly minWidth: 300;\n readonly minHeight: 300;\n readonly width: 520;\n readonly height: 400;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"scratch\";\n readonly title: \"Scratch\";\n readonly hostnames: readonly [\"scratch.mit.edu\"];\n readonly width: 520;\n readonly height: 400;\n readonly doesResize: false;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"youtube\";\n readonly title: \"YouTube\";\n readonly hostnames: readonly [\"*.youtube.com\", \"youtube.com\", \"youtu.be\"];\n readonly width: 800;\n readonly height: 450;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly overridePermissions: {\n readonly 'allow-presentation': true;\n };\n readonly isAspectRatioLocked: true;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"google_calendar\";\n readonly title: \"Google Calendar\";\n readonly hostnames: readonly [\"calendar.google.*\"];\n readonly width: 720;\n readonly height: 500;\n readonly minWidth: 460;\n readonly minHeight: 360;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly instructionLink: \"https://support.google.com/calendar/answer/41207?hl=en\";\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"google_slides\";\n readonly title: \"Google Slides\";\n readonly hostnames: readonly [\"docs.google.*\"];\n readonly width: 720;\n readonly height: 500;\n readonly minWidth: 460;\n readonly minHeight: 360;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"github_gist\";\n readonly title: \"GitHub Gist\";\n readonly hostnames: readonly [\"gist.github.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: true;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"replit\";\n readonly title: \"Replit\";\n readonly hostnames: readonly [\"replit.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"felt\";\n readonly title: \"Felt\";\n readonly hostnames: readonly [\"felt.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"spotify\";\n readonly title: \"Spotify\";\n readonly hostnames: readonly [\"open.spotify.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly minHeight: 500;\n readonly overrideOutlineRadius: 12;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"vimeo\";\n readonly title: \"Vimeo\";\n readonly hostnames: readonly [\"vimeo.com\", \"player.vimeo.com\"];\n readonly width: 640;\n readonly height: 360;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly isAspectRatioLocked: true;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"excalidraw\";\n readonly title: \"Excalidraw\";\n readonly hostnames: readonly [\"excalidraw.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly isAspectRatioLocked: true;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}, {\n readonly type: \"observable\";\n readonly title: \"Observable\";\n readonly hostnames: readonly [\"observablehq.com\"];\n readonly width: 720;\n readonly height: 500;\n readonly doesResize: true;\n readonly canUnmount: false;\n readonly isAspectRatioLocked: false;\n readonly backgroundColor: \"#fff\";\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}]" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLEmbedShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "EMBED_DEFINITIONS", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!EmbedDefinition:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type EmbedDefinition = " - }, - { - "kind": "Content", - "text": "{\n readonly type: string;\n readonly title: string;\n readonly hostnames: readonly string[];\n readonly minWidth?: number;\n readonly minHeight?: number;\n readonly width: number;\n readonly height: number;\n readonly doesResize: boolean;\n readonly canUnmount: boolean;\n readonly isAspectRatioLocked?: boolean;\n readonly overridePermissions?: " - }, - { - "kind": "Reference", - "text": "TLEmbedShapePermissions", - "canonicalReference": "@tldraw/tlschema!TLEmbedShapePermissions:type" - }, - { - "kind": "Content", - "text": ";\n readonly instructionLink?: string;\n readonly backgroundColor?: string;\n readonly overrideOutlineRadius?: number;\n readonly toEmbedUrl: (url: string) => string | undefined;\n readonly fromEmbedUrl: (url: string) => string | undefined;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLEmbedShape.ts", - "releaseTag": "Public", - "name": "EmbedDefinition", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!embedShapePermissionDefaults:var", - "docComment": "/**\n * Permissions with note inline from https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "embedShapePermissionDefaults: " - }, - { - "kind": "Content", - "text": "{\n readonly 'allow-downloads-without-user-activation': false;\n readonly 'allow-downloads': false;\n readonly 'allow-modals': false;\n readonly 'allow-orientation-lock': false;\n readonly 'allow-pointer-lock': false;\n readonly 'allow-popups': true;\n readonly 'allow-popups-to-escape-sandbox': false;\n readonly 'allow-presentation': false;\n readonly 'allow-storage-access-by-user-activation': false;\n readonly 'allow-top-navigation': false;\n readonly 'allow-top-navigation-by-user-activation': false;\n readonly 'allow-scripts': true;\n readonly 'allow-same-origin': true;\n readonly 'allow-forms': true;\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLEmbedShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "embedShapePermissionDefaults", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!embedShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "embedShapeProps: " - }, - { - "kind": "Content", - "text": "{\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLEmbedShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "embedShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class", - "docComment": "/**\n * See {@link StyleProp} & {@link StyleProp.defineEnum}\n *\n * @remarks\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `EnumStyleProp` class.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class EnumStyleProp extends " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/styles/StyleProp.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "EnumStyleProp", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp#values:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly values: " - }, - { - "kind": "Content", - "text": "readonly T[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "values", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!frameShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "frameShapeProps: " - }, - { - "kind": "Content", - "text": "{\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n name: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLFrameShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "frameShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!GeoShapeGeoStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "GeoShapeGeoStyle: " - }, - { - "kind": "Content", - "text": "import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow-down\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up\" | \"check-box\" | \"cloud\" | \"diamond\" | \"ellipse\" | \"hexagon\" | \"octagon\" | \"oval\" | \"pentagon\" | \"rectangle\" | \"rhombus-2\" | \"rhombus\" | \"star\" | \"trapezoid\" | \"triangle\" | \"x-box\">" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLGeoShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "GeoShapeGeoStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!geoShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "geoShapeProps: " - }, - { - "kind": "Content", - "text": "{\n geo: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"arrow-down\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up\" | \"check-box\" | \"cloud\" | \"diamond\" | \"ellipse\" | \"hexagon\" | \"octagon\" | \"oval\" | \"pentagon\" | \"rectangle\" | \"rhombus-2\" | \"rhombus\" | \"star\" | \"trapezoid\" | \"triangle\" | \"x-box\">;\n labelColor: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n color: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n fill: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"none\" | \"pattern\" | \"semi\" | \"solid\">;\n dash: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n font: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n align: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">;\n verticalAlign: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end\" | \"middle\" | \"start\">;\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n growY: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLGeoShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "geoShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 30 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!getDefaultColorTheme:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getDefaultColorTheme(opts: " - }, - { - "kind": "Content", - "text": "{\n isDarkMode: boolean;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLDefaultColorTheme", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorTheme:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLColorStyle.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getDefaultColorTheme" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!getDefaultTranslationLocale:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getDefaultTranslationLocale(): " - }, - { - "kind": "Reference", - "text": "TLLanguage", - "canonicalReference": "@tldraw/tlschema!TLLanguage:type" - }, - { - "kind": "Content", - "text": "['locale']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/translations/translations.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "getDefaultTranslationLocale" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!highlightShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "highlightShapeProps: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n size: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n segments: " - }, - { - "kind": "Reference", - "text": "T.ArrayOfValidator", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:class" - }, - { - "kind": "Content", - "text": "<{\n type: \"free\" | \"straight\";\n points: import(\"..\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[];\n } & {}>;\n isComplete: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n isPen: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLHighlightShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "highlightShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!imageShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "imageShapeProps: " - }, - { - "kind": "Content", - "text": "{\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n playing: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n assetId: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n crop: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<({\n topLeft: import(\"../misc/geometry-types\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n bottomRight: import(\"../misc/geometry-types\")." - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n } & {}) | null>;\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLImageShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "imageShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!InstancePageStateRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "InstancePageStateRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": ", \"pageId\">" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPageState.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "InstancePageStateRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!InstancePresenceRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "InstancePresenceRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstancePresence", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence:interface" - }, - { - "kind": "Content", - "text": ", \"currentPageId\" | \"userId\" | \"userName\">" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPresence.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "InstancePresenceRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!isPageId:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function isPageId(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "id", - "canonicalReference": "@tldraw/tlschema!~id" - }, - { - "kind": "Content", - "text": " is " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPage.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "isPageId" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!isShape:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function isShape(record?: " - }, - { - "kind": "Reference", - "text": "UnknownRecord", - "canonicalReference": "@tldraw/store!UnknownRecord:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "record", - "canonicalReference": "@tldraw/tlschema!~record" - }, - { - "kind": "Content", - "text": " is " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "record", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "name": "isShape" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/tlschema!isShapeId:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function isShapeId(id?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "id", - "canonicalReference": "@tldraw/tlschema!~id" - }, - { - "kind": "Content", - "text": " is " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "name": "isShapeId" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!LANGUAGES:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "LANGUAGES: " - }, - { - "kind": "Content", - "text": "readonly [{\n readonly locale: \"ca\";\n readonly label: \"Català\";\n}, {\n readonly locale: \"cs\";\n readonly label: \"Čeština\";\n}, {\n readonly locale: \"da\";\n readonly label: \"Danish\";\n}, {\n readonly locale: \"de\";\n readonly label: \"Deutsch\";\n}, {\n readonly locale: \"en\";\n readonly label: \"English\";\n}, {\n readonly locale: \"es\";\n readonly label: \"Español\";\n}, {\n readonly locale: \"fr\";\n readonly label: \"Français\";\n}, {\n readonly locale: \"gl\";\n readonly label: \"Galego\";\n}, {\n readonly locale: \"hr\";\n readonly label: \"Hrvatski\";\n}, {\n readonly locale: \"it\";\n readonly label: \"Italiano\";\n}, {\n readonly locale: \"hu\";\n readonly label: \"Magyar\";\n}, {\n readonly locale: \"no\";\n readonly label: \"Norwegian\";\n}, {\n readonly locale: \"pl\";\n readonly label: \"Polski\";\n}, {\n readonly locale: \"pt-br\";\n readonly label: \"Português - Brasil\";\n}, {\n readonly locale: \"pt-pt\";\n readonly label: \"Português - Europeu\";\n}, {\n readonly locale: \"ro\";\n readonly label: \"Română\";\n}, {\n readonly locale: \"ru\";\n readonly label: \"Russian\";\n}, {\n readonly locale: \"sl\";\n readonly label: \"Slovenščina\";\n}, {\n readonly locale: \"fi\";\n readonly label: \"Suomi\";\n}, {\n readonly locale: \"sv\";\n readonly label: \"Svenska\";\n}, {\n readonly locale: \"vi\";\n readonly label: \"Tiếng Việt\";\n}, {\n readonly locale: \"tr\";\n readonly label: \"Türkçe\";\n}, {\n readonly locale: \"uk\";\n readonly label: \"Ukrainian\";\n}, {\n readonly locale: \"he\";\n readonly label: \"עברית\";\n}, {\n readonly locale: \"ar\";\n readonly label: \"عربي\";\n}, {\n readonly locale: \"fa\";\n readonly label: \"فارسی\";\n}, {\n readonly locale: \"ku\";\n readonly label: \"کوردی\";\n}, {\n readonly locale: \"ne\";\n readonly label: \"नेपाली\";\n}, {\n readonly locale: \"hi-in\";\n readonly label: \"हिन्दी\";\n}, {\n readonly locale: \"te\";\n readonly label: \"తెలుగు\";\n}, {\n readonly locale: \"th\";\n readonly label: \"ภาษาไทย\";\n}, {\n readonly locale: \"my\";\n readonly label: \"မြန်မာစာ\";\n}, {\n readonly locale: \"ko-kr\";\n readonly label: \"한국어\";\n}, {\n readonly locale: \"ja\";\n readonly label: \"日本語\";\n}, {\n readonly locale: \"zh-cn\";\n readonly label: \"简体中文\";\n}, {\n readonly locale: \"zh-tw\";\n readonly label: \"繁體中文 (台灣)\";\n}]" - } - ], - "fileUrlPath": "packages/tlschema/src/translations/languages.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "LANGUAGES", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!lineShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "lineShapeProps: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n dash: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"dashed\" | \"dotted\" | \"draw\" | \"solid\">;\n size: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n spline: import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"cubic\" | \"line\">;\n points: " - }, - { - "kind": "Reference", - "text": "T.DictValidator", - "canonicalReference": "@tldraw/validate!DictValidator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLLineShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "lineShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!LineShapeSplineStyle:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "LineShapeSplineStyle: " - }, - { - "kind": "Content", - "text": "import(\"../styles/StyleProp\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"cubic\" | \"line\">" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLLineShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "LineShapeSplineStyle", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!noteShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "noteShapeProps: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n size: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n font: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n align: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">;\n verticalAlign: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end\" | \"middle\" | \"start\">;\n growY: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLNoteShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "noteShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 18 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!PageRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "PageRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ", \"index\" | \"name\">" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPage.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "PageRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!parentIdValidator:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "parentIdValidator: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBaseShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "parentIdValidator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!PointerRecordType:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "PointerRecordType: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "RecordType", - "canonicalReference": "@tldraw/store!RecordType:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPointer", - "canonicalReference": "@tldraw/tlschema!~TLPointer:interface" - }, - { - "kind": "Content", - "text": ", never>" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPointer.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "PointerRecordType", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!SchemaShapeInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SchemaShapeInfo = " - }, - { - "kind": "Content", - "text": "{\n migrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";\n props?: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ";\n meta?: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/createTLSchema.ts", - "releaseTag": "Public", - "name": "SchemaShapeInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!shapeIdValidator:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeIdValidator: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBaseShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "shapeIdValidator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type ShapeProps" - }, - { - "kind": "Content", - "text": "> = " - }, - { - "kind": "Content", - "text": "{\n [K in keyof Shape['props']]: " - }, - { - "kind": "Reference", - "text": "T.Validatable", - "canonicalReference": "@tldraw/validate!Validatable:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBaseShape.ts", - "releaseTag": "Public", - "name": "ShapeProps", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 4, - "endIndex": 7 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/tlschema!StyleProp:class", - "docComment": "/**\n * A `StyleProp` is a property of a shape that follows some special rules.\n *\n * 1. The same value can be set on lots of shapes at the same time.\n *\n * 2. The last used value is automatically saved and applied to new shapes.\n *\n * For example, {@link DefaultColorStyle} is a style prop used by tldraw's default shapes to set their color. If you try selecting several shapes on tldraw.com and changing their color, you'll see that the color is applied to all of them. Then, if you draw a new shape, it'll have the same color as the one you just set.\n *\n * You can use styles in your own shapes by either defining your own (see {@link StyleProp.define} and {@link StyleProp.defineEnum}) or using tldraw's default ones, like {@link DefaultColorStyle}. When you define a shape, pass a `props` object describing all of your shape's properties, using `StyleProp`s for the ones you want to be styles. See the {@link https://github.com/tldraw/tldraw/tree/main/apps/examples | custom styles example} for more.\n *\n * @remarks\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `StyleProp` class.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class StyleProp implements " - }, - { - "kind": "Reference", - "text": "T.Validatable", - "canonicalReference": "@tldraw/validate!Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/styles/StyleProp.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Type", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "StyleProp", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/tlschema!StyleProp#defaultValue:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly defaultValue: " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "defaultValue", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tlschema!StyleProp.define:member(1)", - "docComment": "/**\n * Define a new {@link StyleProp}.\n *\n * @param uniqueId - Each StyleProp must have a unique ID. We recommend you prefix this with your app/library name.\n *\n * @param options - - `defaultValue`: The default value for this style prop.\n *\n * - `type`: Optionally, describe what type of data you expect for this style prop.\n *\n * @example\n * ```ts\n * import {T} from '@tldraw/validate'\n * import {StyleProp} from '@tldraw/tlschema'\n *\n * const MyLineWidthProp = StyleProp.define('myApp:lineWidth', {\n * defaultValue: 1,\n * type: T.number,\n * })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static define(uniqueId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", options: " - }, - { - "kind": "Content", - "text": "{\n defaultValue: Type;\n type?: " - }, - { - "kind": "Reference", - "text": "T.Validatable", - "canonicalReference": "@tldraw/validate!Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "Type", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "uniqueId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "define" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tlschema!StyleProp.defineEnum:member(1)", - "docComment": "/**\n * Define a new {@link StyleProp} as a list of possible values.\n *\n * @param uniqueId - Each StyleProp must have a unique ID. We recommend you prefix this with your app/library name.\n *\n * @param options - - `defaultValue`: The default value for this style prop.\n *\n * - `values`: An array of possible values of this style prop.\n *\n * @example\n * ```ts\n * import {StyleProp} from '@tldraw/tlschema'\n *\n * const MySizeProp = StyleProp.defineEnum('myApp:size', {\n * defaultValue: 'medium',\n * values: ['small', 'medium', 'large'],\n * })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static defineEnum(uniqueId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", options: " - }, - { - "kind": "Content", - "text": "{\n defaultValue: Values[number];\n values: Values;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "Values", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "uniqueId", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "defineEnum" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tlschema!StyleProp#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/tlschema!StyleProp#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly type: " - }, - { - "kind": "Reference", - "text": "T.Validatable", - "canonicalReference": "@tldraw/validate!Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tlschema!StyleProp#validate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validate(value: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/tlschema!StyleProp#validateUsingKnownGoodVersion:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validateUsingKnownGoodVersion(prevValue: " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ", newValue: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "prevValue", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "newValue", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validateUsingKnownGoodVersion" - } - ], - "implementsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 3 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!StylePropValue:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type StylePropValue" - }, - { - "kind": "Content", - "text": "> = " - }, - { - "kind": "Content", - "text": "T extends " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": " ? U : never" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/StyleProp.ts", - "releaseTag": "Public", - "name": "StylePropValue", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 4, - "endIndex": 7 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!textShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "textShapeProps: " - }, - { - "kind": "Content", - "text": "{\n color: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"black\" | \"blue\" | \"green\" | \"grey\" | \"light-blue\" | \"light-green\" | \"light-red\" | \"light-violet\" | \"orange\" | \"red\" | \"violet\" | \"yellow\">;\n size: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"l\" | \"m\" | \"s\" | \"xl\">;\n font: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"draw\" | \"mono\" | \"sans\" | \"serif\">;\n align: import(\"..\")." - }, - { - "kind": "Reference", - "text": "EnumStyleProp", - "canonicalReference": "@tldraw/tlschema!EnumStyleProp:class" - }, - { - "kind": "Content", - "text": "<\"end-legacy\" | \"end\" | \"middle-legacy\" | \"middle\" | \"start-legacy\" | \"start\">;\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n text: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n scale: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n autoSize: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLTextShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "textShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 18 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!TL_CANVAS_UI_COLOR_TYPES:var", - "docComment": "/**\n * The colors used by tldraw's default shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TL_CANVAS_UI_COLOR_TYPES: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<\"accent\" | \"black\" | \"laser\" | \"muted-1\" | \"selection-fill\" | \"selection-stroke\" | \"white\">" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLColor.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TL_CANVAS_UI_COLOR_TYPES", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'arrow', " - }, - { - "kind": "Reference", - "text": "TLArrowShapeProps", - "canonicalReference": "@tldraw/tlschema!TLArrowShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "releaseTag": "Public", - "name": "TLArrowShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLArrowShapeArrowheadStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowShapeArrowheadStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "releaseTag": "Public", - "name": "TLArrowShapeArrowheadStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLArrowShapeProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowShapeProps = " - }, - { - "kind": "Reference", - "text": "ShapePropsType", - "canonicalReference": "@tldraw/tlschema!~ShapePropsType:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "releaseTag": "Public", - "name": "TLArrowShapeProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLArrowShapeTerminal:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowShapeTerminal = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLArrowShape.ts", - "releaseTag": "Public", - "name": "TLArrowShapeTerminal", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLAsset:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAsset = " - }, - { - "kind": "Reference", - "text": "TLBookmarkAsset", - "canonicalReference": "@tldraw/tlschema!TLBookmarkAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLImageAsset", - "canonicalReference": "@tldraw/tlschema!TLImageAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLVideoAsset", - "canonicalReference": "@tldraw/tlschema!TLVideoAsset:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLAsset.ts", - "releaseTag": "Public", - "name": "TLAsset", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAssetId = " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBaseAsset", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLAsset.ts", - "releaseTag": "Public", - "name": "TLAssetId", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLAssetPartial:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAssetPartial = " - }, - { - "kind": "Content", - "text": "T extends T ? {\n id: " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": ";\n type: T['type'];\n props?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": ";\n meta?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": ";\n} & " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "> : never" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLAsset.ts", - "releaseTag": "Public", - "name": "TLAssetPartial", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 16 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLAssetShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAssetShape = " - }, - { - "kind": "Reference", - "text": "Extract", - "canonicalReference": "!Extract:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ", {\n props: {\n assetId: " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": ";\n };\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLAsset.ts", - "releaseTag": "Public", - "name": "TLAssetShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLBaseAsset extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'asset', " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/assets/TLBaseAsset.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Type", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Props", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "TLBaseAsset", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset#props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "props: " - }, - { - "kind": "Content", - "text": "Props" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 3, - "endIndex": 7 - } - ] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLBaseShape extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'shape', " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBaseShape.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Type", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Props", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "TLBaseShape", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#index:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "index: " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "index", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#isLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isLocked: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#opacity:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "opacity: " - }, - { - "kind": "Reference", - "text": "TLOpacityType", - "canonicalReference": "@tldraw/tlschema!TLOpacityType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "opacity", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#parentId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "parentId: " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "parentId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "props: " - }, - { - "kind": "Content", - "text": "Props" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#rotation:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotation: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "rotation", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Content", - "text": "Type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLBaseShape#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 5, - "endIndex": 9 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLBookmarkAsset:type", - "docComment": "/**\n * An asset used for URL bookmarks, used by the TLBookmarkShape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBookmarkAsset = " - }, - { - "kind": "Reference", - "text": "TLBaseAsset", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset:interface" - }, - { - "kind": "Content", - "text": "<'bookmark', {\n title: string;\n description: string;\n image: string;\n src: null | string;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/assets/TLBookmarkAsset.ts", - "releaseTag": "Public", - "name": "TLBookmarkAsset", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBookmarkShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'bookmark', " - }, - { - "kind": "Reference", - "text": "TLBookmarkShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLBookmarkShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLBookmarkShape.ts", - "releaseTag": "Public", - "name": "TLBookmarkShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLCamera:interface", - "docComment": "/**\n * A camera record.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLCamera extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'camera', " - }, - { - "kind": "Reference", - "text": "TLCameraId", - "canonicalReference": "@tldraw/tlschema!TLCameraId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLCamera.ts", - "releaseTag": "Public", - "name": "TLCamera", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLCamera#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLCamera#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLCamera#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLCamera#z:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "z: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "z", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLCameraId:type", - "docComment": "/**\n * The id of a camera record.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCameraId = " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCamera", - "canonicalReference": "@tldraw/tlschema!TLCamera:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLCamera.ts", - "releaseTag": "Public", - "name": "TLCameraId", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLCanvasUiColor:type", - "docComment": "/**\n * A type for the colors used by tldraw's default shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCanvasUiColor = " - }, - { - "kind": "Reference", - "text": "SetValue", - "canonicalReference": "@tldraw/tlschema!~SetValue:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLColor.ts", - "releaseTag": "Public", - "name": "TLCanvasUiColor", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLCursor:interface", - "docComment": "/**\n * A cursor used by tldraw.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLCursor " - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLCursor.ts", - "releaseTag": "Public", - "name": "TLCursor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLCursor#rotation:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotation: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "rotation", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLCursor#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Reference", - "text": "TLCursorType", - "canonicalReference": "@tldraw/tlschema!TLCursorType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLCursorType:type", - "docComment": "/**\n * A type for the cursor types used by tldraw's default shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCursorType = " - }, - { - "kind": "Reference", - "text": "SetValue", - "canonicalReference": "@tldraw/tlschema!~SetValue:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLCursor.ts", - "releaseTag": "Public", - "name": "TLCursorType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultColorStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLColorStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultColorStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorTheme:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultColorTheme = " - }, - { - "kind": "Reference", - "text": "Expand", - "canonicalReference": "@tldraw/utils!Expand:type" - }, - { - "kind": "Content", - "text": "<{\n id: 'dark' | 'light';\n text: string;\n background: string;\n solid: string;\n} & " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<(typeof " - }, - { - "kind": "Reference", - "text": "colors", - "canonicalReference": "@tldraw/tlschema!~colors:var" - }, - { - "kind": "Content", - "text": ")[number], " - }, - { - "kind": "Reference", - "text": "TLDefaultColorThemeColor", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorThemeColor:type" - }, - { - "kind": "Content", - "text": ">>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLColorStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultColorTheme", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultColorThemeColor:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultColorThemeColor = " - }, - { - "kind": "Content", - "text": "{\n solid: string;\n semi: string;\n pattern: string;\n highlight: {\n srgb: string;\n p3: string;\n };\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLColorStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultColorThemeColor", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultDashStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultDashStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLDashStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultDashStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultFillStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultFillStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLFillStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultFillStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultFontStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultFontStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLFontStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultFontStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultHorizontalAlignStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultHorizontalAlignStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLHorizontalAlignStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultHorizontalAlignStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultShape:type", - "docComment": "/**\n * The default set of shapes that are available in the editor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultShape = " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLBookmarkShape", - "canonicalReference": "@tldraw/tlschema!TLBookmarkShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLDrawShape", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLEmbedShape", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLFrameShape", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLGeoShape", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLHighlightShape", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLImageShape", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLLineShape", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLNoteShape", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLTextShape", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLVideoShape", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLDefaultShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 26 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultSizeStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultSizeStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLSizeStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultSizeStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDefaultVerticalAlignStyle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDefaultVerticalAlignStyle = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/styles/TLVerticalAlignStyle.ts", - "releaseTag": "Public", - "name": "TLDefaultVerticalAlignStyle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!TLDOCUMENT_ID:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TLDOCUMENT_ID: " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLDocument.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TLDOCUMENT_ID", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface", - "docComment": "/**\n * TLDocument\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLDocument extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'document', " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ">>" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLDocument.ts", - "releaseTag": "Public", - "name": "TLDocument", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLDocument#gridSize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "gridSize: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "gridSize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLDocument#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLDocument#name:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "name", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 7 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDrawShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDrawShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'draw', " - }, - { - "kind": "Reference", - "text": "TLDrawShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLDrawShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLDrawShape.ts", - "releaseTag": "Public", - "name": "TLDrawShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLDrawShapeSegment:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLDrawShapeSegment = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLDrawShape.ts", - "releaseTag": "Public", - "name": "TLDrawShapeSegment", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLEmbedShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEmbedShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'embed', " - }, - { - "kind": "Reference", - "text": "TLEmbedShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLEmbedShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLEmbedShape.ts", - "releaseTag": "Public", - "name": "TLEmbedShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLEmbedShapePermissions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEmbedShapePermissions = " - }, - { - "kind": "Content", - "text": "{\n [K in keyof typeof " - }, - { - "kind": "Reference", - "text": "embedShapePermissionDefaults", - "canonicalReference": "@tldraw/tlschema!embedShapePermissionDefaults:var" - }, - { - "kind": "Content", - "text": "]?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLEmbedShape.ts", - "releaseTag": "Public", - "name": "TLEmbedShapePermissions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLFrameShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLFrameShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'frame', " - }, - { - "kind": "Reference", - "text": "TLFrameShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLFrameShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLFrameShape.ts", - "releaseTag": "Public", - "name": "TLFrameShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLGeoShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLGeoShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'geo', " - }, - { - "kind": "Reference", - "text": "TLGeoShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLGeoShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLGeoShape.ts", - "releaseTag": "Public", - "name": "TLGeoShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLGroupShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'group', " - }, - { - "kind": "Reference", - "text": "TLGroupShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLGroupShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLGroupShape.ts", - "releaseTag": "Public", - "name": "TLGroupShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface", - "docComment": "/**\n * A base interface for a shape's handles.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLHandle " - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLHandle.ts", - "releaseTag": "Public", - "name": "TLHandle", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#canBind:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#canSnap:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canSnap?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "canSnap", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#id:member", - "docComment": "/**\n * A unique identifier for the handle.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#index:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "index: " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "index", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Reference", - "text": "TLHandleType", - "canonicalReference": "@tldraw/tlschema!TLHandleType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLHandle#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLHandleType:type", - "docComment": "/**\n * A type for the handle types used by tldraw's default shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHandleType = " - }, - { - "kind": "Reference", - "text": "SetValue", - "canonicalReference": "@tldraw/tlschema!~SetValue:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLHandle.ts", - "releaseTag": "Public", - "name": "TLHandleType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLHighlightShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHighlightShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'highlight', " - }, - { - "kind": "Reference", - "text": "TLHighlightShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLHighlightShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLHighlightShape.ts", - "releaseTag": "Public", - "name": "TLHighlightShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLImageAsset:type", - "docComment": "/**\n * An asset for images such as PNGs and JPEGs, used by the TLImageShape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLImageAsset = " - }, - { - "kind": "Reference", - "text": "TLBaseAsset", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset:interface" - }, - { - "kind": "Content", - "text": "<'image', {\n w: number;\n h: number;\n name: string;\n isAnimated: boolean;\n mimeType: null | string;\n src: null | string;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/assets/TLImageAsset.ts", - "releaseTag": "Public", - "name": "TLImageAsset", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLImageShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLImageShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'image', " - }, - { - "kind": "Reference", - "text": "TLImageShapeProps", - "canonicalReference": "@tldraw/tlschema!TLImageShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLImageShape.ts", - "releaseTag": "Public", - "name": "TLImageShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLImageShapeCrop:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLImageShapeCrop = " - }, - { - "kind": "Reference", - "text": "T.TypeOf", - "canonicalReference": "@tldraw/validate!TypeOf:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLImageShape.ts", - "releaseTag": "Public", - "name": "TLImageShapeCrop", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLImageShapeProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLImageShapeProps = " - }, - { - "kind": "Reference", - "text": "ShapePropsType", - "canonicalReference": "@tldraw/tlschema!~ShapePropsType:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLImageShape.ts", - "releaseTag": "Public", - "name": "TLImageShapeProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!TLINSTANCE_ID:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TLINSTANCE_ID: " - }, - { - "kind": "Reference", - "text": "TLInstanceId", - "canonicalReference": "@tldraw/tlschema!TLInstanceId:type" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLInstance.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TLINSTANCE_ID", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface", - "docComment": "/**\n * TLInstance\n *\n * State that is particular to a single browser tab\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLInstance extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'instance', " - }, - { - "kind": "Reference", - "text": "TLInstanceId", - "canonicalReference": "@tldraw/tlschema!TLInstanceId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLInstance.ts", - "releaseTag": "Public", - "name": "TLInstance", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#brush:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "brush: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "brush", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#canMoveCamera:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canMoveCamera: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canMoveCamera", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#chatMessage:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "chatMessage: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "chatMessage", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#currentPageId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "currentPageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "currentPageId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#cursor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cursor: " - }, - { - "kind": "Reference", - "text": "TLCursor", - "canonicalReference": "@tldraw/tlschema!TLCursor:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "cursor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#devicePixelRatio:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "devicePixelRatio: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "devicePixelRatio", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#duplicateProps:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "duplicateProps: " - }, - { - "kind": "Content", - "text": "{\n shapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[];\n offset: {\n x: number;\n y: number;\n };\n } | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "duplicateProps", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#exportBackground:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "exportBackground: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "exportBackground", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#followingUserId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "followingUserId: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "followingUserId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#highlightedUserIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "highlightedUserIds: " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "highlightedUserIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#insets:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "insets: " - }, - { - "kind": "Content", - "text": "boolean[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "insets", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isChangingStyle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isChangingStyle: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isChangingStyle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isChatting:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isChatting: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isChatting", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isCoarsePointer:member", - "docComment": "/**\n * This is whether the primary input mechanism includes a pointing device of limited accuracy, such as a finger on a touchscreen. See: https://developer.mozilla.org/en-US/docs/Web/CSS/\\@media/pointer\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isCoarsePointer: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isCoarsePointer", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isDebugMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isDebugMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isDebugMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isFocused:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isFocused: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isFocused", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isFocusMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isFocusMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isFocusMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isGridMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isGridMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isGridMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isHoveringCanvas:member", - "docComment": "/**\n * Will be null if the pointer doesn't support hovering (e.g. touch), but true or false otherwise\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isHoveringCanvas: " - }, - { - "kind": "Content", - "text": "boolean | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isHoveringCanvas", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isPenMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isPenMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isPenMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isReadonly:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isReadonly: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isReadonly", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#isToolLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isToolLocked: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isToolLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#opacityForNextShape:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "opacityForNextShape: " - }, - { - "kind": "Reference", - "text": "TLOpacityType", - "canonicalReference": "@tldraw/tlschema!TLOpacityType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "opacityForNextShape", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#openMenus:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "openMenus: " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "openMenus", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#screenBounds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "screenBounds: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "screenBounds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#scribbles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "scribbles: " - }, - { - "kind": "Reference", - "text": "TLScribble", - "canonicalReference": "@tldraw/tlschema!TLScribble:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "scribbles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#stylesForNextShape:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "stylesForNextShape: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "stylesForNextShape", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstance#zoomBrush:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomBrush: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "zoomBrush", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLInstanceId:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLInstanceId = " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstance", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLInstance.ts", - "releaseTag": "Public", - "name": "TLInstanceId", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface", - "docComment": "/**\n * TLInstancePageState\n *\n * State that is unique to a particular page of the document in a particular browser tab\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLInstancePageState extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'instance_page_state', " - }, - { - "kind": "Reference", - "text": "TLInstancePageStateId", - "canonicalReference": "@tldraw/tlschema!~TLInstancePageStateId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPageState.ts", - "releaseTag": "Public", - "name": "TLInstancePageState", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#croppingShapeId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "croppingShapeId: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "croppingShapeId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#editingShapeId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "editingShapeId: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "editingShapeId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#erasingShapeIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "erasingShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "erasingShapeIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#focusedGroupId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "focusedGroupId: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "focusedGroupId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#hintingShapeIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hintingShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hintingShapeIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#hoveredShapeId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hoveredShapeId: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hoveredShapeId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#pageId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "pageId: " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "pageId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState#selectedShapeIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "selectedShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "selectedShapeIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLInstancePresence extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'instance_presence', " - }, - { - "kind": "Reference", - "text": "TLInstancePresenceID", - "canonicalReference": "@tldraw/tlschema!~TLInstancePresenceID:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPresence.ts", - "releaseTag": "Public", - "name": "TLInstancePresence", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#brush:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "brush: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "brush", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#camera:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "camera: " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "camera", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#chatMessage:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "chatMessage: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "chatMessage", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#color:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "color: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "color", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#currentPageId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "currentPageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "currentPageId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#cursor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cursor: " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n type: " - }, - { - "kind": "Reference", - "text": "TLCursor", - "canonicalReference": "@tldraw/tlschema!TLCursor:interface" - }, - { - "kind": "Content", - "text": "['type'];\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "cursor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#followingUserId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "followingUserId: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "followingUserId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#lastActivityTimestamp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "lastActivityTimestamp: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "lastActivityTimestamp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#screenBounds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "screenBounds: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "screenBounds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#scribbles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "scribbles: " - }, - { - "kind": "Reference", - "text": "TLScribble", - "canonicalReference": "@tldraw/tlschema!TLScribble:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "scribbles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#selectedShapeIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "selectedShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "selectedShapeIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#userId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "userId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "userId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence#userName:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "userName: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "userName", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLLanguage:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLLanguage = " - }, - { - "kind": "Content", - "text": "(typeof " - }, - { - "kind": "Reference", - "text": "LANGUAGES", - "canonicalReference": "@tldraw/tlschema!LANGUAGES:var" - }, - { - "kind": "Content", - "text": ")[number]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/translations/translations.ts", - "releaseTag": "Public", - "name": "TLLanguage", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLLineShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLLineShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'line', " - }, - { - "kind": "Reference", - "text": "TLLineShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLLineShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLLineShape.ts", - "releaseTag": "Public", - "name": "TLLineShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLNoteShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLNoteShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'note', " - }, - { - "kind": "Reference", - "text": "TLNoteShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLNoteShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLNoteShape.ts", - "releaseTag": "Public", - "name": "TLNoteShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLOpacityType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOpacityType = " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLOpacity.ts", - "releaseTag": "Public", - "name": "TLOpacityType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!TLPage:interface", - "docComment": "/**\n * TLPage\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLPage extends " - }, - { - "kind": "Reference", - "text": "BaseRecord", - "canonicalReference": "@tldraw/store!BaseRecord:interface" - }, - { - "kind": "Content", - "text": "<'page', " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPage.ts", - "releaseTag": "Public", - "name": "TLPage", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLPage#index:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "index: " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "index", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLPage#meta:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "meta: " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "meta", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!TLPage#name:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "name", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLPageId:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPageId = " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPage.ts", - "releaseTag": "Public", - "name": "TLPageId", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLParentId:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLParentId = " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLParentId", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!TLPOINTER_ID:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TLPOINTER_ID: " - }, - { - "kind": "Reference", - "text": "TLPointerId", - "canonicalReference": "@tldraw/tlschema!~TLPointerId:type" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLPointer.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TLPOINTER_ID", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLRecord:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLRecord = " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLCamera", - "canonicalReference": "@tldraw/tlschema!TLCamera:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLInstance", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLInstancePresence", - "canonicalReference": "@tldraw/tlschema!TLInstancePresence:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointer", - "canonicalReference": "@tldraw/tlschema!~TLPointer:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLRecord.ts", - "releaseTag": "Public", - "name": "TLRecord", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 18 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLSchema:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSchema = " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLStoreProps", - "canonicalReference": "@tldraw/tlschema!TLStoreProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/createTLSchema.ts", - "releaseTag": "Public", - "name": "TLSchema", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLScribble:type", - "docComment": "/**\n * A type for the scribble used by tldraw.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLScribble = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n points: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[];\n size: number;\n color: " - }, - { - "kind": "Reference", - "text": "TLCanvasUiColor", - "canonicalReference": "@tldraw/tlschema!TLCanvasUiColor:type" - }, - { - "kind": "Content", - "text": ";\n opacity: number;\n state: " - }, - { - "kind": "Reference", - "text": "SetValue", - "canonicalReference": "@tldraw/tlschema!~SetValue:type" - }, - { - "kind": "Content", - "text": ";\n delay: number;\n shrink: number;\n taper: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/TLScribble.ts", - "releaseTag": "Public", - "name": "TLScribble", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLSerializedStore:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSerializedStore = " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/TLStore.ts", - "releaseTag": "Public", - "name": "TLSerializedStore", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLShape:type", - "docComment": "/**\n * The set of all shapes that are available in the editor, including unknown shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShape = " - }, - { - "kind": "Reference", - "text": "TLDefaultShape", - "canonicalReference": "@tldraw/tlschema!TLDefaultShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeId = " - }, - { - "kind": "Reference", - "text": "RecordId", - "canonicalReference": "@tldraw/store!RecordId:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLShapeId", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapePartial = " - }, - { - "kind": "Content", - "text": "T extends T ? {\n id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n type: T['type'];\n props?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": ";\n meta?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": ";\n} & " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "> : never" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLShapePartial", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 16 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLShapeProp:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeProp = " - }, - { - "kind": "Content", - "text": "keyof " - }, - { - "kind": "Reference", - "text": "TLShapeProps", - "canonicalReference": "@tldraw/tlschema!TLShapeProps:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLShapeProp", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLShapeProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeProps = " - }, - { - "kind": "Reference", - "text": "Identity", - "canonicalReference": "@tldraw/tlschema!~Identity:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "UnionToIntersection", - "canonicalReference": "@tldraw/tlschema!~UnionToIntersection:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDefaultShape", - "canonicalReference": "@tldraw/tlschema!TLDefaultShape:type" - }, - { - "kind": "Content", - "text": "['props']>>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLShapeProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLStore:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStore = " - }, - { - "kind": "Reference", - "text": "Store", - "canonicalReference": "@tldraw/store!Store:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLStoreProps", - "canonicalReference": "@tldraw/tlschema!TLStoreProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/TLStore.ts", - "releaseTag": "Public", - "name": "TLStore", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLStoreProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreProps = " - }, - { - "kind": "Content", - "text": "{\n defaultName: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/TLStore.ts", - "releaseTag": "Public", - "name": "TLStoreProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLStoreSchema:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreSchema = " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLStoreProps", - "canonicalReference": "@tldraw/tlschema!TLStoreProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/TLStore.ts", - "releaseTag": "Public", - "name": "TLStoreSchema", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLStoreSnapshot:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreSnapshot = " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/TLStore.ts", - "releaseTag": "Public", - "name": "TLStoreSnapshot", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLTextShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLTextShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'text', " - }, - { - "kind": "Reference", - "text": "TLTextShapeProps", - "canonicalReference": "@tldraw/tlschema!TLTextShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLTextShape.ts", - "releaseTag": "Public", - "name": "TLTextShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLTextShapeProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLTextShapeProps = " - }, - { - "kind": "Reference", - "text": "ShapePropsType", - "canonicalReference": "@tldraw/tlschema!~ShapePropsType:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLTextShape.ts", - "releaseTag": "Public", - "name": "TLTextShapeProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type", - "docComment": "/**\n * A type for a shape that is available in the editor but whose type is unknown—either one of the editor's default shapes or else a custom shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLUnknownShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/records/TLShape.ts", - "releaseTag": "Public", - "name": "TLUnknownShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLVideoAsset:type", - "docComment": "/**\n * An asset used for videos, used by the TLVideoShape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLVideoAsset = " - }, - { - "kind": "Reference", - "text": "TLBaseAsset", - "canonicalReference": "@tldraw/tlschema!TLBaseAsset:interface" - }, - { - "kind": "Content", - "text": "<'video', {\n w: number;\n h: number;\n name: string;\n isAnimated: boolean;\n mimeType: null | string;\n src: null | string;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/assets/TLVideoAsset.ts", - "releaseTag": "Public", - "name": "TLVideoAsset", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/tlschema!TLVideoShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLVideoShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "<'video', " - }, - { - "kind": "Reference", - "text": "TLVideoShapeProps", - "canonicalReference": "@tldraw/tlschema!~TLVideoShapeProps:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLVideoShape.ts", - "releaseTag": "Public", - "name": "TLVideoShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/tlschema!VecModel:interface", - "docComment": "/**\n * A serializable model for 2D vectors.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface VecModel " - } - ], - "fileUrlPath": "packages/tlschema/src/misc/geometry-types.ts", - "releaseTag": "Public", - "name": "VecModel", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!VecModel#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!VecModel#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/tlschema!VecModel#z:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "z?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "z", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!vecModelValidator:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "vecModelValidator: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/tlschema/src/misc/geometry-types.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "vecModelValidator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/tlschema!videoShapeProps:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "videoShapeProps: " - }, - { - "kind": "Content", - "text": "{\n w: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n h: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n time: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n playing: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n url: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n assetId: " - }, - { - "kind": "Reference", - "text": "T.Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": ";\n}" - } - ], - "fileUrlPath": "packages/tlschema/src/shapes/TLVideoShape.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "videoShapeProps", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 16 - } - } - ] - } - ] -} diff --git a/apps/docs/api/validate.api.json b/apps/docs/api/validate.api.json deleted file mode 100644 index e74978d0e..000000000 --- a/apps/docs/api/validate.api.json +++ /dev/null @@ -1,4985 +0,0 @@ -{ - "metadata": { - "toolPackage": "@microsoft/api-extractor", - "toolVersion": "7.41.0", - "schemaVersion": 1011, - "oldestForwardsCompatibleVersion": 1001, - "tsdocConfig": { - "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", - "noStandardTags": true, - "tagDefinitions": [ - { - "tagName": "@alpha", - "syntaxKind": "modifier" - }, - { - "tagName": "@beta", - "syntaxKind": "modifier" - }, - { - "tagName": "@defaultValue", - "syntaxKind": "block" - }, - { - "tagName": "@decorator", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@deprecated", - "syntaxKind": "block" - }, - { - "tagName": "@eventProperty", - "syntaxKind": "modifier" - }, - { - "tagName": "@example", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@experimental", - "syntaxKind": "modifier" - }, - { - "tagName": "@inheritDoc", - "syntaxKind": "inline" - }, - { - "tagName": "@internal", - "syntaxKind": "modifier" - }, - { - "tagName": "@label", - "syntaxKind": "inline" - }, - { - "tagName": "@link", - "syntaxKind": "inline", - "allowMultiple": true - }, - { - "tagName": "@override", - "syntaxKind": "modifier" - }, - { - "tagName": "@packageDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@param", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@privateRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@public", - "syntaxKind": "modifier" - }, - { - "tagName": "@readonly", - "syntaxKind": "modifier" - }, - { - "tagName": "@remarks", - "syntaxKind": "block" - }, - { - "tagName": "@returns", - "syntaxKind": "block" - }, - { - "tagName": "@sealed", - "syntaxKind": "modifier" - }, - { - "tagName": "@see", - "syntaxKind": "block" - }, - { - "tagName": "@throws", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@typeParam", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@virtual", - "syntaxKind": "modifier" - }, - { - "tagName": "@betaDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@internalRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@preapproved", - "syntaxKind": "modifier" - } - ], - "supportForTags": { - "@alpha": true, - "@beta": true, - "@defaultValue": true, - "@decorator": true, - "@deprecated": true, - "@eventProperty": true, - "@example": true, - "@experimental": true, - "@inheritDoc": true, - "@internal": true, - "@label": true, - "@link": true, - "@override": true, - "@packageDocumentation": true, - "@param": true, - "@privateRemarks": true, - "@public": true, - "@readonly": true, - "@remarks": true, - "@returns": true, - "@sealed": true, - "@see": true, - "@throws": true, - "@typeParam": true, - "@virtual": true, - "@betaDocumentation": true, - "@internalRemarks": true, - "@preapproved": true - }, - "reportUnsupportedHtmlElements": false - } - }, - "kind": "Package", - "canonicalReference": "@tldraw/validate!", - "docComment": "", - "name": "@tldraw/validate", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EntryPoint", - "canonicalReference": "@tldraw/validate!", - "name": "", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ArrayOfValidator extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "ArrayOfValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ArrayOfValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(itemValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "itemValidator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!ArrayOfValidator#itemValidator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly itemValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "itemValidator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!ArrayOfValidator#lengthGreaterThan1:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "lengthGreaterThan1(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "lengthGreaterThan1" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!ArrayOfValidator#nonEmpty:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nonEmpty(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "nonEmpty" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!DictValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class DictValidator extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Key", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Value", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "DictValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!DictValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `DictValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(keyValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", valueValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "keyValidator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "valueValidator", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!DictValidator#keyValidator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly keyValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "keyValidator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!DictValidator#valueValidator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly valueValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "valueValidator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!ObjectValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ObjectValidator extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "ObjectValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!ObjectValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ObjectValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Shape]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ", shouldAllowUnknownProperties?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "shouldAllowUnknownProperties", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!ObjectValidator#allowUnknownProperties:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "allowUnknownProperties(): " - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "allowUnknownProperties" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!ObjectValidator#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly config: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Shape]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!ObjectValidator#extend:member(1)", - "docComment": "/**\n * Extend an object validator by adding additional properties.\n *\n * @example\n * ```ts\n * const animalValidator = T.object({\n * \tname: T.string,\n * })\n * const catValidator = animalValidator.extend({\n * \tmeowVolume: T.number,\n * })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "extend" - }, - { - "kind": "Content", - "text": ">(extension: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Extension]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "Extension", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "extension", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "extend" - } - ], - "extendsTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Namespace", - "canonicalReference": "@tldraw/validate!T:namespace", - "docComment": "", - "excerptTokens": [], - "fileUrlPath": "packages/validate/src/index.ts", - "releaseTag": "None", - "name": "T", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.any:var", - "docComment": "/**\n * Validation that accepts any value. Generally this should be avoided, but you can use it as an escape hatch if you want to work without validations for e.g. a prototype.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "any: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "any", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.array:var", - "docComment": "/**\n * Validates that a value is an array. To check the contents of the array, use T.arrayOf.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "array: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "array", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.arrayOf:function(1)", - "docComment": "/**\n * Validates that a value is an array whose contents matches the passed-in validator.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function arrayOf(itemValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ArrayOfValidator", - "canonicalReference": "@tldraw/validate!ArrayOfValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "itemValidator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "arrayOf" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!T.ArrayOfValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ArrayOfValidator extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "ArrayOfValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!T.ArrayOfValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ArrayOfValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(itemValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "itemValidator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.ArrayOfValidator#itemValidator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly itemValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "itemValidator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.ArrayOfValidator#lengthGreaterThan1:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "lengthGreaterThan1(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "lengthGreaterThan1" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.ArrayOfValidator#nonEmpty:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nonEmpty(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "nonEmpty" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.bigint:var", - "docComment": "/**\n * Validates that a value is a bigint.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bigint: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "bigint", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.boolean:var", - "docComment": "/**\n * Validates that a value is boolean.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "boolean: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "boolean", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.dict:function(1)", - "docComment": "/**\n * Validation that an option is a dict with particular keys and values.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function dict(keyValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", valueValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "DictValidator", - "canonicalReference": "@tldraw/validate!DictValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "keyValidator", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "valueValidator", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "Key", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Value", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "dict" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!T.DictValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class DictValidator extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Key", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Value", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "DictValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!T.DictValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `DictValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(keyValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", valueValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "keyValidator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "valueValidator", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.DictValidator#keyValidator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly keyValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "keyValidator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.DictValidator#valueValidator:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly valueValidator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "valueValidator", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.indexKey:var", - "docComment": "/**\n * Validates that a value is an IndexKey.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "indexKey: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "indexKey", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.integer:var", - "docComment": "/**\n * Fails if number is not an integer\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "integer: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "integer", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.jsonDict:function(1)", - "docComment": "/**\n * Validate an object has a particular shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function jsonDict(): " - }, - { - "kind": "Reference", - "text": "DictValidator", - "canonicalReference": "@tldraw/validate!DictValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "jsonDict" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.jsonValue:var", - "docComment": "/**\n * Validate that a value is valid JSON.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "jsonValue: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "JsonValue", - "canonicalReference": "@tldraw/utils!JsonValue:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "jsonValue", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.linkUrl:var", - "docComment": "/**\n * Validates that a value is a url safe to use as a link.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "linkUrl: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "linkUrl", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.literal:function(1)", - "docComment": "/**\n * Validates that a value matches another that was passed in.\n *\n * @example\n * ```ts\n * const trueValidator = T.literal(true)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function literal(expectedValue: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "expectedValue", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "literal" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.literalEnum:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function literalEnum(...values: " - }, - { - "kind": "Content", - "text": "Values" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "values", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "Values", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "literalEnum" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.model:function(1)", - "docComment": "/**\n * A named object with an ID. Errors will be reported as being part of the object with the given name.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function model(name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", validator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "validator", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "model" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.nonZeroInteger:var", - "docComment": "/**\n * Fails if value \\<= 0 and is not an integer\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "nonZeroInteger: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "nonZeroInteger", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.nonZeroNumber:var", - "docComment": "/**\n * Fails if value \\<= 0\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "nonZeroNumber: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "nonZeroNumber", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.nullable:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function nullable(validator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "validator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "nullable" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.number:var", - "docComment": "/**\n * Validates that a value is a finite non-NaN number.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "number: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "number", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.object:function(1)", - "docComment": "/**\n * Validate an object has a particular shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function object(config: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Shape]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "<{\n [P in " - }, - { - "kind": "Reference", - "text": "ExtractRequiredKeys", - "canonicalReference": "@tldraw/validate!~ExtractRequiredKeys:type" - }, - { - "kind": "Content", - "text": "]: Shape[P];\n} & {\n [P in " - }, - { - "kind": "Reference", - "text": "ExtractOptionalKeys", - "canonicalReference": "@tldraw/validate!~ExtractOptionalKeys:type" - }, - { - "kind": "Content", - "text": "]?: Shape[P];\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 13 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "object" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!T.ObjectValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ObjectValidator extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "ObjectValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!T.ObjectValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ObjectValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Shape]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ", shouldAllowUnknownProperties?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "shouldAllowUnknownProperties", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.ObjectValidator#allowUnknownProperties:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "allowUnknownProperties(): " - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "allowUnknownProperties" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.ObjectValidator#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly config: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Shape]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.ObjectValidator#extend:member(1)", - "docComment": "/**\n * Extend an object validator by adding additional properties.\n *\n * @example\n * ```ts\n * const animalValidator = T.object({\n * \tname: T.string,\n * })\n * const catValidator = animalValidator.extend({\n * \tmeowVolume: T.number,\n * })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "extend" - }, - { - "kind": "Content", - "text": ">(extension: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in keyof Extension]: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ObjectValidator", - "canonicalReference": "@tldraw/validate!ObjectValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "Extension", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "extension", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "extend" - } - ], - "extendsTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.optional:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function optional(validator: " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "validator", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "optional" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.positiveInteger:var", - "docComment": "/**\n * Fails if value \\< 0 and is not an integer\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "positiveInteger: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "positiveInteger", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.positiveNumber:var", - "docComment": "/**\n * Fails if value \\< 0\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "positiveNumber: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "positiveNumber", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.setEnum:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setEnum(values: " - }, - { - "kind": "Reference", - "text": "ReadonlySet", - "canonicalReference": "!ReadonlySet:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "values", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "setEnum" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.srcUrl:var", - "docComment": "/**\n * Validates that a valid is a url safe to load as an asset.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "srcUrl: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "srcUrl", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.string:var", - "docComment": "/**\n * Validates that a value is a string.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "string: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "string", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/validate!T.TypeOf:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TypeOf" - }, - { - "kind": "Content", - "text": "> = " - }, - { - "kind": "Content", - "text": "V extends " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": " ? T : never" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "name": "TypeOf", - "typeParameters": [ - { - "typeParameterName": "V", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 4, - "endIndex": 7 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/validate!T.union:function(1)", - "docComment": "/**\n * Validate a union of several object types. Each object must have a property matching `key` which should be a unique string.\n *\n * @example\n * ```ts\n * const catValidator = T.object({ kind: T.value('cat'), meow: T.boolean })\n * const dogValidator = T.object({ kind: T.value('dog'), bark: T.boolean })\n * const animalValidator = T.union('kind', { cat: catValidator, dog: dogValidator })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function union" - }, - { - "kind": "Content", - "text": ">(key: " - }, - { - "kind": "Content", - "text": "Key" - }, - { - "kind": "Content", - "text": ", config: " - }, - { - "kind": "Content", - "text": "Config" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 12 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "key", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "Key", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Config", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "union" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!T.UnionValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class UnionValidator" - }, - { - "kind": "Content", - "text": ", UnknownValue = " - }, - { - "kind": "Content", - "text": "never" - }, - { - "kind": "Content", - "text": "> extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TypeOf", - "canonicalReference": "@tldraw/validate!T.TypeOf:type" - }, - { - "kind": "Content", - "text": " | UnknownValue>" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Key", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Config", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "UnknownValue", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - } - } - ], - "isAbstract": false, - "name": "UnionValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!T.UnionValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `UnionValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(key: " - }, - { - "kind": "Content", - "text": "Key" - }, - { - "kind": "Content", - "text": ", config: " - }, - { - "kind": "Content", - "text": "Config" - }, - { - "kind": "Content", - "text": ", unknownValueValidation: " - }, - { - "kind": "Content", - "text": "(value: object, variant: string) => UnknownValue" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "key", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "unknownValueValidation", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.UnionValidator#validateUnknownVariants:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validateUnknownVariants(unknownValueValidation: " - }, - { - "kind": "Content", - "text": "(value: object, variant: string) => Unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "Unknown", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "unknownValueValidation", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validateUnknownVariants" - } - ], - "extendsTokenRange": { - "startIndex": 8, - "endIndex": 12 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.unknown:var", - "docComment": "/**\n * Validation that accepts any value. Useful as a starting point for building your own custom validations.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "unknown: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "unknown", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/validate!T.unknownObject:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "unknownObject: " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "unknownObject", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/validate!T.Validatable:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type Validatable = " - }, - { - "kind": "Content", - "text": "{\n validate: (value: unknown) => T;\n validateUsingKnownGoodVersion?: (knownGoodValue: T, newValue: unknown) => T;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "name": "Validatable", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!T.ValidationError:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ValidationError extends " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "ValidationError", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!T.ValidationError:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ValidationError` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(rawMessage: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", path?: " - }, - { - "kind": "Reference", - "text": "ReadonlyArray", - "canonicalReference": "!ReadonlyArray:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "rawMessage", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "path", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": true - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.ValidationError#name:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "name", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.ValidationError#path:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly path: " - }, - { - "kind": "Reference", - "text": "ReadonlyArray", - "canonicalReference": "!ReadonlyArray:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "path", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.ValidationError#rawMessage:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly rawMessage: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "rawMessage", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!T.Validator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Validator implements " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "Validator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!T.Validator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Validator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(validationFn: " - }, - { - "kind": "Reference", - "text": "ValidatorFn", - "canonicalReference": "@tldraw/validate!T.ValidatorFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", validateUsingKnownGoodVersionFn?: " - }, - { - "kind": "Content", - "text": "undefined | " - }, - { - "kind": "Reference", - "text": "ValidatorUsingKnownGoodVersionFn", - "canonicalReference": "@tldraw/validate!T.ValidatorUsingKnownGoodVersionFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "validationFn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "validateUsingKnownGoodVersionFn", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 7 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#check:member(1)", - "docComment": "/**\n * Refine this validation with an additional check that doesn't change the resulting value.\n *\n * @example\n * ```ts\n * const numberLessThan10Validator = T.number.check((value) => {\n * \tif (value >= 10) {\n * \t\tthrow new ValidationError(`Expected number less than 10, got ${value}`)\n * \t}\n * })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "check(name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", checkFn: " - }, - { - "kind": "Content", - "text": "(value: T) => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "checkFn", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "check" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#check:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "check(checkFn: " - }, - { - "kind": "Content", - "text": "(value: T) => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "checkFn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "check" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#isValid:member(1)", - "docComment": "/**\n * Checks that the passed value is of the correct type.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isValid(value: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "value", - "canonicalReference": "@tldraw/validate!~value" - }, - { - "kind": "Content", - "text": " is T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isValid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#nullable:member(1)", - "docComment": "/**\n * Returns a new validator that also accepts null or undefined. The resulting value will always be null.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "nullable(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "nullable" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#optional:member(1)", - "docComment": "/**\n * Returns a new validator that also accepts null or undefined. The resulting value will always be null.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "optional(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "optional" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#refine:member(1)", - "docComment": "/**\n * Refine this validation to a new type. The passed-in validation function should throw an error if the value can't be converted to the new type, or return the new type otherwise.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "refine(otherValidationFn: " - }, - { - "kind": "Content", - "text": "(value: T) => U" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "U", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "otherValidationFn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "refine" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#validate:member(1)", - "docComment": "/**\n * Asserts that the passed value is of the correct type and returns it. The returned value is guaranteed to be referentially equal to the passed value.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "validate(value: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!T.Validator#validateUsingKnownGoodVersion:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validateUsingKnownGoodVersion(knownGoodValue: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", newValue: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "knownGoodValue", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "newValue", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validateUsingKnownGoodVersion" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.Validator#validateUsingKnownGoodVersionFn:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly validateUsingKnownGoodVersionFn?: " - }, - { - "kind": "Content", - "text": "undefined | " - }, - { - "kind": "Reference", - "text": "ValidatorUsingKnownGoodVersionFn", - "canonicalReference": "@tldraw/validate!T.ValidatorUsingKnownGoodVersionFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": true, - "releaseTag": "Public", - "name": "validateUsingKnownGoodVersionFn", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!T.Validator#validationFn:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly validationFn: " - }, - { - "kind": "Reference", - "text": "ValidatorFn", - "canonicalReference": "@tldraw/validate!T.ValidatorFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "validationFn", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 3 - } - ] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/validate!T.ValidatorFn:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type ValidatorFn = " - }, - { - "kind": "Content", - "text": "(value: unknown) => T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "name": "ValidatorFn", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/validate!T.ValidatorUsingKnownGoodVersionFn:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type ValidatorUsingKnownGoodVersionFn = " - }, - { - "kind": "Content", - "text": "(knownGoodValue: In, value: unknown) => Out" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "name": "ValidatorUsingKnownGoodVersionFn", - "typeParameters": [ - { - "typeParameterName": "In", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Out", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!UnionValidator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class UnionValidator" - }, - { - "kind": "Content", - "text": ", UnknownValue = " - }, - { - "kind": "Content", - "text": "never" - }, - { - "kind": "Content", - "text": "> extends " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TypeOf", - "canonicalReference": "@tldraw/validate!T.TypeOf:type" - }, - { - "kind": "Content", - "text": " | UnknownValue>" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Key", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "Config", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "UnknownValue", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - } - } - ], - "isAbstract": false, - "name": "UnionValidator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!UnionValidator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `UnionValidator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(key: " - }, - { - "kind": "Content", - "text": "Key" - }, - { - "kind": "Content", - "text": ", config: " - }, - { - "kind": "Content", - "text": "Config" - }, - { - "kind": "Content", - "text": ", unknownValueValidation: " - }, - { - "kind": "Content", - "text": "(value: object, variant: string) => UnknownValue" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "key", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "unknownValueValidation", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!UnionValidator#validateUnknownVariants:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validateUnknownVariants(unknownValueValidation: " - }, - { - "kind": "Content", - "text": "(value: object, variant: string) => Unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "UnionValidator", - "canonicalReference": "@tldraw/validate!UnionValidator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "Unknown", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "unknownValueValidation", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validateUnknownVariants" - } - ], - "extendsTokenRange": { - "startIndex": 8, - "endIndex": 12 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/validate!Validator:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Validator implements " - }, - { - "kind": "Reference", - "text": "Validatable", - "canonicalReference": "@tldraw/validate!T.Validatable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/validate/src/lib/validation.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "Validator", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/validate!Validator:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Validator` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(validationFn: " - }, - { - "kind": "Reference", - "text": "ValidatorFn", - "canonicalReference": "@tldraw/validate!T.ValidatorFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", validateUsingKnownGoodVersionFn?: " - }, - { - "kind": "Content", - "text": "undefined | " - }, - { - "kind": "Reference", - "text": "ValidatorUsingKnownGoodVersionFn", - "canonicalReference": "@tldraw/validate!T.ValidatorUsingKnownGoodVersionFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "validationFn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "validateUsingKnownGoodVersionFn", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 7 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#check:member(1)", - "docComment": "/**\n * Refine this validation with an additional check that doesn't change the resulting value.\n *\n * @example\n * ```ts\n * const numberLessThan10Validator = T.number.check((value) => {\n * \tif (value >= 10) {\n * \t\tthrow new ValidationError(`Expected number less than 10, got ${value}`)\n * \t}\n * })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "check(name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", checkFn: " - }, - { - "kind": "Content", - "text": "(value: T) => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "checkFn", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "check" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#check:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "check(checkFn: " - }, - { - "kind": "Content", - "text": "(value: T) => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "checkFn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "check" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#isValid:member(1)", - "docComment": "/**\n * Checks that the passed value is of the correct type.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isValid(value: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "value", - "canonicalReference": "@tldraw/validate!~value" - }, - { - "kind": "Content", - "text": " is T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isValid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#nullable:member(1)", - "docComment": "/**\n * Returns a new validator that also accepts null or undefined. The resulting value will always be null.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "nullable(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "nullable" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#optional:member(1)", - "docComment": "/**\n * Returns a new validator that also accepts null or undefined. The resulting value will always be null.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "optional(): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "optional" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#refine:member(1)", - "docComment": "/**\n * Refine this validation to a new type. The passed-in validation function should throw an error if the value can't be converted to the new type, or return the new type otherwise.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "refine(otherValidationFn: " - }, - { - "kind": "Content", - "text": "(value: T) => U" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Validator", - "canonicalReference": "@tldraw/validate!Validator:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "U", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "otherValidationFn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "refine" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#validate:member(1)", - "docComment": "/**\n * Asserts that the passed value is of the correct type and returns it. The returned value is guaranteed to be referentially equal to the passed value.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "validate(value: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/validate!Validator#validateUsingKnownGoodVersion:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "validateUsingKnownGoodVersion(knownGoodValue: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", newValue: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "knownGoodValue", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "newValue", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "validateUsingKnownGoodVersion" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!Validator#validateUsingKnownGoodVersionFn:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly validateUsingKnownGoodVersionFn?: " - }, - { - "kind": "Content", - "text": "undefined | " - }, - { - "kind": "Reference", - "text": "ValidatorUsingKnownGoodVersionFn", - "canonicalReference": "@tldraw/validate!T.ValidatorUsingKnownGoodVersionFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": true, - "releaseTag": "Public", - "name": "validateUsingKnownGoodVersionFn", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/validate!Validator#validationFn:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly validationFn: " - }, - { - "kind": "Reference", - "text": "ValidatorFn", - "canonicalReference": "@tldraw/validate!T.ValidatorFn:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "validationFn", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 3 - } - ] - } - ] - } - ] -} diff --git a/apps/docs/app/api/ai/route.ts b/apps/docs/app/api/ai/route.ts index 693bf8e13..51c5cb79a 100644 --- a/apps/docs/app/api/ai/route.ts +++ b/apps/docs/app/api/ai/route.ts @@ -1,6 +1,7 @@ import { SearchResult } from '@/types/search-types' import { getDb } from '@/utils/ContentDatabase' import { SEARCH_RESULTS, searchBucket, sectionTypeBucket } from '@/utils/search-api' +import { structuredClone } from '@tldraw/utils' import assert from 'assert' import { NextRequest } from 'next/server' diff --git a/apps/docs/app/api/search/route.ts b/apps/docs/app/api/search/route.ts index 6a1a030b3..848ced297 100644 --- a/apps/docs/app/api/search/route.ts +++ b/apps/docs/app/api/search/route.ts @@ -1,6 +1,7 @@ import { SearchResult } from '@/types/search-types' import { getDb } from '@/utils/ContentDatabase' import { SEARCH_RESULTS, searchBucket, sectionTypeBucket } from '@/utils/search-api' +import { structuredClone } from '@tldraw/utils' import { NextRequest } from 'next/server' type Data = { diff --git a/apps/docs/components/Search.tsx b/apps/docs/components/Search.tsx index 6ad42b869..968d9eb09 100644 --- a/apps/docs/components/Search.tsx +++ b/apps/docs/components/Search.tsx @@ -7,10 +7,7 @@ import { useEffect, useRef, useState } from 'react' import { useHotkeys } from 'react-hotkeys-hook' import { Autocomplete, DropdownOption } from './Autocomplete' -const HOST_URL = - process.env.NODE_ENV === 'development' - ? 'http://localhost:3001' - : process.env.NEXT_PUBLIC_SITE_URL ?? 'https://tldraw.dev' +const HOST_URL = typeof location !== 'undefined' ? location.origin : 'https://tldraw.dev' export function Search() { const [searchType, setSearchType] = useState(SEARCH_TYPE.NORMAL) diff --git a/apps/docs/content/community/license.mdx b/apps/docs/content/community/license.mdx index e56fdc80f..30c6a2bff 100644 --- a/apps/docs/content/community/license.mdx +++ b/apps/docs/content/community/license.mdx @@ -13,4 +13,4 @@ This license does not permit commercial use. If you wish to use tldraw in a comm ## Trademarks While the copyright to our open source software is licensed under the tldraw license, our trademarks appearing in or on the open source software are the exclusive property of tldraw. Our open source license does not include a license to use our trademarks. -Please see our [trademark policy](https://github.com/tldraw/tldraw/blob/master/TRADEMARKS.md) for more information. +Please see our [trademark policy](https://github.com/tldraw/tldraw/blob/main/TRADEMARKS.md) for more information. diff --git a/apps/docs/content/docs/collaboration.mdx b/apps/docs/content/docs/collaboration.mdx index 89b5cb37f..854999d64 100644 --- a/apps/docs/content/docs/collaboration.mdx +++ b/apps/docs/content/docs/collaboration.mdx @@ -1,9 +1,75 @@ --- title: Collaboration status: published -author: steveruizok +author: ds300 date: 3/22/2023 order: 8 --- -See the [tldraw-yjs example](https://github.com/tldraw/tldraw-yjs-example) for an example of how to use yjs with the `tldraw` library. +We've designed the tldraw SDK to work with any collaboration backend. Depending on which backend you choose, you will need an interface that pipes changes coming from the editor to the backend and then merge changes from the backend back to the editor. + +The best way to get started is by adapting one of our examples. + +### Yjs sync example + +We created a [tldraw-yjs example](https://github.com/tldraw/tldraw-yjs-example) to illustrate a way of using the [yjs](https://yjs.dev) library with the tldraw SDK. If you need a "drop in solution" for prototyping multiplayer experiences with tldraw, start here. + +### Sockets example + +We have a [sockets example](https://github.com/tldraw/tldraw-sockets-example) that uses [PartyKit](https://www.partykit.io/) as a backend. Unlike the yjs example, this example does not use any special data structures to handle conflicts. It should be a good starting point if you needed to write your own conflict-resolution logic. + +### Our own sync engine + +We developed our own sync engine for use on tldraw.com based on a push/pull/rebase-style algorithm. It powers our "shared projects", such as [this one](https://tldraw.com/r). The engine's source code can be found [here](https://github.com/tldraw/tldraw/tree/main/packages/tlsync). It was designed to be hosted on Cloudflare workers with [DurableObjects](https://developers.cloudflare.com/durable-objects/). + +We don't suggest using this code directly. However, like our other examples, it may serve as a good reference for your own sync engine. + +## Store data + +For information about how to synchronize the store with other processes, i.e. how to get data out and put data in, including from remote sources, see the (Persistence)[/docs/persistence] page. + +## User presence + +Tldraw has support for displaying the 'presence' of other users. Presence information consists of: + +- The user's pointer position +- The user's set of selected shapes +- The user's viewport bounds (the part of the canvas they are currently viewing) +- The user's name, id, and a color to represent them + +This information will usually come from two sources: + +- The tldraw editor state (e.g. pointer position, selected shapes) +- The data layer of whichever app tldraw has been embedded in (e.g. user name, user id) + +Tldraw is agnostic about how this data is shared among users. However, in order for tldraw to use the presence data it needs to be put into the editor's store as `instance_presence` records. + +We provide a helper for constructing a reactive signal for an `instance_presence` record locally, which can then be sent to other clients somehow. It is called [createPresenceStateDerivation](?). + +```ts +import { createPresenceStateDerivation, react, atom } from 'tldraw' + +// First you need to create a Signal containing the basic user details: id, name, and color +const user = atom<{ id: string; color: string; name: string }>('user', { + id: myUser.id, + color: myUser.color, + name: myUser.name, +}) + +// if you don't have your own user data backend, you can use our localStorage-only user preferences store +// import { getUserPreferences, computed } from 'tldraw' +// const user = computed('user', getUserPreferences) + +// Then, with access to your store instance, you can create a presence signal +const userPresence = createPresenceStateDerivation(user)(store) + +// Then you can listen for changes to the presence signal and send them to other clients +const unsub = react('update presence', () => { + const presence = userPresence.get() + broadcastPresence(presence) +}) +``` + +The other clients would then call `store.put([presence])` to add the presence information to their store. + +Any such `instance_presence` records tldraw finds in the store that have a different user `id` than the editor's configured user id will cause the presence information to be rendered on the canvas. diff --git a/apps/docs/content/docs/editor.mdx b/apps/docs/content/docs/editor.mdx index dfd3f4192..3ff0e268f 100644 --- a/apps/docs/content/docs/editor.mdx +++ b/apps/docs/content/docs/editor.mdx @@ -50,21 +50,9 @@ editor.getSelectedShapeIds() // [myShapeId, myOtherShapeId] Each change to the state happens within a transaction. You can batch changes into a single transaction using the [Editor#batch](?) method. It's a good idea to batch wherever possible, as this reduces the overhead for persisting or distributing those changes. -### Listening for changes +### Listening for changes, and merging changes from other sources -You can subscribe to changes using the [Store#listen](?) method on [Editor#store](?). Each time a transaction completes, the editor will call the callback with a history entry. This entry contains information about the records that were added, changed, or deleted, as well as whether the change was caused by the user or from a remote change. - -```ts -editor.store.listen((entry) => { - entry // { changes, source } -}) -``` - -### Remote changes - -By default, changes to the editor's store are assumed to have come from the editor itself. You can use the [Store#mergeRemoteChanges](?) method of the editor's [Editor#store](?) to make changes in the store that will be emitted via [Store#listen](?) with the `source` property as `'remote'`. - -If you're setting up some kind of multiplayer backend, you would want to send only the `'user'` changes to the server and merge the changes from the server using [Store#mergeRemoteChanges](?) (`editor.store.mergeRemoteChanges`). +For information about how to synchronize the store with other processes, i.e. how to get data out and put data in, see the (Persistence)[/docs/persistence] page. ### Undo and redo @@ -170,6 +158,33 @@ export const BubbleToolUi = track(() => { }) ``` +## Side effects + +The [Editor#sideEffects](?) object lets you register callbacks for key parts of the lifecycle of records in the [Store](#Store). +You can register callbacks for before or after a record is created, changed, or deleted. +These callbacks are useful for applying constraints, maintaining relationships, or checking the integrity of different records in the document. +For example, we use side effects to create a new [TLCamera](?) record every time a new page is made. + +The "before" callbacks allow you to modify the record itself, but shouldn't be used for modifying other records. +You can create a different record in the place of what was asked, prevent a change (or make a different one) to an existing record, or stop something from being deleted. + +The "after" callbacks let you make changes to other records in response to something happening. +You could create, update, or delete any related record, but you should avoid changing the same record that triggered the change. + +For example, if you wanted to know every time a new arrow is created, you could register a handler like this: + +```ts +editor.sideEffects.registerAfterCreateHandler('shape', (newShape) => { + if (newShape.type === 'arrow') { + console.log('A new arrow shape was created', newShape) + } +}) +``` + +Side effect handlers are also given a `source` argument - either `"user"` or `"remote"`. +This indicates whether the change originated from the current user, or from another remote user in the same multiplayer room. +You could use this to e.g. prevent the current user from deleting shapes, but allow deletions from others in the same room. + ## Inputs The [Editor#inputs](?) object holds information about the user's current input state, including their cursor position (in page space _and_ screen space), which keys are pressed, what their multi-click state is, and whether they are dragging, pointing, pinching, and so on. diff --git a/apps/docs/content/docs/persistence.mdx b/apps/docs/content/docs/persistence.mdx index f5908bf97..95f66929d 100644 --- a/apps/docs/content/docs/persistence.mdx +++ b/apps/docs/content/docs/persistence.mdx @@ -17,7 +17,7 @@ Persistence in tldraw means storing information about the editor's state to a da ## The `"persistenceKey"` prop -Both the `` or `` components support local persitence and cross-tab synchronization via the `persistenceKey` prop. Passing a value to this prop will persist the contents of the editor locally to the browser's IndexedDb. +Both the `` or `` components support local persistence and cross-tab synchronization via the `persistenceKey` prop. Passing a value to this prop will persist the contents of the editor locally to the browser's IndexedDb. ```tsx import { Tldraw } from 'tldraw' @@ -54,7 +54,7 @@ export default function () { In the example above, both editors would synchronize their document locally. They would still have two independent instance states (e.g. selections) but the document would be kept in sync and persisted under the same key. -## Snapshots +## Document Snapshots You can get a JSON snapshot of the editor's content using the [Editor#store](?)'s [Store#getSnapshot](?) method. @@ -96,7 +96,7 @@ function LoadButton() { A [snapshot](/reference/store/StoreSnapshot) includes both the store's [serialized records](/reference/store/SerializedStore) and its [serialized schema](/reference/store/SerializedSchema), which is used for migrations. -> By default, the `getSnapshot` method returns only the editor's document data. If you want to get records from a different scope, You can pass in `session`, `document`, `presence`, or else `all` for all scopes. +> By default, the `getSnapshot` method returns only the editor's document data. If you want to get records from a different scope, you can pass in `session`, `document`, `presence`, or else `all` for all scopes. Note that loading a snapshot does not reset the editor's in memory state or UI state. For example, loading a snapshot during a resizing operation may lead to a crash. This is because the resizing state maintains its own cache of information about which shapes it is resizing, and its possible that those shapes may no longer exist! @@ -170,3 +170,242 @@ export default function () { ``` For a good example of this pattern, see the [yjs-example](https://github.com/tldraw/tldraw-yjs-example). + +## Listening for changes + +You can listen for incremental updates to the document state by calling `editor.store.listen`, e.g. + +```ts +const unlisten = editor.store.listen( + (update) => { + console.log('update', update) + }, + { scope: 'document', source: 'user' } +) +``` + +These updates contain information about which records were added, removed, and updated. See [HistoryEntry](?) + +The `scope` filter can be used to listen for changes to a specific record scope, e.g. `document`, `session`, `presence`, or `all`. + +The `source` filter can be used to listen for changes from a specific source, e.g. `user`, `remote`, or `all`. (See [Store#mergeRemoteChanges](?) for more information on remote changes.) + +Note that these incremental updates do not include the schema version. You should make sure that you keep a record of the latest schema version for your snapshots. + +You can get the schema version by calling `editor.store.schema.serialize()` and the returned value can replace the `schema` property in the snapshot next time you need to load a snapshot. The schema does not change at runtime so you only need to do this once per session. + +## Handling remote changes + +If you need to synchronize changes from a remote source, e.g. a multiplayer backend, you can use the `editor.store.mergeRemoteChanges` method. This will 'tag' the changes with the `source` property as `'remote'` so you can filter them out when listening for changes. + +```ts +myRemoteSource.on('change', (changes) => { + editor.store.mergeRemoteChanges(() => { + changes.forEach((change) => { + // Apply the changes to the store + editor.store.put(/* ... */) + }) + }) +}) +``` + +## Migrations + +Tldraw uses migrations to bring data from old snapshots up to date. These run automatically when calling `editor.store.loadSnapshot`. + +### Running migrations manually + +If you need to run migrations on a snapshot without loading it into the store, you can call [StoreSchema#migrateStoreSnapshot](?) directly. + +```ts +import { createTLSchema } from 'tldraw' + +const snapshot = await getSnapshotFromSomewhere() +const migrationResult = createTLSchema().migrateStoreSnapshot(snapshot) +if (migrationResult.type === 'success') { + console.log('Migrated snapshot', migrationResult.value) +} else { + console.error('Migration failed', migrationResult.reason) +} +``` + +### Custom migrations + +Tldraw supports a couple of ways of adding custom data types to the tldraw store: + +- [Custom shape types](/docs/shapes#Custom-shapes-1) +- [`meta` properties](/docs/shapes#Meta-information) on all of our built-in record types. + +You might wish to migrate your custom data types over time as you make changes to them. + +To enable this, tldraw provides two ways to add custom migrations: + +1. **Shape props migrations**, specifically for migrating the shape.props objects on your custom shape types. +2. **The `migrations` config option**, which is more general purpose but much less commonly needed. This will allow you to migrate any data in the store. + +#### Shape props migrations + +If you have a custom shape type, you can define a `migrations` property on the shape util class. Use the `createShapePropsMigrationSequence` helper to define this property. + +```ts +import { createShapePropsMigrationSequence, createShapePropsMigrationIds, ShapeUtil } from 'tldraw' + +// Migrations must start a 1 and be sequential integers. +const Versions = createShapePropMigrationIds('custom-shape', { + AddColor: 1, +}) + +class MyCustomShapeUtil extends ShapeUtil { + static type = 'custom-shape' + static migrations = createShapePropsMigrationSequence({ + sequence: [ + { + id: Versions.AddColor, + up(props) { + // set the default color + props.color = 'black' + }, + }, + ], + }) + + // ... +} +``` + +#### The `migrations` config option + +First create a set of migration ids. + +```ts +import { createMigrationIds } from 'tldraw' + +// The first argument is a unique namespace for your migration sequence. +// We recommend using a reverse domain name, e.g. we use 'com.tldraw.foo.bar' +const SEQUENCE_ID = 'com.example.my-app' + +const Versions = createMigrationIds(SEQUENCE_ID, { + // Migrations must start at 1 and be sequential integers. + AddColor: 1, +}) +``` + +Then create a migration sequence. + +```ts +import { createMigrationSequence, isShape } from 'tldraw' + +const myMigrations = createMigrationSequence({ + sequenceId: SEQUENCE_ID, + sequence: [ + { + id: Versions.AddColor, + // Scope can be one of + // - 'store' to have the up function called on the whole snapshot at once + // - 'record' to have the up function called on each record individually + scope: 'record', + // if scope is 'record', you can filter which records the migration runs on + filter: (record) => isShape(record) && record.type === 'custom-shape', + up(record) { + record.props.color = 'black' + }, + }, + ], +}) +``` + +And finally pass your migrations in to tldraw via the `migrations` config option. There are a few places where you might need to do this, depending on how specialized your usage of Tldraw is: + +```tsx +// When rendering the Tldraw component + + +// or when creating the store +store = createTLStore({ + ... + migrations: [myMigrations], +}) + +// or when creating the schema +schema = createTLSchema({ + ... + migrations: [myMigrations], +}) +``` + +### Updating legacy shape migrations (defineMigrations) + +You can convert your legacy migrations to the new migrations format by the following process: + +1. Wrap your version numbers in `createShapePropsMigrationIds` + +```diff +- const Versions = { ++ const Versions = createShapePropMigrationIds('custom-shape', { + AddColor: 1 +- } ++ }) +``` + +2. Replace your `defineMigrations` call with `createShapePropsMigrationSequence` + +```ts +const migrations = defineMigrations({ + currentVersion: Versions.AddColor, + migrators: { + [Versions.AddColor]: { + up: (shape: any) => ({ ...shape, props: { ...shape.props, color: 'black' } }), + down: ({ props: { color, ...props }, ...shape }: any) => ({ ...shape, props }), + }, + }, +}) +``` + +Becomes + +```ts +const migrations = createShapePropsMigrationSequence({ + sequence: [ + { + id: Versions.AddColor, + // [!!!] You no longer have access to the top-level shape object. + // Only the shape.props object is passed in to the migrator function. + up(props) { + // [!!!] You no longer need to return a new copy of the shape object. + // Instead, you can modify the props object in place. + props.color = 'black' + }, + // [!!!] You no longer need to specify a down migration. + }, + ], +}) +``` + +## Examples + +### Local persistence + +Tldraw ships with a local-only sync engine based on `IndexedDb` and `BroadcastChannel` called [`TLLocalSyncClient`](https://github.com/tldraw/tldraw/blob/main/packages/editor/src/lib/utils/sync/TLLocalSyncClient.ts). + +### Tldraw.com sync engine + +[tldraw.com/r](https://tldraw.com/r) currently uses a simple custom sync engine based on a push/pull/rebase-style algorithm. +It can be found [here](https://github.com/tldraw/tldraw/tree/main/packages/tlsync). +It was optimized for Cloudflare workers with [DurableObjects](https://developers.cloudflare.com/durable-objects/) + +We don't suggest using our code directly yet, but it may serve as a good reference for your own sync engine. + +### Yjs sync example + +We created a [tldraw-yjs example](https://github.com/tldraw/tldraw-yjs-example) to illustrate a way of using yjs with the tldraw SDK. + +### Shape props migrations example + +Our [custom-config example](/examples/shapes/tools/custom-config) shows how to add custom shape props migrations to the tldraw store. + +### Meta properties migrations example + +Our [custom-config example](/examples/shapes/tools/custom-config) shows how to add custom migrations to the tldraw store. diff --git a/apps/docs/content/docs/shapes.mdx b/apps/docs/content/docs/shapes.mdx index 7b191b734..018198981 100644 --- a/apps/docs/content/docs/shapes.mdx +++ b/apps/docs/content/docs/shapes.mdx @@ -239,4 +239,6 @@ You can turn on `pointer-events` to allow users to interact inside of the shape. You can make shapes "editable" to help decide when they're interactive or not. -...and more! +### Migrations + +You can add migrations for your shape props by adding a `migrations` property to your shape's util class. See [the persistence docs](/docs/persistence#Shape-props-migrations) for more information. diff --git a/apps/docs/content/docs/user-interface.mdx b/apps/docs/content/docs/user-interface.mdx index 45509219f..5a56623f8 100644 --- a/apps/docs/content/docs/user-interface.mdx +++ b/apps/docs/content/docs/user-interface.mdx @@ -59,7 +59,6 @@ Note that `onUiEvent` is only called when interacting with the user interface. I See the [tldraw repository](https://github.com/tldraw/tldraw/tree/main/apps/examples) for an example of how to customize tldraw's user interface. - ## Overrides The content of tldraw's menus can be controlled via the `overrides` prop. This prop accepts a [TLUiOverrides](/reference/tldraw/TLUiOverrides) object, which has methods for each part of the user interface, such as the `toolbar` or `keyboardShortcutsMenu`. diff --git a/apps/docs/content/getting-started/installation.mdx b/apps/docs/content/getting-started/installation.mdx index ad8adfd1a..380c9cf84 100644 --- a/apps/docs/content/getting-started/installation.mdx +++ b/apps/docs/content/getting-started/installation.mdx @@ -14,6 +14,8 @@ First, install the `tldraw` package: npm i tldraw ``` +> The tldraw SDK [does not follow semantic versioning](/releases-versioning). + ## Usage You can use the [Tldraw](?) component inside of any React component. @@ -56,7 +58,7 @@ If you'd like to deeply change the way that tldraw looks, you can copy the `tldr We also use Inter as the default tldraw font. You can import this font however you like (or use a different font!) but here's the CSS import from Google fonts that we use: ```css -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap'); ``` ### HTML @@ -145,7 +147,7 @@ const assetUrls = getAssetUrls({ ## Subcomponents -The [Tldraw](?) component combines two lower-level components: [TldrawEditor](?) and TldrawUi. If you want to have more granular control, you can use those lower-level components directly. See [this example](https://github.com/tldraw/tldraw/blob/main/apps/examples/src/examples/ExplodedExample.tsx) for reference. +The [Tldraw](?) component combines two lower-level components: [TldrawEditor](?) and TldrawUi. If you want to have more granular control, you can use those lower-level components directly. See [this example](https://github.com/tldraw/tldraw/blob/main/apps/examples/src/examples/exploded/ExplodedExample.tsx) for reference. ### Customize the default components diff --git a/apps/docs/content/getting-started/quick-start.mdx b/apps/docs/content/getting-started/quick-start.mdx index a85c3a1a9..7cc374c82 100644 --- a/apps/docs/content/getting-started/quick-start.mdx +++ b/apps/docs/content/getting-started/quick-start.mdx @@ -10,7 +10,7 @@ order: 0 You can use the tldraw SDK to craft infinite canvas experiences for the web. It's perfect for collaborative whiteboards but you can use it for lots of other things, too. -By the end of this guide you will have made something that looks like this: +By the end of this guide you will have made something that looks like this: @@ -31,7 +31,7 @@ To import fonts and CSS for tldraw: - Copy and paste this into the file: ```CSS -@import url("https://fonts.googleapis.com/css2?family=Inter:wght@500;700;&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap"); @import url("tldraw/tldraw.css"); body { @@ -50,26 +50,26 @@ To render the Tldraw component This will render a full screen canvas: ```javascript -import { Tldraw } from "tldraw"; -import "./index.css"; +import { Tldraw } from 'tldraw' +import './index.css' export default function App() { - return ( -
- -
- ); + return ( +
+ +
+ ) } ``` ## Next Steps -Now that you have your canvas working, you may be wondering: what next? +Now that you have your canvas working, you may be wondering: what next? -You can try: +You can try: - Giving the editor a makeover by [customizing the UI](/docs/user-interface) - Adding your own [shapes](/docs/shapes) and [tools](/docs/tools) -- Providing collaboration using [multiplayer](https://github.com/tldraw/tldraw-yjs-example) +- Providing collaboration using [multiplayer](https://github.com/tldraw/tldraw-yjs-example) We provide the above examples and more in our [examples section](/examples). Go build something creative and please do share it with us in our [#show-and-tell](https://discord.com/invite/SBBEVCA4PG) channel on Discord! diff --git a/apps/docs/content/getting-started/releases-versioning.mdx b/apps/docs/content/getting-started/releases-versioning.mdx new file mode 100644 index 000000000..ac83ce419 --- /dev/null +++ b/apps/docs/content/getting-started/releases-versioning.mdx @@ -0,0 +1,738 @@ +--- +title: Releases +status: published +author: steveruizok +order: 3 +--- + +## How tldraw is versioned + +**We do not follow SemVer**. + +- Major version bumps are very rare and we reserve them for special changes that signify a paradigm shift of some kind. +- Minor version bumps are released on a regular cadence - approximately monthly. **They may contain breaking changes**. We aim to make breaking changes as minimally disruptive as possible, but tldraw is actively evolving as we add new features. We recommend updating tldraw at a similar pace to our release cadence, and be sure to check the release notes. +- Patch version bumps are for bugfixes and hotfixes that can't wait for the next cadence release. + +## Changelog + +{/* START AUTO-GENERATED CHANGELOG */} + +### [v2.1.0](/releases/v2.1.0) + +#### Make note handles show only one when zoomed out ([#3562](https://github.com/tldraw/tldraw/pull/3562)) + +- Show only the bottom handle on notes when zoomed between .25 and .5 + +#### Perf: minor drawing speedup ([#3464](https://github.com/tldraw/tldraw/pull/3464)) + +- Improve performance of draw shapes. + +#### Prevent default on native clipboard events ([#3536](https://github.com/tldraw/tldraw/pull/3536)) + +- Fix copy sound on clipboard events. + +#### WebGL Minimap ([#3510](https://github.com/tldraw/tldraw/pull/3510)) + +- Add a brief release note for your PR here. + +#### arrows: fix bound arrow labels going over text shape ([#3512](https://github.com/tldraw/tldraw/pull/3512)) + +- Arrows: fix label positioning when bound. + +#### arrows: still use Dist instead of Dist2 ([#3511](https://github.com/tldraw/tldraw/pull/3511)) + +- Fix arrow label positioning + +#### Fix culling. ([#3504](https://github.com/tldraw/tldraw/pull/3504)) + +- Fix culling. + +#### "Soft preload" icons ([#3507](https://github.com/tldraw/tldraw/pull/3507)) + +- Improve icon preloading + +#### Color tweaks (light and dark mode) ([#3486](https://github.com/tldraw/tldraw/pull/3486)) + +- Adjusts colors + +#### Add slides example ([#3467](https://github.com/tldraw/tldraw/pull/3467)) + +- Docs: Added a slideshow example + +#### Only show cursor chat button in select mode ([#3485](https://github.com/tldraw/tldraw/pull/3485)) + +- Fix cursor chat button appearing when not in select tool. + +#### Fix alt-duplicating shapes sometimes not working ([#3488](https://github.com/tldraw/tldraw/pull/3488)) + +- Add a brief release note for your PR here. + +#### [perf] faster signia capture (again) ([#3487](https://github.com/tldraw/tldraw/pull/3487)) + +- Add a brief release note for your PR here. + +#### [perf] faster signia capture ([#3471](https://github.com/tldraw/tldraw/pull/3471)) + +- Slight performance improvement to reactivity bookkeeping. + +#### New migrations again ([#3220](https://github.com/tldraw/tldraw/pull/3220)) + +#### BREAKING CHANGES + +- The `Migrations` type is now called `LegacyMigrations`. +- The serialized schema format (e.g. returned by `StoreSchema.serialize()` and `Store.getSnapshot()`) has changed. You don't need to do anything about it unless you were reading data directly from the schema for some reason. In which case it'd be best to avoid that in the future! We have no plans to change the schema format again (this time was traumatic enough) but you never know. +- `compareRecordVersions` and the `RecordVersion` type have both disappeared. There is no replacement. These were public by mistake anyway, so hopefully nobody had been using it. +- `compareSchemas` is gone. Comparing the schemas directly is no longer really possible since we introduced some fuzziness. The best thing to do now to check compatibility is to call `schema.getMigraitonsSince(prevSchema)` and it will return an error if the schemas are not compatible, an empty array if there are no migrations to apply since the prev schema, and a nonempty array otherwise. + + Generally speaking, the best way to check schema compatibility now is to call `store.schema.getMigrationsSince(persistedSchema)`. This will throw an error if there is no upgrade path from the `persistedSchema` to the current version. + +- `defineMigrations` has been deprecated and will be removed in a future release. For upgrade instructions see https://tldraw.dev/docs/persistence#Updating-legacy-shape-migrations-defineMigrations + +- `migrate` has been removed. Nobody should have been using this but if you were you'll need to find an alternative. For migrating tldraw data, you should stick to using `schema.migrateStoreSnapshot` and, if you are building a nuanced sync engine that supports some amount of backwards compatibility, also feel free to use `schema.migratePersistedRecord`. +- the `Migration` type has changed. If you need the old one for some reason it has been renamed to `LegacyMigration`. It will be removed in a future release. +- the `Migrations` type has been renamed to `LegacyMigrations` and will be removed in a future release. +- the `SerializedSchema` type has been augmented. If you need the old version specifically you can use `SerializedSchemaV1` + +#### Stickies: release candidate ([#3249](https://github.com/tldraw/tldraw/pull/3249)) + +- Improves sticky notes (see list) + +#### Cancel pointer velocity while pinching ([#3462](https://github.com/tldraw/tldraw/pull/3462)) + +- Fixed a bug that could occur while pinching with the hand tool selected. + +#### conditionally use star-history dark theme ([#3461](https://github.com/tldraw/tldraw/pull/3461)) + +updates the star-history image in the README to conditionally show a dark theme image based on the user's `prefers-color-scheme` + +#### Allow users to edit the document title by double clicking it even when editing a shape. ([#3459](https://github.com/tldraw/tldraw/pull/3459)) + +- Allow users to editing document name by double clicking even when previously editing text. + +#### Don't show edit link for locked shapes. ([#3457](https://github.com/tldraw/tldraw/pull/3457)) + +- Hide edit link context menu option for locked shapes. + +#### Faster selection / erasing ([#3454](https://github.com/tldraw/tldraw/pull/3454)) + +- Improve performance of minimum distance checks. + +#### Make minimap display sharp rectangles. ([#3434](https://github.com/tldraw/tldraw/pull/3434)) + +- Improve + +#### Update font import URL in quick-start.mdx ([#3430](https://github.com/tldraw/tldraw/pull/3430)) + +- Fixes font import link in tldraw.dev quickstart guide + +#### Perf: Improve text outline performance ([#3429](https://github.com/tldraw/tldraw/pull/3429)) + +- Improves performance of text shapes on iOS / Safari. + +#### Perf: throttle `updateHoveredId` ([#3419](https://github.com/tldraw/tldraw/pull/3419)) + +- Improves canvas performance by throttling the update to the editor's hovered id. + +#### Perf: block hit tests while moving camera ([#3418](https://github.com/tldraw/tldraw/pull/3418)) + +- Improves performance of canvas while the camera is moving. + +#### Perf: (slightly) faster min dist checks ([#3401](https://github.com/tldraw/tldraw/pull/3401)) + +- Performance: small improvements to hit testing. + +#### Examples: update kbd shortcuts, add actions overrides example ([#3330](https://github.com/tldraw/tldraw/pull/3330)) + +- Add action overrides example, update keyboard shortcuts example + +#### Add long press event ([#3275](https://github.com/tldraw/tldraw/pull/3275)) + +- Add support for long pressing on desktop. + +#### Tool with child states ([#3074](https://github.com/tldraw/tldraw/pull/3074)) + +- Add an example of a tool with child states + +#### Fix text resizing bug ([#3327](https://github.com/tldraw/tldraw/pull/3327)) + +- Fixes an issue with text shapes overflowing their bounds when resized. + +#### Input buffering ([#3223](https://github.com/tldraw/tldraw/pull/3223)) + +- Add a brief release note for your PR here. + +#### Add white ([#3321](https://github.com/tldraw/tldraw/pull/3321)) + +- Adds secret white color. + +#### Don't trigger pointer move on zoom ([#3305](https://github.com/tldraw/tldraw/pull/3305)) + +- Improve performance of zooming. + +#### Decrease the number of rendered dom nodes for geo shape and arrows ([#3283](https://github.com/tldraw/tldraw/pull/3283)) + +- Reduce the number of rendered dom nodes for geo shapes and arrows without text. + +#### Improve performance of culling ([#3272](https://github.com/tldraw/tldraw/pull/3272)) + +- Improve performance of the canvas when many shapes are present. + +#### styling: make dotcom and examples site have consistent font styling ([#3271](https://github.com/tldraw/tldraw/pull/3271)) + +- Add a brief release note for your PR here. + +#### ui: make toasts look more toasty ([#2988](https://github.com/tldraw/tldraw/pull/2988)) + +- UI: Add severity to toasts. + +#### textfields [1 of 3]: add text into speech bubble; also add rich text example ([#3050](https://github.com/tldraw/tldraw/pull/3050)) + +- Refactor textfields be composable/swappable. + +#### Update romanian translations ([#3269](https://github.com/tldraw/tldraw/pull/3269)) + +- Update Romanian translation. + +#### Allow hiding debug panel. ([#3261](https://github.com/tldraw/tldraw/pull/3261)) + +- Allow users to fully override the `DebugPanel`. + +#### Add inline behaviour example ([#3113](https://github.com/tldraw/tldraw/pull/3113)) + +- Docs: Added an example for inline behaviour. + +#### toolbar: fix missing title attributes ([#3244](https://github.com/tldraw/tldraw/pull/3244)) + +- Fix title's being missing on toolbar items. + +#### Don't double squash ([#3182](https://github.com/tldraw/tldraw/pull/3182)) + +- Minor improvement when modifying multiple shapes at once. + +#### Fix lag while panning + translating at the same time ([#3186](https://github.com/tldraw/tldraw/pull/3186)) + +- Add a brief release note for your PR here. + +#### fix docs build ([#3201](https://github.com/tldraw/tldraw/pull/3201)) + +- Add a brief release note for your PR here. + +#### Update the document title to include the document name. ([#3197](https://github.com/tldraw/tldraw/pull/3197)) + +- Use the document name in the `document.title`. + +#### Remove access token logic. ([#3187](https://github.com/tldraw/tldraw/pull/3187)) + +- Remove some leftover logic from pro days. + +#### [fix] Batch tick events ([#3181](https://github.com/tldraw/tldraw/pull/3181)) + +- Fix a performance issue effecting resizing multiple shapes. + +#### [tinyish] Simplify / skip some work in Shape ([#3176](https://github.com/tldraw/tldraw/pull/3176)) + +- SDK: minor improvements to the Shape component + +#### [tiny] Slightly more efficient selection rotated page bounds / page bounds ([#3178](https://github.com/tldraw/tldraw/pull/3178)) + +- SDK, slightly more performant selection bounds calculations. + +#### [sync] allow connections from v4 clients ([#3173](https://github.com/tldraw/tldraw/pull/3173)) + +- Add a brief release note for your PR here. + +#### [fix] Handles extra renders ([#3172](https://github.com/tldraw/tldraw/pull/3172)) + +- SDK: Fixed a minor rendering issue related to handles. + +#### [fix] Cleanup text measures ([#3169](https://github.com/tldraw/tldraw/pull/3169)) + +- Fixed a bug that could cause multiple text measurement divs in development mode. + +#### [perf] Reinstate render throttling ([#3160](https://github.com/tldraw/tldraw/pull/3160)) + +- Add a brief release note for your PR here. + +#### Fix release eliding ([#3156](https://github.com/tldraw/tldraw/pull/3156)) + +- Add a brief release note for your PR here. + +#### Updated exploded example link from installation page. ([#3138](https://github.com/tldraw/tldraw/pull/3138)) + +- Add a brief release note for your PR here. + Installation docs has a link to example for exploded which points to github 404. I have updated the working link. + +#### Make the custom menu examples a bit clearer ([#3106](https://github.com/tldraw/tldraw/pull/3106)) + +- Add a brief release note for your PR here. + +#### Menu updates / fix flip / add export / remove Shape menu ([#3115](https://github.com/tldraw/tldraw/pull/3115)) + +- Revert some changes in the menu. + +#### Performance improvements ([#2977](https://github.com/tldraw/tldraw/pull/2977)) + +- Improves the performance of rendering. + +#### [fix] Rotated crop handle ([#3093](https://github.com/tldraw/tldraw/pull/3093)) + +- Fixed a bug that could cause rotated cropping images to have incorrectly rotated handles. + +#### Fix typo in useValue comment ([#3088](https://github.com/tldraw/tldraw/pull/3088)) + +- Fix typo in useValue comment. + +#### Shape with Migrations ([#3078](https://github.com/tldraw/tldraw/pull/3078)) + +- Adds a shape with migrations example + +#### Fix viewport params for pages. ([#3079](https://github.com/tldraw/tldraw/pull/3079)) + +- Fixes an issue with url params in the share links. The viewport params only worked on the first page in the document. + +#### Fix typo ([#3069](https://github.com/tldraw/tldraw/pull/3069)) + +N/A + +#### Add custom tool examples ([#3064](https://github.com/tldraw/tldraw/pull/3064)) + +- Adds a simple custom tool example + +#### Fix validation errors for `duplicateProps` ([#3065](https://github.com/tldraw/tldraw/pull/3065)) + +- Add a brief release note for your PR here. + +#### Shorten url state ([#3041](https://github.com/tldraw/tldraw/pull/3041)) + +- Shortens url parameters for dot com. + +#### Fix an issue where the video size was not drawn correctly ([#3047](https://github.com/tldraw/tldraw/pull/3047)) + +- Fix an issue where the video size was not drawn correctly. + +#### [fix] Input tags ([#3038](https://github.com/tldraw/tldraw/pull/3038)) + +- Fixed autocomplete, autocapitalize, and autocorrect tags on text inputs. + +#### Lokalise: Translations update ([#3049](https://github.com/tldraw/tldraw/pull/3049)) + +- Updated Hungarian translations. + +#### [terrible] Firefox: Allow scrolling on keyboard shortcuts dialog ([#2974](https://github.com/tldraw/tldraw/pull/2974)) + +- Add a brief release note for your PR here. + +#### Fix cursor chat bubble position. ([#3042](https://github.com/tldraw/tldraw/pull/3042)) + +- Fixed a bug where cursor chat bubble position could be wrong when a sidebar was open. + +#### Fix broken link for shape example ([#3046](https://github.com/tldraw/tldraw/pull/3046)) + +- Fix a link that was pointing to a 404 on GitHub + +#### Protect local storage calls ([#3043](https://github.com/tldraw/tldraw/pull/3043)) + +- Fixes a bug that could cause crashes in React Native webviews. + +#### Custom shape examples ([#2994](https://github.com/tldraw/tldraw/pull/2994)) + +- adds a simple custom shape example +- adds an interactive shape example +- updates editable shape example + +#### Expose `getStyleForNextShape` ([#3039](https://github.com/tldraw/tldraw/pull/3039)) + +- Expose the API for `Editor.getStyleForNextShape`, previously marked as internal. + +#### [fix] Missing element crash (rare) on video shapes. ([#3037](https://github.com/tldraw/tldraw/pull/3037)) + +- Fixed a rare crash with video shapes. + +#### Example of using tldraw styles ([#3017](https://github.com/tldraw/tldraw/pull/3017)) + +- shape with tldraw styles example + +#### Show a broken image for files without assets ([#2990](https://github.com/tldraw/tldraw/pull/2990)) + +- Better handling of broken images / videos. + +#### Selection UI example (plus fixes to pageToScreen) ([#3015](https://github.com/tldraw/tldraw/pull/3015)) + +- Adds selection UI example. +- Adds `Editor.getSelectionRotatedScreenBounds` method +- Fixes a bug with `pageToScreen`. + +#### [bugfix] Avoid randomness at init time to allow running on cloudflare. ([#3016](https://github.com/tldraw/tldraw/pull/3016)) + +- Prevent using randomness API at init time, to allow importing the tldraw package in a cloudflare worker. + +--- + +#### 💥 Breaking Change + +- `@tldraw/editor`, `tldraw`, `@tldraw/validate` + - React-powered SVG exports [#3117](https://github.com/tldraw/tldraw/pull/3117) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- `@tldraw/editor`, `tldraw` + - Component-based toolbar customisation API [#3067](https://github.com/tldraw/tldraw/pull/3067) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) +- `tldraw` + - Menu updates / fix flip / add export / remove Shape menu [#3115](https://github.com/tldraw/tldraw/pull/3115) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state`, `@tldraw/store`, `tldraw`, `@tldraw/utils` + - Performance improvements [#2977](https://github.com/tldraw/tldraw/pull/2977) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + +#### 🚀 Enhancement + +- squish sync data events before sending them out [#3118](https://github.com/tldraw/tldraw/pull/3118) ([@si14](https://github.com/si14)) +- `@tldraw/editor`, `tldraw` + - textfields [1 of 3]: add text into speech bubble; also add rich text example [#3050](https://github.com/tldraw/tldraw/pull/3050) ([@mimecuvalo](https://github.com/mimecuvalo)) +- `@tldraw/editor` + - Selection UI example (plus fixes to pageToScreen) [#3015](https://github.com/tldraw/tldraw/pull/3015) ([@steveruizok](https://github.com/steveruizok)) + +#### 🐛 Bug Fix + +- Revert "squish sync data events before sending them out" [#3331](https://github.com/tldraw/tldraw/pull/3331) ([@ds300](https://github.com/ds300)) +- docs: fix up github link [#3108](https://github.com/tldraw/tldraw/pull/3108) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Bump the npm_and_yarn group across 3 directories with 3 updates [#3087](https://github.com/tldraw/tldraw/pull/3087) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@github-actions[bot]](https://github.com/github-actions[bot]) [@MitjaBezensek](https://github.com/MitjaBezensek)) +- simplify fnmatch pattern ([@ds300](https://github.com/ds300)) +- Bump the npm_and_yarn group group with 7 updates [#2982](https://github.com/tldraw/tldraw/pull/2982) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@MitjaBezensek](https://github.com/MitjaBezensek)) +- `tldraw` + - quick fixes [#3128](https://github.com/tldraw/tldraw/pull/3128) ([@steveruizok](https://github.com/steveruizok)) + +#### 📚 SDK Changes + +- Update useFileSystem.tsx [#3371](https://github.com/tldraw/tldraw/pull/3371) ([@steveruizok](https://github.com/steveruizok)) +- only buffer pointer events [#3337](https://github.com/tldraw/tldraw/pull/3337) ([@steveruizok](https://github.com/steveruizok)) +- `tldraw` + - Fix collaborator size with zoom [#3563](https://github.com/tldraw/tldraw/pull/3563) ([@steveruizok](https://github.com/steveruizok)) + - Make note handles show only one when zoomed out [#3562](https://github.com/tldraw/tldraw/pull/3562) ([@steveruizok](https://github.com/steveruizok)) + - Fix transparent colors in the minimap [#3561](https://github.com/tldraw/tldraw/pull/3561) ([@steveruizok](https://github.com/steveruizok)) + - Expose `usePreloadAssets` [#3545](https://github.com/tldraw/tldraw/pull/3545) ([@SomeHats](https://github.com/SomeHats)) + - Prevent default on native clipboard events [#3536](https://github.com/tldraw/tldraw/pull/3536) ([@steveruizok](https://github.com/steveruizok)) + - Improve back to content [#3532](https://github.com/tldraw/tldraw/pull/3532) ([@steveruizok](https://github.com/steveruizok)) + - arrows: fix bound arrow labels going over text shape [#3512](https://github.com/tldraw/tldraw/pull/3512) ([@mimecuvalo](https://github.com/mimecuvalo)) + - textfields: fix Safari cursor rendering bug, take 2 [#3513](https://github.com/tldraw/tldraw/pull/3513) ([@mimecuvalo](https://github.com/mimecuvalo)) + - geo: fix double unique id on DOM [#3514](https://github.com/tldraw/tldraw/pull/3514) ([@mimecuvalo](https://github.com/mimecuvalo)) + - arrows: still use Dist instead of Dist2 [#3511](https://github.com/tldraw/tldraw/pull/3511) ([@mimecuvalo](https://github.com/mimecuvalo)) + - textfields: nix disableTab option; make TextShapes have custom Tab behavior as intended [#3506](https://github.com/tldraw/tldraw/pull/3506) ([@mimecuvalo](https://github.com/mimecuvalo)) + - "Soft preload" icons [#3507](https://github.com/tldraw/tldraw/pull/3507) ([@steveruizok](https://github.com/steveruizok)) + - textfields: wait a tick before selecting all to fix iOS [#3501](https://github.com/tldraw/tldraw/pull/3501) ([@mimecuvalo](https://github.com/mimecuvalo)) + - textfields: fix dragging selected shape behind another [#3498](https://github.com/tldraw/tldraw/pull/3498) ([@mimecuvalo](https://github.com/mimecuvalo)) + - stickies: a bit of fuzziness when calculating certain text [#3493](https://github.com/tldraw/tldraw/pull/3493) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Fix alt-duplicating shapes sometimes not working [#3488](https://github.com/tldraw/tldraw/pull/3488) ([@TodePond](https://github.com/TodePond)) + - stickies: dont remove selection ranges when edit->edit [#3484](https://github.com/tldraw/tldraw/pull/3484) ([@mimecuvalo](https://github.com/mimecuvalo)) + - stickies: hide clone handles on mobile [#3478](https://github.com/tldraw/tldraw/pull/3478) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Don't show edit link for locked shapes. [#3457](https://github.com/tldraw/tldraw/pull/3457) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Performance measurement tool (for unit tests) [#3447](https://github.com/tldraw/tldraw/pull/3447) ([@steveruizok](https://github.com/steveruizok)) + - Remove minimap throttling [#3438](https://github.com/tldraw/tldraw/pull/3438) ([@steveruizok](https://github.com/steveruizok)) + - Make minimap display sharp rectangles. [#3434](https://github.com/tldraw/tldraw/pull/3434) ([@steveruizok](https://github.com/steveruizok)) + - Perf: throttle `updateHoveredId` [#3419](https://github.com/tldraw/tldraw/pull/3419) ([@steveruizok](https://github.com/steveruizok)) + - Revert "Fix text resizing bug (#3327)" [#3332](https://github.com/tldraw/tldraw/pull/3332) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Fix text resizing bug [#3327](https://github.com/tldraw/tldraw/pull/3327) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) + - Fix count shapes and nodes [#3318](https://github.com/tldraw/tldraw/pull/3318) ([@steveruizok](https://github.com/steveruizok)) + - Decrease the number of rendered dom nodes for geo shape and arrows [#3283](https://github.com/tldraw/tldraw/pull/3283) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - styling: make dotcom and examples site have consistent font styling [#3271](https://github.com/tldraw/tldraw/pull/3271) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) + - Allow hiding debug panel. [#3261](https://github.com/tldraw/tldraw/pull/3261) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - toolbar: fix missing title attributes [#3244](https://github.com/tldraw/tldraw/pull/3244) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) + - Fix jpg export and tests [#3198](https://github.com/tldraw/tldraw/pull/3198) ([@SomeHats](https://github.com/SomeHats)) + - [tiny] lift theme in style panel [#3170](https://github.com/tldraw/tldraw/pull/3170) ([@steveruizok](https://github.com/steveruizok)) +- `tldraw`, `@tldraw/utils` + - Perf: minor drawing speedup [#3464](https://github.com/tldraw/tldraw/pull/3464) ([@steveruizok](https://github.com/steveruizok)) + - fixup file helpers [#3130](https://github.com/tldraw/tldraw/pull/3130) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/editor`, `tldraw` + - WebGL Minimap [#3510](https://github.com/tldraw/tldraw/pull/3510) ([@ds300](https://github.com/ds300)) + - textfields: on mobile edit->edit, allow going to empty geo [#3469](https://github.com/tldraw/tldraw/pull/3469) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Faster selection / erasing [#3454](https://github.com/tldraw/tldraw/pull/3454) ([@steveruizok](https://github.com/steveruizok)) + - Fix SVG exports in Next.js [#3446](https://github.com/tldraw/tldraw/pull/3446) ([@SomeHats](https://github.com/SomeHats)) + - Perf: Incremental culled shapes calculation. [#3411](https://github.com/tldraw/tldraw/pull/3411) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - Fix some tests [#3403](https://github.com/tldraw/tldraw/pull/3403) ([@steveruizok](https://github.com/steveruizok)) + - Add long press event [#3275](https://github.com/tldraw/tldraw/pull/3275) ([@steveruizok](https://github.com/steveruizok)) + - textfields: fix regression with Text shape and resizing [#3333](https://github.com/tldraw/tldraw/pull/3333) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Add image annotator example [#3147](https://github.com/tldraw/tldraw/pull/3147) ([@SomeHats](https://github.com/SomeHats)) + - [fix] Batch tick events [#3181](https://github.com/tldraw/tldraw/pull/3181) ([@steveruizok](https://github.com/steveruizok)) + - [tinyish] Simplify / skip some work in Shape [#3176](https://github.com/tldraw/tldraw/pull/3176) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state` + - [signia] Smart dirty checking of active computeds [#3516](https://github.com/tldraw/tldraw/pull/3516) ([@ds300](https://github.com/ds300)) + - [perf] faster signia capture (again) [#3487](https://github.com/tldraw/tldraw/pull/3487) ([@ds300](https://github.com/ds300)) + - [perf] faster signia capture [#3471](https://github.com/tldraw/tldraw/pull/3471) ([@ds300](https://github.com/ds300)) +- `tldraw`, `@tldraw/validate` + - [fix] allow loading files [#3517](https://github.com/tldraw/tldraw/pull/3517) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor`, `@tldraw/tlschema` + - Color tweaks (light and dark mode) [#3486](https://github.com/tldraw/tldraw/pull/3486) ([@steveruizok](https://github.com/steveruizok) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- `@tldraw/editor` + - Stickies: fix sticky note clipping [#3503](https://github.com/tldraw/tldraw/pull/3503) ([@steveruizok](https://github.com/steveruizok)) + - css more shapes that need transparent behavior [#3497](https://github.com/tldraw/tldraw/pull/3497) ([@mimecuvalo](https://github.com/mimecuvalo)) + - [fix] use page point for pointer [#3476](https://github.com/tldraw/tldraw/pull/3476) ([@ds300](https://github.com/ds300)) + - perf: calculate hypoteneuse manually instead of using hypot [#3468](https://github.com/tldraw/tldraw/pull/3468) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Cancel pointer velocity while pinching [#3462](https://github.com/tldraw/tldraw/pull/3462) ([@steveruizok](https://github.com/steveruizok)) + - Perf: Use a computed cache for masked shape page bounds [#3460](https://github.com/tldraw/tldraw/pull/3460) ([@steveruizok](https://github.com/steveruizok)) + - Remove docs for Editor.batch [#3451](https://github.com/tldraw/tldraw/pull/3451) ([@steveruizok](https://github.com/steveruizok)) + - Fix panning. [#3445](https://github.com/tldraw/tldraw/pull/3445) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Perf: Improve text outline performance [#3429](https://github.com/tldraw/tldraw/pull/3429) ([@steveruizok](https://github.com/steveruizok)) + - Fix text bug on iOS [#3423](https://github.com/tldraw/tldraw/pull/3423) ([@steveruizok](https://github.com/steveruizok)) + - Perf: block hit tests while moving camera [#3418](https://github.com/tldraw/tldraw/pull/3418) ([@steveruizok](https://github.com/steveruizok)) + - Fix an issue with layers when moving shapes. [#3380](https://github.com/tldraw/tldraw/pull/3380) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - [culling] minimal culled diff with webgl [#3377](https://github.com/tldraw/tldraw/pull/3377) ([@steveruizok](https://github.com/steveruizok)) + - put `getCurrentPageId` into a computed [#3378](https://github.com/tldraw/tldraw/pull/3378) ([@steveruizok](https://github.com/steveruizok)) + - Don't trigger pointer move on zoom [#3305](https://github.com/tldraw/tldraw/pull/3305) ([@steveruizok](https://github.com/steveruizok)) + - Improve performance of culling [#3272](https://github.com/tldraw/tldraw/pull/3272) ([@steveruizok](https://github.com/steveruizok)) + - Skip the random ID for regular history entries [#3183](https://github.com/tldraw/tldraw/pull/3183) ([@steveruizok](https://github.com/steveruizok)) + - [tiny] Slightly more efficient selection rotated page bounds / page bounds [#3178](https://github.com/tldraw/tldraw/pull/3178) ([@steveruizok](https://github.com/steveruizok)) + - [fix] handles [#3177](https://github.com/tldraw/tldraw/pull/3177) ([@steveruizok](https://github.com/steveruizok)) + - [fix] Handles extra renders [#3172](https://github.com/tldraw/tldraw/pull/3172) ([@steveruizok](https://github.com/steveruizok)) + - [tiny] remove unused shape indicator equality checker [#3171](https://github.com/tldraw/tldraw/pull/3171) ([@steveruizok](https://github.com/steveruizok)) + - [fix] Cleanup text measures [#3169](https://github.com/tldraw/tldraw/pull/3169) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/state`, `@tldraw/store`, `tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` + - New migrations again [#3220](https://github.com/tldraw/tldraw/pull/3220) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/store` + - undo devFreeze unintentional commit [#3466](https://github.com/tldraw/tldraw/pull/3466) ([@mimecuvalo](https://github.com/mimecuvalo)) + - Fix typo. [#3306](https://github.com/tldraw/tldraw/pull/3306) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Don't double squash [#3182](https://github.com/tldraw/tldraw/pull/3182) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw`, `@tldraw/tlschema` + - Stickies: release candidate [#3249](https://github.com/tldraw/tldraw/pull/3249) ([@steveruizok](https://github.com/steveruizok) [@mimecuvalo](https://github.com/mimecuvalo) [@TodePond](https://github.com/TodePond) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- `@tldraw/editor`, `@tldraw/store`, `tldraw` + - Improve hand dragging with long press [#3432](https://github.com/tldraw/tldraw/pull/3432) ([@steveruizok](https://github.com/steveruizok)) + - Perf: (slightly) faster min dist checks [#3401](https://github.com/tldraw/tldraw/pull/3401) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/utils` + - Perf: slightly faster `getShapeAtPoint` [#3416](https://github.com/tldraw/tldraw/pull/3416) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state`, `@tldraw/tlschema` + - Add white migration [#3334](https://github.com/tldraw/tldraw/pull/3334) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/state`, `tldraw` + - Fix blur bug in editable text [#3343](https://github.com/tldraw/tldraw/pull/3343) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw`, `@tldraw/utils` + - Input buffering [#3223](https://github.com/tldraw/tldraw/pull/3223) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - Fix lag while panning + translating at the same time [#3186](https://github.com/tldraw/tldraw/pull/3186) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) +- `tldraw`, `@tldraw/tlschema` + - Add white [#3321](https://github.com/tldraw/tldraw/pull/3321) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/store`, `tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` + - use native structuredClone on node, cloudflare workers, and in tests [#3166](https://github.com/tldraw/tldraw/pull/3166) ([@si14](https://github.com/si14)) +- `@tldraw/editor`, `@tldraw/state` + - [perf] Reinstate render throttling [#3160](https://github.com/tldraw/tldraw/pull/3160) ([@ds300](https://github.com/ds300)) + +#### 🖥️ tldraw.com Changes + +- fix document name alignment [#3559](https://github.com/tldraw/tldraw/pull/3559) ([@SomeHats](https://github.com/SomeHats)) +- Fix version [#3521](https://github.com/tldraw/tldraw/pull/3521) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Only show cursor chat button in select mode [#3485](https://github.com/tldraw/tldraw/pull/3485) ([@TodePond](https://github.com/TodePond)) +- Allow users to edit the document title by double clicking it even when editing a shape. [#3459](https://github.com/tldraw/tldraw/pull/3459) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Fix cursor chat in context menu. [#3435](https://github.com/tldraw/tldraw/pull/3435) ([@steveruizok](https://github.com/steveruizok)) +- Update romanian translations [#3269](https://github.com/tldraw/tldraw/pull/3269) ([@TodePond](https://github.com/TodePond)) +- fix document name overflow [#3263](https://github.com/tldraw/tldraw/pull/3263) ([@SomeHats](https://github.com/SomeHats)) +- top bar design tweaks [#3205](https://github.com/tldraw/tldraw/pull/3205) ([@SomeHats](https://github.com/SomeHats)) +- Update the document title to include the document name. [#3197](https://github.com/tldraw/tldraw/pull/3197) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Remove access token logic. [#3187](https://github.com/tldraw/tldraw/pull/3187) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [sync] allow connections from v4 clients [#3173](https://github.com/tldraw/tldraw/pull/3173) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor` + - Enable document name [#3150](https://github.com/tldraw/tldraw/pull/3150) ([@ds300](https://github.com/ds300)) + +#### 📖 Documentation changes + +- Add releases section to docs [#3564](https://github.com/tldraw/tldraw/pull/3564) ([@SomeHats](https://github.com/SomeHats)) +- conditionally use star-history dark theme [#3461](https://github.com/tldraw/tldraw/pull/3461) ([@sunnyzanchi](https://github.com/sunnyzanchi)) +- Update font import URL in quick-start.mdx [#3430](https://github.com/tldraw/tldraw/pull/3430) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) +- Examples: update kbd shortcuts, add actions overrides example [#3330](https://github.com/tldraw/tldraw/pull/3330) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Tool with child states [#3074](https://github.com/tldraw/tldraw/pull/3074) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Add inline behaviour example [#3113](https://github.com/tldraw/tldraw/pull/3113) ([@TodePond](https://github.com/TodePond)) +- docs: make header fixed instead of sticky [#3228](https://github.com/tldraw/tldraw/pull/3228) ([@mimecuvalo](https://github.com/mimecuvalo)) +- fix docs slugs [#3227](https://github.com/tldraw/tldraw/pull/3227) ([@SomeHats](https://github.com/SomeHats)) +- docs: work around browser bug with input+scrolling [#3209](https://github.com/tldraw/tldraw/pull/3209) ([@mimecuvalo](https://github.com/mimecuvalo)) +- PDF editor example [#3159](https://github.com/tldraw/tldraw/pull/3159) ([@SomeHats](https://github.com/SomeHats)) +- fix docs build [#3201](https://github.com/tldraw/tldraw/pull/3201) ([@ds300](https://github.com/ds300)) +- [example] culling [#3174](https://github.com/tldraw/tldraw/pull/3174) ([@steveruizok](https://github.com/steveruizok)) +- Fix release eliding [#3156](https://github.com/tldraw/tldraw/pull/3156) ([@ds300](https://github.com/ds300)) +- [docs] Sync docs deploy with npm deploy [#3153](https://github.com/tldraw/tldraw/pull/3153) ([@ds300](https://github.com/ds300)) +- Updated exploded example link from installation page. [#3138](https://github.com/tldraw/tldraw/pull/3138) ([@Kesavaraja](https://github.com/Kesavaraja)) +- Make the custom menu examples a bit clearer [#3106](https://github.com/tldraw/tldraw/pull/3106) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) +- Custom renderer example [#3091](https://github.com/tldraw/tldraw/pull/3091) ([@steveruizok](https://github.com/steveruizok)) +- Shape with Migrations [#3078](https://github.com/tldraw/tldraw/pull/3078) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Fix typo [#3069](https://github.com/tldraw/tldraw/pull/3069) ([@calebeby](https://github.com/calebeby)) +- Add custom tool examples [#3064](https://github.com/tldraw/tldraw/pull/3064) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) +- Fix broken link for shape example [#3046](https://github.com/tldraw/tldraw/pull/3046) ([@lorenzolewis](https://github.com/lorenzolewis)) +- Custom shape examples [#2994](https://github.com/tldraw/tldraw/pull/2994) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- Example of using tldraw styles [#3017](https://github.com/tldraw/tldraw/pull/3017) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor` + - Add slides example [#3467](https://github.com/tldraw/tldraw/pull/3467) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@TodePond](https://github.com/TodePond)) + - side effects reference docs & examples [#3258](https://github.com/tldraw/tldraw/pull/3258) ([@SomeHats](https://github.com/SomeHats)) + - fix docs not building due to typo [#3259](https://github.com/tldraw/tldraw/pull/3259) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/store` + - Fix typo in Store.ts [#3385](https://github.com/tldraw/tldraw/pull/3385) ([@OrionReed](https://github.com/OrionReed)) +- `tldraw` + - docs: fix missing API entries [#3111](https://github.com/tldraw/tldraw/pull/3111) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/state` + - Fix typo in useValue comment [#3088](https://github.com/tldraw/tldraw/pull/3088) ([@Slowhand0309](https://github.com/Slowhand0309)) + +#### 🏠 Internal + +- Fix deploy script [#3550](https://github.com/tldraw/tldraw/pull/3550) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [internal] Add license report scripts [#2751](https://github.com/tldraw/tldraw/pull/2751) ([@steveruizok](https://github.com/steveruizok)) +- [chore] Bump browser-fs-access. [#3277](https://github.com/tldraw/tldraw/pull/3277) ([@steveruizok](https://github.com/steveruizok)) +- log message size in worker analytics [#3274](https://github.com/tldraw/tldraw/pull/3274) ([@SomeHats](https://github.com/SomeHats)) +- Add yarn immutable check to pre-commit. [#3218](https://github.com/tldraw/tldraw/pull/3218) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- tooling: prettier ignore pr template [#3210](https://github.com/tldraw/tldraw/pull/3210) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Add release docs [#3158](https://github.com/tldraw/tldraw/pull/3158) ([@ds300](https://github.com/ds300)) +- Simplify tlsync types [#3139](https://github.com/tldraw/tldraw/pull/3139) ([@si14](https://github.com/si14)) +- [DX] PR labels revamp [#3112](https://github.com/tldraw/tldraw/pull/3112) ([@ds300](https://github.com/ds300)) +- Restore export menu content [#3126](https://github.com/tldraw/tldraw/pull/3126) ([@steveruizok](https://github.com/steveruizok)) +- Don't import package.json in scripts/refresh-assets.ts, just read it [#3116](https://github.com/tldraw/tldraw/pull/3116) ([@si14](https://github.com/si14)) +- [dx] Allow vscode to search inside md files by default [#3105](https://github.com/tldraw/tldraw/pull/3105) ([@ds300](https://github.com/ds300)) +- Debounce/aggregate tlsync messages [#3012](https://github.com/tldraw/tldraw/pull/3012) ([@si14](https://github.com/si14)) +- [infra] Fix patch release script [#3095](https://github.com/tldraw/tldraw/pull/3095) ([@ds300](https://github.com/ds300)) +- [infra] Patch release scripting [#3072](https://github.com/tldraw/tldraw/pull/3072) ([@ds300](https://github.com/ds300)) +- Shorten url state [#3041](https://github.com/tldraw/tldraw/pull/3041) ([@steveruizok](https://github.com/steveruizok)) +- Fix cursor chat bubble position. [#3042](https://github.com/tldraw/tldraw/pull/3042) ([@steveruizok](https://github.com/steveruizok)) +- Configure dependabot. [#2980](https://github.com/tldraw/tldraw/pull/2980) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [infra] fix canary dist tag [#3048](https://github.com/tldraw/tldraw/pull/3048) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor` + - Use computed cache for getting the parent child relationships [#3508](https://github.com/tldraw/tldraw/pull/3508) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Perf: Improve perf of `getCurrentPageShapesSorted` [#3453](https://github.com/tldraw/tldraw/pull/3453) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - Only run when shapes change. [#3456](https://github.com/tldraw/tldraw/pull/3456) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Reorder dom elements. [#3431](https://github.com/tldraw/tldraw/pull/3431) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - fix export preview size [#3264](https://github.com/tldraw/tldraw/pull/3264) ([@SomeHats](https://github.com/SomeHats)) + - A few more async routes [#3023](https://github.com/tldraw/tldraw/pull/3023) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw` + - Fix culling. [#3504](https://github.com/tldraw/tldraw/pull/3504) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - Revert "RBush again? (#3439)" [#3481](https://github.com/tldraw/tldraw/pull/3481) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - RBush again? [#3439](https://github.com/tldraw/tldraw/pull/3439) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) + - [culling] Improve setting of display none. [#3376](https://github.com/tldraw/tldraw/pull/3376) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/state` + - Revert "[perf] faster signia capture (#3471)" [#3480](https://github.com/tldraw/tldraw/pull/3480) ([@ds300](https://github.com/ds300)) +- `@tldraw/utils` + - Add two simple perf helpers. [#3399](https://github.com/tldraw/tldraw/pull/3399) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/editor`, `tldraw`, `@tldraw/tlschema` + - Display none for culled shapes [#3291](https://github.com/tldraw/tldraw/pull/3291) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `@tldraw/state`, `tldraw` + - Revert perf changes [#3217](https://github.com/tldraw/tldraw/pull/3217) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/tldraw` + - Remove namespaced-tldraw/tldraw.css [#3068](https://github.com/tldraw/tldraw/pull/3068) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/tlschema` + - Remove dependabot config since it only controls version updates? [#3057](https://github.com/tldraw/tldraw/pull/3057) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + +#### 🐛 Bug Fixes + +- VS Code 2.0.30 [#3519](https://github.com/tldraw/tldraw/pull/3519) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [hotfix] Panning fix for VS Code [#3452](https://github.com/tldraw/tldraw/pull/3452) (huppy+SomeHats@tldraw.com huppy+ds300@tldraw.com [@SomeHats](https://github.com/SomeHats) [@web-flow](https://github.com/web-flow) huppy+mimecuvalo@tldraw.com [@steveruizok](https://github.com/steveruizok) [@MitjaBezensek](https://github.com/MitjaBezensek) [@ds300](https://github.com/ds300) huppy+steveruizok@tldraw.com) +- Fix viewport params for pages. [#3079](https://github.com/tldraw/tldraw/pull/3079) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Better websocket reconnection handling [#2960](https://github.com/tldraw/tldraw/pull/2960) ([@si14](https://github.com/si14) [@ds300](https://github.com/ds300)) +- Lokalise: Translations update [#3049](https://github.com/tldraw/tldraw/pull/3049) ([@TodePond](https://github.com/TodePond)) +- `@tldraw/assets`, `@tldraw/editor`, `tldraw` + - ui: make toasts look more toasty [#2988](https://github.com/tldraw/tldraw/pull/2988) ([@mimecuvalo](https://github.com/mimecuvalo)) +- `@tldraw/state` + - Revert throttling of useValue and useStateTracking. [#3129](https://github.com/tldraw/tldraw/pull/3129) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `tldraw`, `@tldraw/utils` + - chore: cleanup multiple uses of FileReader [#3110](https://github.com/tldraw/tldraw/pull/3110) ([@mimecuvalo](https://github.com/mimecuvalo)) +- `tldraw` + - [fix] Rotated crop handle [#3093](https://github.com/tldraw/tldraw/pull/3093) ([@steveruizok](https://github.com/steveruizok)) + - Fix an issue where the video size was not drawn correctly [#3047](https://github.com/tldraw/tldraw/pull/3047) ([@bubweiser](https://github.com/bubweiser) [@steveruizok](https://github.com/steveruizok)) + - [fix] Input tags [#3038](https://github.com/tldraw/tldraw/pull/3038) ([@steveruizok](https://github.com/steveruizok)) + - [terrible] Firefox: Allow scrolling on keyboard shortcuts dialog [#2974](https://github.com/tldraw/tldraw/pull/2974) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) + - [fix] Missing element crash (rare) on video shapes. [#3037](https://github.com/tldraw/tldraw/pull/3037) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor`, `tldraw` + - Fix validation errors for `duplicateProps` [#3065](https://github.com/tldraw/tldraw/pull/3065) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + - children: any -> children: ReactNode [#3061](https://github.com/tldraw/tldraw/pull/3061) ([@SomeHats](https://github.com/SomeHats)) +- `@tldraw/editor`, `tldraw`, `@tldraw/utils` + - Wrap local/session storage calls in try/catch (take 2) [#3066](https://github.com/tldraw/tldraw/pull/3066) ([@SomeHats](https://github.com/SomeHats)) + - Revert "Protect local storage calls (#3043)" [#3063](https://github.com/tldraw/tldraw/pull/3063) ([@SomeHats](https://github.com/SomeHats)) + - Protect local storage calls [#3043](https://github.com/tldraw/tldraw/pull/3043) ([@steveruizok](https://github.com/steveruizok)) +- `@tldraw/editor` + - Expose `getStyleForNextShape` [#3039](https://github.com/tldraw/tldraw/pull/3039) ([@steveruizok](https://github.com/steveruizok)) + - [bugfix] Avoid randomness at init time to allow running on cloudflare. [#3016](https://github.com/tldraw/tldraw/pull/3016) ([@ds300](https://github.com/ds300)) +- `@tldraw/editor`, `@tldraw/tldraw`, `tldraw` + - Show a broken image for files without assets [#2990](https://github.com/tldraw/tldraw/pull/2990) ([@steveruizok](https://github.com/steveruizok)) + +#### 🧹 Chores + +- VS Code 2.0.29 [#3515](https://github.com/tldraw/tldraw/pull/3515) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- VS Code 2.0.27 [#3442](https://github.com/tldraw/tldraw/pull/3442) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- VS Code 2.0.26 [#3148](https://github.com/tldraw/tldraw/pull/3148) ([@MitjaBezensek](https://github.com/MitjaBezensek)) + +#### 🧪 Tests + +- attempted fix of a flaky ClientWebSocketAdapter test [#3114](https://github.com/tldraw/tldraw/pull/3114) ([@si14](https://github.com/si14)) +- `@tldraw/editor` + - Add tests for Vec.Average [#3071](https://github.com/tldraw/tldraw/pull/3071) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- `@tldraw/editor`, `@tldraw/tlschema` + - [fix] Routes check on e2e tests [#3022](https://github.com/tldraw/tldraw/pull/3022) ([@steveruizok](https://github.com/steveruizok)) + +#### 🔩 Dependency Updates + +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3505](https://github.com/tldraw/tldraw/pull/3505) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3443](https://github.com/tldraw/tldraw/pull/3443) ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump the npm_and_yarn group across 1 directory with 1 update [#3348](https://github.com/tldraw/tldraw/pull/3348) ([@dependabot[bot]](https://github.com/dependabot[bot])) +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3304](https://github.com/tldraw/tldraw/pull/3304) ([@dependabot[bot]](https://github.com/dependabot[bot]) [@github-actions[bot]](https://github.com/github-actions[bot]) [@MitjaBezensek](https://github.com/MitjaBezensek)) +- Bump the npm_and_yarn group across 1 directory with 2 updates [#3165](https://github.com/tldraw/tldraw/pull/3165) ([@dependabot[bot]](https://github.com/dependabot[bot])) + +#### Authors: 23 + +- [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@github-actions[bot]](https://github.com/github-actions[bot]) +- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) +- alex ([@SomeHats](https://github.com/SomeHats)) +- Caleb Eby ([@calebeby](https://github.com/calebeby)) +- Dan Groshev ([@si14](https://github.com/si14)) +- David Sheldrick ([@ds300](https://github.com/ds300)) +- ds300 (huppy+ds300@tldraw.com) +- GitHub Web Flow ([@web-flow](https://github.com/web-flow)) +- hirano ([@bubweiser](https://github.com/bubweiser)) +- Kesavaraja Krishnan ([@Kesavaraja](https://github.com/Kesavaraja)) +- Lorenzo Lewis ([@lorenzolewis](https://github.com/lorenzolewis)) +- Lu Wilson ([@TodePond](https://github.com/TodePond)) +- Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) +- mimecuvalo (huppy+mimecuvalo@tldraw.com) +- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Orion Reed ([@OrionReed](https://github.com/OrionReed)) +- Slowhand ([@Slowhand0309](https://github.com/Slowhand0309)) +- SomeHats (huppy+SomeHats@tldraw.com) +- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) +- steveruizok (huppy+steveruizok@tldraw.com) +- Sunny Zanchi ([@sunnyzanchi](https://github.com/sunnyzanchi)) +- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) + +### [v2.0.2](/releases/v2.0.2) + +#### 🐛 Bug Fix + +- [docs] Sync docs deploy with npm deploy [#3153](https://github.com/tldraw/tldraw/pull/3153) ([@ds300](https://github.com/ds300)) +- `tldraw` + - Fix jpg export and tests (#3198) [#3199](https://github.com/tldraw/tldraw/pull/3199) ([@SomeHats](https://github.com/SomeHats)) + +#### ⚠️ Pushed to `v2.0.x` + +- empty commit ([@SomeHats](https://github.com/SomeHats)) +- fix release eliding ([@ds300](https://github.com/ds300)) + +#### Authors: 2 + +- alex ([@SomeHats](https://github.com/SomeHats)) +- David Sheldrick ([@ds300](https://github.com/ds300)) + +### [v2.0.1](/releases/v2.0.1) + +#### 🐛 Bug Fix + +- `@tldraw/editor` + - [patch 2.0.1] Cherry-pick 'Avoid randomness at init time...' [#3076](https://github.com/tldraw/tldraw/pull/3076) ([@ds300](https://github.com/ds300)) + +#### ⚠️ Pushed to `v2.0.x` + +- fetch main during patch publish ([@ds300](https://github.com/ds300)) +- cherry-pick tooling changes too i guess ([@ds300](https://github.com/ds300)) + +#### Authors: 1 + +- David Sheldrick ([@ds300](https://github.com/ds300)) + +### [v2.0.0](/releases/v2.0.0) + +#### ⚠️ Pushed to `main` + +- `@tldraw/tldraw`, `tldraw` + - updatereadmes ([@steveruizok](https://github.com/steveruizok)) + +#### 📝 Documentation + +- `@tldraw/tldraw` + - Update readmes / docs for 2.0 [#3011](https://github.com/tldraw/tldraw/pull/3011) ([@steveruizok](https://github.com/steveruizok)) + +#### Authors: 1 + +- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) + +{/* END AUTO-GENERATED CHANGELOG */} diff --git a/apps/docs/content/releases/v2.0.0-alpha.12.mdx b/apps/docs/content/releases/v2.0.0-alpha.12.mdx deleted file mode 100644 index 84dc42a43..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.12.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: v2.0.0-alpha.12 -description: Examples -author: tldraw -date: 5/9/2023 -order: 11 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.12) - diff --git a/apps/docs/content/releases/v2.0.0-alpha.13.mdx b/apps/docs/content/releases/v2.0.0-alpha.13.mdx deleted file mode 100644 index 1f3fb4ad2..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.13.mdx +++ /dev/null @@ -1,1000 +0,0 @@ ---- -title: v2.0.0-alpha.13 -description: Examples -author: tldraw -date: 6/28/2023 -order: 10 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.13) - -This is a big one! Our last release (alpha.12) was a few months ago, after which we decided to push forward with some big breaking changes that we had been putting off. This will likely remain our most breaking release, so the notes below may not be as helpful for gathering what's changed. Check the updated docs at [tldraw.dev](https://tldraw.dev). - -Some highlights: - -- The `editor.css` and `ui.css` are now combined as `tldraw.css`, so please update your imports from `@tldraw/tldraw` -- Assets are now provided by a CDN by default, so no need to copy those into your project -- We've removed `signia` and `signia-react` from dependencies: they're folded in as `@tldraw/state` -- We've added a new `ExternalContentManager` for customizing how files/ images / text and other content are handled on paste or drop -- `@tldraw/tlstore` is now `@tldraw/store` -- `@tldraw/tlvalidate` is now `@tldraw/validate` -- `@tldraw/indices` is added for our fractional indexing -- The `ShapeUtil` API requires fewer overrides and has fewer properties: caching is now handled on the Editor class methods -- We've introduced a new Styles API for hooking into our existing styles or defining your own shared properties that should move together. - -Here's the big list! - ---- - -### Release Notes - -#### Fix crash when rotating a deleted shape ([#1658](https://github.com/tldraw/tldraw/pull/1658)) - -- Fixed a crash when trying to rotate a deleted shape. - -#### [improvement] store snapshot types ([#1657](https://github.com/tldraw/tldraw/pull/1657)) - -- [dev] Rename `StoreSnapshot` to `SerializedStore` -- [dev] Create new `StoreSnapshot` as type related to `getSnapshot`/`loadSnapshot` - -#### [fix] pen mode touches ([#1655](https://github.com/tldraw/tldraw/pull/1655)) - -- Removes three touches to cancel pen mode feature. - -#### (2/2) [docs] Fix links to API. ([#1654](https://github.com/tldraw/tldraw/pull/1654)) - -- Documentation: Simplified links to the API reference. - -#### (1/2) [docs] Restore some missing changes ([#1652](https://github.com/tldraw/tldraw/pull/1652)) - -- None (Docs internals) - -#### [docs] Remove embeds page ([#1653](https://github.com/tldraw/tldraw/pull/1653)) - -- Documentation: Removed unused Embeds page. - -#### Fix text shapes not having colour ([#1649](https://github.com/tldraw/tldraw/pull/1649)) - -- None: Fixes an unreleased bug. - -#### Styles API docs ([#1641](https://github.com/tldraw/tldraw/pull/1641)) - --- - -#### Styles API follow-ups ([#1636](https://github.com/tldraw/tldraw/pull/1636)) - --- - -#### docs: remove not accepting contributions notice ([#1647](https://github.com/tldraw/tldraw/pull/1647)) - -- Remove not accepting contributions notice from README - -#### Fix SVG cursors not being used ([#1639](https://github.com/tldraw/tldraw/pull/1639)) - -- None: Fixing an unreleased bug. - -#### [docs] Add table of contents to Editor page ([#1642](https://github.com/tldraw/tldraw/pull/1642)) - -- Documentation: Added a table of contents to the Editor page. - -#### speed up playwright and add visual regression tests ([#1638](https://github.com/tldraw/tldraw/pull/1638)) - --- - -#### [docs] Allow sidebar to be scrolled on short screens ([#1632](https://github.com/tldraw/tldraw/pull/1632)) - -- Documentation: Fixed the sidebar being unscrollable on some short screens. - -#### [docs] Add feedback when you search ([#1633](https://github.com/tldraw/tldraw/pull/1633)) - -- Documentation: Added some immediate feedback when you search. - -#### [docs] Separate some pages out of the Docs section ([#1626](https://github.com/tldraw/tldraw/pull/1626)) - -- Documentation: Restructured the sidebar for clarity. - -#### [docs] Fix wrong cursor when hovering buttons ([#1630](https://github.com/tldraw/tldraw/pull/1630)) - -- Documentation: Fixed the wrong cursor showing when hovering some buttons. - -#### [docs] Tighten up wording & structure of Usage page ([#1624](https://github.com/tldraw/tldraw/pull/1624)) - -- Documentation: Impoved clarity of wording and structure of the Usage page. - -#### [docs] Tighten up Editor page introduction ([#1622](https://github.com/tldraw/tldraw/pull/1622)) - -- Documentation: Simplified the Editor page. - -#### [docs] Tighten up Introduction page ([#1621](https://github.com/tldraw/tldraw/pull/1621)) - -- Documentation: Simplified the Introduction page. - -#### Lokalise: Translations update ([#1618](https://github.com/tldraw/tldraw/pull/1618)) - -- Added more translations for Simplified Chinese. - -#### [docs] Simplify paths for uncategorised pages ([#1619](https://github.com/tldraw/tldraw/pull/1619)) - -- Documentation: Cleaned up some paths. - -#### `ShapeUtil` refactor, `Editor` cleanup ([#1611](https://github.com/tldraw/tldraw/pull/1611)) - -- [editor] renames `defaultProps` to `getDefaultProps` -- [editor] removes `outline`, `outlineSegments`, `handles`, `bounds` -- [editor] renames `renderBackground` to `backgroundComponent` - -#### Revert "Update dependencies (#1613)" ([#1617](https://github.com/tldraw/tldraw/pull/1617)) - -- - -#### Remove on drop override ([#1612](https://github.com/tldraw/tldraw/pull/1612)) - -- [editor] Remove `onDropOverride` - -#### Make resizeBox a regular function ([#1610](https://github.com/tldraw/tldraw/pull/1610)) - -- [editor] Change `resizeBox` to be a regular function. - -#### Rename `ShapeUtil.render` -> `ShapeUtil.component` ([#1609](https://github.com/tldraw/tldraw/pull/1609)) - -- [editor] rename `ShapeUtil.render` to `ShapeUtil.component` - -#### tldraw.css ([#1607](https://github.com/tldraw/tldraw/pull/1607)) - -- [tldraw] Removes `editor.css` and `ui.css` exports, replaces with `tldraw.css` - -#### [fix] camera culling ([#1602](https://github.com/tldraw/tldraw/pull/1602)) - -- [editor] Adds `Editor.cameraState` -- Adds smart culling to make panning and zooming more smooth - -#### Styles API ([#1580](https://github.com/tldraw/tldraw/pull/1580)) - -- - -#### (1/2) Timeout collaborator cursors ([#1525](https://github.com/tldraw/tldraw/pull/1525)) - -- Brought back cursor timeouts. Collaborator cursors now disappear after 3 seconds of inactivity. - -#### Remove `@tldraw/utils` from the docs site ([#1596](https://github.com/tldraw/tldraw/pull/1596)) - -- [docs] Removed an internal utilities package. - -#### (1/2) Cursor Chat - Presence ([#1487](https://github.com/tldraw/tldraw/pull/1487)) - -- [dev] Added support for cursor chat presence. - -#### [docs] Add barebones note about translations ([#1593](https://github.com/tldraw/tldraw/pull/1593)) - -- [docs] Added brief info on how to join as a translations contributor. - -#### [refactor] snapping ([#1589](https://github.com/tldraw/tldraw/pull/1589)) - -- [editor] fix bug in snapping - -#### remove `ShapeUtil.transform` ([#1590](https://github.com/tldraw/tldraw/pull/1590)) - -- [editor] Remove `ShapeUtil.transform` - -#### Change app to editor in docs ([#1592](https://github.com/tldraw/tldraw/pull/1592)) - -- [docs] Updated 'App' to 'Editor'. - -#### Make sure loading screens use dark mode user preference. ([#1552](https://github.com/tldraw/tldraw/pull/1552)) - -- Make sure our loading and error screens take dark mode setting into account. - -#### remove `ShapeUtil.point` ([#1591](https://github.com/tldraw/tldraw/pull/1591)) - -- [editor] Remove `ShapeUtil.point` - -#### [fix] Remove group shape export backgrounds ([#1587](https://github.com/tldraw/tldraw/pull/1587)) - -- Fix image exports for groups - -#### Add tsdocs to Editor methods ([#1581](https://github.com/tldraw/tldraw/pull/1581)) - -- [dev] Added initial documentation for the Editor class. - -#### add presence to yjs example ([#1582](https://github.com/tldraw/tldraw/pull/1582)) - -- [editor] Add presence to yjs example. - -#### Add optional generic to `updateShapes` / `createShapes` ([#1579](https://github.com/tldraw/tldraw/pull/1579)) - -- [editor] adds an optional shape generic to `updateShapes` and `createShapes` - -#### fix: properly remove awareness from store ([#1565](https://github.com/tldraw/tldraw/pull/1565)) - -- Add a brief release note for your PR here. - -#### [improvement] Embed shape cleanup ([#1569](https://github.com/tldraw/tldraw/pull/1569)) - -- [editor] Remove unused props for `TLEditorShape` -- [editor] Adds `canUnmount` property to embed definitions - -#### Move the loading of assets to the TldrawEditorWithReadyStore so that all code paths load the assets. ([#1561](https://github.com/tldraw/tldraw/pull/1561)) - -- Fix a problem where assets were not loading in some cases (snapshots). - -#### Add anchor targets to our headings. ([#1571](https://github.com/tldraw/tldraw/pull/1571)) - -- Improve documentation to include anchor targets. - -#### shapes folder, move tools into shape defs ([#1574](https://github.com/tldraw/tldraw/pull/1574)) - -n/a - -#### mini `defineShape` API ([#1563](https://github.com/tldraw/tldraw/pull/1563)) - -[dev-facing, notes to come] - -#### Lokalise: Translations update ([#1572](https://github.com/tldraw/tldraw/pull/1572)) - -- Added and updates translations for Italian, Russian, and Ukrainian. - -#### Fix README typo ([#1451](https://github.com/tldraw/tldraw/pull/1451)) - -- None - -#### yjs example ([#1560](https://github.com/tldraw/tldraw/pull/1560)) - -- [editor] Adds yjs example project - -#### `ExternalContentManager` for handling external content (files, images, etc) ([#1550](https://github.com/tldraw/tldraw/pull/1550)) - -- [editor] add `ExternalContentManager` for plopping content onto the canvas -- [editor] remove `onCreateAssetFromFile` prop -- [editor] remove `onCreateBookmarkFromUrl` prop -- [editor] introduce `ExternalContentManager` -- [editor] add cleanup function to `onMount` - -#### Misc sync fixes ([#1555](https://github.com/tldraw/tldraw/pull/1555)) - -- Fixes a handful of state management bugs that manifest in multiplayer rooms - -#### [Docs] Change some editor properties to methods ([#1553](https://github.com/tldraw/tldraw/pull/1553)) - -- [docs] Fixed some methods that were incorrectly marked as properties. - -#### [Docs] Change some internal methods to public ([#1554](https://github.com/tldraw/tldraw/pull/1554)) - -- [docs] Changed some Editor methods from internal to public. - -#### Use unpkg as a default for serving assets. ([#1548](https://github.com/tldraw/tldraw/pull/1548)) - -- Use unpkg asset hosting as a default. - -#### hoist opacity out of props ([#1526](https://github.com/tldraw/tldraw/pull/1526)) - -[internal only for now] - -#### Fix arrows with weird bends crashing ([#1540](https://github.com/tldraw/tldraw/pull/1540)) - -- Fixed a rare crash that could happen when you try to curve an arrow with zero distance. - -#### [feature] add vertical align to note shape ([#1539](https://github.com/tldraw/tldraw/pull/1539)) - -- Adds vertical align prop to note shapes - -#### [fix] Shift key code / nudge ([#1537](https://github.com/tldraw/tldraw/pull/1537)) - -- Fix shift key nudging - -#### scale exported canvases when they reach the browsers max size ([#1536](https://github.com/tldraw/tldraw/pull/1536)) - -- Fix a bug where sometimes exports would fail when they were too big for your browser. Now, they're scaled down to the max supported size. - -#### [fix] control click on mac ([#1535](https://github.com/tldraw/tldraw/pull/1535)) - -- Fix control click to open menu on Mac - -#### Fix being able to undo following ([#1531](https://github.com/tldraw/tldraw/pull/1531)) - -- Fixed a bug where you could undo viewport-following and viewport-unfollowing. - -#### Select locked shapes on long press ([#1529](https://github.com/tldraw/tldraw/pull/1529)) - - - -#### highlighter fixes ([#1530](https://github.com/tldraw/tldraw/pull/1530)) - -[aq bug fixes] - -#### Lokalise: Translations update ([#1515](https://github.com/tldraw/tldraw/pull/1515)) - -- Added and updated community translations for Galician, Italian, Romanian, Russian, Ukrainian, and Traditional Chinese. - -#### Simplify static cursors ([#1520](https://github.com/tldraw/tldraw/pull/1520)) - -- (editor) Simplifies the cursors in our CSS. - -#### Renaming types, shape utils, tools ([#1513](https://github.com/tldraw/tldraw/pull/1513)) - -- Renaming of types, shape utils, tools - -#### tlschema cleanup ([#1509](https://github.com/tldraw/tldraw/pull/1509)) - -- [editor] Remove `app.createShapeId` -- [tlschema] Cleans up exports - -#### Rename tlstore to store ([#1507](https://github.com/tldraw/tldraw/pull/1507)) - -- Replace @tldraw/tlstore with @tldraw/store - -#### Rename tlvalidate to validate ([#1508](https://github.com/tldraw/tldraw/pull/1508)) - -- Rename tlvalidate to validate - -#### Filter out unused assets. ([#1502](https://github.com/tldraw/tldraw/pull/1502)) - -- Optimize file size of exported files. - -#### Cleanup @tldraw/ui types / exports ([#1504](https://github.com/tldraw/tldraw/pull/1504)) - -- [editor] clean up / unify types - -#### rename app to editor ([#1503](https://github.com/tldraw/tldraw/pull/1503)) - -- Rename `App` to `Editor` and many other things that reference `app` to `editor`. - -#### Revert 09c36781 & tweak linting ([#1501](https://github.com/tldraw/tldraw/pull/1501)) - -[internal-only] - -#### Add support for locking shapes ([#1447](https://github.com/tldraw/tldraw/pull/1447)) - -- Add support for locking shapes. - -#### [3/3] Highlighter styling ([#1490](https://github.com/tldraw/tldraw/pull/1490)) - -Highlighter pen is here! 🎉🎉🎉 - -#### [2/3] renderer changes to support "sandwich mode" highlighting ([#1418](https://github.com/tldraw/tldraw/pull/1418)) - -[not yet!] - -#### [1/3] initial highlighter shape/tool ([#1401](https://github.com/tldraw/tldraw/pull/1401)) - -[internal only change layout ground work for highlighter] - -#### [feature] reduce motion ([#1485](https://github.com/tldraw/tldraw/pull/1485)) - -- [editor] Add `reduceMotion` user preference -- Add reduce motion option to preferences - -#### [feature] Easier store persistence API + persistence example ([#1480](https://github.com/tldraw/tldraw/pull/1480)) - -- [tlstore] adds `getSnapshot` and `loadSnapshot` - -#### Add DSL to make writing shape-layout test cases much easier ([#1413](https://github.com/tldraw/tldraw/pull/1413)) - -[internal only change] - -#### Feature flags rework ([#1474](https://github.com/tldraw/tldraw/pull/1474)) - -[internal only change] - -#### [tiny] add isPageId ([#1482](https://github.com/tldraw/tldraw/pull/1482)) - -- [tlschema] Add `isPageId` - -#### [minor] Mark tlsync-client internal APIs ([#1481](https://github.com/tldraw/tldraw/pull/1481)) - -- Removes internal APIs from `@tldraw/tlsync-client` - -#### [refactor] update record names ([#1473](https://github.com/tldraw/tldraw/pull/1473)) - -- [editor] rename record types - -#### remove safari special-casing for paste ([#1470](https://github.com/tldraw/tldraw/pull/1470)) - -[fixes a regression introduced during this release] - -#### Don't allow `g` keyboard shortcut in readonly mode, show laser tool in the toolbar ([#1459](https://github.com/tldraw/tldraw/pull/1459)) - -- Disable geo tool shortcut in readonly mode. Show laser on the toolbar. - -#### [mini-feature] Following indicator ([#1468](https://github.com/tldraw/tldraw/pull/1468)) - -- Adds viewport following indicator - -#### [chore] refactor user preferences ([#1435](https://github.com/tldraw/tldraw/pull/1435)) - -- Add a brief release note for your PR here. - -#### Add translations for "Leave shared project" action ([#1394](https://github.com/tldraw/tldraw/pull/1394)) - -- None - -#### update use-gesture ([#1453](https://github.com/tldraw/tldraw/pull/1453)) - -- Updates use-gesture to fix pinch gesture bug on iPad. - -#### Add migration for horizontal alignment ([#1443](https://github.com/tldraw/tldraw/pull/1443)) - -- Add support for legacy alignment options. - -#### Stricter ID types ([#1439](https://github.com/tldraw/tldraw/pull/1439)) - -[internal only, covered by #1432 changelog] - -#### [refactor] restore createTLSchema ([#1444](https://github.com/tldraw/tldraw/pull/1444)) - -- [editor] Simplifies custom shape definition -- [tldraw] Updates props for `` component to require a `TldrawEditorConfig`. - -#### Fix cursor shadow getting clipped ([#1441](https://github.com/tldraw/tldraw/pull/1441)) - -- Fixed a bug where custom cursors could have their shadow clipped. - -#### Add SVG cursors for all cursor types ([#1416](https://github.com/tldraw/tldraw/pull/1416)) - -- Added consistent custom cursors. - -#### [refactor] remove `createTLSchema` ([#1440](https://github.com/tldraw/tldraw/pull/1440)) - -- [tlschema] Removes `createTLSchema` in favor of `TldrawEditorConfig` - -#### [refactor] Remove `TLShapeDef`, `getShapeUtilByType`. ([#1432](https://github.com/tldraw/tldraw/pull/1432)) - -- [tlschema] Update props of `createTLSchema` -- [editor] Update props of `TldrawEditorConfig` -- [editor] Remove `App.getShapeUtilByType` -- [editor] Update `App.getShapeUtil` to take a type rather than a shape - -#### [refactor] record migrations ([#1430](https://github.com/tldraw/tldraw/pull/1430)) - -- [tlschema] Improve `defineMigrations` -- [editor] Simplify migration definitions - -#### Measure individual words instead of just line breaks for text exports ([#1397](https://github.com/tldraw/tldraw/pull/1397)) - -- Add a brief release note for your PR here. - -#### Update docs links + guides + build ([#1422](https://github.com/tldraw/tldraw/pull/1422)) - -* [docs] Updated guides to get assets from the new `tldraw/tldraw` repo instead of the old `tldraw/tldraw-examples`. -* [docs] Updated an old CodeSandbox link to the new StackBlitz. - -#### Create @tldraw/indices package ([#1426](https://github.com/tldraw/tldraw/pull/1426)) - -- [@tldraw/editor] Remove fractional indices code into `@tldraw/indices` -- [@tldraw/indices] Create library for fractional indices code - -#### [feature] Add checkbox to toolbar ([#1423](https://github.com/tldraw/tldraw/pull/1423)) - -- Adds missing checkbox to toolbar. - -#### [improvement] set horizontal position using text alignment ([#1419](https://github.com/tldraw/tldraw/pull/1419)) - -- Geo shapes and sticky notes now position their labels based on their alignment. - -#### [fix] reorder handles in front of selection ([#1420](https://github.com/tldraw/tldraw/pull/1420)) - -- Fix a bug where handles would appear behind selection indicators. - -#### [feature] add laser pointer ([#1412](https://github.com/tldraw/tldraw/pull/1412)) - -- Adds the laser pointer tool. - -#### [firefox] Fix the pointer getting stuck down when you press the control key ([#1390](https://github.com/tldraw/tldraw/pull/1390)) - -- [Firefox] Fixed a bug where the pointer could get stuck down when the control key is held down. - -#### Vertical text alignment for geo shapes ([#1414](https://github.com/tldraw/tldraw/pull/1414)) - -- This adds vertical text alignment property to geo shapes. - -#### [fix] page menu, drag handle css ([#1406](https://github.com/tldraw/tldraw/pull/1406)) - -- Fix styling in the page menu - -#### Switch to new collaborators component ([#1405](https://github.com/tldraw/tldraw/pull/1405)) - -- [Breaking] Removes the old version of LiveCollaborators, replacing it with the new one based on `TLInstancePresence` - -#### [improvement] refactor paste to support multi-line text ([#1398](https://github.com/tldraw/tldraw/pull/1398)) - -- Improves clipboard logic when pasting text -- Adds support for pasting multi-line text -- Adds maximum widths when pasting single-line text -- Adds support for RTL languages when pasting multi-line or wrapped text -- Strips leading indentation when pasting text - -#### remove url state, to private ([#1402](https://github.com/tldraw/tldraw/pull/1402)) - -- [editor] remove `useUrlState` - -#### Don't allow the users to use keyboard shortcuts to select tools in readonly mode. ([#1382](https://github.com/tldraw/tldraw/pull/1382)) - -- Disable keyboard shortcut events for tools in readonly mode. We only allow the select, hand tools, and zoom tool. - -#### [fix] Don't synchronize isReadOnly ([#1396](https://github.com/tldraw/tldraw/pull/1396)) - -- Removes the isReadOnly value from the `user_document_settings` record type. - -#### fix pasted tabs not getting converted to space ([#1388](https://github.com/tldraw/tldraw/pull/1388)) - -- Fixed a bug where pasted tabs wouldn't get converted into spaces. - -#### Delete an empty text shape when clicking on another text shape. ([#1384](https://github.com/tldraw/tldraw/pull/1384)) - -- Fix a problem with empty text shapes not getting deleted if you clicked on another text shape. - -#### Fix setting the grid mode. ([#1386](https://github.com/tldraw/tldraw/pull/1386)) - -- Fix grid mode toggle. - -#### Update codesandbox + example link ([#1368](https://github.com/tldraw/tldraw/pull/1368)) - -- [docs] Fixed some links to examples. - -#### Fix selection foreground being misaligned ([#1380](https://github.com/tldraw/tldraw/pull/1380)) - -- None (fix for a bug that hasn't released) - -#### Expand selection outline for single-selected draw shape ([#1379](https://github.com/tldraw/tldraw/pull/1379)) - -- Improve selection outlines around horizontal or vertical draw shapes - -#### Add localizations for snapshots links ([#1347](https://github.com/tldraw/tldraw/pull/1347)) - -- Add localization for creating snapshot links. - -#### [fix] pointer location not updating when moving over editing shape ([#1378](https://github.com/tldraw/tldraw/pull/1378)) - -- Fix a bug where the pointer location would not update when moving the pointer over an editing shape. - -#### [perf] deleteShapes ([#1373](https://github.com/tldraw/tldraw/pull/1373)) - -- Perf improvement for deleting shapes in a document with lots of pages. - -#### Neaten up pr template ([#1369](https://github.com/tldraw/tldraw/pull/1369)) - -- None: internal - -#### fix a couple of consistency assumptions ([#1365](https://github.com/tldraw/tldraw/pull/1365)) - -- Fixes a couple of minor consistency bugs affecting shape updating and page deletion in multiplayer contexts. - -#### Disable nightly/on-demand webdriver scripts ([#1366](https://github.com/tldraw/tldraw/pull/1366)) - -None - -#### avoid lazy race conditions ([#1364](https://github.com/tldraw/tldraw/pull/1364)) - -[internal only] - -#### Adds CI for webdriver tests ([#1343](https://github.com/tldraw/tldraw/pull/1343)) - -- Github action CI workflows added for webdriver tests -- Refactored e2e test runner - -#### enable eslint for test files ([#1363](https://github.com/tldraw/tldraw/pull/1363)) - -internal-only change - -#### [perf] make ensureStoreIsUsable scale better ([#1362](https://github.com/tldraw/tldraw/pull/1362)) - -- Add a brief release note for your PR here. - -#### Export Events stuff ([#1360](https://github.com/tldraw/tldraw/pull/1360)) - -- [ui] export the `TLUiEventSource` type -- [ui] export the `EventsProviderProps ` type -- [ui] export the `useEvents ` hook - -#### presence-related fixes ([#1361](https://github.com/tldraw/tldraw/pull/1361)) - -- Fix a bug where creating a page could throw an error in some multiplayer contexts. - -#### [improvement] rename onEvent to onUiEvent ([#1358](https://github.com/tldraw/tldraw/pull/1358)) - -- [docs] Adds docs for ui events -- [tldraw] Renames `onEvent` to `onUiEvent` - -#### [docs] Update links in docs ([#1357](https://github.com/tldraw/tldraw/pull/1357)) - -- [docs] Update links in docs to point to the tldraw repository rather than tldraw-examples. - -#### [improvement] Ui events followup ([#1354](https://github.com/tldraw/tldraw/pull/1354)) - -- [ui] Adds source to ui events data object -- [ui] Corrects source for toolbar events -- [ui] Corrects source for clipboard events -- [examples] Updates events example - -#### [fix] various text ([#1350](https://github.com/tldraw/tldraw/pull/1350)) - -- Allow leading whitespace - -#### [chore] Bump nanoid ([#1349](https://github.com/tldraw/tldraw/pull/1349)) - -- Remove unused userId and instanceId props from AppOptions - -#### Fix "copy as png" in firefox when `dom.events.asyncClipboard.clipboardItem` is enabled ([#1342](https://github.com/tldraw/tldraw/pull/1342)) - -- Fix "copy as png" in firefox when `dom.events.asyncClipboard.clipboardItem` is enabled - -#### Rework the assets package for strategy-specific imports ([#1341](https://github.com/tldraw/tldraw/pull/1341)) - -- [dev] If you're using the `@tldraw/assets` package, you need to update your code to `import { getAssetUrlsByImport } from '@tldraw/assets/imports'` instead of `import { getBundlerAssetUrls } from '@tldraw/assets` - ---- - -#### 💥 Breaking Change - -- [minor] Mark tlsync-client internal APIs [#1481](https://github.com/tldraw/tldraw/pull/1481) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/store` - - [tweak] migrate store snapshot arguments [#1659](https://github.com/tldraw/tldraw/pull/1659) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/store`, `@tldraw/tlschema` - - [improvement] store snapshot types [#1657](https://github.com/tldraw/tldraw/pull/1657) ([@steveruizok](https://github.com/steveruizok)) - - Rename tlstore to store [#1507](https://github.com/tldraw/tldraw/pull/1507) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/ui` - - [fix] react component runaways, error boundaries [#1625](https://github.com/tldraw/tldraw/pull/1625) ([@steveruizok](https://github.com/steveruizok)) - - Tidy up [#1600](https://github.com/tldraw/tldraw/pull/1600) ([@steveruizok](https://github.com/steveruizok)) - - Use unpkg as a default for serving assets. [#1548](https://github.com/tldraw/tldraw/pull/1548) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Switch to new collaborators component [#1405](https://github.com/tldraw/tldraw/pull/1405) ([@ds300](https://github.com/ds300)) - - [improvement] Ui events followup [#1354](https://github.com/tldraw/tldraw/pull/1354) ([@steveruizok](https://github.com/steveruizok)) - - [feature] ui events [#1326](https://github.com/tldraw/tldraw/pull/1326) ([@orangemug](https://github.com/orangemug) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tldraw`, `@tldraw/tlschema` - - `ShapeUtil` refactor, `Editor` cleanup [#1611](https://github.com/tldraw/tldraw/pull/1611) ([@steveruizok](https://github.com/steveruizok)) - - [refactor] restore createTLSchema [#1444](https://github.com/tldraw/tldraw/pull/1444) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - Remove on drop override [#1612](https://github.com/tldraw/tldraw/pull/1612) ([@steveruizok](https://github.com/steveruizok)) - - Rename `ShapeUtil.render` -> `ShapeUtil.component` [#1609](https://github.com/tldraw/tldraw/pull/1609) ([@steveruizok](https://github.com/steveruizok)) - - [fix] camera culling [#1602](https://github.com/tldraw/tldraw/pull/1602) ([@steveruizok](https://github.com/steveruizok)) - - remove `ShapeUtil.transform` [#1590](https://github.com/tldraw/tldraw/pull/1590) ([@steveruizok](https://github.com/steveruizok)) - - remove `ShapeUtil.point` [#1591](https://github.com/tldraw/tldraw/pull/1591) ([@steveruizok](https://github.com/steveruizok)) - - remove url state, to private [#1402](https://github.com/tldraw/tldraw/pull/1402) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/ui` - - tldraw.css [#1607](https://github.com/tldraw/tldraw/pull/1607) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils`, `@tldraw/validate` - - Styles API [#1580](https://github.com/tldraw/tldraw/pull/1580) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - mini `defineShape` API [#1563](https://github.com/tldraw/tldraw/pull/1563) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tldraw`, `@tldraw/ui` - - `ExternalContentManager` for handling external content (files, images, etc) [#1550](https://github.com/tldraw/tldraw/pull/1550) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema`, `@tldraw/ui` - - hoist opacity out of props [#1526](https://github.com/tldraw/tldraw/pull/1526) ([@SomeHats](https://github.com/SomeHats)) - - Add support for project names [#1340](https://github.com/tldraw/tldraw/pull/1340) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [refactor] Remove `TLShapeDef`, `getShapeUtilByType`. [#1432](https://github.com/tldraw/tldraw/pull/1432) ([@steveruizok](https://github.com/steveruizok) [@SomeHats](https://github.com/SomeHats)) - - [fix] Don't synchronize isReadOnly [#1396](https://github.com/tldraw/tldraw/pull/1396) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/store`, `@tldraw/tlschema`, `@tldraw/ui` - - Independent instance state persistence [#1493](https://github.com/tldraw/tldraw/pull/1493) ([@ds300](https://github.com/ds300)) - - tlschema cleanup [#1509](https://github.com/tldraw/tldraw/pull/1509) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/ui` - - Renaming types, shape utils, tools [#1513](https://github.com/tldraw/tldraw/pull/1513) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tlschema`, `@tldraw/validate` - - Rename tlvalidate to validate [#1508](https://github.com/tldraw/tldraw/pull/1508) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/file-format`, `@tldraw/tlschema`, `@tldraw/ui` - - Cleanup @tldraw/ui types / exports [#1504](https://github.com/tldraw/tldraw/pull/1504) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/indices`, `@tldraw/tldraw`, `@tldraw/ui` - - rename app to editor [#1503](https://github.com/tldraw/tldraw/pull/1503) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/ui` - - [refactor] User-facing APIs [#1478](https://github.com/tldraw/tldraw/pull/1478) ([@steveruizok](https://github.com/steveruizok)) - - [chore] refactor user preferences [#1435](https://github.com/tldraw/tldraw/pull/1435) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tlschema`, `@tldraw/ui` - - [refactor] update record names [#1473](https://github.com/tldraw/tldraw/pull/1473) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema` - - [refactor] remove `createTLSchema` [#1440](https://github.com/tldraw/tldraw/pull/1440) ([@steveruizok](https://github.com/steveruizok)) - - [refactor] record migrations [#1430](https://github.com/tldraw/tldraw/pull/1430) ([@steveruizok](https://github.com/steveruizok)) - - [chore] Bump nanoid [#1349](https://github.com/tldraw/tldraw/pull/1349) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/indices`, `@tldraw/utils` - - Create @tldraw/indices package [#1426](https://github.com/tldraw/tldraw/pull/1426) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/ui` - - [improvement] rename onEvent to onUiEvent [#1358](https://github.com/tldraw/tldraw/pull/1358) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/tlschema` - - Rework the assets package for strategy-specific imports [#1341](https://github.com/tldraw/tldraw/pull/1341) ([@SomeHats](https://github.com/SomeHats)) - -#### 🚀 Enhancement - -- [feature] Easier store persistence API + persistence example [#1480](https://github.com/tldraw/tldraw/pull/1480) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema`, `@tldraw/ui` - - Styles API follow-ups [#1636](https://github.com/tldraw/tldraw/pull/1636) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) - - (1/2) Cursor Chat - Presence [#1487](https://github.com/tldraw/tldraw/pull/1487) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - Make resizeBox a regular function [#1610](https://github.com/tldraw/tldraw/pull/1610) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] set horizontal position using text alignment [#1419](https://github.com/tldraw/tldraw/pull/1419) ([@steveruizok](https://github.com/steveruizok)) - - [fix] pointer location not updating when moving over editing shape [#1378](https://github.com/tldraw/tldraw/pull/1378) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema` - - [fix] yjs presence [#1603](https://github.com/tldraw/tldraw/pull/1603) ([@steveruizok](https://github.com/steveruizok)) - - (1/2) Timeout collaborator cursors [#1525](https://github.com/tldraw/tldraw/pull/1525) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [feature] add vertical align to note shape [#1539](https://github.com/tldraw/tldraw/pull/1539) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format` - - Add optional generic to `updateShapes` / `createShapes` [#1579](https://github.com/tldraw/tldraw/pull/1579) ([@steveruizok](https://github.com/steveruizok)) - - move v1 migration code into file-format [#1499](https://github.com/tldraw/tldraw/pull/1499) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/ui` - - Add support for locking shapes [#1447](https://github.com/tldraw/tldraw/pull/1447) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - [feature] reduce motion [#1485](https://github.com/tldraw/tldraw/pull/1485) ([@steveruizok](https://github.com/steveruizok)) - - [mini-feature] Following indicator [#1468](https://github.com/tldraw/tldraw/pull/1468) ([@steveruizok](https://github.com/steveruizok)) - - Add SVG cursors for all cursor types [#1416](https://github.com/tldraw/tldraw/pull/1416) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [improvement] refactor paste to support multi-line text [#1398](https://github.com/tldraw/tldraw/pull/1398) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/ui` - - [3/3] Highlighter styling [#1490](https://github.com/tldraw/tldraw/pull/1490) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/primitives` - - [2/3] renderer changes to support "sandwich mode" highlighting [#1418](https://github.com/tldraw/tldraw/pull/1418) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tlschema`, `@tldraw/ui` - - [1/3] initial highlighter shape/tool [#1401](https://github.com/tldraw/tldraw/pull/1401) ([@SomeHats](https://github.com/SomeHats)) - - [feature] add laser pointer [#1412](https://github.com/tldraw/tldraw/pull/1412) ([@steveruizok](https://github.com/steveruizok)) - - Vertical text alignment for geo shapes [#1414](https://github.com/tldraw/tldraw/pull/1414) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/ui` - - [feature] Add checkbox to toolbar [#1423](https://github.com/tldraw/tldraw/pull/1423) ([@steveruizok](https://github.com/steveruizok)) - - Add stuff for new 'share project' flow [#1403](https://github.com/tldraw/tldraw/pull/1403) ([@ds300](https://github.com/ds300)) - - Snapshot link menu translations [#1399](https://github.com/tldraw/tldraw/pull/1399) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/ui` - - open menus refactor [#1400](https://github.com/tldraw/tldraw/pull/1400) ([@steveruizok](https://github.com/steveruizok)) - -#### 🐛 Bug Fix - -- Lokalise: Translations update [#1618](https://github.com/tldraw/tldraw/pull/1618) ([@TodePond](https://github.com/TodePond)) -- Fa translation [#1500](https://github.com/tldraw/tldraw/pull/1500) ([@mokazemi](https://github.com/mokazemi) [@steveruizok](https://github.com/steveruizok)) -- Lokalise: Translations update [#1572](https://github.com/tldraw/tldraw/pull/1572) ([@TodePond](https://github.com/TodePond)) -- Update changelog. Bump version. [#1546](https://github.com/tldraw/tldraw/pull/1546) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Lokalise: Translations update [#1515](https://github.com/tldraw/tldraw/pull/1515) ([@TodePond](https://github.com/TodePond)) -- VS Code version bump, changelog. [#1497](https://github.com/tldraw/tldraw/pull/1497) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Fix issue template label not getting applied [#1428](https://github.com/tldraw/tldraw/pull/1428) ([@TodePond](https://github.com/TodePond)) -- Bump version. [#1421](https://github.com/tldraw/tldraw/pull/1421) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Update community translations + remove unused translations [#1356](https://github.com/tldraw/tldraw/pull/1356) ([@TodePond](https://github.com/TodePond)) -- [docs] Update links in docs [#1357](https://github.com/tldraw/tldraw/pull/1357) ([@steveruizok](https://github.com/steveruizok)) -- [chore] Add label options to PR template [#1339](https://github.com/tldraw/tldraw/pull/1339) ([@ds300](https://github.com/ds300)) -- Fix publishing [#1338](https://github.com/tldraw/tldraw/pull/1338) ([@SomeHats](https://github.com/SomeHats)) -- Update README.md [#1331](https://github.com/tldraw/tldraw/pull/1331) ([@steveruizok](https://github.com/steveruizok)) -- [docs] editor API [#1328](https://github.com/tldraw/tldraw/pull/1328) ([@steveruizok](https://github.com/steveruizok)) -- [docs] Add missing params docs [#1223](https://github.com/tldraw/tldraw/pull/1223) ([@TodePond](https://github.com/TodePond)) -- Add link to original tldraw within issue template [#1225](https://github.com/tldraw/tldraw/pull/1225) ([@TodePond](https://github.com/TodePond)) -- Fix issue templates not appearing [#1228](https://github.com/tldraw/tldraw/pull/1228) ([@TodePond](https://github.com/TodePond)) -- [improvement] readme / contributing [#1199](https://github.com/tldraw/tldraw/pull/1199) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- [improvement] add bug report / feature request [#1218](https://github.com/tldraw/tldraw/pull/1218) ([@steveruizok](https://github.com/steveruizok)) -- add `env` and prefix output options to exec [#1217](https://github.com/tldraw/tldraw/pull/1217) ([@SomeHats](https://github.com/SomeHats)) -- lite: run prettier on js + json files [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- [chore] use explicit yarn in clean script [#1216](https://github.com/tldraw/tldraw/pull/1216) ([@ds300](https://github.com/ds300)) -- fix husky install [#1212](https://github.com/tldraw/tldraw/pull/1212) ([@SomeHats](https://github.com/SomeHats)) -- Alex/test [#1202](https://github.com/tldraw/tldraw/pull/1202) ([@SomeHats](https://github.com/SomeHats)) -- lite: tweak lockfile name [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- lite: common logfile name [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- lite: open runners [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- poke [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- lite: standalone? [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor` - - Fix crash when rotating a deleted shape [#1658](https://github.com/tldraw/tldraw/pull/1658) ([@TodePond](https://github.com/TodePond)) - - [fix] pen mode touches [#1655](https://github.com/tldraw/tldraw/pull/1655) ([@steveruizok](https://github.com/steveruizok)) - - Fix text shapes not having colour [#1649](https://github.com/tldraw/tldraw/pull/1649) ([@TodePond](https://github.com/TodePond)) - - Fix SVG cursors not being used [#1639](https://github.com/tldraw/tldraw/pull/1639) ([@TodePond](https://github.com/TodePond)) - - [fix] tldraw file drop [#1616](https://github.com/tldraw/tldraw/pull/1616) ([@steveruizok](https://github.com/steveruizok)) - - Make sure loading screens use dark mode user preference. [#1552](https://github.com/tldraw/tldraw/pull/1552) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - [fix] Remove group shape export backgrounds [#1587](https://github.com/tldraw/tldraw/pull/1587) ([@steveruizok](https://github.com/steveruizok)) - - Move the loading of assets to the TldrawEditorWithReadyStore so that all code paths load the assets. [#1561](https://github.com/tldraw/tldraw/pull/1561) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - shapes folder, move tools into shape defs [#1574](https://github.com/tldraw/tldraw/pull/1574) ([@SomeHats](https://github.com/SomeHats)) - - offset drop point by editor client rect [#1564](https://github.com/tldraw/tldraw/pull/1564) ([@BrianHung](https://github.com/BrianHung)) - - More misc sync fixes [#1559](https://github.com/tldraw/tldraw/pull/1559) ([@ds300](https://github.com/ds300)) - - Misc sync fixes [#1555](https://github.com/tldraw/tldraw/pull/1555) ([@ds300](https://github.com/ds300)) - - [fix] Shift key code / nudge [#1537](https://github.com/tldraw/tldraw/pull/1537) ([@steveruizok](https://github.com/steveruizok)) - - scale exported canvases when they reach the browsers max size [#1536](https://github.com/tldraw/tldraw/pull/1536) ([@SomeHats](https://github.com/SomeHats)) - - [fix] control click on mac [#1535](https://github.com/tldraw/tldraw/pull/1535) ([@steveruizok](https://github.com/steveruizok)) - - Fix being able to undo following [#1531](https://github.com/tldraw/tldraw/pull/1531) ([@TodePond](https://github.com/TodePond)) - - send user prefs data in broadcast msg [#1466](https://github.com/tldraw/tldraw/pull/1466) ([@ds300](https://github.com/ds300)) - - Fix positioning of default cursor [#1458](https://github.com/tldraw/tldraw/pull/1458) ([@TodePond](https://github.com/TodePond)) - - change pointer cursor to white [#1454](https://github.com/tldraw/tldraw/pull/1454) ([@TodePond](https://github.com/TodePond)) - - Fix cursor shadow getting clipped [#1441](https://github.com/tldraw/tldraw/pull/1441) ([@TodePond](https://github.com/TodePond)) - - Fix new wobble [#1431](https://github.com/tldraw/tldraw/pull/1431) ([@TodePond](https://github.com/TodePond)) - - [fix] laser pointer [#1429](https://github.com/tldraw/tldraw/pull/1429) ([@steveruizok](https://github.com/steveruizok)) - - [fix] reorder handles in front of selection [#1420](https://github.com/tldraw/tldraw/pull/1420) ([@steveruizok](https://github.com/steveruizok)) - - [firefox] Fix the pointer getting stuck down when you press the control key [#1390](https://github.com/tldraw/tldraw/pull/1390) ([@TodePond](https://github.com/TodePond)) - - fix viewport following [#1411](https://github.com/tldraw/tldraw/pull/1411) ([@ds300](https://github.com/ds300)) - - fix pasted tabs not getting converted to space [#1388](https://github.com/tldraw/tldraw/pull/1388) ([@TodePond](https://github.com/TodePond)) - - Delete an empty text shape when clicking on another text shape. [#1384](https://github.com/tldraw/tldraw/pull/1384) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix setting the grid mode. [#1386](https://github.com/tldraw/tldraw/pull/1386) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix selection foreground being misaligned [#1380](https://github.com/tldraw/tldraw/pull/1380) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - Expand selection outline for single-selected draw shape [#1379](https://github.com/tldraw/tldraw/pull/1379) ([@SomeHats](https://github.com/SomeHats)) - - [fix] Allow interactions with embeds in readonly mode [#1333](https://github.com/tldraw/tldraw/pull/1333) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - [perf] deleteShapes [#1373](https://github.com/tldraw/tldraw/pull/1373) ([@ds300](https://github.com/ds300)) - - fix a couple of consistency assumptions [#1365](https://github.com/tldraw/tldraw/pull/1365) ([@ds300](https://github.com/ds300)) - - [fix] various text [#1350](https://github.com/tldraw/tldraw/pull/1350) ([@steveruizok](https://github.com/steveruizok)) - - [fix] tabs in text exports [#1323](https://github.com/tldraw/tldraw/pull/1323) ([@steveruizok](https://github.com/steveruizok)) - - [fix] update useTransform.ts [#1327](https://github.com/tldraw/tldraw/pull/1327) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] dragging start distance on coarse pointer [#1220](https://github.com/tldraw/tldraw/pull/1220) ([@steveruizok](https://github.com/steveruizok)) - - [fix] SVG export for arrows with labels but no arrowheads [#1229](https://github.com/tldraw/tldraw/pull/1229) ([@steveruizok](https://github.com/steveruizok)) - - add docs for TLShapeUtil [#1215](https://github.com/tldraw/tldraw/pull/1215) ([@TodePond](https://github.com/TodePond)) - - [fix] publish [#1222](https://github.com/tldraw/tldraw/pull/1222) ([@ds300](https://github.com/ds300)) - - [fix] typo in isFocusingInput [#1221](https://github.com/tldraw/tldraw/pull/1221) ([@ds300](https://github.com/ds300)) - - [feat] new LiveCollaborators behind feature flag [#1219](https://github.com/tldraw/tldraw/pull/1219) ([@ds300](https://github.com/ds300)) - - [fix] collaborator render order [#1213](https://github.com/tldraw/tldraw/pull/1213) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/ui` - - 3/2 Cursor chat [#1623](https://github.com/tldraw/tldraw/pull/1623) ([@steveruizok](https://github.com/steveruizok)) - - [fix] embeds [#1578](https://github.com/tldraw/tldraw/pull/1578) ([@steveruizok](https://github.com/steveruizok)) - - highlighter fixes [#1530](https://github.com/tldraw/tldraw/pull/1530) ([@SomeHats](https://github.com/SomeHats)) - - Feature flags rework [#1474](https://github.com/tldraw/tldraw/pull/1474) ([@SomeHats](https://github.com/SomeHats)) - - remove svg layer, html all the things, rs to tl [#1227](https://github.com/tldraw/tldraw/pull/1227) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - Added `pHYs` to import/export of png images [#1200](https://github.com/tldraw/tldraw/pull/1200) ([@orangemug](https://github.com/orangemug) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - [fix] tldraw api report [#1615](https://github.com/tldraw/tldraw/pull/1615) ([@steveruizok](https://github.com/steveruizok)) - - Fix to not ignore the `userId` option for `` component in `@tldraw/tldraw` [#1205](https://github.com/tldraw/tldraw/pull/1205) ([@orangemug](https://github.com/orangemug)) -- `@tldraw/editor`, `@tldraw/primitives` - - [refactor] snapping [#1589](https://github.com/tldraw/tldraw/pull/1589) ([@steveruizok](https://github.com/steveruizok)) - - Fix arrows with weird bends crashing [#1540](https://github.com/tldraw/tldraw/pull/1540) ([@TodePond](https://github.com/TodePond)) - - ensure that fixed points stay fixed [#1523](https://github.com/tldraw/tldraw/pull/1523) ([@steveruizok](https://github.com/steveruizok)) - - Use `strokePathData` for `` path to avoid bugs in the inner path algo [#1207](https://github.com/tldraw/tldraw/pull/1207) ([@orangemug](https://github.com/orangemug) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema` - - update exports for user presence [#1583](https://github.com/tldraw/tldraw/pull/1583) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] Embed shape cleanup [#1569](https://github.com/tldraw/tldraw/pull/1569) ([@steveruizok](https://github.com/steveruizok)) - - Add migration for horizontal alignment [#1443](https://github.com/tldraw/tldraw/pull/1443) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - [chore] move schema construction to tlschema package [#1334](https://github.com/tldraw/tldraw/pull/1334) ([@ds300](https://github.com/ds300)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/ui`, `@tldraw/utils` - - Asset improvements [#1557](https://github.com/tldraw/tldraw/pull/1557) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/ui` - - Use `"Toggle locked"` [#1538](https://github.com/tldraw/tldraw/pull/1538) ([@steveruizok](https://github.com/steveruizok)) - - Select locked shapes on long press [#1529](https://github.com/tldraw/tldraw/pull/1529) ([@steveruizok](https://github.com/steveruizok)) - - remove safari special-casing for paste [#1470](https://github.com/tldraw/tldraw/pull/1470) ([@SomeHats](https://github.com/SomeHats)) - - Don't allow `g` keyboard shortcut in readonly mode, show laser tool in the toolbar [#1459](https://github.com/tldraw/tldraw/pull/1459) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - Fix people menu button border on android [#1471](https://github.com/tldraw/tldraw/pull/1471) ([@TodePond](https://github.com/TodePond)) - - [fix] lock option for laser tool [#1460](https://github.com/tldraw/tldraw/pull/1460) ([@steveruizok](https://github.com/steveruizok)) - - Add laser keyboard shortcut. [#1467](https://github.com/tldraw/tldraw/pull/1467) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - [fix] make follow icon visible on iPad [#1462](https://github.com/tldraw/tldraw/pull/1462) ([@steveruizok](https://github.com/steveruizok)) - - [fix] page item submenu [#1461](https://github.com/tldraw/tldraw/pull/1461) ([@steveruizok](https://github.com/steveruizok)) - - Add translations for "Leave shared project" action [#1394](https://github.com/tldraw/tldraw/pull/1394) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [fix] page menu, drag handle css [#1406](https://github.com/tldraw/tldraw/pull/1406) ([@steveruizok](https://github.com/steveruizok)) - - Don't allow the users to use keyboard shortcuts to select tools in readonly mode. [#1382](https://github.com/tldraw/tldraw/pull/1382) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Disabling middle click paste in favour of panning [#1335](https://github.com/tldraw/tldraw/pull/1335) ([@orangemug](https://github.com/orangemug) [@steveruizok](https://github.com/steveruizok)) - - Export Events stuff [#1360](https://github.com/tldraw/tldraw/pull/1360) ([@steveruizok](https://github.com/steveruizok)) - - Fix "copy as png" in firefox when `dom.events.asyncClipboard.clipboardItem` is enabled [#1342](https://github.com/tldraw/tldraw/pull/1342) ([@orangemug](https://github.com/orangemug)) - - [tiny] rename show menu paste [#1332](https://github.com/tldraw/tldraw/pull/1332) ([@steveruizok](https://github.com/steveruizok)) - - update @radix-ui/react-popover to 1.0.6-rc.5 [#1206](https://github.com/tldraw/tldraw/pull/1206) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/file-format` - - Filter out unused assets. [#1502](https://github.com/tldraw/tldraw/pull/1502) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils` - - Stricter ID types [#1439](https://github.com/tldraw/tldraw/pull/1439) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/primitives`, `@tldraw/ui` - - Measure individual words instead of just line breaks for text exports [#1397](https://github.com/tldraw/tldraw/pull/1397) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tlschema` - - [perf] make ensureStoreIsUsable scale better [#1362](https://github.com/tldraw/tldraw/pull/1362) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/utils` - - presence-related fixes [#1361](https://github.com/tldraw/tldraw/pull/1361) ([@ds300](https://github.com/ds300)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tlschema`, `@tldraw/ui` - - [feature] `check-box` geo shape [#1330](https://github.com/tldraw/tldraw/pull/1330) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/ui` - - New vite-based examples app [#1226](https://github.com/tldraw/tldraw/pull/1226) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/assets`, `@tldraw/file-format`, `@tldraw/polyfills`, `@tldraw/primitives`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils` - - readmes [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/polyfills`, `@tldraw/primitives`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils` - - [chore] update lazyrepo [#1211](https://github.com/tldraw/tldraw/pull/1211) ([@ds300](https://github.com/ds300)) - - [lite] upgrade lazyrepo [#1198](https://github.com/tldraw/tldraw/pull/1198) ([@ds300](https://github.com/ds300)) - - transfer-out: transfer out [#1195](https://github.com/tldraw/tldraw/pull/1195) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tlschema`, `@tldraw/ui` - - [fix] pick a better default language [#1201](https://github.com/tldraw/tldraw/pull/1201) ([@steveruizok](https://github.com/steveruizok) [@TodePond](https://github.com/TodePond)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils` - - derived presence state [#1204](https://github.com/tldraw/tldraw/pull/1204) ([@ds300](https://github.com/ds300)) - -#### ⚠️ Pushed to `main` - -- Update publish-new.yml ([@steveruizok](https://github.com/steveruizok)) -- Update lerna.json ([@steveruizok](https://github.com/steveruizok)) -- Update publish-new.ts ([@steveruizok](https://github.com/steveruizok)) -- change App to Editor in docs ([@TodePond](https://github.com/TodePond)) -- rename api.mdx to editor.mdx ([@TodePond](https://github.com/TodePond)) -- remove e2e files ([@steveruizok](https://github.com/steveruizok)) -- main: notify huppy after release ([@SomeHats](https://github.com/SomeHats)) -- main: exclude @tldraw/assets from vite dep optimization to fix examples links ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/indices`, `@tldraw/polyfills`, `@tldraw/primitives`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils`, `@tldraw/validate` - - update lazyrepo ([@ds300](https://github.com/ds300)) - -#### 🏠 Internal - -- [chore] bump vscode extension to 2.0.9 [#1662](https://github.com/tldraw/tldraw/pull/1662) ([@steveruizok](https://github.com/steveruizok)) -- untrack generated files [#1646](https://github.com/tldraw/tldraw/pull/1646) ([@steveruizok](https://github.com/steveruizok)) -- Update pr template [#1570](https://github.com/tldraw/tldraw/pull/1570) ([@steveruizok](https://github.com/steveruizok)) -- Add contributor license agreement. [#1556](https://github.com/tldraw/tldraw/pull/1556) ([@steveruizok](https://github.com/steveruizok)) -- Reinstate auto [#1524](https://github.com/tldraw/tldraw/pull/1524) ([@ds300](https://github.com/ds300)) -- [infra] use npx to run auto [#1521](https://github.com/tldraw/tldraw/pull/1521) ([@ds300](https://github.com/ds300)) -- Revert 09c36781 & tweak linting [#1501](https://github.com/tldraw/tldraw/pull/1501) ([@SomeHats](https://github.com/SomeHats)) -- [fix] eslint from brivate [#1498](https://github.com/tldraw/tldraw/pull/1498) ([@steveruizok](https://github.com/steveruizok)) -- [chore] remove webdriver dependencies / scripts [#1488](https://github.com/tldraw/tldraw/pull/1488) ([@steveruizok](https://github.com/steveruizok)) -- [fix] local e2e script [#1442](https://github.com/tldraw/tldraw/pull/1442) ([@steveruizok](https://github.com/steveruizok)) -- [chore] remove yarnrc-private.yml [#1427](https://github.com/tldraw/tldraw/pull/1427) ([@steveruizok](https://github.com/steveruizok)) -- [fix] example routes on vercel [#1391](https://github.com/tldraw/tldraw/pull/1391) ([@steveruizok](https://github.com/steveruizok)) -- Neaten up pr template [#1369](https://github.com/tldraw/tldraw/pull/1369) ([@TodePond](https://github.com/TodePond)) -- remove references to tldraw-lite [#1367](https://github.com/tldraw/tldraw/pull/1367) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor`, `@tldraw/ui` - - Explicit shape type checks [#1594](https://github.com/tldraw/tldraw/pull/1594) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] bookmark shape logic [#1568](https://github.com/tldraw/tldraw/pull/1568) ([@steveruizok](https://github.com/steveruizok)) - - Simplify static cursors [#1520](https://github.com/tldraw/tldraw/pull/1520) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/ui` - - move some kbds into actions and tools [#1585](https://github.com/tldraw/tldraw/pull/1585) ([@BrianHung](https://github.com/BrianHung) [@steveruizok](https://github.com/steveruizok)) - - Add localizations for snapshots links [#1347](https://github.com/tldraw/tldraw/pull/1347) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor` - - use the right TLEventHandlers [#1486](https://github.com/tldraw/tldraw/pull/1486) ([@judicaelandria](https://github.com/judicaelandria) [@steveruizok](https://github.com/steveruizok)) - - yjs example [#1560](https://github.com/tldraw/tldraw/pull/1560) ([@steveruizok](https://github.com/steveruizok)) - - rename app folder to editor [#1528](https://github.com/tldraw/tldraw/pull/1528) ([@steveruizok](https://github.com/steveruizok)) - - [fix] overlay rendering issues [#1389](https://github.com/tldraw/tldraw/pull/1389) ([@steveruizok](https://github.com/steveruizok)) - - Remove commented code in App [#1377](https://github.com/tldraw/tldraw/pull/1377) ([@steveruizok](https://github.com/steveruizok)) - - enable eslint for test files [#1363](https://github.com/tldraw/tldraw/pull/1363) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tlschema` - - restore styles sets exports [#1512](https://github.com/tldraw/tldraw/pull/1512) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/primitives` - - replace console.log with nicelog [#1496](https://github.com/tldraw/tldraw/pull/1496) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/indices`, `@tldraw/primitives`, `@tldraw/tldraw`, `@tldraw/ui` - - [chore] remove benchmark [#1489](https://github.com/tldraw/tldraw/pull/1489) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema` - - [tiny] add isPageId [#1482](https://github.com/tldraw/tldraw/pull/1482) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/polyfills`, `@tldraw/primitives`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils` - - avoid lazy race conditions [#1364](https://github.com/tldraw/tldraw/pull/1364) ([@SomeHats](https://github.com/SomeHats)) - -#### 📝 Documentation - -- [fix] remove docs scripts [#1651](https://github.com/tldraw/tldraw/pull/1651) ([@steveruizok](https://github.com/steveruizok)) -- (2/2) [docs] Fix links to API. [#1654](https://github.com/tldraw/tldraw/pull/1654) ([@TodePond](https://github.com/TodePond)) -- (1/2) [docs] Restore some missing changes [#1652](https://github.com/tldraw/tldraw/pull/1652) ([@TodePond](https://github.com/TodePond)) -- [docs] Remove embeds page [#1653](https://github.com/tldraw/tldraw/pull/1653) ([@TodePond](https://github.com/TodePond)) -- docs: remove not accepting contributions notice [#1647](https://github.com/tldraw/tldraw/pull/1647) ([@gabrielchl](https://github.com/gabrielchl)) -- [docs] Add table of contents to Editor page [#1642](https://github.com/tldraw/tldraw/pull/1642) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- remove docs (again) [#1643](https://github.com/tldraw/tldraw/pull/1643) ([@steveruizok](https://github.com/steveruizok)) -- [1/2] Move docs to brivate [#1640](https://github.com/tldraw/tldraw/pull/1640) ([@steveruizok](https://github.com/steveruizok)) -- [docs] Allow sidebar to be scrolled on short screens [#1632](https://github.com/tldraw/tldraw/pull/1632) ([@TodePond](https://github.com/TodePond)) -- [docs] Add feedback when you search [#1633](https://github.com/tldraw/tldraw/pull/1633) ([@TodePond](https://github.com/TodePond)) -- [docs] Separate some pages out of the Docs section [#1626](https://github.com/tldraw/tldraw/pull/1626) ([@TodePond](https://github.com/TodePond)) -- [docs] Fix wrong cursor when hovering buttons [#1630](https://github.com/tldraw/tldraw/pull/1630) ([@TodePond](https://github.com/TodePond)) -- [docs] Tighten up wording & structure of Usage page [#1624](https://github.com/tldraw/tldraw/pull/1624) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- [docs] Tighten up Editor page introduction [#1622](https://github.com/tldraw/tldraw/pull/1622) ([@TodePond](https://github.com/TodePond)) -- [docs] Tighten up Introduction page [#1621](https://github.com/tldraw/tldraw/pull/1621) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- [docs] Simplify paths for uncategorised pages [#1619](https://github.com/tldraw/tldraw/pull/1619) ([@TodePond](https://github.com/TodePond)) -- Auto content refresh for docs site [#1606](https://github.com/tldraw/tldraw/pull/1606) ([@steveruizok](https://github.com/steveruizok)) -- Remove `@tldraw/utils` from the docs site [#1596](https://github.com/tldraw/tldraw/pull/1596) ([@TodePond](https://github.com/TodePond)) -- [docs] Add barebones note about translations [#1593](https://github.com/tldraw/tldraw/pull/1593) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- Change app to editor in docs [#1592](https://github.com/tldraw/tldraw/pull/1592) ([@TodePond](https://github.com/TodePond)) -- add presence to yjs example [#1582](https://github.com/tldraw/tldraw/pull/1582) ([@steveruizok](https://github.com/steveruizok)) -- fix: properly remove awareness from store [#1565](https://github.com/tldraw/tldraw/pull/1565) ([@shahriar-shojib](https://github.com/shahriar-shojib) [@steveruizok](https://github.com/steveruizok)) -- Add anchor targets to our headings. [#1571](https://github.com/tldraw/tldraw/pull/1571) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Fix README typo [#1451](https://github.com/tldraw/tldraw/pull/1451) ([@fossinating](https://github.com/fossinating) [@steveruizok](https://github.com/steveruizok)) -- Update examples links to point to examples folder. [#1522](https://github.com/tldraw/tldraw/pull/1522) ([@steveruizok](https://github.com/steveruizok)) -- Update docs links + guides + build [#1422](https://github.com/tldraw/tldraw/pull/1422) ([@TodePond](https://github.com/TodePond)) -- Update codesandbox + example link [#1368](https://github.com/tldraw/tldraw/pull/1368) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/editor` - - [improvement] custom shapes example [#1660](https://github.com/tldraw/tldraw/pull/1660) ([@steveruizok](https://github.com/steveruizok)) - - Add tsdocs to Editor methods [#1581](https://github.com/tldraw/tldraw/pull/1581) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [Docs] Change some editor properties to methods [#1553](https://github.com/tldraw/tldraw/pull/1553) ([@TodePond](https://github.com/TodePond)) - - [Docs] Change some internal methods to public [#1554](https://github.com/tldraw/tldraw/pull/1554) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/editor`, `@tldraw/tlschema` - - Styles API docs [#1641](https://github.com/tldraw/tldraw/pull/1641) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tlschema` - - TLSchema readme [#1506](https://github.com/tldraw/tldraw/pull/1506) ([@steveruizok](https://github.com/steveruizok)) - -#### 🧪 Tests - -- speed up playwright and add visual regression tests [#1638](https://github.com/tldraw/tldraw/pull/1638) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) -- Disable nightly/on-demand webdriver scripts [#1366](https://github.com/tldraw/tldraw/pull/1366) ([@orangemug](https://github.com/orangemug)) -- Adds CI for webdriver tests [#1343](https://github.com/tldraw/tldraw/pull/1343) ([@orangemug](https://github.com/orangemug)) -- Added initial webdriver tests [#1337](https://github.com/tldraw/tldraw/pull/1337) ([@orangemug](https://github.com/orangemug)) -- `@tldraw/editor` - - update editor tests [#1547](https://github.com/tldraw/tldraw/pull/1547) ([@steveruizok](https://github.com/steveruizok)) - - Add DSL to make writing shape-layout test cases much easier [#1413](https://github.com/tldraw/tldraw/pull/1413) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor`, `@tldraw/ui` - - Add playwright tests [#1484](https://github.com/tldraw/tldraw/pull/1484) ([@steveruizok](https://github.com/steveruizok)) - -#### 🔩 Dependency Updates - -- [chore] update wdio-vscode-service [#1346](https://github.com/tldraw/tldraw/pull/1346) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tlschema`, `@tldraw/ui` - - Incorporate signia as @tldraw/state [#1620](https://github.com/tldraw/tldraw/pull/1620) ([@steveruizok](https://github.com/steveruizok) [@ds300](https://github.com/ds300)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/polyfills`, `@tldraw/tldraw`, `@tldraw/ui` - - Revert "Update dependencies (#1613)" [#1617](https://github.com/tldraw/tldraw/pull/1617) ([@SomeHats](https://github.com/SomeHats)) - - Update dependencies [#1613](https://github.com/tldraw/tldraw/pull/1613) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - update use-gesture [#1453](https://github.com/tldraw/tldraw/pull/1453) ([@ds300](https://github.com/ds300)) - -#### Authors: 13 - -- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) -- alex ([@SomeHats](https://github.com/SomeHats)) -- Brian Hung ([@BrianHung](https://github.com/BrianHung)) -- David ([@fossinating](https://github.com/fossinating)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Gabriel Lee ([@gabrielchl](https://github.com/gabrielchl)) -- Judicael ([@judicaelandria](https://github.com/judicaelandria)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Mohammad Kazemi ([@mokazemi](https://github.com/mokazemi)) -- Orange Mug ([@orangemug](https://github.com/orangemug)) -- Shahriar Shojib ([@shahriar-shojib](https://github.com/shahriar-shojib)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-alpha.14.mdx b/apps/docs/content/releases/v2.0.0-alpha.14.mdx deleted file mode 100644 index 550695bef..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.14.mdx +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: v2.0.0-alpha.14 -description: Examples -author: tldraw -date: 7/4/2023 -order: 9 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.14) - - -#### Disable styles panel button on mobile when using the laser tool. ([#1704](https://github.com/tldraw/tldraw/pull/1704)) - -- Disable the styles panel button for laser tool on mobile. - -#### remove lock option from highlighter ([#1703](https://github.com/tldraw/tldraw/pull/1703)) - -- We no longer show the tool lock option for highlighter - it didn't do anything anyway - -#### [fix] penmode ([#1698](https://github.com/tldraw/tldraw/pull/1698)) - -- [fix] pen mode - -#### Update readme ([#1686](https://github.com/tldraw/tldraw/pull/1686)) - -- Documentation: Updated readme to reflect recent library changes. - -#### [docs] Fix the types in the Shapes example ([#1681](https://github.com/tldraw/tldraw/pull/1681)) - -- Documentation: Fix some incorrect types on the Shapes page. - -#### [improvement] More nuanced cursor state ([#1682](https://github.com/tldraw/tldraw/pull/1682)) - -- Improve cursor timeouts and hiding logic. - -#### Fix VS Code commits failing on bublic? ([#1680](https://github.com/tldraw/tldraw/pull/1680)) - -- [internal] fixed commits failing from bublic when using UI - -#### [fix] Lock shortcut ([#1677](https://github.com/tldraw/tldraw/pull/1677)) - -- [@tldraw/editor] Fix lock tool shortcut - -#### [fix] comma keyboard shortcuts ([#1675](https://github.com/tldraw/tldraw/pull/1675)) - -- [@tldraw/editor] Bug fixes on document events. - -#### [improvement] add box sizing border box ([#1674](https://github.com/tldraw/tldraw/pull/1674)) - -- [@tldraw/editor] Add `box-sizing: border-box` to `tl-container` - -#### [improvemnet] drop crc, Buffer dependency ([#1673](https://github.com/tldraw/tldraw/pull/1673)) - -- [@tldraw/editor] Remove peer dependency on buffer. - -#### [improvement] export scribble manager ([#1671](https://github.com/tldraw/tldraw/pull/1671)) - -- [@tldraw/tldraw] Export `ScribbleManager` - -#### [feature] add `meta` property to records ([#1627](https://github.com/tldraw/tldraw/pull/1627)) - -- todo - -#### [fix] mutating `snapshot` in `migrateStoreSnapshot` ([#1663](https://github.com/tldraw/tldraw/pull/1663)) - -- [@tldraw/store] Fixed a bug that would cause `Store.migrateStoreSnapshot` to mutate its `snapshot` argument. - ---- - -#### 🚀 Enhancement - -- `@tldraw/editor` - - [improvement] More nuanced cursor state [#1682](https://github.com/tldraw/tldraw/pull/1682) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] export scribble manager [#1671](https://github.com/tldraw/tldraw/pull/1671) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/file-format`, `@tldraw/tlschema`, `@tldraw/ui`, `@tldraw/utils`, `@tldraw/validate` - - [feature] add `meta` property to records [#1627](https://github.com/tldraw/tldraw/pull/1627) ([@steveruizok](https://github.com/steveruizok)) - -#### 🐛 Bug Fix - -- Lokalise: Translations update [#1694](https://github.com/tldraw/tldraw/pull/1694) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/ui` - - Disable styles panel button on mobile when using the laser tool. [#1704](https://github.com/tldraw/tldraw/pull/1704) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - remove lock option from highlighter [#1703](https://github.com/tldraw/tldraw/pull/1703) ([@SomeHats](https://github.com/SomeHats)) - - [fix] Lock shortcut [#1677](https://github.com/tldraw/tldraw/pull/1677) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - [fix] penmode [#1698](https://github.com/tldraw/tldraw/pull/1698) ([@steveruizok](https://github.com/steveruizok)) - - [fix] indicator not updating [#1696](https://github.com/tldraw/tldraw/pull/1696) ([@steveruizok](https://github.com/steveruizok)) - - [fix] comma keyboard shortcuts [#1675](https://github.com/tldraw/tldraw/pull/1675) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] add box sizing border box [#1674](https://github.com/tldraw/tldraw/pull/1674) ([@steveruizok](https://github.com/steveruizok)) - - [improvemnet] drop crc, Buffer dependency [#1673](https://github.com/tldraw/tldraw/pull/1673) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Shape rendering [#1670](https://github.com/tldraw/tldraw/pull/1670) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/state` - - [fix] rename `global` in @tldraw/state to avoid collissions [#1672](https://github.com/tldraw/tldraw/pull/1672) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/store` - - [fix] mutating `snapshot` in `migrateStoreSnapshot` [#1663](https://github.com/tldraw/tldraw/pull/1663) ([@steveruizok](https://github.com/steveruizok)) - -#### 🏠 Internal - -- [infra] use huppy token for publish-new [#1687](https://github.com/tldraw/tldraw/pull/1687) ([@ds300](https://github.com/ds300)) -- Fix VS Code commits failing on bublic? [#1680](https://github.com/tldraw/tldraw/pull/1680) ([@TodePond](https://github.com/TodePond)) - -#### 📝 Documentation - -- Update readme [#1686](https://github.com/tldraw/tldraw/pull/1686) ([@TodePond](https://github.com/TodePond)) -- [docs] Update multiple test [#1685](https://github.com/tldraw/tldraw/pull/1685) ([@steveruizok](https://github.com/steveruizok)) -- [docs] Fix the types in the Shapes example [#1681](https://github.com/tldraw/tldraw/pull/1681) ([@TodePond](https://github.com/TodePond)) - -#### Authors: 5 - -- alex ([@SomeHats](https://github.com/SomeHats)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-alpha.15.mdx b/apps/docs/content/releases/v2.0.0-alpha.15.mdx deleted file mode 100644 index d27bcbdaa..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.15.mdx +++ /dev/null @@ -1,637 +0,0 @@ ---- -title: v2.0.0-alpha.15 -description: Examples -author: tldraw -date: 10/6/2023 -order: 8 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.15) - - -#### frame label fix ([#2016](https://github.com/tldraw/tldraw/pull/2016)) - -- Add a brief release note for your PR here. - -#### fix cloud rendering ([#2008](https://github.com/tldraw/tldraw/pull/2008)) - -- Improves cloud shape rendering - -#### [improvement] prevent editing in readonly ([#1990](https://github.com/tldraw/tldraw/pull/1990)) - -- Prevent editing text shapes in readonly mode. - -#### [fix] Hovered indicators shown when coarse pointer ([#1985](https://github.com/tldraw/tldraw/pull/1985)) - -- Hide hovered indicators on mobile / coarse pointer devices. - -#### fix(docs): update shapes docs add the array of defined shapes ([#1949](https://github.com/tldraw/tldraw/pull/1949)) - -This pr add the custom defined shapes that's being passed to Tldraw - -#### Fix style panel opening when disabled ([#1983](https://github.com/tldraw/tldraw/pull/1983)) - -- When select tool is active, the style menu shouldn't be openable unless a shape is also selected. - -Before/After - - - - -#### [fix] pinch events ([#1979](https://github.com/tldraw/tldraw/pull/1979)) - -- Improve pinch gesture events. - -#### Fix text-wrapping on Safari ([#1980](https://github.com/tldraw/tldraw/pull/1980)) - -- Fix text wrapping differently on Safari and Chrome/Firefox - -Before/After - - - - -#### Remove focus management ([#1953](https://github.com/tldraw/tldraw/pull/1953)) - -- [editor] Make autofocus default, remove automatic blur / focus events. - -#### [fix] Drawing tool touch for first pen mark ([#1977](https://github.com/tldraw/tldraw/pull/1977)) - -- [fix] Accidental palm inputs when using iPad pencil - -#### Remove targeted editing from text ([#1962](https://github.com/tldraw/tldraw/pull/1962)) - -- Fixed some cases where text would get selected in the wrong place. -- Changed the behaviour of text selection. Removed 'deep editing'. - -#### fix line bugs ([#1936](https://github.com/tldraw/tldraw/pull/1936)) - -- This PR patches a couple of bugs which led to straight draw lines and beziered dash lines not rendering on the canvas - -Before & After: - - - - -#### Allow right clicking selection backgrounds ([#1968](https://github.com/tldraw/tldraw/pull/1968)) - -- Improved right click behaviour. - -#### Mark an undo before toggling lock ([#1969](https://github.com/tldraw/tldraw/pull/1969)) - -- Mark an undo before toggling locked. - -#### Stop editing frame headers when clicking inside a frame. ([#1955](https://github.com/tldraw/tldraw/pull/1955)) - -- Stop editing frame headers when clicking inside of a frame. - -#### Lokalise: Translations update ([#1964](https://github.com/tldraw/tldraw/pull/1964)) - -* Updated community translations for German and Galician - -#### [improvement] improve arrows (for real) ([#1957](https://github.com/tldraw/tldraw/pull/1957)) - -- Improve arrows. - -#### [feature] Include `sources` in `TLExternalContent` ([#1925](https://github.com/tldraw/tldraw/pull/1925)) - -- [editor / tldraw] add `sources` to `TLExternalContent` - -#### [improvement] quick actions ([#1922](https://github.com/tldraw/tldraw/pull/1922)) - -- Improve the menu / kbds behavior when select tool is not active - -#### Fix shape drag perf ([#1932](https://github.com/tldraw/tldraw/pull/1932)) - -- Fixes a perf regression for dragging shapes around - -#### Firefox: Fix dropdowns not opening with touch ([#1923](https://github.com/tldraw/tldraw/pull/1923)) - -- Firefox: Fixed dropdown menus not opening with touch. - -#### Use smarter rounding for shape container div width/height ([#1930](https://github.com/tldraw/tldraw/pull/1930)) - -- Improves the precision of the shape dimensions rounding logic - -#### Fix lines being draggable via their background ([#1920](https://github.com/tldraw/tldraw/pull/1920)) - -- None - unreleased bug - -#### Fix first handle of line snapping to itself ([#1912](https://github.com/tldraw/tldraw/pull/1912)) - -- Fixed a bug where the first handle of a line shape could snap to itself. - -#### [fix] Moving group items inside of a frame (dropping) ([#1886](https://github.com/tldraw/tldraw/pull/1886)) - -- Fix bug: ungroup when moving a shape in a group in a frame. - -#### [fix] id properties of undefined (#1730) ([#1919](https://github.com/tldraw/tldraw/pull/1919)) - -- Fixed a bug similar #1730 - -#### :recycle: fix: editing is not terminated after the conversion is confirmed. ([#1885](https://github.com/tldraw/tldraw/pull/1885)) - -- fix: editing is not terminated after the conversion is confirmed. - -#### Update community translations ([#1889](https://github.com/tldraw/tldraw/pull/1889)) - -- Updated translations for Russian, Ukrainian, and Simplified Chinese - -#### Fix line wobble ([#1915](https://github.com/tldraw/tldraw/pull/1915)) - -- Fixes an issue where lines would wobble as you dragged the handles around - -#### Fix selecting one shape from selection group ([#1905](https://github.com/tldraw/tldraw/pull/1905)) - -- Fix bug when selecting a single shape from a selection group - -Before - -https://github.com/tldraw/tldraw/assets/98838967/1412f9c6-d466-42b3-af94-d08cbc1656be - -After -![Kapture 2023-09-18 at 14 15 10](https://github.com/tldraw/tldraw/assets/98838967/70a7336d-7905-4b4c-b684-d5d62f2383b3) - -#### Fix highlighter dots not being clickable ([#1903](https://github.com/tldraw/tldraw/pull/1903)) - -- None - unreleased bug - -#### Fix video shape controls ([#1909](https://github.com/tldraw/tldraw/pull/1909)) - -- Fixes pointer events for editing video shapes. - -#### Fix line handles ([#1904](https://github.com/tldraw/tldraw/pull/1904)) - -- Fixes an issue where line handles were slightly offset from the indicator line. - -#### Fix pinch start with toolbar open ([#1895](https://github.com/tldraw/tldraw/pull/1895)) - -- Fixes a bug that could trigger undo by accident when closing the style toolbar via a pinch gesture on mobile. - -#### [wip] Viewport focus of editing shapes ([#1873](https://github.com/tldraw/tldraw/pull/1873)) - -Removed a feature to reset the viewport back to a shape that is being edited. - -(Before) Don't be held back by the past -![Kapture 2023-09-15 at 10 57 29](https://github.com/tldraw/tldraw/assets/98838967/d8891621-766e-46a2-b1ca-afa968b7f08c) - -(After) You are free to find new avenues of exploration -![Kapture 2023-09-15 at 11 02 36](https://github.com/tldraw/tldraw/assets/98838967/82f318ab-944b-41bd-8297-a35467a15987) - -#### Migrate snapshot ([#1843](https://github.com/tldraw/tldraw/pull/1843)) - -- [editor] add `Store.migrateSnapshot` - -#### [fix] zero width / height bounds ([#1840](https://github.com/tldraw/tldraw/pull/1840)) - -- Fix bug with straight lines / arrows - -#### clamp x-box and check-box lines to stay within box at small scales ([#1860](https://github.com/tldraw/tldraw/pull/1860)) - -- Fixes a regression introduced by the geometry refactor related to x-box and checkbox resizing. - -#### Fix paste transform ([#1859](https://github.com/tldraw/tldraw/pull/1859)) - -- Fixes a bug affecting the position of pasted content inside frames. - -#### Fix indicator transform miscalculation ([#1852](https://github.com/tldraw/tldraw/pull/1852)) - -- Fixes indicator transform miscalculation on android and windows - -#### update currentPageShapesSorted reference in docs ([#1851](https://github.com/tldraw/tldraw/pull/1851)) - -- Add a brief release note for your PR here. - -#### [fix] awful rendering issue ([#1842](https://github.com/tldraw/tldraw/pull/1842)) - -- [fix] iframe rendering issue - -#### fix typo ([#1831](https://github.com/tldraw/tldraw/pull/1831)) - -- Just fixed a typo in the docs - -#### [feature] Asset props ([#1824](https://github.com/tldraw/tldraw/pull/1824)) - -- [@tldraw/tldraw] add asset props - -#### [fix] snapping bug ([#1819](https://github.com/tldraw/tldraw/pull/1819)) - -- [fix] crash that could occur when snapping - -#### [fix] editing video shapes ([#1821](https://github.com/tldraw/tldraw/pull/1821)) - -- Fix bug with editing video shapes. - -#### [feature] unlock all action ([#1820](https://github.com/tldraw/tldraw/pull/1820)) - -- Adds the unlock all feature. - -#### [fix] bug with eventemitter3 default export ([#1818](https://github.com/tldraw/tldraw/pull/1818)) - -- [@tldraw/editor] updates eventemitter3 import to fix issue with Astro builds. - -#### Add next cache to clean command ([#1811](https://github.com/tldraw/tldraw/pull/1811)) - -- Internal tooling change - -#### Fix text editing in page menu popover ([#1790](https://github.com/tldraw/tldraw/pull/1790)) - -- (fix) page menu editing - -#### [fix] embeds switching / tldraw embed ([#1792](https://github.com/tldraw/tldraw/pull/1792)) - -- [fix] tldraw embeds - -#### Custom rendering margin / don't cull selected shapes ([#1788](https://github.com/tldraw/tldraw/pull/1788)) - -- [editor] add `Editor.renderingBoundsMargin` - -#### Camera APIs ([#1786](https://github.com/tldraw/tldraw/pull/1786)) - -- (editor) improve camera commands - -#### environment manager ([#1784](https://github.com/tldraw/tldraw/pull/1784)) - -- [editor] Move environment flags to environment manager - -#### Editor commands API / effects ([#1778](https://github.com/tldraw/tldraw/pull/1778)) - -- tbd - -#### [feature] Add val town embed ([#1777](https://github.com/tldraw/tldraw/pull/1777)) - -- (feature) val town - -#### export `UiEventsProvider` ([#1774](https://github.com/tldraw/tldraw/pull/1774)) - -- [@tldraw/tldraw] export ui events, so that UI hooks can work without context - -#### remove useForceSolid effect for geo / line shapes ([#1769](https://github.com/tldraw/tldraw/pull/1769)) - -- Remove the force solid switching for geo / line shapes - -#### [fix] shape indicator showing when locked shapes are hovered ([#1771](https://github.com/tldraw/tldraw/pull/1771)) - -- locked shapes do not show an indicator when hovered - -#### remove `selectionPageCenter` ([#1766](https://github.com/tldraw/tldraw/pull/1766)) - -- [dev] Removes `Editor.selectionPageCenter` - -#### rename selection page bounds ([#1763](https://github.com/tldraw/tldraw/pull/1763)) - -- [editor] rename `selectedPageBounds` to `selectionPageBounds` - -#### `ShapeUtil.getGeometry`, selection rewrite ([#1751](https://github.com/tldraw/tldraw/pull/1751)) - -- [editor] Remove `ShapeUtil.getBounds`, `ShapeUtil.getOutline`, `ShapeUtil.hitTestPoint`, `ShapeUtil.hitTestLineSegment` -- [editor] Add `ShapeUtil.getGeometry` -- [editor] Add `Editor.getShapeGeometry` - -#### Fix asset urls ([#1758](https://github.com/tldraw/tldraw/pull/1758)) - -- Fixed asset urls - -#### [fix] arrow snapping bug ([#1756](https://github.com/tldraw/tldraw/pull/1756)) - -- [fix] arrow snapping - -#### [fix] dark mode ([#1754](https://github.com/tldraw/tldraw/pull/1754)) - -- [fix] dark mode colors not updating - -#### Remove helpers / extraneous API methods. ([#1745](https://github.com/tldraw/tldraw/pull/1745)) - -- [tldraw] rename `useReadonly` to `useReadOnly` -- [editor] remove `Editor.isDarkMode` -- [editor] remove `Editor.isChangingStyle` -- [editor] remove `Editor.isCoarsePointer` -- [editor] remove `Editor.isDarkMode` -- [editor] remove `Editor.isFocused` -- [editor] remove `Editor.isGridMode` -- [editor] remove `Editor.isPenMode` -- [editor] remove `Editor.isReadOnly` -- [editor] remove `Editor.isSnapMode` -- [editor] remove `Editor.isToolLocked` -- [editor] remove `Editor.locale` -- [editor] rename `Editor.pageState` to `Editor.currentPageState` -- [editor] add `Editor.pageStates` -- [editor] add `Editor.setErasingIds` -- [editor] add `Editor.setEditingId` -- [editor] add several new component overrides - -#### add shapes docs content ([#1705](https://github.com/tldraw/tldraw/pull/1705)) - -- Documentation: Added more info about shapes. - -#### fix: escape eraser tool on escape ([#1732](https://github.com/tldraw/tldraw/pull/1732)) - -- escape eraser tool on escape - -#### fix: arrow label dark mode color ([#1733](https://github.com/tldraw/tldraw/pull/1733)) - -- fixed arrow label dark mode color - -#### tldraw zero - package shuffle ([#1710](https://github.com/tldraw/tldraw/pull/1710)) - -- [@tldraw/editor] lots, wip -- [@tldraw/ui] gone, merged to tldraw/tldraw -- [@tldraw/polyfills] gone, merged to tldraw/editor -- [@tldraw/primitives] gone, merged to tldraw/editor / tldraw/tldraw -- [@tldraw/indices] gone, merged to tldraw/editor -- [@tldraw/file-format] gone, merged to tldraw/tldraw - -#### [fix] add cloud tooltip ([#1728](https://github.com/tldraw/tldraw/pull/1728)) - -- Add a brief release note for your PR here. - -#### (2/2) Add content to Tools docs page. ([#1721](https://github.com/tldraw/tldraw/pull/1721)) - -- Tools docs. - -#### tweaks for cloud shape ([#1723](https://github.com/tldraw/tldraw/pull/1723)) - -- Add a brief release note for your PR here. - -#### Add cloud shape ([#1708](https://github.com/tldraw/tldraw/pull/1708)) - -- Adds a cloud shape. - -#### [refactor] reduce dependencies on shape utils in editor ([#1693](https://github.com/tldraw/tldraw/pull/1693)) - -- removes shape utils from the arguments of `isShapeOfType`, replacing with a generic -- removes shape utils from the arguments of `getShapeUtil`, replacing with a generic -- moves custom arrow info cache out of the util and into the editor class -- changes the a tool's `shapeType` to be a string instead of a shape util - -#### Make some missing tsdocs appear on the docs site ([#1706](https://github.com/tldraw/tldraw/pull/1706)) - -- Docs: Fixed some missing docs for the TldrawEditor component. - -#### [hot take] remove `tool` from shape definition ([#1691](https://github.com/tldraw/tldraw/pull/1691)) - -- [dev] Removed the `tool` property from `defineShape` - -#### [refactor] reordering shapes ([#1718](https://github.com/tldraw/tldraw/pull/1718)) - -- [api] removes `Editor.getParentsMappedToChildren` -- [api] removes `Editor.reorderShapes` -- [api] moves reordering shapes code into its own file, outside of the editor - -#### remove state checks for brush and zoom brush ([#1717](https://github.com/tldraw/tldraw/pull/1717)) - -- [editor] remove `editor.isIn` state checks for displaying brush and zoom brush. - -#### Add API links to all docs pages ([#1661](https://github.com/tldraw/tldraw/pull/1661)) - -- Documentation: Added links to API reference in guides. - -#### Go back to default cursor when done resizing. ([#1700](https://github.com/tldraw/tldraw/pull/1700)) - -- Switch back to the default cursor after you are done inserting a new text shape. - -#### Firefox: Fix coarse pointer issue ([#1701](https://github.com/tldraw/tldraw/pull/1701)) - -- Fixed firefox not being able to use cursor chat when using a touch screen on desktop. - -#### Fix tsdocs for TldrawUi component ([#1707](https://github.com/tldraw/tldraw/pull/1707)) - -- Docs: Show some docs missing from TldrawUi component. - ---- - -#### 💥 Breaking Change - -- `@tldraw/editor`, `@tldraw/tldraw` - - [improvement] prevent editing in readonly [#1990](https://github.com/tldraw/tldraw/pull/1990) ([@steveruizok](https://github.com/steveruizok)) - - Remove focus management [#1953](https://github.com/tldraw/tldraw/pull/1953) ([@steveruizok](https://github.com/steveruizok) [@ds300](https://github.com/ds300)) - - Make user preferences optional [#1963](https://github.com/tldraw/tldraw/pull/1963) ([@ds300](https://github.com/ds300)) - - [fix] style changes [#1814](https://github.com/tldraw/tldraw/pull/1814) ([@steveruizok](https://github.com/steveruizok)) - - Cleanup page state commands [#1800](https://github.com/tldraw/tldraw/pull/1800) ([@steveruizok](https://github.com/steveruizok)) - - Rendering / cropping side-effects [#1799](https://github.com/tldraw/tldraw/pull/1799) ([@steveruizok](https://github.com/steveruizok)) - - history options / markId / createPage [#1796](https://github.com/tldraw/tldraw/pull/1796) ([@steveruizok](https://github.com/steveruizok)) - - Update setter names, `setXXShapeId` rather than `setXXId` [#1789](https://github.com/tldraw/tldraw/pull/1789) ([@steveruizok](https://github.com/steveruizok)) - - Rename shapes apis [#1787](https://github.com/tldraw/tldraw/pull/1787) ([@steveruizok](https://github.com/steveruizok)) - - Camera APIs [#1786](https://github.com/tldraw/tldraw/pull/1786) ([@steveruizok](https://github.com/steveruizok)) - - environment manager [#1784](https://github.com/tldraw/tldraw/pull/1784) ([@steveruizok](https://github.com/steveruizok)) - - remove `selectionPageCenter` [#1766](https://github.com/tldraw/tldraw/pull/1766) ([@steveruizok](https://github.com/steveruizok)) - - rename selection page bounds [#1763](https://github.com/tldraw/tldraw/pull/1763) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - Remove targeted editing from text [#1962](https://github.com/tldraw/tldraw/pull/1962) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [improvement] quick actions [#1922](https://github.com/tldraw/tldraw/pull/1922) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/store` - - SideEffectManager [#1785](https://github.com/tldraw/tldraw/pull/1785) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema` - - Revert "Editor commands API / effects" [#1783](https://github.com/tldraw/tldraw/pull/1783) ([@steveruizok](https://github.com/steveruizok)) - - Editor commands API / effects [#1778](https://github.com/tldraw/tldraw/pull/1778) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - `ShapeUtil.getGeometry`, selection rewrite [#1751](https://github.com/tldraw/tldraw/pull/1751) ([@steveruizok](https://github.com/steveruizok)) - - More cleanup, focus bug fixes [#1749](https://github.com/tldraw/tldraw/pull/1749) ([@steveruizok](https://github.com/steveruizok)) - - Remove helpers / extraneous API methods. [#1745](https://github.com/tldraw/tldraw/pull/1745) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/utils` - - move some utils into tldraw/utils [#1750](https://github.com/tldraw/tldraw/pull/1750) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - tldraw zero - package shuffle [#1710](https://github.com/tldraw/tldraw/pull/1710) ([@steveruizok](https://github.com/steveruizok) [@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor` - - [refactor] reduce dependencies on shape utils in editor [#1693](https://github.com/tldraw/tldraw/pull/1693) ([@steveruizok](https://github.com/steveruizok)) - - [hot take] remove `tool` from shape definition [#1691](https://github.com/tldraw/tldraw/pull/1691) ([@TodePond](https://github.com/TodePond)) - - [refactor] reordering shapes [#1718](https://github.com/tldraw/tldraw/pull/1718) ([@steveruizok](https://github.com/steveruizok)) - -#### 🚀 Enhancement - -- `@tldraw/editor`, `@tldraw/tldraw` - - Debugging cleanup / misc cleanup [#2025](https://github.com/tldraw/tldraw/pull/2025) ([@steveruizok](https://github.com/steveruizok)) - - [feature] Include `sources` in `TLExternalContent` [#1925](https://github.com/tldraw/tldraw/pull/1925) ([@steveruizok](https://github.com/steveruizok)) - - Add snapshot prop, examples [#1856](https://github.com/tldraw/tldraw/pull/1856) ([@steveruizok](https://github.com/steveruizok)) - - [fix] arrow snapping bug [#1756](https://github.com/tldraw/tldraw/pull/1756) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - Fix arrow handle snapping, snapping to text labels, selection of text labels [#1910](https://github.com/tldraw/tldraw/pull/1910) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema` - - Migrate snapshot [#1843](https://github.com/tldraw/tldraw/pull/1843) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - export asset stuff [#1829](https://github.com/tldraw/tldraw/pull/1829) ([@steveruizok](https://github.com/steveruizok)) - - [feature] Asset props [#1824](https://github.com/tldraw/tldraw/pull/1824) ([@steveruizok](https://github.com/steveruizok)) - - [feature] unlock all action [#1820](https://github.com/tldraw/tldraw/pull/1820) ([@steveruizok](https://github.com/steveruizok)) - - export `UiEventsProvider` [#1774](https://github.com/tldraw/tldraw/pull/1774) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - Add className as prop to Canvas [#1827](https://github.com/tldraw/tldraw/pull/1827) ([@steveruizok](https://github.com/steveruizok)) - - refactor `parentsToChildrenWithIndexes` [#1764](https://github.com/tldraw/tldraw/pull/1764) ([@steveruizok](https://github.com/steveruizok)) - - remove state checks for brush and zoom brush [#1717](https://github.com/tldraw/tldraw/pull/1717) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/tldraw` - - [improvement] More selection logic [#1806](https://github.com/tldraw/tldraw/pull/1806) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/tlschema` - - [feature] Add val town embed [#1777](https://github.com/tldraw/tldraw/pull/1777) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw`, `@tldraw/validate` - - Add shapes to exports [#1776](https://github.com/tldraw/tldraw/pull/1776) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tlschema` - - Add cloud shape [#1708](https://github.com/tldraw/tldraw/pull/1708) ([@ds300](https://github.com/ds300)) - -#### 🐛 Bug Fix - -- [fix] Multiple example [#2026](https://github.com/tldraw/tldraw/pull/2026) ([@steveruizok](https://github.com/steveruizok)) -- Fix vs code extension. Prepare for new release. [#2011](https://github.com/tldraw/tldraw/pull/2011) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) -- Lokalise: Translations update [#1964](https://github.com/tldraw/tldraw/pull/1964) ([@TodePond](https://github.com/TodePond)) -- Update community translations [#1889](https://github.com/tldraw/tldraw/pull/1889) ([@TodePond](https://github.com/TodePond)) -- Bump vs code version. [#1735](https://github.com/tldraw/tldraw/pull/1735) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- [fix] add cloud tooltip [#1728](https://github.com/tldraw/tldraw/pull/1728) ([@ds300](https://github.com/ds300)) -- Bump vs code version. [#1719](https://github.com/tldraw/tldraw/pull/1719) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tldraw` - - Update readme [#2027](https://github.com/tldraw/tldraw/pull/2027) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Minimap interactions [#2012](https://github.com/tldraw/tldraw/pull/2012) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Image size [#2002](https://github.com/tldraw/tldraw/pull/2002) ([@steveruizok](https://github.com/steveruizok)) - - [fix] tool lock button in toolbar [#2009](https://github.com/tldraw/tldraw/pull/2009) ([@steveruizok](https://github.com/steveruizok)) - - fix cloud rendering [#2008](https://github.com/tldraw/tldraw/pull/2008) ([@ds300](https://github.com/ds300)) - - Fix hooks error. [#2000](https://github.com/tldraw/tldraw/pull/2000) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix style panel opening when disabled [#1983](https://github.com/tldraw/tldraw/pull/1983) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) - - [fix] Drawing tool touch for first pen mark [#1977](https://github.com/tldraw/tldraw/pull/1977) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Screen bounds offset after editing text [#1976](https://github.com/tldraw/tldraw/pull/1976) ([@steveruizok](https://github.com/steveruizok)) - - fix line bugs [#1936](https://github.com/tldraw/tldraw/pull/1936) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) - - Mark an undo before toggling lock [#1969](https://github.com/tldraw/tldraw/pull/1969) ([@steveruizok](https://github.com/steveruizok)) - - Stop editing frame headers when clicking inside a frame. [#1955](https://github.com/tldraw/tldraw/pull/1955) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@TodePond](https://github.com/TodePond)) - - Firefox: Fix dropdowns not opening with touch [#1923](https://github.com/tldraw/tldraw/pull/1923) ([@TodePond](https://github.com/TodePond)) - - Fix lines being draggable via their background [#1920](https://github.com/tldraw/tldraw/pull/1920) ([@TodePond](https://github.com/TodePond)) - - Fix first handle of line snapping to itself [#1912](https://github.com/tldraw/tldraw/pull/1912) ([@TodePond](https://github.com/TodePond)) - - [fix] id properties of undefined (#1730) [#1919](https://github.com/tldraw/tldraw/pull/1919) ([@momenthana](https://github.com/momenthana)) - - :recycle: fix: editing is not terminated after the conversion is confirmed. [#1885](https://github.com/tldraw/tldraw/pull/1885) ([@mr04vv](https://github.com/mr04vv) [@steveruizok](https://github.com/steveruizok)) - - Fix selecting one shape from selection group [#1905](https://github.com/tldraw/tldraw/pull/1905) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - [fix] help menu css [#1888](https://github.com/tldraw/tldraw/pull/1888) ([@steveruizok](https://github.com/steveruizok)) - - Fix highlighter dots not being clickable [#1903](https://github.com/tldraw/tldraw/pull/1903) ([@TodePond](https://github.com/TodePond)) - - Fix video shape controls [#1909](https://github.com/tldraw/tldraw/pull/1909) ([@ds300](https://github.com/ds300)) - - Fix line handles [#1904](https://github.com/tldraw/tldraw/pull/1904) ([@ds300](https://github.com/ds300)) - - Fix pinch start with toolbar open [#1895](https://github.com/tldraw/tldraw/pull/1895) ([@ds300](https://github.com/ds300)) - - clamp x-box and check-box lines to stay within box at small scales [#1860](https://github.com/tldraw/tldraw/pull/1860) ([@ds300](https://github.com/ds300)) - - [fix] exit penmode [#1847](https://github.com/tldraw/tldraw/pull/1847) ([@steveruizok](https://github.com/steveruizok)) - - [fix] assets and content handlers [#1846](https://github.com/tldraw/tldraw/pull/1846) ([@steveruizok](https://github.com/steveruizok)) - - [fix] line tool bug with tool locked [#1841](https://github.com/tldraw/tldraw/pull/1841) ([@steveruizok](https://github.com/steveruizok)) - - [fix] arrows bind to locked shapes [#1833](https://github.com/tldraw/tldraw/pull/1833) ([@steveruizok](https://github.com/steveruizok) [@MitjaBezensek](https://github.com/MitjaBezensek)) - - [fix] Collaborator scribble on tldraw [#1804](https://github.com/tldraw/tldraw/pull/1804) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Don't make arrows shapes to arrows [#1793](https://github.com/tldraw/tldraw/pull/1793) ([@steveruizok](https://github.com/steveruizok)) - - Fix text editing in page menu popover [#1790](https://github.com/tldraw/tldraw/pull/1790) ([@steveruizok](https://github.com/steveruizok)) - - Fix outlines on text shapes [#1781](https://github.com/tldraw/tldraw/pull/1781) ([@steveruizok](https://github.com/steveruizok)) - - remove useForceSolid effect for geo / line shapes [#1769](https://github.com/tldraw/tldraw/pull/1769) ([@steveruizok](https://github.com/steveruizok)) - - [fix] arrow rendering safari [#1767](https://github.com/tldraw/tldraw/pull/1767) ([@steveruizok](https://github.com/steveruizok)) - - [fix] revert legacy changes to buildFromV1Document.ts [#1761](https://github.com/tldraw/tldraw/pull/1761) ([@steveruizok](https://github.com/steveruizok)) - - Fix asset urls [#1758](https://github.com/tldraw/tldraw/pull/1758) ([@lakesare](https://github.com/lakesare)) - - [fix]: Fix typo in shapeType declaration [#1747](https://github.com/tldraw/tldraw/pull/1747) ([@ricardo-crespo](https://github.com/ricardo-crespo) [@steveruizok](https://github.com/steveruizok)) - - fix: escape eraser tool on escape [#1732](https://github.com/tldraw/tldraw/pull/1732) ([@gabrielchl](https://github.com/gabrielchl) [@steveruizok](https://github.com/steveruizok)) - - fix: arrow label dark mode color [#1733](https://github.com/tldraw/tldraw/pull/1733) ([@gabrielchl](https://github.com/gabrielchl) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - fix screen bounds not updating [#2022](https://github.com/tldraw/tldraw/pull/2022) ([@SomeHats](https://github.com/SomeHats)) - - [improvement] Refactor curved arrows [#2019](https://github.com/tldraw/tldraw/pull/2019) ([@steveruizok](https://github.com/steveruizok)) - - [fix] focus events [#2013](https://github.com/tldraw/tldraw/pull/2013) ([@steveruizok](https://github.com/steveruizok)) - - Re-focus on focus. [#2010](https://github.com/tldraw/tldraw/pull/2010) ([@steveruizok](https://github.com/steveruizok)) - - [fix] X box shape arrow intersections [#2006](https://github.com/tldraw/tldraw/pull/2006) ([@steveruizok](https://github.com/steveruizok)) - - Fix group opacity [#1997](https://github.com/tldraw/tldraw/pull/1997) ([@ds300](https://github.com/ds300)) - - [fix] Escape key exiting full screen while editing shapes [#1986](https://github.com/tldraw/tldraw/pull/1986) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Hovered indicators shown when coarse pointer [#1985](https://github.com/tldraw/tldraw/pull/1985) ([@steveruizok](https://github.com/steveruizok)) - - Sliiiightly darken muted-2 color. [#1981](https://github.com/tldraw/tldraw/pull/1981) ([@steveruizok](https://github.com/steveruizok)) - - [fix] pinch events [#1979](https://github.com/tldraw/tldraw/pull/1979) ([@steveruizok](https://github.com/steveruizok)) - - Make state node methods arrow functions [#1973](https://github.com/tldraw/tldraw/pull/1973) ([@steveruizok](https://github.com/steveruizok)) - - Arrows followup [#1972](https://github.com/tldraw/tldraw/pull/1972) ([@steveruizok](https://github.com/steveruizok)) - - [improvement] improve arrows (for real) [#1957](https://github.com/tldraw/tldraw/pull/1957) ([@steveruizok](https://github.com/steveruizok)) - - fix clipping on nested non-intersecting frames [#1934](https://github.com/tldraw/tldraw/pull/1934) ([@SomeHats](https://github.com/SomeHats)) - - Use smarter rounding for shape container div width/height [#1930](https://github.com/tldraw/tldraw/pull/1930) ([@ds300](https://github.com/ds300)) - - Fix line wobble [#1915](https://github.com/tldraw/tldraw/pull/1915) ([@ds300](https://github.com/ds300)) - - [fix] right click [#1891](https://github.com/tldraw/tldraw/pull/1891) ([@steveruizok](https://github.com/steveruizok)) - - [wip] Viewport focus of editing shapes [#1873](https://github.com/tldraw/tldraw/pull/1873) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - Fix indicator transform miscalculation [#1852](https://github.com/tldraw/tldraw/pull/1852) ([@ds300](https://github.com/ds300)) - - [fix] pointer events in shapes [#1855](https://github.com/tldraw/tldraw/pull/1855) ([@steveruizok](https://github.com/steveruizok)) - - [fix] overlays stacking [#1849](https://github.com/tldraw/tldraw/pull/1849) ([@steveruizok](https://github.com/steveruizok)) - - [fix] awful rendering issue [#1842](https://github.com/tldraw/tldraw/pull/1842) ([@steveruizok](https://github.com/steveruizok)) - - [fix] svg overlays when browser zoom is not 100% [#1836](https://github.com/tldraw/tldraw/pull/1836) ([@steveruizok](https://github.com/steveruizok)) - - Allow setting `user` as a prop [#1832](https://github.com/tldraw/tldraw/pull/1832) ([@SomeHats](https://github.com/SomeHats)) - - [fix] snapping bug [#1819](https://github.com/tldraw/tldraw/pull/1819) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Replace `findLast` for browser compat [#1822](https://github.com/tldraw/tldraw/pull/1822) ([@steveruizok](https://github.com/steveruizok)) - - [fix] bug with eventemitter3 default export [#1818](https://github.com/tldraw/tldraw/pull/1818) ([@steveruizok](https://github.com/steveruizok)) - - [fix] handles updates [#1779](https://github.com/tldraw/tldraw/pull/1779) ([@steveruizok](https://github.com/steveruizok)) - - [fix] transform errors [#1772](https://github.com/tldraw/tldraw/pull/1772) ([@steveruizok](https://github.com/steveruizok)) - - [fix] shape indicator showing when locked shapes are hovered [#1771](https://github.com/tldraw/tldraw/pull/1771) ([@steveruizok](https://github.com/steveruizok)) - - tweaks for cloud shape [#1723](https://github.com/tldraw/tldraw/pull/1723) ([@ds300](https://github.com/ds300)) - - Go back to default cursor when done resizing. [#1700](https://github.com/tldraw/tldraw/pull/1700) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Firefox: Fix coarse pointer issue [#1701](https://github.com/tldraw/tldraw/pull/1701) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/editor`, `@tldraw/tldraw` - - frame label fix [#2016](https://github.com/tldraw/tldraw/pull/2016) ([@ds300](https://github.com/ds300)) - - [fix] Focus events (actually) [#2015](https://github.com/tldraw/tldraw/pull/2015) ([@steveruizok](https://github.com/steveruizok)) - - Contain all the things [#1999](https://github.com/tldraw/tldraw/pull/1999) ([@steveruizok](https://github.com/steveruizok)) - - fix text in geo shapes not causing its container to grow [#2003](https://github.com/tldraw/tldraw/pull/2003) ([@SomeHats](https://github.com/SomeHats)) - - Fix an issue with arrow creation. [#2004](https://github.com/tldraw/tldraw/pull/2004) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - Fix text-wrapping on Safari [#1980](https://github.com/tldraw/tldraw/pull/1980) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - [fix] text shape outline [#1974](https://github.com/tldraw/tldraw/pull/1974) ([@steveruizok](https://github.com/steveruizok)) - - Allow right clicking selection backgrounds [#1968](https://github.com/tldraw/tldraw/pull/1968) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [fix] geo shape text label placement [#1927](https://github.com/tldraw/tldraw/pull/1927) ([@steveruizok](https://github.com/steveruizok) [@ds300](https://github.com/ds300)) - - expanded highlighter geometry [#1929](https://github.com/tldraw/tldraw/pull/1929) ([@SomeHats](https://github.com/SomeHats)) - - [fix] Moving group items inside of a frame (dropping) [#1886](https://github.com/tldraw/tldraw/pull/1886) ([@mr04vv](https://github.com/mr04vv) [@steveruizok](https://github.com/steveruizok)) - - [fix] iframe losing focus on pointer down [#1848](https://github.com/tldraw/tldraw/pull/1848) ([@steveruizok](https://github.com/steveruizok)) - - [fix] zero width / height bounds [#1840](https://github.com/tldraw/tldraw/pull/1840) ([@steveruizok](https://github.com/steveruizok)) - - avoid pixel rounding / transformation miscalc for overlay items [#1858](https://github.com/tldraw/tldraw/pull/1858) ([@BrianHung](https://github.com/BrianHung) [@ds300](https://github.com/ds300)) - - Fix paste transform [#1859](https://github.com/tldraw/tldraw/pull/1859) ([@ds300](https://github.com/ds300)) - - [fix] text editing outline when scaled [#1826](https://github.com/tldraw/tldraw/pull/1826) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Line shape rendering [#1825](https://github.com/tldraw/tldraw/pull/1825) ([@steveruizok](https://github.com/steveruizok)) - - [fix] remove CSS radius calculations [#1823](https://github.com/tldraw/tldraw/pull/1823) ([@steveruizok](https://github.com/steveruizok)) - - [fix] editing video shapes [#1821](https://github.com/tldraw/tldraw/pull/1821) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Sticky text content / hovered shapes [#1808](https://github.com/tldraw/tldraw/pull/1808) ([@steveruizok](https://github.com/steveruizok)) - - [fix] page to screen [#1797](https://github.com/tldraw/tldraw/pull/1797) ([@steveruizok](https://github.com/steveruizok)) - - Custom rendering margin / don't cull selected shapes [#1788](https://github.com/tldraw/tldraw/pull/1788) ([@steveruizok](https://github.com/steveruizok)) - - [fix] minimap, common page bounds [#1770](https://github.com/tldraw/tldraw/pull/1770) ([@steveruizok](https://github.com/steveruizok)) - - [fix] restore bg option, fix calculations [#1765](https://github.com/tldraw/tldraw/pull/1765) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/store` - - Fix shape drag perf [#1932](https://github.com/tldraw/tldraw/pull/1932) ([@ds300](https://github.com/ds300)) -- `@tldraw/tldraw`, `@tldraw/tlschema` - - [fix] embeds switching / tldraw embed [#1792](https://github.com/tldraw/tldraw/pull/1792) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - [fix] dark mode [#1754](https://github.com/tldraw/tldraw/pull/1754) ([@steveruizok](https://github.com/steveruizok)) - -#### 🏠 Internal - -- Remove docs source. [#2030](https://github.com/tldraw/tldraw/pull/2030) ([@steveruizok](https://github.com/steveruizok)) -- [infra] missing await [#1951](https://github.com/tldraw/tldraw/pull/1951) ([@ds300](https://github.com/ds300)) -- [infra] maybe fix canary publish [#1950](https://github.com/tldraw/tldraw/pull/1950) ([@ds300](https://github.com/ds300)) -- fix typo [#1831](https://github.com/tldraw/tldraw/pull/1831) ([@judicaelandria](https://github.com/judicaelandria)) -- Add next cache to clean command [#1811](https://github.com/tldraw/tldraw/pull/1811) ([@ds300](https://github.com/ds300)) -- remove yjs example [#1795](https://github.com/tldraw/tldraw/pull/1795) ([@steveruizok](https://github.com/steveruizok)) -- support custom shapes in yjs example [#1737](https://github.com/tldraw/tldraw/pull/1737) ([@steveruizok](https://github.com/steveruizok)) -- [internal] Add basic list to examples [#1688](https://github.com/tldraw/tldraw/pull/1688) ([@steveruizok](https://github.com/steveruizok)) -- cleanup [#1711](https://github.com/tldraw/tldraw/pull/1711) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tldraw` - - [fix] CSS reload in dev [#1791](https://github.com/tldraw/tldraw/pull/1791) ([@steveruizok](https://github.com/steveruizok)) - -#### 📝 Documentation - -- fix(docs): update shapes docs add the array of defined shapes [#1949](https://github.com/tldraw/tldraw/pull/1949) ([@judicaelandria](https://github.com/judicaelandria) [@steveruizok](https://github.com/steveruizok)) -- update currentPageShapesSorted reference in docs [#1851](https://github.com/tldraw/tldraw/pull/1851) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Fix broken link in docs [#1830](https://github.com/tldraw/tldraw/pull/1830) ([@jmduke](https://github.com/jmduke) [@steveruizok](https://github.com/steveruizok)) -- add shapes docs content [#1705](https://github.com/tldraw/tldraw/pull/1705) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- (2/2) Add content to Tools docs page. [#1721](https://github.com/tldraw/tldraw/pull/1721) ([@TodePond](https://github.com/TodePond)) -- Add API links to all docs pages [#1661](https://github.com/tldraw/tldraw/pull/1661) ([@TodePond](https://github.com/TodePond)) -- Fix tsdocs for TldrawUi component [#1707](https://github.com/tldraw/tldraw/pull/1707) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/editor` - - Make some missing tsdocs appear on the docs site [#1706](https://github.com/tldraw/tldraw/pull/1706) ([@TodePond](https://github.com/TodePond)) - -#### 🧪 Tests - -- Fix e2e test [#1748](https://github.com/tldraw/tldraw/pull/1748) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - [fix] Right click groups [#1975](https://github.com/tldraw/tldraw/pull/1975) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - -#### 🔩 Dependency Updates - -- `@tldraw/editor` - - (chore) bump [#1744](https://github.com/tldraw/tldraw/pull/1744) ([@steveruizok](https://github.com/steveruizok)) - -#### Authors: 14 - -- alex ([@SomeHats](https://github.com/SomeHats)) -- Brian Hung ([@BrianHung](https://github.com/BrianHung)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Evgenia Karunus ([@lakesare](https://github.com/lakesare)) -- Gabriel Lee ([@gabrielchl](https://github.com/gabrielchl)) -- Hana ([@momenthana](https://github.com/momenthana)) -- Judicael ([@judicaelandria](https://github.com/judicaelandria)) -- Justin Duke ([@jmduke](https://github.com/jmduke)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Ricardo Crespo ([@ricardo-crespo](https://github.com/ricardo-crespo)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Takuto Mori Gump ([@mr04vv](https://github.com/mr04vv)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-alpha.16.mdx b/apps/docs/content/releases/v2.0.0-alpha.16.mdx deleted file mode 100644 index 2a896cf16..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.16.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: v2.0.0-alpha.16 -description: Examples -author: tldraw -date: 10/11/2023 -order: 7 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.16) - - -#### Fix shape opacity when erasing ([#2055](https://github.com/tldraw/tldraw/pull/2055)) - -- Fixes opacity of shapes while erasing in a group or frame. - -#### [fix] Hit testing against zero width / height lines ([#2060](https://github.com/tldraw/tldraw/pull/2060)) - -- [fix] Bug where arrows would not bind to straight lines - -#### Fix opacity lowering on shapes that cannot be deleted ([#2061](https://github.com/tldraw/tldraw/pull/2061)) - -- Locked shapes don't change opacity when scribble erasing. - -Before/after: - - - - - -#### fix: proper label for opacity tooltip on hover ([#2044](https://github.com/tldraw/tldraw/pull/2044)) - -- Add a brief release note for your PR here. - -#### Fix alt + shift keyboard shortcuts ([#2053](https://github.com/tldraw/tldraw/pull/2053)) - -- Fixes keyboard shortcuts that use `alt` and `shift` modifiers. - -#### [improvement] Scope `getShapeAtPoint` to rendering shapes only ([#2043](https://github.com/tldraw/tldraw/pull/2043)) - -- Improve perf for hovering shapes / shape hit tests - -#### Remove topBar prop from `` ([#2018](https://github.com/tldraw/tldraw/pull/2018)) - -- [BREAKING] removed topBar prop - ---- - -#### 🚀 Enhancement - -- `@tldraw/editor`, `@tldraw/tldraw` - - [improvement] Scope `getShapeAtPoint` to rendering shapes only [#2043](https://github.com/tldraw/tldraw/pull/2043) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw`, `@tldraw/tlschema` - - Remove dot com ui styles [1/2] [#2039](https://github.com/tldraw/tldraw/pull/2039) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tlschema` - - prevent hover indicator from showing when pointer isn't over the canvas [#2023](https://github.com/tldraw/tldraw/pull/2023) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tldraw` - - Remove topBar prop from `` [#2018](https://github.com/tldraw/tldraw/pull/2018) ([@SomeHats](https://github.com/SomeHats)) - -#### 🐛 Bug Fix - -- fix standalone examples [#2042](https://github.com/tldraw/tldraw/pull/2042) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor` - - Fix shape opacity when erasing [#2055](https://github.com/tldraw/tldraw/pull/2055) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [fix] Hit testing against zero width / height lines [#2060](https://github.com/tldraw/tldraw/pull/2060) ([@steveruizok](https://github.com/steveruizok)) - - Fix newlines in text geo shapes [#2059](https://github.com/tldraw/tldraw/pull/2059) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) [@steveruizok](https://github.com/steveruizok)) - - Restore background [#2037](https://github.com/tldraw/tldraw/pull/2037) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - Fix opacity lowering on shapes that cannot be deleted [#2061](https://github.com/tldraw/tldraw/pull/2061) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - fix: proper label for opacity tooltip on hover [#2044](https://github.com/tldraw/tldraw/pull/2044) ([@Prince-Mendiratta](https://github.com/Prince-Mendiratta)) - - Fix alt + shift keyboard shortcuts [#2053](https://github.com/tldraw/tldraw/pull/2053) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - [fix] Stylepanel default spacing [#2036](https://github.com/tldraw/tldraw/pull/2036) ([@steveruizok](https://github.com/steveruizok)) - - Export tools [#2035](https://github.com/tldraw/tldraw/pull/2035) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tlschema` - - [fix] Page state migration [#2040](https://github.com/tldraw/tldraw/pull/2040) ([@steveruizok](https://github.com/steveruizok)) - - [fix] migrations for page state [#2038](https://github.com/tldraw/tldraw/pull/2038) ([@steveruizok](https://github.com/steveruizok)) - -#### 🏠 Internal - -- Move example into examples folder [#2064](https://github.com/tldraw/tldraw/pull/2064) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tlschema` - - [fix] broken docs link [#2062](https://github.com/tldraw/tldraw/pull/2062) ([@steveruizok](https://github.com/steveruizok)) - - Remove fixup script [#2041](https://github.com/tldraw/tldraw/pull/2041) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - Publish api.json [#2034](https://github.com/tldraw/tldraw/pull/2034) ([@steveruizok](https://github.com/steveruizok)) - -#### 🧪 Tests - -- re-enable visual regression tests [#2056](https://github.com/tldraw/tldraw/pull/2056) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - -#### Authors: 7 - -- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) -- alex ([@SomeHats](https://github.com/SomeHats)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Prince Mendiratta ([@Prince-Mendiratta](https://github.com/Prince-Mendiratta)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-alpha.17.mdx b/apps/docs/content/releases/v2.0.0-alpha.17.mdx deleted file mode 100644 index ae180aeda..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.17.mdx +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: v2.0.0-alpha.17 -description: Examples -author: tldraw -date: 10/17/2023 -order: 6 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.17) - - -#### Firefox, Touch: Fix not being able to open style dropdowns ([#2092](https://github.com/tldraw/tldraw/pull/2092)) - -- Firefox Mobile: Fixed a bug where you couldn't open some style dropdown options. - -#### Add timestamp to file names ([#2096](https://github.com/tldraw/tldraw/pull/2096)) - -- Add timestamp to exported image file names - -#### [fix] Context menu + menus not closing correctly ([#2086](https://github.com/tldraw/tldraw/pull/2086)) - -- [fix] bug with menus - -#### Fix not being able to upload massive images ([#2095](https://github.com/tldraw/tldraw/pull/2095)) - -- Fixed big images being too big to get added to the canvas. - -#### fix cropped image size ([#2097](https://github.com/tldraw/tldraw/pull/2097)) - -- Fixes a rendering issue where cropped images were sometimes bleeding outside their bounds. - -#### Add offline indicator (also to top zone example) ([#2083](https://github.com/tldraw/tldraw/pull/2083)) - -- [@tldraw/tldraw] add offline indicator to ui components - -#### [fix] missing border on group shape when unlocked ([#2075](https://github.com/tldraw/tldraw/pull/2075)) - -- Fix case where indicator was not shown when unlocking groups - -#### [fix] reparenting locked shapes ([#2070](https://github.com/tldraw/tldraw/pull/2070)) - -- Fix a bug where grouped locked shapes would be deleted when ungrouped. - -#### [fix] Don't select locked shapes on pointer up ([#2069](https://github.com/tldraw/tldraw/pull/2069)) - -- Fix bug where locked shape could be selected by clicking on its label - -#### [fix] locked shape of opacity problem with eraser.pointing ([#2073](https://github.com/tldraw/tldraw/pull/2073)) - -- locked shape of opacity problem with eraser.pointing -Before/after: -![A](https://github.com/tldraw/tldraw/assets/59823089/7483506c-72ac-45cc-93aa-f2a794ea8ff0) ![B](https://github.com/tldraw/tldraw/assets/59823089/ef0f988c-83f5-46a2-b891-0a391bca2f87) - ---- - -#### 🚀 Enhancement - -- `@tldraw/assets`, `@tldraw/tldraw` - - Add offline indicator (also to top zone example) [#2083](https://github.com/tldraw/tldraw/pull/2083) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - Add data breakpoint to layout css [#2076](https://github.com/tldraw/tldraw/pull/2076) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw`, `@tldraw/tlschema` - - Same first page id for all editors [#2071](https://github.com/tldraw/tldraw/pull/2071) ([@steveruizok](https://github.com/steveruizok)) - -#### 🐛 Bug Fix - -- `@tldraw/tldraw` - - Firefox, Touch: Fix not being able to open style dropdowns [#2092](https://github.com/tldraw/tldraw/pull/2092) ([@TodePond](https://github.com/TodePond)) - - Add timestamp to file names [#2096](https://github.com/tldraw/tldraw/pull/2096) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - move imports [#2099](https://github.com/tldraw/tldraw/pull/2099) ([@SomeHats](https://github.com/SomeHats)) - - Fix not being able to upload massive images [#2095](https://github.com/tldraw/tldraw/pull/2095) ([@TodePond](https://github.com/TodePond)) - - fix cropped image size [#2097](https://github.com/tldraw/tldraw/pull/2097) ([@ds300](https://github.com/ds300)) - - Fixed a bug checking translated string keys [#2082](https://github.com/tldraw/tldraw/pull/2082) ([@kewell-tsao](https://github.com/kewell-tsao)) - - [fix] Don't select locked shapes on pointer up [#2069](https://github.com/tldraw/tldraw/pull/2069) ([@steveruizok](https://github.com/steveruizok)) - - [fix] locked shape of opacity problem with eraser.pointing [#2073](https://github.com/tldraw/tldraw/pull/2073) ([@momenthana](https://github.com/momenthana)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [fix] Context menu + menus not closing correctly [#2086](https://github.com/tldraw/tldraw/pull/2086) ([@steveruizok](https://github.com/steveruizok)) - - [fix] reparenting locked shapes [#2070](https://github.com/tldraw/tldraw/pull/2070) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - [fix] remove findLast calls [#2081](https://github.com/tldraw/tldraw/pull/2081) ([@steveruizok](https://github.com/steveruizok)) - - [fix] missing border on group shape when unlocked [#2075](https://github.com/tldraw/tldraw/pull/2075) ([@steveruizok](https://github.com/steveruizok)) - - Compact children when updating parents to children. [#2072](https://github.com/tldraw/tldraw/pull/2072) ([@steveruizok](https://github.com/steveruizok)) - -#### 🏠 Internal - -- Fix ExplodedExample.tsx [#2068](https://github.com/tldraw/tldraw/pull/2068) ([@antmoux](https://github.com/antmoux) [@steveruizok](https://github.com/steveruizok)) -- Update VS Code extension 2.0.13 [#2066](https://github.com/tldraw/tldraw/pull/2066) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - -#### 🧪 Tests - -- Only upload playwright to S3 if we have the right credentials [#2074](https://github.com/tldraw/tldraw/pull/2074) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- Cache playwright browsers. [#2067](https://github.com/tldraw/tldraw/pull/2067) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - -#### 🔩 Dependency Updates - -- `@tldraw/editor`, `@tldraw/store`, `@tldraw/tlschema` - - bump nanoid [#2078](https://github.com/tldraw/tldraw/pull/2078) ([@ds300](https://github.com/ds300)) - -#### Authors: 9 - -- alex ([@SomeHats](https://github.com/SomeHats)) -- antonio moura ([@antmoux](https://github.com/antmoux)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Hana ([@momenthana](https://github.com/momenthana)) -- Kewell ([@kewell-tsao](https://github.com/kewell-tsao)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-alpha.18.mdx b/apps/docs/content/releases/v2.0.0-alpha.18.mdx deleted file mode 100644 index d4f3b3b24..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.18.mdx +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: v2.0.0-alpha.18 -description: Examples -author: tldraw -date: 11/10/2023 -order: 5 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.18) - - -#### Fix an error when using context menu. ([#2186](https://github.com/tldraw/tldraw/pull/2186)) - -- Fixes the console error when opening the context menu for the first time. - -#### [fix] actions menu freezing ui ([#2187](https://github.com/tldraw/tldraw/pull/2187)) - -- Fix actions menu not closing when clicking the canvas after grouping items via the actions menu. - -#### Fix an issue with edit link. ([#2184](https://github.com/tldraw/tldraw/pull/2184)) - -- Fixes an issue with using the Edit link dialog. - -#### add missing semicolon ([#2182](https://github.com/tldraw/tldraw/pull/2182)) - -- Fix typo in CSS file - -#### Only use the hack if we are in safari. ([#2185](https://github.com/tldraw/tldraw/pull/2185)) - -- Improve the speed of exporting to png for non Safari browsers. - -#### Fix keyboard shortcuts for vscode. ([#2181](https://github.com/tldraw/tldraw/pull/2181)) - -- Fixes keyboard shortcuts for VS Code extension. - -#### Fix printing. ([#2177](https://github.com/tldraw/tldraw/pull/2177)) - -- Fixes printing of shapes. - -#### [fix] Frame label not following staying aligned correctly on rotation ([#2172](https://github.com/tldraw/tldraw/pull/2172)) - -- Frame labels immediately update their position on rotation. - -#### Don't show scrollbars. ([#2171](https://github.com/tldraw/tldraw/pull/2171)) - -- Hide the horizontal scrollbar in the vertical alignment for Firefox. - -#### instant bookmarks ([#2176](https://github.com/tldraw/tldraw/pull/2176)) - -- Improves ux around pasting bookmarks - -#### Fix arrow dropdown localizations. ([#2174](https://github.com/tldraw/tldraw/pull/2174)) - -- Fix arrow headstyle dropdown translations. - -#### Fix crash with zero length arrow ([#2173](https://github.com/tldraw/tldraw/pull/2173)) - -- Fix a hyper niche arrow crash with zero length arrows. - -#### Allow users to select shapes when drag starts on top of a locked shape. ([#2169](https://github.com/tldraw/tldraw/pull/2169)) - -- Allows brush selecting when you start it on top of a locked shape. - -#### Fix the problem with text not being correctly aligned in small geo shapes. ([#2168](https://github.com/tldraw/tldraw/pull/2168)) - -- Fixes position of Text labels in geo shapes. - -#### Zooming improvement ([#2149](https://github.com/tldraw/tldraw/pull/2149)) - -- Improves zooming for inactive windows. - -#### [feature] Things on the canvas ([#2150](https://github.com/tldraw/tldraw/pull/2150)) - -- [editor] Adds two new components, `OnTheCanvas` and `InFrontOfTheCanvas`. - -#### Bump vs code extension. ([#2142](https://github.com/tldraw/tldraw/pull/2142)) - -- Release a new version of VS Code extension with all the latest changes. - -#### Fix cleanupText ([#2138](https://github.com/tldraw/tldraw/pull/2138)) - -- Fixes a minor bug where cleaning up text would fail. - -#### [android] Fix text labels and link button getting misaligned ([#2132](https://github.com/tldraw/tldraw/pull/2132)) - -- Fixed a bug where labels and links could lose alignment on android. - -#### [feature] multi-scribbles ([#2125](https://github.com/tldraw/tldraw/pull/2125)) - -- [feature] multi scribbles - -#### Tighten up editor ui ([#2102](https://github.com/tldraw/tldraw/pull/2102)) - -- Small adjustment to editor ui. - -#### Remove indicator for autosize text shapes while editing ([#2120](https://github.com/tldraw/tldraw/pull/2120)) - -- Removed the indicator from autosize text shapes. - -#### Taha/initial shape in handle change ([#2117](https://github.com/tldraw/tldraw/pull/2117)) - -- Add a brief release note for your PR here. - -#### Fix an issue with `addEventListener` in old Safari (pre v14) ([#2114](https://github.com/tldraw/tldraw/pull/2114)) - -- Fixes an issue with `addEventListener` on MediaQueryList object in old versions of Safari. - -#### fix selection fg transform ([#2113](https://github.com/tldraw/tldraw/pull/2113)) - -- Fixes a small issue causing the selection foreground to be offset when the browser is at particular zoom levels. - -#### Remove (optional) from jsdocs ([#2109](https://github.com/tldraw/tldraw/pull/2109)) - -- dev: Removed duplicate/inconsistent `(optional)`s from docs - -#### [fix] mobile style panel switching open / closed ([#2101](https://github.com/tldraw/tldraw/pull/2101)) - -- Fix bug with style panel - ---- - -#### 🚀 Enhancement - -- `@tldraw/tldraw` - - instant bookmarks [#2176](https://github.com/tldraw/tldraw/pull/2176) ([@ds300](https://github.com/ds300)) - - Remove indicator for autosize text shapes while editing [#2120](https://github.com/tldraw/tldraw/pull/2120) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [feature] Things on the canvas [#2150](https://github.com/tldraw/tldraw/pull/2150) ([@steveruizok](https://github.com/steveruizok)) - - Tighten up editor ui [#2102](https://github.com/tldraw/tldraw/pull/2102) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - [feature] multi-scribbles [#2125](https://github.com/tldraw/tldraw/pull/2125) ([@steveruizok](https://github.com/steveruizok)) - -#### 🐛 Bug Fix - -- Bump vs code extension. [#2142](https://github.com/tldraw/tldraw/pull/2142) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Bump VS Code [#2100](https://github.com/tldraw/tldraw/pull/2100) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tldraw` - - Add tldraw component exports [#2188](https://github.com/tldraw/tldraw/pull/2188) ([@steveruizok](https://github.com/steveruizok)) - - Fix an error when using context menu. [#2186](https://github.com/tldraw/tldraw/pull/2186) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix an issue with edit link. [#2184](https://github.com/tldraw/tldraw/pull/2184) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Only use the hack if we are in safari. [#2185](https://github.com/tldraw/tldraw/pull/2185) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix keyboard shortcuts for vscode. [#2181](https://github.com/tldraw/tldraw/pull/2181) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix printing. [#2177](https://github.com/tldraw/tldraw/pull/2177) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - [fix] Frame label not following staying aligned correctly on rotation [#2172](https://github.com/tldraw/tldraw/pull/2172) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) - - Don't show scrollbars. [#2171](https://github.com/tldraw/tldraw/pull/2171) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix arrow dropdown localizations. [#2174](https://github.com/tldraw/tldraw/pull/2174) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Allow users to select shapes when drag starts on top of a locked shape. [#2169](https://github.com/tldraw/tldraw/pull/2169) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix the problem with text not being correctly aligned in small geo shapes. [#2168](https://github.com/tldraw/tldraw/pull/2168) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix cleanupText [#2138](https://github.com/tldraw/tldraw/pull/2138) ([@ds300](https://github.com/ds300)) - - [android] Fix text labels and link button getting misaligned [#2132](https://github.com/tldraw/tldraw/pull/2132) ([@TodePond](https://github.com/TodePond)) - - [fix] button gaps [#2130](https://github.com/tldraw/tldraw/pull/2130) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Move to page button / toasts styling [#2126](https://github.com/tldraw/tldraw/pull/2126) ([@steveruizok](https://github.com/steveruizok)) - - [fix] css for editing page title [#2124](https://github.com/tldraw/tldraw/pull/2124) ([@steveruizok](https://github.com/steveruizok)) - - fix selection fg transform [#2113](https://github.com/tldraw/tldraw/pull/2113) ([@ds300](https://github.com/ds300)) - - [fix] mobile style panel switching open / closed [#2101](https://github.com/tldraw/tldraw/pull/2101) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [fix] actions menu freezing ui [#2187](https://github.com/tldraw/tldraw/pull/2187) ([@steveruizok](https://github.com/steveruizok)) - - Fix crash with zero length arrow [#2173](https://github.com/tldraw/tldraw/pull/2173) ([@TodePond](https://github.com/TodePond)) - - Zooming improvement [#2149](https://github.com/tldraw/tldraw/pull/2149) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor` - - add missing semicolon [#2182](https://github.com/tldraw/tldraw/pull/2182) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - fix scroll event coords [#2180](https://github.com/tldraw/tldraw/pull/2180) ([@ds300](https://github.com/ds300)) - - Fix an issue with `addEventListener` in old Safari (pre v14) [#2114](https://github.com/tldraw/tldraw/pull/2114) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - -#### 🏠 Internal - -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - Revert "bump prerelease from alpha to beta" [#2192](https://github.com/tldraw/tldraw/pull/2192) ([@ds300](https://github.com/ds300)) - - bump prerelease from alpha to beta [#2148](https://github.com/tldraw/tldraw/pull/2148) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/tldraw` - - Taha/initial shape in handle change [#2117](https://github.com/tldraw/tldraw/pull/2117) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - -#### 📝 Documentation - -- `@tldraw/editor` - - Add meta example [#2122](https://github.com/tldraw/tldraw/pull/2122) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/tldraw` - - Remove (optional) from jsdocs [#2109](https://github.com/tldraw/tldraw/pull/2109) ([@TodePond](https://github.com/TodePond)) - -#### Authors: 5 - -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-alpha.19.mdx b/apps/docs/content/releases/v2.0.0-alpha.19.mdx deleted file mode 100644 index 51bb8c95c..000000000 --- a/apps/docs/content/releases/v2.0.0-alpha.19.mdx +++ /dev/null @@ -1,251 +0,0 @@ ---- -title: v2.0.0-alpha.19 -description: Examples -author: tldraw -date: 12/12/2023 -order: 4 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-alpha.19) - - -#### zoom to affected shapes after undo/redo ([#2293](https://github.com/tldraw/tldraw/pull/2293)) - -- Make sure affected shapes are visible after undo/redo - -#### Fix hmr. ([#2303](https://github.com/tldraw/tldraw/pull/2303)) - -- Fixes HMR in local dev. - -#### Fix migrations. ([#2302](https://github.com/tldraw/tldraw/pull/2302)) - -- Fix migrations of `instance_page_state`. - -#### Add fit to content for frames. ([#2275](https://github.com/tldraw/tldraw/pull/2275)) - -- Add Fit to content option to the context menu for frames. This resizes the frames to correctly fit all their content. - -#### Fix an issue with a stale editor reference in shape utils ([#2295](https://github.com/tldraw/tldraw/pull/2295)) - -- Fix an issue where the shape utils could have a stale reference to the editor. - -#### fix new page naming ([#2292](https://github.com/tldraw/tldraw/pull/2292)) - -- Fix naming of pages created by the "move to page" action - -#### Fix exporting of cropped images. ([#2268](https://github.com/tldraw/tldraw/pull/2268)) - -- Fix exporting of cropped images. - -#### Update the comment in the example. ([#2272](https://github.com/tldraw/tldraw/pull/2272)) - -- Improve the comment for one of our examples. - -#### [improvements] arrows x enclosing shapes x precision. ([#2265](https://github.com/tldraw/tldraw/pull/2265)) - -- Improves the logic about when to draw "precise" arrows between the center of bound shapes. - -#### fix vite HMR issue ([#2279](https://github.com/tldraw/tldraw/pull/2279)) - -- Fixes a bug that could cause crashes due to a re-render loop with HMR #1989 - -#### Add connecting screen override. ([#2273](https://github.com/tldraw/tldraw/pull/2273)) - -- Allow users to customize the connecting screen. - -#### Removing frames and adding elements to frames ([#2219](https://github.com/tldraw/tldraw/pull/2219)) - -- Allow users to remove the frame, but keep it's children. Allow the users to add shapes to the frame directly when creating a frame. - -#### fix typo in useFixSafariDoubleTapZoomPencilEvents.ts ([#2242](https://github.com/tldraw/tldraw/pull/2242)) - -- Add a brief release note for your PR here. - -#### improves translation into pt-br ([#2231](https://github.com/tldraw/tldraw/pull/2231)) - -- Improves the overall translation into Portuguese (pt-br). - -#### Fixes #2246 Sublibraries example (ExplodedExample.tsx) ([#2247](https://github.com/tldraw/tldraw/pull/2247)) - -- Fixed Sublibraries (Exploded) example - -#### Fix missing padding-right in toast ([#2251](https://github.com/tldraw/tldraw/pull/2251)) - -- Fox padding-right in toast content. - -#### Fix "custom UI" example ([#2253](https://github.com/tldraw/tldraw/pull/2253)) - -- Fixed double rendering of canvas in the "custom UI" example - -#### Lokalise: Translations update ([#2248](https://github.com/tldraw/tldraw/pull/2248)) - -- Update Romanian translations. - -#### Also export `TLUiEventMap` ([#2234](https://github.com/tldraw/tldraw/pull/2234)) - -- Export `TLUiEventMap` type. - -#### Fix the tool lock button. ([#2225](https://github.com/tldraw/tldraw/pull/2225)) - -- Adds the missing tool lock button. - -#### Custom Tools DX + screenshot example ([#2198](https://github.com/tldraw/tldraw/pull/2198)) - -- adds ScreenshotTool custom tool example -- improvements and new exports related to copying and exporting images / files -- loosens up types around icons and translations -- moving `StateNode.isActive` into an atom -- adding `Editor.path` - -#### StateNode atoms ([#2213](https://github.com/tldraw/tldraw/pull/2213)) - -- adds computed `StateNode.getPath` -- adds computed StateNode.getCurrent` -- adds computed StateNode.getIsActive` -- adds computed `Editor.getPath()` -- makes transition's second property optional - -#### VS Code bump 2.0.17 ([#2217](https://github.com/tldraw/tldraw/pull/2217)) - -- VS code extension 2.0.17. - -#### don't overwrite bookmark position if it changed before metadata arrives ([#2215](https://github.com/tldraw/tldraw/pull/2215)) - -- Fixes issue when creating new bookmark shape where the position would be reset if you moved it before the bookmark metadata was fetched. - -#### Add prettier caching ([#2212](https://github.com/tldraw/tldraw/pull/2212)) - -- Speed up formatting of files via `yarn format`. - -#### Update translations from community submissions ([#2201](https://github.com/tldraw/tldraw/pull/2201)) - -- Updated translations for Spanish, Japanese, Romanian, Russian, Ukrainian, and Simplified Chinese. - -#### [fix] huge images, use downscale for image scaling ([#2207](https://github.com/tldraw/tldraw/pull/2207)) - -- Improved image rescaling. - -#### Revert back to the previous color. ([#2210](https://github.com/tldraw/tldraw/pull/2210)) - -- Fixes the color of culled shapes when using dark mode. - -#### Fix an issue with not being able to group a shape an an arrow. ([#2205](https://github.com/tldraw/tldraw/pull/2205)) - -- Add a brief release note for your PR here. - -#### Japanese translations. (update) ([#2199](https://github.com/tldraw/tldraw/pull/2199)) - -- Updated Japanese translations. - -#### feat: add new prop to force mobile mode layout ([#1734](https://github.com/tldraw/tldraw/pull/1734)) - -- add new prop to force mobile mode layout - -#### [fix] masked bounds calculation ([#2197](https://github.com/tldraw/tldraw/pull/2197)) - -- Fix bug with getmaskedpagebounds calculation for identical parent / child sizes - ---- - -#### 💥 Breaking Change - -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema` - - No impure getters pt 1 [#2189](https://github.com/tldraw/tldraw/pull/2189) ([@steveruizok](https://github.com/steveruizok) [@ds300](https://github.com/ds300)) - -#### 🚀 Enhancement - -- `@tldraw/editor`, `@tldraw/tldraw` - - Add fit to content for frames. [#2275](https://github.com/tldraw/tldraw/pull/2275) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - Removing frames and adding elements to frames [#2219](https://github.com/tldraw/tldraw/pull/2219) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok) [@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - - Custom Tools DX + screenshot example [#2198](https://github.com/tldraw/tldraw/pull/2198) ([@steveruizok](https://github.com/steveruizok)) - - StateNode atoms [#2213](https://github.com/tldraw/tldraw/pull/2213) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - [improvements] arrows x enclosing shapes x precision. [#2265](https://github.com/tldraw/tldraw/pull/2265) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - Add connecting screen override. [#2273](https://github.com/tldraw/tldraw/pull/2273) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tldraw` - - Add `getSvgAsImage` to exports. [#2229](https://github.com/tldraw/tldraw/pull/2229) ([@steveruizok](https://github.com/steveruizok)) - - [fix] huge images, use downscale for image scaling [#2207](https://github.com/tldraw/tldraw/pull/2207) ([@steveruizok](https://github.com/steveruizok)) - - feat: add new prop to force mobile mode layout [#1734](https://github.com/tldraw/tldraw/pull/1734) ([@gabrielchl](https://github.com/gabrielchl) [@steveruizok](https://github.com/steveruizok)) - -#### 🐛 Bug Fix - -- Fix hmr. [#2303](https://github.com/tldraw/tldraw/pull/2303) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- VS Code version bump. [#2297](https://github.com/tldraw/tldraw/pull/2297) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- improves translation into pt-br [#2231](https://github.com/tldraw/tldraw/pull/2231) ([@bybruno](https://github.com/bybruno)) -- Fixes #2246 Sublibraries example (ExplodedExample.tsx) [#2247](https://github.com/tldraw/tldraw/pull/2247) (gary.saunders@sportsengine.com [@steveruizok](https://github.com/steveruizok)) -- Lokalise: Translations update [#2248](https://github.com/tldraw/tldraw/pull/2248) ([@TodePond](https://github.com/TodePond)) -- Update translations from community submissions [#2201](https://github.com/tldraw/tldraw/pull/2201) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) -- Japanese translations. (update) [#2199](https://github.com/tldraw/tldraw/pull/2199) ([@sugitlab](https://github.com/sugitlab)) -- VS code bump 2.0.16 [#2193](https://github.com/tldraw/tldraw/pull/2193) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/tldraw` - - Revert "zoom to affected shapes after undo/redo" [#2310](https://github.com/tldraw/tldraw/pull/2310) ([@ds300](https://github.com/ds300)) - - zoom to affected shapes after undo/redo [#2293](https://github.com/tldraw/tldraw/pull/2293) ([@ds300](https://github.com/ds300)) - - fix new page naming [#2292](https://github.com/tldraw/tldraw/pull/2292) ([@SomeHats](https://github.com/SomeHats)) - - No impure getters pt9 [#2222](https://github.com/tldraw/tldraw/pull/2222) ([@ds300](https://github.com/ds300)) - - No impure getters pt8 [#2221](https://github.com/tldraw/tldraw/pull/2221) ([@ds300](https://github.com/ds300)) - - No impure getters pt7 [#2220](https://github.com/tldraw/tldraw/pull/2220) ([@ds300](https://github.com/ds300)) - - No impure getters pt6 [#2218](https://github.com/tldraw/tldraw/pull/2218) ([@ds300](https://github.com/ds300)) - - No impure getters pt5 [#2208](https://github.com/tldraw/tldraw/pull/2208) ([@ds300](https://github.com/ds300)) - - Fix an issue with not being able to group a shape an an arrow. [#2205](https://github.com/tldraw/tldraw/pull/2205) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - No impure getters pt4 [#2206](https://github.com/tldraw/tldraw/pull/2206) ([@ds300](https://github.com/ds300)) - - No impure getters pt3 [#2203](https://github.com/tldraw/tldraw/pull/2203) ([@ds300](https://github.com/ds300)) - - No impure getters pt2 [#2202](https://github.com/tldraw/tldraw/pull/2202) ([@ds300](https://github.com/ds300)) -- `@tldraw/tlschema` - - Fix migrations. [#2302](https://github.com/tldraw/tldraw/pull/2302) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor` - - Fix an issue with a stale editor reference in shape utils [#2295](https://github.com/tldraw/tldraw/pull/2295) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix the cleanup of event handlers [#2298](https://github.com/tldraw/tldraw/pull/2298) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Revert back to the previous color. [#2210](https://github.com/tldraw/tldraw/pull/2210) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - [fix] masked bounds calculation [#2197](https://github.com/tldraw/tldraw/pull/2197) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - Fix exporting of cropped images. [#2268](https://github.com/tldraw/tldraw/pull/2268) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Hot elbows [#2258](https://github.com/tldraw/tldraw/pull/2258) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) - - Fix missing padding-right in toast [#2251](https://github.com/tldraw/tldraw/pull/2251) ([@ByMykel](https://github.com/ByMykel) [@steveruizok](https://github.com/steveruizok)) - - Also export `TLUiEventMap` [#2234](https://github.com/tldraw/tldraw/pull/2234) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix the tool lock button. [#2225](https://github.com/tldraw/tldraw/pull/2225) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - don't overwrite bookmark position if it changed before metadata arrives [#2215](https://github.com/tldraw/tldraw/pull/2215) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/utils` - - fix vite HMR issue [#2279](https://github.com/tldraw/tldraw/pull/2279) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/tldraw`, `@tldraw/utils` - - no impure getters pt 11 [#2236](https://github.com/tldraw/tldraw/pull/2236) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw` - - No impure getters pt10 [#2235](https://github.com/tldraw/tldraw/pull/2235) ([@ds300](https://github.com/ds300)) - -#### 🏠 Internal - -- Fix "custom UI" example [#2253](https://github.com/tldraw/tldraw/pull/2253) ([@OriginalEXE](https://github.com/OriginalEXE)) -- Add floaty window example [#2250](https://github.com/tldraw/tldraw/pull/2250) ([@steveruizok](https://github.com/steveruizok)) -- VS Code bump 2.0.17 [#2217](https://github.com/tldraw/tldraw/pull/2217) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tlschema` - - Add prettier caching [#2212](https://github.com/tldraw/tldraw/pull/2212) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - -#### 📝 Documentation - -- Update the comment in the example. [#2272](https://github.com/tldraw/tldraw/pull/2272) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/state` - - Replace getters in examples [#2261](https://github.com/tldraw/tldraw/pull/2261) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor` - - fix typo in useFixSafariDoubleTapZoomPencilEvents.ts [#2242](https://github.com/tldraw/tldraw/pull/2242) ([@eltociear](https://github.com/eltociear)) - -#### 🧪 Tests - -- `@tldraw/tldraw` - - fix export snapshot race condition [#2280](https://github.com/tldraw/tldraw/pull/2280) ([@SomeHats](https://github.com/SomeHats)) - -#### Authors: 13 - -- [@ByMykel](https://github.com/ByMykel) -- alex ([@SomeHats](https://github.com/SomeHats)) -- Ante Sepic ([@OriginalEXE](https://github.com/OriginalEXE)) -- Bruno ([@bybruno](https://github.com/bybruno)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Gabriel Lee ([@gabrielchl](https://github.com/gabrielchl)) -- Gary Saunders ([@codenamegary](https://github.com/codenamegary)) -- Ikko Eltociear Ashimine ([@eltociear](https://github.com/eltociear)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Sugit ([@sugitlab](https://github.com/sugitlab)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-beta.1.mdx b/apps/docs/content/releases/v2.0.0-beta.1.mdx deleted file mode 100644 index 6804e67e8..000000000 --- a/apps/docs/content/releases/v2.0.0-beta.1.mdx +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: v2.0.0-beta.1 -description: Examples -author: tldraw -date: 12/20/2023 -order: 3 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-beta.1) - - -#### add speech bubble example ([#2362](https://github.com/tldraw/tldraw/pull/2362)) - -- Add an example for making a custom shape with handles, this one is a speech bubble with a movable tail. - -#### Fix clicking off the context menu ([#2355](https://github.com/tldraw/tldraw/pull/2355)) - -- Fix not being able to close the context menu by clicking on the UI or your selected shape. - -#### fix read only page menu ([#2356](https://github.com/tldraw/tldraw/pull/2356)) - -- Add a brief release note for your PR here. - -#### refactor: Keep hook function convention the same ([#2358](https://github.com/tldraw/tldraw/pull/2358)) - -- Add a brief release note for your PR here. - -#### focus on container before deleting to avoid losing focus ([#2354](https://github.com/tldraw/tldraw/pull/2354)) - -- Prevents losing focus when clicking the trash button - -#### Stop shape text labels being hoverable when context menu is open ([#2352](https://github.com/tldraw/tldraw/pull/2352)) - -- Add a brief release note for your PR here. - -#### Use custom font ([#2343](https://github.com/tldraw/tldraw/pull/2343)) - -- Add a brief release note for your PR here. - -#### Only allow side resizing when we have some shapes that are not aspect ratio locked ([#2347](https://github.com/tldraw/tldraw/pull/2347)) - -- Don't allow edges resizing on mobile. The only exception is a single text shape. - -#### Fix iconleft padding ([#2345](https://github.com/tldraw/tldraw/pull/2345)) - -- Fixes the icon padding in back to content / pen mode buttons. - -#### [bug] Fix for issue #2329 ([#2330](https://github.com/tldraw/tldraw/pull/2330)) - -- Fix for `Matrix2d.Scale` function - -#### Allow dragging on top of locked shapes. ([#2337](https://github.com/tldraw/tldraw/pull/2337)) - -- Allow translating of shapes on top of a locked shape by clicking inside of selection and moving the mouse. - -#### Remove deprecated getters ([#2333](https://github.com/tldraw/tldraw/pull/2333)) - -- (Breaking) Removed deprecated getters. - -#### Lokalise: Translations update ([#2342](https://github.com/tldraw/tldraw/pull/2342)) - -Added Czech translations. -Updated translations for German, Korean, Russian, Ukrainian, Traditional Chinese. - -#### Prevent diff mutation ([#2336](https://github.com/tldraw/tldraw/pull/2336)) - -- Fix `squashRecordDiffs` to prevent a bug where it mutates the 'updated' entires - -#### Fix indicator radius for bookmarks. ([#2335](https://github.com/tldraw/tldraw/pull/2335)) - -- Fix the indicator for the bookmark shape. The radius now matches the shape's radius. - -#### Start scrolling if we are dragging close to the window edges. ([#2299](https://github.com/tldraw/tldraw/pull/2299)) - -- Adds the logic to change the camera position when you get close to the edges of the window. This allows you to drag, resize, brush select past the edges of the current viewport. - -#### Fix downscaling ([#2325](https://github.com/tldraw/tldraw/pull/2325)) - -- Decrease the size of uploaded assets. - -#### Use a global singleton for tlstate ([#2322](https://github.com/tldraw/tldraw/pull/2322)) - -- Make a global singleton for tlstate. - -#### VS Code 2.0.19 ([#2324](https://github.com/tldraw/tldraw/pull/2324)) - -- Version bump for VS Code. - ---- - -#### 💥 Breaking Change - -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - bump to beta [#2364](https://github.com/tldraw/tldraw/pull/2364) ([@steveruizok](https://github.com/steveruizok)) - - Change licenses to tldraw [#2167](https://github.com/tldraw/tldraw/pull/2167) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/tldraw` - - Use custom font [#2343](https://github.com/tldraw/tldraw/pull/2343) ([@ds300](https://github.com/ds300) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) -- `@tldraw/editor`, `@tldraw/state` - - Remove deprecated getters [#2333](https://github.com/tldraw/tldraw/pull/2333) ([@ds300](https://github.com/ds300)) - -#### 🚀 Enhancement - -- add speech bubble example [#2362](https://github.com/tldraw/tldraw/pull/2362) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- `@tldraw/editor`, `@tldraw/tldraw` - - Start scrolling if we are dragging close to the window edges. [#2299](https://github.com/tldraw/tldraw/pull/2299) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - -#### 🐛 Bug Fix - -- VS Code 2.0.19 [#2324](https://github.com/tldraw/tldraw/pull/2324) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/tldraw` - - Fix clicking off the context menu [#2355](https://github.com/tldraw/tldraw/pull/2355) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - Drop edge scrolling adjustment for mobile [#2346](https://github.com/tldraw/tldraw/pull/2346) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - fix read only page menu [#2356](https://github.com/tldraw/tldraw/pull/2356) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@TodePond](https://github.com/TodePond)) - - focus on container before deleting to avoid losing focus [#2354](https://github.com/tldraw/tldraw/pull/2354) ([@ds300](https://github.com/ds300)) - - Only allow side resizing when we have some shapes that are not aspect ratio locked [#2347](https://github.com/tldraw/tldraw/pull/2347) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix iconleft padding [#2345](https://github.com/tldraw/tldraw/pull/2345) ([@steveruizok](https://github.com/steveruizok)) - - Allow dragging on top of locked shapes. [#2337](https://github.com/tldraw/tldraw/pull/2337) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix indicator radius for bookmarks. [#2335](https://github.com/tldraw/tldraw/pull/2335) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix downscaling [#2325](https://github.com/tldraw/tldraw/pull/2325) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor` - - Stop shape text labels being hoverable when context menu is open [#2352](https://github.com/tldraw/tldraw/pull/2352) ([@TodePond](https://github.com/TodePond)) - - [bug] Fix for issue #2329 [#2330](https://github.com/tldraw/tldraw/pull/2330) ([@zfedoran](https://github.com/zfedoran)) -- `@tldraw/utils` - - fix png images with pixel ratios <0.5 crashing the app [#2350](https://github.com/tldraw/tldraw/pull/2350) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tlschema` - - Lokalise: Translations update [#2342](https://github.com/tldraw/tldraw/pull/2342) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/store`, `@tldraw/tldraw` - - Prevent diff mutation [#2336](https://github.com/tldraw/tldraw/pull/2336) ([@ds300](https://github.com/ds300)) -- `@tldraw/store` - - Call devFreeze on initialData [#2332](https://github.com/tldraw/tldraw/pull/2332) ([@ds300](https://github.com/ds300)) -- `@tldraw/state` - - Fix TSDoc for @tldraw/state [#2327](https://github.com/tldraw/tldraw/pull/2327) ([@ds300](https://github.com/ds300)) - - Use a global singleton for tlstate [#2322](https://github.com/tldraw/tldraw/pull/2322) ([@ds300](https://github.com/ds300)) - -#### 🏠 Internal - -- `@tldraw/editor` - - refactor: Keep hook function convention the same [#2358](https://github.com/tldraw/tldraw/pull/2358) ([@Lennon57](https://github.com/Lennon57)) - -#### Authors: 9 - -- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) -- [@zfedoran](https://github.com/zfedoran) -- alex ([@SomeHats](https://github.com/SomeHats)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- MinhoPark ([@Lennon57](https://github.com/Lennon57)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-beta.2.mdx b/apps/docs/content/releases/v2.0.0-beta.2.mdx deleted file mode 100644 index eeac4c7e7..000000000 --- a/apps/docs/content/releases/v2.0.0-beta.2.mdx +++ /dev/null @@ -1,167 +0,0 @@ ---- -title: v2.0.0-beta.2 -description: Examples -author: tldraw -date: 1/10/2024 -order: 2 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-beta.2) - - -#### Fix validation when pasting images. ([#2436](https://github.com/tldraw/tldraw/pull/2436)) - -- Fixes url validations. - -#### Fix decrement button label in OnTheCanvas example component ([#2432](https://github.com/tldraw/tldraw/pull/2432)) - -- tiny bug fix, simply changing a label to match behaviour - -#### refactor copy/export, fix safari copy-as-image being broken ([#2411](https://github.com/tldraw/tldraw/pull/2411)) - -- Fix a bug preventing copying as an image on iOS - -#### Add url validation ([#2428](https://github.com/tldraw/tldraw/pull/2428)) - -- Add validation to urls. - -#### [fix] next selected shapes comment ([#2427](https://github.com/tldraw/tldraw/pull/2427)) - -- Fix error in setStyleForNextSelectedShapes comment - -#### annotate error boundary example ([#2410](https://github.com/tldraw/tldraw/pull/2410)) - -- Add annotation to error boundary example - -#### Fix issues with clip paths for frames ([#2406](https://github.com/tldraw/tldraw/pull/2406)) - -- Add a brief release note for your PR here. - -#### Annotate custom styles example ([#2405](https://github.com/tldraw/tldraw/pull/2405)) - -- Add annotation to the custom styles example - -#### annotate custom config example ([#2404](https://github.com/tldraw/tldraw/pull/2404)) - -- Adds annotation to the custom config example with a bit more detail - -#### annotate asset props, correct image/video confusion ([#2399](https://github.com/tldraw/tldraw/pull/2399)) - -- Annotates the asset props example and fixes a mistake in the existing comments - -#### Annotate/refactor store events example ([#2400](https://github.com/tldraw/tldraw/pull/2400)) - -- Update store events example to use store.listen method -- Annotate with explanations of the code - -#### annotate canvas events ([#2397](https://github.com/tldraw/tldraw/pull/2397)) - -- Adds annotation to the canvas events example - -#### [fix] edge scrolling when component is inside of screen ([#2398](https://github.com/tldraw/tldraw/pull/2398)) - -- Add a brief release note for your PR here. - -#### Annotate api example ([#2395](https://github.com/tldraw/tldraw/pull/2395)) - -- Annotate API example - -#### [tech debt] Primitives renaming party / cleanup ([#2396](https://github.com/tldraw/tldraw/pull/2396)) - -- renames Vec2d to Vec -- renames Vec2dModel to VecModel -- renames Box2d to Box -- renames Box2dModel to BoxModel -- renames Matrix2d to Mat -- renames Matrix2dModel to MatModel -- removes unused primitive helpers - -#### Refactor and document speech bubble example ([#2392](https://github.com/tldraw/tldraw/pull/2392)) - -- Add annotations to the speech bubble example -- Refactor code for clarity - -#### Fix trademark links ([#2380](https://github.com/tldraw/tldraw/pull/2380)) - -- Fixes broken links in a number of docs files. - -#### [fix] polygon bounds ([#2378](https://github.com/tldraw/tldraw/pull/2378)) - -- Fixed a bug with the bounds calculation for polygons. - -#### Avoid importing `editor.css` twice ([#2373](https://github.com/tldraw/tldraw/pull/2373)) - -- Prevent importing `editor.css` twice which should help when debugging the styles via developer console. - -#### Adding an image shape from a file the public folder ([#2370](https://github.com/tldraw/tldraw/pull/2370)) - -- Adds a simple image example. - ---- - -#### 💥 Breaking Change - -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - [tech debt] Primitives renaming party / cleanup [#2396](https://github.com/tldraw/tldraw/pull/2396) ([@steveruizok](https://github.com/steveruizok)) - -#### 🚀 Enhancement - -- Adding an image shape from a file the public folder [#2370](https://github.com/tldraw/tldraw/pull/2370) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - -#### 🐛 Bug Fix - -- Avoid importing `editor.css` twice [#2373](https://github.com/tldraw/tldraw/pull/2373) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- VS Code bump 2.0.20 [#2371](https://github.com/tldraw/tldraw/pull/2371) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tlschema` - - Fix validation when pasting images. [#2436](https://github.com/tldraw/tldraw/pull/2436) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tldraw` - - refactor copy/export, fix safari copy-as-image being broken [#2411](https://github.com/tldraw/tldraw/pull/2411) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - - [fix] Asset versions [#2389](https://github.com/tldraw/tldraw/pull/2389) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - Add url validation [#2428](https://github.com/tldraw/tldraw/pull/2428) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor` - - Fix issues with clip paths for frames [#2406](https://github.com/tldraw/tldraw/pull/2406) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [fix] edge scrolling when component is inside of screen [#2398](https://github.com/tldraw/tldraw/pull/2398) ([@steveruizok](https://github.com/steveruizok)) - - [fix] polygon bounds [#2378](https://github.com/tldraw/tldraw/pull/2378) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/store` - - Fix meta examples [#2379](https://github.com/tldraw/tldraw/pull/2379) ([@steveruizok](https://github.com/steveruizok)) - -#### 🏠 Internal - -- Fix license language. [#2365](https://github.com/tldraw/tldraw/pull/2365) ([@steveruizok](https://github.com/steveruizok)) - -#### 📝 Documentation - -- Fix decrement button label in OnTheCanvas example component [#2432](https://github.com/tldraw/tldraw/pull/2432) ([@StanFlint](https://github.com/StanFlint)) -- annotate error boundary example [#2410](https://github.com/tldraw/tldraw/pull/2410) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- fix example scrolling on ios [#2412](https://github.com/tldraw/tldraw/pull/2412) ([@SomeHats](https://github.com/SomeHats)) -- Add descriptions to active examples [#2407](https://github.com/tldraw/tldraw/pull/2407) ([@SomeHats](https://github.com/SomeHats)) -- Annotate custom styles example [#2405](https://github.com/tldraw/tldraw/pull/2405) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- annotate custom config example [#2404](https://github.com/tldraw/tldraw/pull/2404) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate asset props, correct image/video confusion [#2399](https://github.com/tldraw/tldraw/pull/2399) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate/refactor store events example [#2400](https://github.com/tldraw/tldraw/pull/2400) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate canvas events [#2397](https://github.com/tldraw/tldraw/pull/2397) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate api example [#2395](https://github.com/tldraw/tldraw/pull/2395) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Refactor and document speech bubble example [#2392](https://github.com/tldraw/tldraw/pull/2392) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- Fix README link typo [#2372](https://github.com/tldraw/tldraw/pull/2372) ([@chunderbolt](https://github.com/chunderbolt)) -- `@tldraw/editor` - - [fix] next selected shapes comment [#2427](https://github.com/tldraw/tldraw/pull/2427) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- `@tldraw/tldraw` - - [example] Changing the default tldraw colors [#2402](https://github.com/tldraw/tldraw/pull/2402) ([@steveruizok](https://github.com/steveruizok)) - - add descriptions to examples [#2375](https://github.com/tldraw/tldraw/pull/2375) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - Fix trademark links [#2380](https://github.com/tldraw/tldraw/pull/2380) ([@nonparibus](https://github.com/nonparibus)) - - Another typo fix. [#2366](https://github.com/tldraw/tldraw/pull/2366) ([@steveruizok](https://github.com/steveruizok)) - -#### Authors: 8 - -- [@chunderbolt](https://github.com/chunderbolt) -- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) -- alex ([@SomeHats](https://github.com/SomeHats)) -- David @ HASH ([@nonparibus](https://github.com/nonparibus)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Stan Flint ([@StanFlint](https://github.com/StanFlint)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-beta.3.mdx b/apps/docs/content/releases/v2.0.0-beta.3.mdx deleted file mode 100644 index fe43311ff..000000000 --- a/apps/docs/content/releases/v2.0.0-beta.3.mdx +++ /dev/null @@ -1,615 +0,0 @@ ---- -title: v2.0.0-beta.3 -description: Examples -author: tldraw -date: 2/13/2024 -order: 1 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-beta.3) - - -#### Fix camera. ([#2818](https://github.com/tldraw/tldraw/pull/2818)) - -- Fixes an issue with the camera and zooming. - -#### Use canvas bounds for viewport bounds ([#2798](https://github.com/tldraw/tldraw/pull/2798)) - -- Changes the source of truth for the viewport page bounds to be the canvas instead. - -#### docs: better code snippets ([#2801](https://github.com/tldraw/tldraw/pull/2801)) - -- Docs: reworks code snippets - -#### Quick start guide ([#2692](https://github.com/tldraw/tldraw/pull/2692)) - -- Add a quick start guide - -#### docs: fix scrolling issue with sidebar ([#2791](https://github.com/tldraw/tldraw/pull/2791)) - -- Docs: fix up scrolling. - -#### Style UI based on component size instead of window size ([#2758](https://github.com/tldraw/tldraw/pull/2758)) - -- Dev: Fixed the default tldraw UI not matching the size of the component. - -#### examples: clean up Canvas/Store events and make UiEvents have code snippets ([#2770](https://github.com/tldraw/tldraw/pull/2770)) - -- Examples: add an interactive example that shows code snippets for the SDK. - -#### Fixed actions menu opening in wrong direction on mobile (and add an inline layout example) ([#2730](https://github.com/tldraw/tldraw/pull/2730)) - -- Dev: Fixed the actions menu opening in the wrong direction. - -#### error reporting: rm ids from msgs for better Sentry grouping ([#2738](https://github.com/tldraw/tldraw/pull/2738)) - -- Error reporting: improve grouping for Sentry. - -#### rearrange export / import from tldraw to help builds ([#2739](https://github.com/tldraw/tldraw/pull/2739)) - -- Build: Help with import/export error on some builds. - -#### i18n: add HR 🇭🇷 ([#2778](https://github.com/tldraw/tldraw/pull/2778)) - -- i18n: add Croatian / Hrvatski. - -#### arrows: account for another NaN ([#2753](https://github.com/tldraw/tldraw/pull/2753)) - -- Fixes zero-width arrow NaN computation when moving the label. - -#### Split snap manager into ShapeBoundsSnaps and HandleSnaps ([#2747](https://github.com/tldraw/tldraw/pull/2747)) - -- `SnapLine`s are now called `SnapIndicator`s -- Snapping methods moved from `editor.snaps` to `editor.snaps.shapeBounds` and `editor.snaps.handles` depending on the type of snapping you're trying to do. - -#### arrows: update cursor only when in Select mode ([#2742](https://github.com/tldraw/tldraw/pull/2742)) - -- Cursor tweak for arrow labels. - -#### Fix pinch zooming ([#2748](https://github.com/tldraw/tldraw/pull/2748)) - -- None: Fixes an unreleased bug. - -#### docs: disable ai search for now ([#2740](https://github.com/tldraw/tldraw/pull/2740)) - -- Docs: disable AI search for now. - -#### seo: attempt at avoiding a "soft 404" with there being thin content on dotcom ([#2737](https://github.com/tldraw/tldraw/pull/2737)) - -- Add a "Loading..." text to help SEO. - -#### docs: add full-text search ([#2735](https://github.com/tldraw/tldraw/pull/2735)) - -- Docs: Add full-text search. - -#### docs: fix CORS issue and broken example link ([#2727](https://github.com/tldraw/tldraw/pull/2727)) - -- Fixes docs CORS issue. - -#### docs: rework search UI ([#2723](https://github.com/tldraw/tldraw/pull/2723)) - -- Docs: rework the search to be an inline dropdown. - -#### [fix] VSCode keyboard shortcuts while editing text ([#2721](https://github.com/tldraw/tldraw/pull/2721)) - -- Fixed a bug in the VS Code that prevented keyboard shortcuts from working in text labels. - -#### [Fix] Camera coordinate issues ([#2719](https://github.com/tldraw/tldraw/pull/2719)) - -- Fixed bugs with `getViewportScreenCenter` that could effect zooming and pinching on editors that aren't full screen - -#### fix(docs): fix user-interface.mdx ([#2700](https://github.com/tldraw/tldraw/pull/2700)) - -Add `newMenuItem` creation in "Toolbar and Menus" example - -#### docs: more cleanup following restructure ([#2702](https://github.com/tldraw/tldraw/pull/2702)) - -- Docs: further cleanup following restructure. - -#### reactive context menu overrides ([#2697](https://github.com/tldraw/tldraw/pull/2697)) - -- Context Menu overrides will now update reactively - -#### [Fix] Note shape border radius ([#2696](https://github.com/tldraw/tldraw/pull/2696)) - -- Fixes a bad border radius - -#### arrows: separate out handle behavior from labels ([#2621](https://github.com/tldraw/tldraw/pull/2621)) - -- Arrow labels: provide more polish on label placement - -#### docs: fix up gen links to point to the new /reference section ([#2690](https://github.com/tldraw/tldraw/pull/2690)) - -- Fix up doc links with /gen links - -#### docs: rework docs site to have different sections ([#2686](https://github.com/tldraw/tldraw/pull/2686)) - -- Rework our docs site to pull together the examples app and reference section more cohesively. - -#### Fix svg exporting for images with not fully qualified url (`/tldraw.png` or `./tldraw.png`) ([#2676](https://github.com/tldraw/tldraw/pull/2676)) - -- Fix the svg export for images that have a local url. - -#### Remove examples app landing page ([#2678](https://github.com/tldraw/tldraw/pull/2678)) - -- Remove examples app landing page - -#### dev: add test-dev command for easier testing of packages ([#2627](https://github.com/tldraw/tldraw/pull/2627)) - -- Adds easier testing command for individual packages. - -#### debug: start adding more tooling for debugging when interacting with shapes ([#2560](https://github.com/tldraw/tldraw/pull/2560)) - -- Adds more information in the debug view about what shape is selected and coordinates. - -#### Grouping examples into categories ([#2585](https://github.com/tldraw/tldraw/pull/2585)) - -- Add collapsible categories to the examples app - -#### [Fix] Overlapping non-adjacent handles ([#2663](https://github.com/tldraw/tldraw/pull/2663)) - -- Fixed a bug with virtual / create handle visibility. - -#### [Fix] Missing bend handles on curved arrows ([#2661](https://github.com/tldraw/tldraw/pull/2661)) - -- Fixed a bug where the bend handle on arrows with a large curve could sometimes be hidden. - -#### Improved duplication ([#2480](https://github.com/tldraw/tldraw/pull/2480)) - -- Add a brief release note for your PR here. - -#### Positional keyboard shortcuts for toolbar ([#2409](https://github.com/tldraw/tldraw/pull/2409)) - -- You can now use the number keys to select the corresponding tool from the toolbar - -#### Add button to Examples to request an example ([#2597](https://github.com/tldraw/tldraw/pull/2597)) - -- Add a button to request an example to the examples app - -#### Update README and examples copy in the docs ([#2594](https://github.com/tldraw/tldraw/pull/2594)) - -- Update examples copy and tldraw README - -#### Remove repeated word in CONTRIBUTING.md ([#2651](https://github.com/tldraw/tldraw/pull/2651)) - -- Remove repeated word in CONTRIBUTING.md. - -#### [Fix] Wheel bug ([#2657](https://github.com/tldraw/tldraw/pull/2657)) - -- Fixed a bug with the mouse wheel effecting the pointer location when the editor was not full screen - -#### Update layout.tsx ([#2619](https://github.com/tldraw/tldraw/pull/2619)) - -- Add a brief release note for your PR here. - -#### [Improvement] Share zone styling ([#2628](https://github.com/tldraw/tldraw/pull/2628)) - -- Tweaked user avatar size. - -#### [draft] Keep editor focus after losing focus of an action button ([#2630](https://github.com/tldraw/tldraw/pull/2630)) - -- Fixed a bug where keyboard shortcuts could stop working after using an action button. - -#### Fix nudge bug ([#2634](https://github.com/tldraw/tldraw/pull/2634)) - -- Fixes a bug with keyboard nudging. - -#### menus: address several little big things about menu styling ([#2624](https://github.com/tldraw/tldraw/pull/2624)) - -- Fixes nits on styling on our Radix menus. - -#### i18n: sort languages by name, not by locale code ([#2625](https://github.com/tldraw/tldraw/pull/2625)) - -- Sorts the locale list by locale name, not code. - -#### style: fix missing titles on vertical align menu ([#2623](https://github.com/tldraw/tldraw/pull/2623)) - -- Adds missing titles to vertical align menu. - -#### Only actions on selected shapes if we are in select tool. ([#2617](https://github.com/tldraw/tldraw/pull/2617)) - -- Disable actions that work on selections when we are not in select tool as it makes it not obvious what the target for these actions. - -#### debug: add FPS counter ([#2558](https://github.com/tldraw/tldraw/pull/2558)) - -- Adds FPS counter to debug panel. - -#### Fix ios export crash ([#2615](https://github.com/tldraw/tldraw/pull/2615)) - -- iOS Safari: Fixed a crash when exporting large images. - -#### arrows: add ability to change label placement ([#2557](https://github.com/tldraw/tldraw/pull/2557)) - -- Adds ability to change label position on arrows. - -#### Add context toolbar example. ([#2596](https://github.com/tldraw/tldraw/pull/2596)) - -- Add context toolbar example. - -#### Export TLCommandHistoryOptions type ([#2598](https://github.com/tldraw/tldraw/pull/2598)) - -- Added TLCommandHistoryOptions to the exported types. - -#### [improvement] better comma control for pointer ([#2568](https://github.com/tldraw/tldraw/pull/2568)) - -- Improve comma key as a replacement for pointer down / pointer up. - -#### fix: replaced dead links ([#2567](https://github.com/tldraw/tldraw/pull/2567)) - -- N/A - -#### [dotcom] Delete service worker, cache tldraw assets ([#2552](https://github.com/tldraw/tldraw/pull/2552)) - -- Fix 'could not load assets' error that we often see on tldraw.com after a deploy - -#### Allow snapping of shapes to the frame when dragging inside the frame. ([#2520](https://github.com/tldraw/tldraw/pull/2520)) - -- Adds snapping to frames when dragging shapes inside a frame. - -#### Allow dismissing dialogs by clicking backdrop ([#2497](https://github.com/tldraw/tldraw/pull/2497)) - -- Allows dismissing dialogs by clicking the backdrop. - -#### Fix the first run of dev script. ([#2484](https://github.com/tldraw/tldraw/pull/2484)) - -- Fix first `yarn dev` experience. - -#### Prevent overlay content disappearing at some browser zoom levels ([#2483](https://github.com/tldraw/tldraw/pull/2483)) - -- removes the internal `useDprMultiple` hook - -#### add keyboard shortcuts example ([#2474](https://github.com/tldraw/tldraw/pull/2474)) - -- Add keyboard shortcuts example - -#### [hot take] Make dark mode colours pop more ([#2478](https://github.com/tldraw/tldraw/pull/2478)) - -- Tweaked dark mode colour styles to make them pop more. - -#### fix typo in hideRotateHandle method ([#2473](https://github.com/tldraw/tldraw/pull/2473)) - -- fix typo in hideRotateHandle method - -#### Maintain bindings whilst translating arrows ([#2424](https://github.com/tldraw/tldraw/pull/2424)) - -- You can now move arrows without them becoming unattached the shapes they're pointing to - -#### [improvement] update dark mode ([#2468](https://github.com/tldraw/tldraw/pull/2468)) - -- Updated dark mode colors. - -#### rename and annotate user presence example ([#2462](https://github.com/tldraw/tldraw/pull/2462)) - -- annotate user presence example and rename to presence-record - -#### annotate onthecanvas example ([#2459](https://github.com/tldraw/tldraw/pull/2459)) - -- annotate onthecanvas example - -#### annotate snapshot example ([#2454](https://github.com/tldraw/tldraw/pull/2454)) - -- annotate snapshot example - -#### Fix and annotate minimal example ([#2448](https://github.com/tldraw/tldraw/pull/2448)) - -- Fix and annotate minimal example - -#### annotate zones example ([#2461](https://github.com/tldraw/tldraw/pull/2461)) - -- annotate zones example - -#### annotate ui events example ([#2460](https://github.com/tldraw/tldraw/pull/2460)) - -- annotate ui events example - -#### Annotate shape meta data example ([#2453](https://github.com/tldraw/tldraw/pull/2453)) - -- Annotate shape meta data example - -#### Annotate example for using Tldraw component in a scrollable container ([#2452](https://github.com/tldraw/tldraw/pull/2452)) - -- Annotate example for using Tldraw component in a scrollable container - -#### Annotate example for making editor read-only ([#2451](https://github.com/tldraw/tldraw/pull/2451)) - -- Annotate example for making editor read-only - -#### Fix typos and add comments for persistence example ([#2450](https://github.com/tldraw/tldraw/pull/2450)) - -- Fix typos and add comments for persistence example - -#### Fix bookmark info for VS Code ([#2449](https://github.com/tldraw/tldraw/pull/2449)) - -- Fix bookmark image and description for VS code extension. - -#### [fix] disable vertical edge resizing for text on mobile ([#2456](https://github.com/tldraw/tldraw/pull/2456)) - -- Add a brief release note for your PR here. - -#### Don't bother measuring canvas max size for small images ([#2442](https://github.com/tldraw/tldraw/pull/2442)) - -- Android: Sped up exporting and importing images. - -#### [Minor] change Simplified Chinese label to Chinese ([#2434](https://github.com/tldraw/tldraw/pull/2434)) - -- Changed the label for the Simplified Chinese language from `Chinese - Simplified` to `简体中文`, following the convention of other languages. -- Updated the API and relevant documentation through build scripts. - -#### annotate external sources example ([#2414](https://github.com/tldraw/tldraw/pull/2414)) - -- Adds annotation to the external sources example. - -#### annotate multiple example ([#2431](https://github.com/tldraw/tldraw/pull/2431)) - -- annotate multiple example - -#### annotate force mobile example ([#2421](https://github.com/tldraw/tldraw/pull/2421)) - -- annotate force mobile example - -#### annotate hosted images example ([#2422](https://github.com/tldraw/tldraw/pull/2422)) - -- annotate hosted images example - -#### annotate local images example ([#2423](https://github.com/tldraw/tldraw/pull/2423)) - -- annotate local images example - -#### Lokalise: Translations update ([#2418](https://github.com/tldraw/tldraw/pull/2418)) - -- Added Hungarian translations. -- Updated Turkish translations. - -#### annotate meta oncreate example ([#2426](https://github.com/tldraw/tldraw/pull/2426)) - -- annotate meta oncreate example - -#### Annotate exploded example ([#2413](https://github.com/tldraw/tldraw/pull/2413)) - -- Adds annotation to exploded example -- imports all default components instead of just a few - -#### annotate hide-ui example ([#2420](https://github.com/tldraw/tldraw/pull/2420)) - -- Annotate hide ui example - -#### Annotate custom ui example ([#2408](https://github.com/tldraw/tldraw/pull/2408)) - -- Adds annotation to the custom ui example - -#### [improvement] account for coarse pointers / insets in edge scrolling ([#2401](https://github.com/tldraw/tldraw/pull/2401)) - -- Add `instanceState.insets` to track which edges of the component are inset from the edges of the document body. -- Improve behavior around edge scrolling - -#### Custom components annotation ([#2403](https://github.com/tldraw/tldraw/pull/2403)) - -- Annotate the custom components example. - -#### annotate meta onchange ([#2430](https://github.com/tldraw/tldraw/pull/2430)) - -- annotate meta onchange - ---- - -#### 💥 Breaking Change - -- `@tldraw/editor`, `@tldraw/tldraw` - - Use canvas bounds for viewport bounds [#2798](https://github.com/tldraw/tldraw/pull/2798) ([@steveruizok](https://github.com/steveruizok)) - - Remove Geometry2d.isSnappable [#2768](https://github.com/tldraw/tldraw/pull/2768) ([@SomeHats](https://github.com/SomeHats)) - - [Fix] Camera coordinate issues [#2719](https://github.com/tldraw/tldraw/pull/2719) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/utils` - - Split snap manager into ShapeBoundsSnaps and HandleSnaps [#2747](https://github.com/tldraw/tldraw/pull/2747) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/tldraw`, `@tldraw/utils` - - faster image processing in default asset handler [#2441](https://github.com/tldraw/tldraw/pull/2441) ([@SomeHats](https://github.com/SomeHats)) - -#### 🚀 Enhancement - -- docs: rework search UI [#2723](https://github.com/tldraw/tldraw/pull/2723) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - [dx] use Biome instead of Prettier, part 2 [#2731](https://github.com/tldraw/tldraw/pull/2731) ([@si14](https://github.com/si14)) -- `@tldraw/assets`, `@tldraw/tlschema` - - [dx] use Biome instead of Prettier, part 1 [#2729](https://github.com/tldraw/tldraw/pull/2729) ([@si14](https://github.com/si14)) -- `@tldraw/tldraw` - - debug: start adding more tooling for debugging when interacting with shapes [#2560](https://github.com/tldraw/tldraw/pull/2560) ([@mimecuvalo](https://github.com/mimecuvalo)) - - Positional keyboard shortcuts for toolbar [#2409](https://github.com/tldraw/tldraw/pull/2409) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw`, `@tldraw/tlschema` - - Improved duplication [#2480](https://github.com/tldraw/tldraw/pull/2480) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@MitjaBezensek](https://github.com/MitjaBezensek) [@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw` - - debug: add FPS counter [#2558](https://github.com/tldraw/tldraw/pull/2558) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) - - [improvement] better comma control for pointer [#2568](https://github.com/tldraw/tldraw/pull/2568) ([@steveruizok](https://github.com/steveruizok)) - - Allow snapping of shapes to the frame when dragging inside the frame. [#2520](https://github.com/tldraw/tldraw/pull/2520) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Maintain bindings whilst translating arrows [#2424](https://github.com/tldraw/tldraw/pull/2424) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) - - [improvement] update dark mode [#2468](https://github.com/tldraw/tldraw/pull/2468) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - arrows: add ability to change label placement [#2557](https://github.com/tldraw/tldraw/pull/2557) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok) [@SomeHats](https://github.com/SomeHats)) - - [improvement] account for coarse pointers / insets in edge scrolling [#2401](https://github.com/tldraw/tldraw/pull/2401) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets` - - [dotcom] Delete service worker, cache tldraw assets [#2552](https://github.com/tldraw/tldraw/pull/2552) ([@ds300](https://github.com/ds300)) - -#### 🐛 Bug Fix - -- VS Code 2.0.24 [#2816](https://github.com/tldraw/tldraw/pull/2816) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- menu: just have an empty space for checked menuitems [#2785](https://github.com/tldraw/tldraw/pull/2785) ([@mimecuvalo](https://github.com/mimecuvalo)) -- VS Code 2.0.23 [#2756](https://github.com/tldraw/tldraw/pull/2756) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- seo: attempt at avoiding a "soft 404" with there being thin content on dotcom [#2737](https://github.com/tldraw/tldraw/pull/2737) ([@mimecuvalo](https://github.com/mimecuvalo)) -- docs: add full-text search [#2735](https://github.com/tldraw/tldraw/pull/2735) ([@mimecuvalo](https://github.com/mimecuvalo)) -- docs: fix up gen links to point to the new /reference section [#2690](https://github.com/tldraw/tldraw/pull/2690) ([@mimecuvalo](https://github.com/mimecuvalo)) -- [DX] Use tabs in JSON.stringify [#2674](https://github.com/tldraw/tldraw/pull/2674) ([@steveruizok](https://github.com/steveruizok)) -- [Improvement] Share zone styling [#2628](https://github.com/tldraw/tldraw/pull/2628) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) -- VS Code 2.0.22 [#2500](https://github.com/tldraw/tldraw/pull/2500) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- fix geo cloud icon [#2485](https://github.com/tldraw/tldraw/pull/2485) ([@ds300](https://github.com/ds300)) -- Update README.md [#2464](https://github.com/tldraw/tldraw/pull/2464) ([@steveruizok](https://github.com/steveruizok)) -- Fix bookmark info for VS Code [#2449](https://github.com/tldraw/tldraw/pull/2449) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Fix the publish script [#2440](https://github.com/tldraw/tldraw/pull/2440) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Lokalise: Translations update [#2418](https://github.com/tldraw/tldraw/pull/2418) ([@TodePond](https://github.com/TodePond)) -- VS Code 2.0.21 [#2438](https://github.com/tldraw/tldraw/pull/2438) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor` - - Fix camera. [#2818](https://github.com/tldraw/tldraw/pull/2818) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - [fix] overlays, custom brush example [#2806](https://github.com/tldraw/tldraw/pull/2806) ([@steveruizok](https://github.com/steveruizok)) - - Fix pinch zooming [#2748](https://github.com/tldraw/tldraw/pull/2748) ([@TodePond](https://github.com/TodePond)) - - [Improvement] Text measurement tweaks [#2670](https://github.com/tldraw/tldraw/pull/2670) ([@steveruizok](https://github.com/steveruizok)) - - [Fix] Missing bend handles on curved arrows [#2661](https://github.com/tldraw/tldraw/pull/2661) ([@steveruizok](https://github.com/steveruizok)) - - [Fix] Wheel bug [#2657](https://github.com/tldraw/tldraw/pull/2657) ([@steveruizok](https://github.com/steveruizok)) - - Export TLCommandHistoryOptions type [#2598](https://github.com/tldraw/tldraw/pull/2598) ([@steveruizok](https://github.com/steveruizok)) - - Prevent overlay content disappearing at some browser zoom levels [#2483](https://github.com/tldraw/tldraw/pull/2483) ([@ds300](https://github.com/ds300)) -- `@tldraw/tldraw` - - Style UI based on component size instead of window size [#2758](https://github.com/tldraw/tldraw/pull/2758) ([@TodePond](https://github.com/TodePond)) - - Fixed actions menu opening in wrong direction on mobile (and add an inline layout example) [#2730](https://github.com/tldraw/tldraw/pull/2730) ([@TodePond](https://github.com/TodePond)) - - rearrange export / import from tldraw to help builds [#2739](https://github.com/tldraw/tldraw/pull/2739) ([@mimecuvalo](https://github.com/mimecuvalo)) - - Fix infinite cursor chat issue by partially reverting "reactive context menu overrides (#2697)" [#2775](https://github.com/tldraw/tldraw/pull/2775) ([@SomeHats](https://github.com/SomeHats)) - - [fix] VSCode keyboard shortcuts while editing text [#2721](https://github.com/tldraw/tldraw/pull/2721) ([@steveruizok](https://github.com/steveruizok)) - - [fix] Debug panel text overflow [#2715](https://github.com/tldraw/tldraw/pull/2715) ([@steveruizok](https://github.com/steveruizok)) - - reactive context menu overrides [#2697](https://github.com/tldraw/tldraw/pull/2697) ([@SomeHats](https://github.com/SomeHats)) - - [Fix] Note shape border radius [#2696](https://github.com/tldraw/tldraw/pull/2696) ([@steveruizok](https://github.com/steveruizok)) - - Fix svg exporting for images with not fully qualified url (`/tldraw.png` or `./tldraw.png`) [#2676](https://github.com/tldraw/tldraw/pull/2676) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) - - [draft] Keep editor focus after losing focus of an action button [#2630](https://github.com/tldraw/tldraw/pull/2630) ([@TodePond](https://github.com/TodePond)) - - menus: address several little big things about menu styling [#2624](https://github.com/tldraw/tldraw/pull/2624) ([@mimecuvalo](https://github.com/mimecuvalo)) - - style: fix missing titles on vertical align menu [#2623](https://github.com/tldraw/tldraw/pull/2623) ([@mimecuvalo](https://github.com/mimecuvalo)) - - Only actions on selected shapes if we are in select tool. [#2617](https://github.com/tldraw/tldraw/pull/2617) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Fix ios export crash [#2615](https://github.com/tldraw/tldraw/pull/2615) ([@TodePond](https://github.com/TodePond)) - - Allow dismissing dialogs by clicking backdrop [#2497](https://github.com/tldraw/tldraw/pull/2497) ([@ds300](https://github.com/ds300)) - - Fix the first run of dev script. [#2484](https://github.com/tldraw/tldraw/pull/2484) ([@MitjaBezensek](https://github.com/MitjaBezensek)) - - Don't bother measuring canvas max size for small images [#2442](https://github.com/tldraw/tldraw/pull/2442) ([@TodePond](https://github.com/TodePond)) - - Fix main. [#2439](https://github.com/tldraw/tldraw/pull/2439) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/validate` - - error reporting: rm ids from msgs for better Sentry grouping [#2738](https://github.com/tldraw/tldraw/pull/2738) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tlschema` - - i18n: add HR 🇭🇷 [#2778](https://github.com/tldraw/tldraw/pull/2778) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/editor`, `@tldraw/tldraw` - - arrows: account for another NaN [#2753](https://github.com/tldraw/tldraw/pull/2753) ([@mimecuvalo](https://github.com/mimecuvalo)) - - arrows: update cursor only when in Select mode [#2742](https://github.com/tldraw/tldraw/pull/2742) ([@mimecuvalo](https://github.com/mimecuvalo)) - - [Fix] Overlapping non-adjacent handles [#2663](https://github.com/tldraw/tldraw/pull/2663) ([@steveruizok](https://github.com/steveruizok)) - - Fix nudge bug [#2634](https://github.com/tldraw/tldraw/pull/2634) ([@steveruizok](https://github.com/steveruizok)) - - [tweak] dark mode colors [#2469](https://github.com/tldraw/tldraw/pull/2469) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - arrows: separate out handle behavior from labels [#2621](https://github.com/tldraw/tldraw/pull/2621) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tlschema` - - i18n: sort languages by name, not by locale code [#2625](https://github.com/tldraw/tldraw/pull/2625) ([@mimecuvalo](https://github.com/mimecuvalo)) - - [hot take] Make dark mode colours pop more [#2478](https://github.com/tldraw/tldraw/pull/2478) ([@TodePond](https://github.com/TodePond) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) - - [Minor] change Simplified Chinese label to Chinese [#2434](https://github.com/tldraw/tldraw/pull/2434) ([@peilingjiang](https://github.com/peilingjiang)) -- `@tldraw/editor`, `@tldraw/tlschema` - - Make sure correct dark mode colours get used in exports [#2492](https://github.com/tldraw/tldraw/pull/2492) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) -- `@tldraw/validate` - - Fix validation for local files. [#2447](https://github.com/tldraw/tldraw/pull/2447) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tldraw`, `@tldraw/tlschema` - - [fix] disable vertical edge resizing for text on mobile [#2456](https://github.com/tldraw/tldraw/pull/2456) ([@mimecuvalo](https://github.com/mimecuvalo)) - -#### 🏠 Internal - -- hello@tldraw.com -> sales@tldraw.com [#2774](https://github.com/tldraw/tldraw/pull/2774) ([@steveruizok](https://github.com/steveruizok)) -- fix(infra): Fix routing config [#2741](https://github.com/tldraw/tldraw/pull/2741) ([@ds300](https://github.com/ds300)) -- [dotcom] `TLSyncRoom` tidy [#2712](https://github.com/tldraw/tldraw/pull/2712) ([@steveruizok](https://github.com/steveruizok)) -- [dx] add gen docs to gitignore [#2704](https://github.com/tldraw/tldraw/pull/2704) ([@steveruizok](https://github.com/steveruizok)) -- return 404 on missing docs content instead of 500 [#2699](https://github.com/tldraw/tldraw/pull/2699) ([@si14](https://github.com/si14)) -- fix prune preview deployment script [#2698](https://github.com/tldraw/tldraw/pull/2698) ([@SomeHats](https://github.com/SomeHats)) -- fix sub-project vercel configs [#2687](https://github.com/tldraw/tldraw/pull/2687) ([@si14](https://github.com/si14)) -- remove dotcom's vercel.json [#2689](https://github.com/tldraw/tldraw/pull/2689) ([@si14](https://github.com/si14)) -- check for duplicate dependencies in CI [#2682](https://github.com/tldraw/tldraw/pull/2682) ([@si14](https://github.com/si14)) -- Introduce a Cloudflare health worker [#2499](https://github.com/tldraw/tldraw/pull/2499) ([@si14](https://github.com/si14) [@steveruizok](https://github.com/steveruizok)) -- [dx] Add docs to lazy caching. [#2672](https://github.com/tldraw/tldraw/pull/2672) ([@steveruizok](https://github.com/steveruizok)) -- Restore vercel.jsons [#2650](https://github.com/tldraw/tldraw/pull/2650) ([@steveruizok](https://github.com/steveruizok)) -- remove erroneous mount entry from fly.toml [#2644](https://github.com/tldraw/tldraw/pull/2644) ([@si14](https://github.com/si14)) -- make Huppy deployable (again) [#2632](https://github.com/tldraw/tldraw/pull/2632) ([@si14](https://github.com/si14)) -- Fix yarn clean [#2620](https://github.com/tldraw/tldraw/pull/2620) ([@si14](https://github.com/si14)) -- Replace "original tldraw issue" with docs link. [#2599](https://github.com/tldraw/tldraw/pull/2599) ([@steveruizok](https://github.com/steveruizok)) -- [Internal] Create build-docs.sh [#2569](https://github.com/tldraw/tldraw/pull/2569) ([@steveruizok](https://github.com/steveruizok)) -- add dev / build scripts [#2551](https://github.com/tldraw/tldraw/pull/2551) ([@steveruizok](https://github.com/steveruizok)) -- auto-it/typescript fails the release, patch the problem away while mods are asleep [#2498](https://github.com/tldraw/tldraw/pull/2498) ([@si14](https://github.com/si14)) -- use github.ref rather than github.event.ref in deploy.yml [#2495](https://github.com/tldraw/tldraw/pull/2495) ([@SomeHats](https://github.com/SomeHats)) -- add bash scripts for Vercel [#2494](https://github.com/tldraw/tldraw/pull/2494) ([@si14](https://github.com/si14)) -- `@tldraw/tldraw` - - examples: clean up Canvas/Store events and make UiEvents have code snippets [#2770](https://github.com/tldraw/tldraw/pull/2770) ([@mimecuvalo](https://github.com/mimecuvalo)) - - delete unused duplicated DraggingHandle.ts [#2463](https://github.com/tldraw/tldraw/pull/2463) ([@ds300](https://github.com/ds300)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - Unbiome [#2776](https://github.com/tldraw/tldraw/pull/2776) ([@si14](https://github.com/si14)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/validate` - - Update the project to Node 20 [#2691](https://github.com/tldraw/tldraw/pull/2691) ([@si14](https://github.com/si14)) - - Add docs [#2470](https://github.com/tldraw/tldraw/pull/2470) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/store`, `@tldraw/tlschema` - - make CI check for yarn install warnings and fix the peer deps ones we have [#2683](https://github.com/tldraw/tldraw/pull/2683) ([@si14](https://github.com/si14)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - dev: add test-dev command for easier testing of packages [#2627](https://github.com/tldraw/tldraw/pull/2627) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/state`, `@tldraw/store` - - unbrivate, dot com in [#2475](https://github.com/tldraw/tldraw/pull/2475) ([@steveruizok](https://github.com/steveruizok) [@si14](https://github.com/si14) [@SomeHats](https://github.com/SomeHats)) - -#### 📝 Documentation - -- [docs] Small style changes [#2805](https://github.com/tldraw/tldraw/pull/2805) ([@steveruizok](https://github.com/steveruizok)) -- docs: better code snippets [#2801](https://github.com/tldraw/tldraw/pull/2801) ([@mimecuvalo](https://github.com/mimecuvalo)) -- Quick start guide [#2692](https://github.com/tldraw/tldraw/pull/2692) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@mimecuvalo](https://github.com/mimecuvalo)) -- docs: rm ... from some examples and fix up inset example [#2788](https://github.com/tldraw/tldraw/pull/2788) ([@mimecuvalo](https://github.com/mimecuvalo)) -- docs: fix scrolling issue with sidebar [#2791](https://github.com/tldraw/tldraw/pull/2791) ([@mimecuvalo](https://github.com/mimecuvalo)) -- docs: disable ai search for now [#2740](https://github.com/tldraw/tldraw/pull/2740) ([@mimecuvalo](https://github.com/mimecuvalo)) -- [docs] Autocomplete styling tweaks [#2732](https://github.com/tldraw/tldraw/pull/2732) ([@steveruizok](https://github.com/steveruizok)) -- docs: fix CORS issue and broken example link [#2727](https://github.com/tldraw/tldraw/pull/2727) ([@mimecuvalo](https://github.com/mimecuvalo)) -- [docs] Fix links, little style tweaks [#2724](https://github.com/tldraw/tldraw/pull/2724) ([@steveruizok](https://github.com/steveruizok) [@mimecuvalo](https://github.com/mimecuvalo)) -- [Docs] Tweak sidebar titles [#2706](https://github.com/tldraw/tldraw/pull/2706) ([@steveruizok](https://github.com/steveruizok)) -- fix(docs): fix user-interface.mdx [#2700](https://github.com/tldraw/tldraw/pull/2700) ([@Rokixy](https://github.com/Rokixy) [@steveruizok](https://github.com/steveruizok)) -- docs: more cleanup following restructure [#2702](https://github.com/tldraw/tldraw/pull/2702) ([@mimecuvalo](https://github.com/mimecuvalo)) -- [Examples] Add a stupid 404 page [#2694](https://github.com/tldraw/tldraw/pull/2694) ([@steveruizok](https://github.com/steveruizok)) -- docs: rework docs site to have different sections [#2686](https://github.com/tldraw/tldraw/pull/2686) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok) [@MitjaBezensek](https://github.com/MitjaBezensek) [@mimecuvalo](https://github.com/mimecuvalo) [@TodePond](https://github.com/TodePond) [@si14](https://github.com/si14)) -- Remove examples app landing page [#2678](https://github.com/tldraw/tldraw/pull/2678) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Grouping examples into categories [#2585](https://github.com/tldraw/tldraw/pull/2585) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- Add button to Examples to request an example [#2597](https://github.com/tldraw/tldraw/pull/2597) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- Update README and examples copy in the docs [#2594](https://github.com/tldraw/tldraw/pull/2594) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Remove repeated word in CONTRIBUTING.md [#2651](https://github.com/tldraw/tldraw/pull/2651) ([@albjoh2](https://github.com/albjoh2)) -- Update layout.tsx [#2619](https://github.com/tldraw/tldraw/pull/2619) ([@steveruizok](https://github.com/steveruizok)) -- Add context toolbar example. [#2596](https://github.com/tldraw/tldraw/pull/2596) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Use simple example [#2561](https://github.com/tldraw/tldraw/pull/2561) ([@steveruizok](https://github.com/steveruizok)) -- fix: replaced dead links [#2567](https://github.com/tldraw/tldraw/pull/2567) ([@alikiki](https://github.com/alikiki) [@steveruizok](https://github.com/steveruizok)) -- add keyboard shortcuts example [#2474](https://github.com/tldraw/tldraw/pull/2474) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Fix translations link [#2477](https://github.com/tldraw/tldraw/pull/2477) ([@steveruizok](https://github.com/steveruizok)) -- rename and annotate user presence example [#2462](https://github.com/tldraw/tldraw/pull/2462) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- annotate onthecanvas example [#2459](https://github.com/tldraw/tldraw/pull/2459) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate snapshot example [#2454](https://github.com/tldraw/tldraw/pull/2454) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Fix and annotate minimal example [#2448](https://github.com/tldraw/tldraw/pull/2448) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate zones example [#2461](https://github.com/tldraw/tldraw/pull/2461) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate ui events example [#2460](https://github.com/tldraw/tldraw/pull/2460) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate shape meta data example [#2453](https://github.com/tldraw/tldraw/pull/2453) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate example for using Tldraw component in a scrollable container [#2452](https://github.com/tldraw/tldraw/pull/2452) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate example for making editor read-only [#2451](https://github.com/tldraw/tldraw/pull/2451) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Fix typos and add comments for persistence example [#2450](https://github.com/tldraw/tldraw/pull/2450) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate external sources example [#2414](https://github.com/tldraw/tldraw/pull/2414) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- Update README [#2444](https://github.com/tldraw/tldraw/pull/2444) ([@steveruizok](https://github.com/steveruizok)) -- annotate multiple example [#2431](https://github.com/tldraw/tldraw/pull/2431) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) -- annotate force mobile example [#2421](https://github.com/tldraw/tldraw/pull/2421) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate hosted images example [#2422](https://github.com/tldraw/tldraw/pull/2422) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate local images example [#2423](https://github.com/tldraw/tldraw/pull/2423) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate meta oncreate example [#2426](https://github.com/tldraw/tldraw/pull/2426) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate exploded example [#2413](https://github.com/tldraw/tldraw/pull/2413) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate hide-ui example [#2420](https://github.com/tldraw/tldraw/pull/2420) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Annotate custom ui example [#2408](https://github.com/tldraw/tldraw/pull/2408) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- Custom components annotation [#2403](https://github.com/tldraw/tldraw/pull/2403) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- annotate meta onchange [#2430](https://github.com/tldraw/tldraw/pull/2430) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- `@tldraw/tldraw` - - Examples tweaks [#2681](https://github.com/tldraw/tldraw/pull/2681) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor` - - fix typo in hideRotateHandle method [#2473](https://github.com/tldraw/tldraw/pull/2473) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - -#### 🧪 Tests - -- `@tldraw/editor`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/utils` - - Bump jest to fix weird prettier bug [#2716](https://github.com/tldraw/tldraw/pull/2716) ([@steveruizok](https://github.com/steveruizok)) - -#### 🔩 Dependency Updates - -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - Bump Yarn to 4.0.2 and add version constraints [#2481](https://github.com/tldraw/tldraw/pull/2481) ([@si14](https://github.com/si14)) - -#### Authors: 13 - -- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) -- [@Rokixy](https://github.com/Rokixy) -- a22albjo ([@albjoh2](https://github.com/albjoh2)) -- Alex ([@alikiki](https://github.com/alikiki)) -- alex ([@SomeHats](https://github.com/SomeHats)) -- Dan Groshev ([@si14](https://github.com/si14)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- Peiling Jiang ([@peilingjiang](https://github.com/peilingjiang)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/releases/v2.0.0-beta.4.mdx b/apps/docs/content/releases/v2.0.0-beta.4.mdx deleted file mode 100644 index 15474424e..000000000 --- a/apps/docs/content/releases/v2.0.0-beta.4.mdx +++ /dev/null @@ -1,239 +0,0 @@ ---- -title: v2.0.0-beta.4 -description: Examples -author: tldraw -date: 2/21/2024 -order: 0 -status: published ---- - -[View on GitHub](https://github.com/tldraw/tldraw/releases/tag/v2.0.0-beta.4) - - -#### menu fixes: add company links in general; add tracking to lang menu ([#2902](https://github.com/tldraw/tldraw/pull/2902)) - -- Add company menu links back in and make sure the Language menu is updated on change. - -#### Fix some menu issues on mobile ([#2906](https://github.com/tldraw/tldraw/pull/2906)) - -- Add a brief release note for your PR here. - -#### [experiment] paste: show little puff when pasting to denote something happened ([#2787](https://github.com/tldraw/tldraw/pull/2787)) - -- UI: add a little 'puff' when something is pasted to tell that something has happened. - -#### Fix custom keyboard shortcut dialog example ([#2876](https://github.com/tldraw/tldraw/pull/2876)) - -- Docs: Fixed custom keyboard shortcut dialog example. - -#### Sentence case all example titles ([#2889](https://github.com/tldraw/tldraw/pull/2889)) - -- Docs: Made the examples titles sentence case. - -#### Fix 'style panel doesn't always disappear if you switch to the hand/laser tools' ([#2886](https://github.com/tldraw/tldraw/pull/2886)) - -- Fixes an bug causing the opacity slider to show up in the move tool and laser pointer tool. - -#### Faster validations + record reference stability at the same time ([#2848](https://github.com/tldraw/tldraw/pull/2848)) - -- Add a brief release note for your PR here. - -#### [Snapping 6/6] Self-snapping API ([#2869](https://github.com/tldraw/tldraw/pull/2869)) - -- Line handles now snap to other handles on the same line when holding command - -#### Editable shape example ([#2853](https://github.com/tldraw/tldraw/pull/2853)) - -- Adds an editable shape example - -#### Fix dialog title styles ([#2873](https://github.com/tldraw/tldraw/pull/2873)) - -- Unreleased bug: Fixed dialog titles appearance. - -#### Fix some incorrect translation keys ([#2870](https://github.com/tldraw/tldraw/pull/2870)) - -- Unreleased issue. Fixed some translation keys being wrong. - -#### Allow users to set document name and use it for exporting / saving ([#2685](https://github.com/tldraw/tldraw/pull/2685)) - -- Allow users to name their documents. - -#### Fix some problem under Windows OS development enviroment ([#2722](https://github.com/tldraw/tldraw/pull/2722)) - -- stablize language.ts when running under different OS language. -- add isWin32() and posixPath() to format the parameter of glob.sync(). -- use child_process.exec() instead of child_process.execFile() for win32 platform. - -#### doc: fix typo in examples ([#2859](https://github.com/tldraw/tldraw/pull/2859)) - -- fix typo in examples - -#### [fix] grid, other insets ([#2858](https://github.com/tldraw/tldraw/pull/2858)) - -- Fixes a bug with the grid not appearing. - -#### E2e tests for the toolbar ([#2709](https://github.com/tldraw/tldraw/pull/2709)) - -- Add e2e tests for the toolbar - -#### fix frame style panel ([#2851](https://github.com/tldraw/tldraw/pull/2851)) - -- Fixes an issue with the opacity slider getting squished. - -#### Add component for viewing an image of a snapshot ([#2804](https://github.com/tldraw/tldraw/pull/2804)) - -- Dev: Added the `TldrawImage` component. - -#### fix typo(examples/hosted-images) ([#2849](https://github.com/tldraw/tldraw/pull/2849)) - -- Fixed a typo in the description in the hosted-images example. - -#### ui: refactor breakpoints to fit in an enum ([#2843](https://github.com/tldraw/tldraw/pull/2843)) - -- Refactor breakpoints into an enum. - -#### [Snapping 5/5] Better handle snapping for geo shapes ([#2845](https://github.com/tldraw/tldraw/pull/2845)) - -- You can now snap the handles of lines to the corners of rectangles, stars, triangles, etc. - -#### [Snapping 4/5] Add handle-point snapping ([#2841](https://github.com/tldraw/tldraw/pull/2841)) - -- Line handles - -#### [Snapping 3/5] Custom snapping API ([#2793](https://github.com/tldraw/tldraw/pull/2793)) - -- Add `ShapeUtil.getSnapInfo` for customising shape snaps. - -#### Composable custom UI ([#2796](https://github.com/tldraw/tldraw/pull/2796)) - -- Add a brief release note for your PR here. - -#### errors: improve msg in dialog when error happens ([#2844](https://github.com/tldraw/tldraw/pull/2844)) - -- Improves error dialog messaging. - -#### [Snapping 2/5] Fix line-handle mid-point snapping ([#2831](https://github.com/tldraw/tldraw/pull/2831)) - -- Simplify the contents of `TLLineShape.props.handles` - -#### Readonly defaults to the hand tool ([#2833](https://github.com/tldraw/tldraw/pull/2833)) - -- Shared projects in read only mode now default to the hand tool - -#### Improve signia error handling ([#2835](https://github.com/tldraw/tldraw/pull/2835)) - -- Add a brief release note for your PR here. - -#### [docs] Fix missing Persistence page ([#2828](https://github.com/tldraw/tldraw/pull/2828)) - -- Add a brief release note for your PR here. - -#### emojis! 🧑‍🎨 🎨 ✏️ ([#2814](https://github.com/tldraw/tldraw/pull/2814)) - -- Adds emoji picker to text fields. - ---- - -#### 💥 Breaking Change - -- `@tldraw/tldraw`, `@tldraw/tlschema` - - Add line IDs & fractional indexes [#2890](https://github.com/tldraw/tldraw/pull/2890) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/editor`, `@tldraw/tldraw` - - Allow users to set document name and use it for exporting / saving [#2685](https://github.com/tldraw/tldraw/pull/2685) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/tldraw` - - UI components round two [#2847](https://github.com/tldraw/tldraw/pull/2847) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/validate` - - Composable custom UI [#2796](https://github.com/tldraw/tldraw/pull/2796) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema` - - [Snapping 2/5] Fix line-handle mid-point snapping [#2831](https://github.com/tldraw/tldraw/pull/2831) ([@SomeHats](https://github.com/SomeHats)) - -#### 🚀 Enhancement - -- Readonly defaults to the hand tool [#2833](https://github.com/tldraw/tldraw/pull/2833) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [Snapping 6/6] Self-snapping API [#2869](https://github.com/tldraw/tldraw/pull/2869) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) - - Add component for viewing an image of a snapshot [#2804](https://github.com/tldraw/tldraw/pull/2804) ([@TodePond](https://github.com/TodePond) [@steveruizok](https://github.com/steveruizok)) - - [Snapping 4/5] Add handle-point snapping [#2841](https://github.com/tldraw/tldraw/pull/2841) ([@SomeHats](https://github.com/SomeHats)) - - [Snapping 3/5] Custom snapping API [#2793](https://github.com/tldraw/tldraw/pull/2793) ([@SomeHats](https://github.com/SomeHats)) - - emojis! 🧑‍🎨 🎨 ✏️ [#2814](https://github.com/tldraw/tldraw/pull/2814) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/tldraw`, `@tldraw/tlschema` - - [handles] Line shape handles -> points [#2856](https://github.com/tldraw/tldraw/pull/2856) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/tldraw` - - [Snapping 5/5] Better handle snapping for geo shapes [#2845](https://github.com/tldraw/tldraw/pull/2845) ([@SomeHats](https://github.com/SomeHats)) - - Remove pointer check for arrow labels [#2824](https://github.com/tldraw/tldraw/pull/2824) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/tlschema` - - Lokalise: Translations update [#2830](https://github.com/tldraw/tldraw/pull/2830) ([@TodePond](https://github.com/TodePond) [@MitjaBezensek](https://github.com/MitjaBezensek)) - -#### 🐛 Bug Fix - -- fix invite others [#2904](https://github.com/tldraw/tldraw/pull/2904) ([@SomeHats](https://github.com/SomeHats)) -- Update Hungarian and Korean [#2871](https://github.com/tldraw/tldraw/pull/2871) ([@TodePond](https://github.com/TodePond)) -- docs: tweak search kbd placement to match loupe [#2834](https://github.com/tldraw/tldraw/pull/2834) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/tldraw` - - menu fixes: add company links in general; add tracking to lang menu [#2902](https://github.com/tldraw/tldraw/pull/2902) ([@mimecuvalo](https://github.com/mimecuvalo)) - - Fix some menu issues on mobile [#2906](https://github.com/tldraw/tldraw/pull/2906) ([@TodePond](https://github.com/TodePond)) - - remove stray 'console' [#2881](https://github.com/tldraw/tldraw/pull/2881) ([@ds300](https://github.com/ds300)) - - Fix dialog title styles [#2873](https://github.com/tldraw/tldraw/pull/2873) ([@TodePond](https://github.com/TodePond)) - - Fix some incorrect translation keys [#2870](https://github.com/tldraw/tldraw/pull/2870) ([@TodePond](https://github.com/TodePond)) - - fix frame style panel [#2851](https://github.com/tldraw/tldraw/pull/2851) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git) [@steveruizok](https://github.com/steveruizok)) - - ui: refactor breakpoints to fit in an enum [#2843](https://github.com/tldraw/tldraw/pull/2843) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/validate` - - Fix object validator [#2897](https://github.com/tldraw/tldraw/pull/2897) ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- `@tldraw/editor`, `@tldraw/tldraw` - - [experiment] paste: show little puff when pasting to denote something happened [#2787](https://github.com/tldraw/tldraw/pull/2787) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) - - Fix 'style panel doesn't always disappear if you switch to the hand/laser tools' [#2886](https://github.com/tldraw/tldraw/pull/2886) ([@ds300](https://github.com/ds300)) - - Roundup fixes [#2862](https://github.com/tldraw/tldraw/pull/2862) ([@steveruizok](https://github.com/steveruizok)) - - [fix] grid, other insets [#2858](https://github.com/tldraw/tldraw/pull/2858) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/validate` - - Faster validations + record reference stability at the same time [#2848](https://github.com/tldraw/tldraw/pull/2848) ([@ds300](https://github.com/ds300)) -- `@tldraw/editor` - - [fix] pointer capture logging when debug flag is off [#2850](https://github.com/tldraw/tldraw/pull/2850) ([@steveruizok](https://github.com/steveruizok)) - - errors: improve msg in dialog when error happens [#2844](https://github.com/tldraw/tldraw/pull/2844) ([@mimecuvalo](https://github.com/mimecuvalo)) - - seo: take 2 [#2817](https://github.com/tldraw/tldraw/pull/2817) ([@mimecuvalo](https://github.com/mimecuvalo) [@steveruizok](https://github.com/steveruizok)) - - [fix] sticky note bug [#2836](https://github.com/tldraw/tldraw/pull/2836) ([@steveruizok](https://github.com/steveruizok)) -- `@tldraw/editor`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - [Snapping 1/5] Validation & strict types for fractional indexes [#2827](https://github.com/tldraw/tldraw/pull/2827) ([@SomeHats](https://github.com/SomeHats)) -- `@tldraw/state` - - Improve signia error handling [#2835](https://github.com/tldraw/tldraw/pull/2835) ([@ds300](https://github.com/ds300)) - -#### 🏠 Internal - -- Fix some problem under Windows OS development enviroment [#2722](https://github.com/tldraw/tldraw/pull/2722) ([@Rokixy](https://github.com/Rokixy)) -- fix typo(examples/hosted-images) [#2849](https://github.com/tldraw/tldraw/pull/2849) ([@pocari](https://github.com/pocari)) -- ✋ humans.txt [#2842](https://github.com/tldraw/tldraw/pull/2842) ([@mimecuvalo](https://github.com/mimecuvalo)) -- examples: rename ui events and increase priority [#2840](https://github.com/tldraw/tldraw/pull/2840) ([@mimecuvalo](https://github.com/mimecuvalo)) -- repair Huppy's handling of LICENCE [#2821](https://github.com/tldraw/tldraw/pull/2821) ([@si14](https://github.com/si14)) -- `@tldraw/assets`, `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/validate` - - Check tsconfig "references" arrays [#2891](https://github.com/tldraw/tldraw/pull/2891) ([@ds300](https://github.com/ds300)) -- `@tldraw/tldraw` - - Fix custom keyboard shortcut dialog example [#2876](https://github.com/tldraw/tldraw/pull/2876) ([@TodePond](https://github.com/TodePond)) -- `@tldraw/editor`, `@tldraw/state`, `@tldraw/store`, `@tldraw/tldraw`, `@tldraw/tlschema`, `@tldraw/utils`, `@tldraw/validate` - - dev: swap yarn test and test-dev for better dx [#2773](https://github.com/tldraw/tldraw/pull/2773) ([@mimecuvalo](https://github.com/mimecuvalo)) -- `@tldraw/editor`, `@tldraw/tldraw` - - Revert "emojis! 🧑‍🎨 🎨 ✏️ (#2814)" [#2822](https://github.com/tldraw/tldraw/pull/2822) ([@si14](https://github.com/si14)) - -#### 📝 Documentation - -- Sentence case all example titles [#2889](https://github.com/tldraw/tldraw/pull/2889) ([@TodePond](https://github.com/TodePond)) -- docs: fix scroll position and theming issue for code snippets [#2883](https://github.com/tldraw/tldraw/pull/2883) ([@mimecuvalo](https://github.com/mimecuvalo)) -- Editable shape example [#2853](https://github.com/tldraw/tldraw/pull/2853) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) -- doc: fix typo in examples [#2859](https://github.com/tldraw/tldraw/pull/2859) ([@Rokixy](https://github.com/Rokixy)) -- [docs] Fix missing Persistence page [#2828](https://github.com/tldraw/tldraw/pull/2828) ([@ds300](https://github.com/ds300)) - -#### 🧪 Tests - -- `@tldraw/tldraw` - - E2e tests for the toolbar [#2709](https://github.com/tldraw/tldraw/pull/2709) ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) - -#### Authors: 10 - -- [@Rokixy](https://github.com/Rokixy) -- alex ([@SomeHats](https://github.com/SomeHats)) -- Dan Groshev ([@si14](https://github.com/si14)) -- David Sheldrick ([@ds300](https://github.com/ds300)) -- Lu Wilson ([@TodePond](https://github.com/TodePond)) -- Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) -- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) -- pocari ([@pocari](https://github.com/pocari)) -- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) -- Taha ([@Taha-Hassan-Git](https://github.com/Taha-Hassan-Git)) \ No newline at end of file diff --git a/apps/docs/content/sections.json b/apps/docs/content/sections.json index 8dbb2266f..1d9da4555 100644 --- a/apps/docs/content/sections.json +++ b/apps/docs/content/sections.json @@ -6,6 +6,13 @@ "categories": [], "sidebar_behavior": "show-links" }, + { + "id": "releases", + "title": "Releases", + "description": "Introduction articles for tldraw.", + "categories": [], + "sidebar_behavior": "hidden" + }, { "id": "docs", "title": "Learn tldraw", @@ -99,7 +106,7 @@ }, { "id": "tldraw", - "title": "@tldraw/tldraw", + "title": "tldraw", "description": "", "groups": [ { diff --git a/apps/docs/package.json b/apps/docs/package.json index 4b1302103..4b888627c 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -29,8 +29,8 @@ "dev": "concurrently \"NODE_ENV=development next dev --port=3001\" \"tsx ./watcher.ts\" --kill-others", "next-dev": "next dev", "lint": "yarn run -T tsx ../../scripts/lint.ts", - "build": "yarn create-api-markdown && yarn refresh-content && next build && yarn check-links", - "start": "yarn create-api-markdown && yarn refresh-content && next start", + "build": "yarn refresh-everything && next build && yarn check-links", + "start": "yarn refresh-everything && next start", "fetch-api-source": "yarn run -T tsx --tsconfig ./tsconfig.content.json ./scripts/fetch-api-source.ts", "fetch-releases": "yarn run -T tsx --tsconfig ./tsconfig.content.json ./scripts/fetch-releases.ts", "check-links": "yarn run -T tsx --tsconfig ./tsconfig.content.json ./scripts/check-broken-links.ts", @@ -49,6 +49,7 @@ "@microsoft/tsdoc": "^0.14.2", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-navigation-menu": "^1.1.4", + "@tldraw/utils": "workspace:*", "@types/broken-link-checker": "^0.7.1", "@types/node": "~20.11", "@types/sqlite3": "^3.1.9", diff --git a/apps/docs/scripts/functions/connect.ts b/apps/docs/scripts/functions/connect.ts index 35b5b7419..82ff044e8 100644 --- a/apps/docs/scripts/functions/connect.ts +++ b/apps/docs/scripts/functions/connect.ts @@ -2,10 +2,14 @@ import path from 'path' import { open } from 'sqlite' import sqlite3 from 'sqlite3' -export async function connect(opts = {} as { reset?: boolean }) { +export async function connect(opts: { reset?: boolean; mode: 'readonly' | 'readwrite' }) { const db = await open({ filename: path.join(process.cwd(), 'content.db'), driver: sqlite3.Database, + mode: + opts.mode === 'readonly' + ? sqlite3.OPEN_READONLY + : sqlite3.OPEN_CREATE | sqlite3.OPEN_READWRITE, }) if (opts.reset) { diff --git a/apps/docs/scripts/functions/createApiMarkdown.ts b/apps/docs/scripts/functions/createApiMarkdown.ts index 5b6823cd2..aced9552f 100644 --- a/apps/docs/scripts/functions/createApiMarkdown.ts +++ b/apps/docs/scripts/functions/createApiMarkdown.ts @@ -43,36 +43,34 @@ export async function createApiMarkdown() { packageModels.push(apiModel) } - await Promise.allSettled( - packageModels.map(async (packageModel) => { - const categoryName = packageModel.name.replace(`@tldraw/`, '') + for (const packageModel of packageModels) { + const categoryName = packageModel.name.replace(`@tldraw/`, '') - if (!addedCategories.has(categoryName)) { - apiInputSection.categories!.push({ - id: categoryName, - title: packageModel.name, - description: '', - groups: Object.values(APIGroup).map((title) => ({ - id: title, - path: null, - })), - hero: null, - }) - addedCategories.add(categoryName) - } + if (!addedCategories.has(categoryName)) { + apiInputSection.categories!.push({ + id: categoryName, + title: packageModel.name, + description: '', + groups: Object.values(APIGroup).map((title) => ({ + id: title, + path: null, + })), + hero: null, + }) + addedCategories.add(categoryName) + } - const entrypoint = packageModel.entryPoints[0] + const entrypoint = packageModel.entryPoints[0] - for (let j = 0; j < entrypoint.members.length; j++) { - const item = entrypoint.members[j] + for (let j = 0; j < entrypoint.members.length; j++) { + const item = entrypoint.members[j] - const result = await getApiMarkdown(categoryName, item, j) - const outputFileName = `${getSlug(item)}.mdx` - nicelog(`✎ ${outputFileName}`) - fs.writeFileSync(path.join(OUTPUT_DIR, outputFileName), result.markdown) - } - }) - ) + const result = await getApiMarkdown(categoryName, item, j) + const outputFileName = `${getSlug(item)}.mdx` + nicelog(`✎ ${outputFileName}`) + fs.writeFileSync(path.join(OUTPUT_DIR, outputFileName), result.markdown) + } + } // Add the API section to the sections.json file diff --git a/apps/docs/scripts/functions/fetchApiSource.ts b/apps/docs/scripts/functions/fetchApiSource.ts index 1f327c415..a75faa5d4 100644 --- a/apps/docs/scripts/functions/fetchApiSource.ts +++ b/apps/docs/scripts/functions/fetchApiSource.ts @@ -1,17 +1,13 @@ import fs from 'fs' -import { Octokit } from 'octokit' import path from 'path' import { TLDRAW_PACKAGES_TO_INCLUDE_IN_DOCS } from './package-list' -const octokit = new Octokit({ - auth: process.env.GITHUB_ACCESS_TOKEN, -}) - const { log: nicelog } = console export async function fetchApiSource() { try { const API_DIRECTORY = path.join(process.cwd(), 'api') + const REPO_ROOT = path.normalize(path.join(process.cwd(), '../../')) if (fs.existsSync(API_DIRECTORY)) { fs.rmSync(API_DIRECTORY, { recursive: true }) @@ -20,27 +16,9 @@ export async function fetchApiSource() { fs.mkdirSync(API_DIRECTORY) for (const folderName of TLDRAW_PACKAGES_TO_INCLUDE_IN_DOCS) { - const filePath = path.join(API_DIRECTORY, folderName + '.api.json') - - nicelog(`• Fetching API for ${folderName}...`) - - const res = await octokit.request('GET /repos/{owner}/{repo}/contents/{path}', { - owner: 'tldraw', - repo: 'tldraw', - path: `packages/${folderName}/api/api.json`, - branch: process.env.SOURCE_SHA || 'main', - headers: { - 'X-GitHub-Api-Version': '2022-11-28', - accept: 'application/vnd.github.VERSION.raw', - }, - }) - - if (res.status === 200) { - nicelog(`• Writing ${filePath}...`) - fs.writeFileSync(filePath, (res as any).data) - } else { - throw Error(`x Could not get API for ${folderName}.`) - } + const fromPath = path.join(REPO_ROOT, 'packages', folderName, 'api', 'api.json') + const toPath = path.join(API_DIRECTORY, folderName + '.api.json') + fs.copyFileSync(fromPath, toPath) } nicelog('✔ Complete!') diff --git a/apps/docs/scripts/functions/fetchReleases.ts b/apps/docs/scripts/functions/fetchReleases.ts index ffa5f8138..9845f3d31 100644 --- a/apps/docs/scripts/functions/fetchReleases.ts +++ b/apps/docs/scripts/functions/fetchReleases.ts @@ -1,13 +1,15 @@ +import { assert } from '@/utils/assert' import fs from 'fs' import { Octokit } from 'octokit' import path from 'path' -const octokit = new Octokit({ - auth: process.env.GITHUB_ACCESS_TOKEN, -}) +const octokit = new Octokit({}) const { log: nicelog } = console +const CHANGELOG_START_TAG = '{/* START AUTO-GENERATED CHANGELOG */}' +const CHANGELOG_END_TAG = '{/* END AUTO-GENERATED CHANGELOG */}' + export async function fetchReleases() { try { const RELEASES_DIRECTORY = path.join(process.cwd(), 'content', 'releases') @@ -21,12 +23,23 @@ export async function fetchReleases() { const res = await octokit.rest.repos.listReleases({ owner: 'tldraw', repo: 'tldraw', + per_page: 100, }) + const changelogIndex: { tagName: string; body: string }[] = [] + if (res.status === 200) { nicelog(`• Writing releases...`) res.data - .filter((release) => !release.draft && release.tag_name.startsWith('v2.0.0')) + .filter( + (release) => + // no drafts + !release.draft && + // no v1 releases + !release.tag_name.startsWith('v1') && + // no pre-releases + !release.tag_name.includes('-') + ) .forEach((release, i) => { const date = ( release.published_at ? new Date(release.published_at) : new Date() @@ -59,9 +72,53 @@ export async function fetchReleases() { m += body + changelogIndex.push({ + tagName: release.tag_name, + body, + }) + const filePath = path.join(RELEASES_DIRECTORY, `${release.tag_name}.mdx`) fs.writeFileSync(filePath, m) }) + nicelog(`• Writing changelog...`) + + const releasesPagePath = path.join( + process.cwd(), + 'content', + 'getting-started', + 'releases-versioning.mdx' + ) + const releasesPageContent = fs.readFileSync(releasesPagePath, 'utf-8') + + const startIndex = releasesPageContent.indexOf(CHANGELOG_START_TAG) + assert(startIndex !== -1, 'cannot find start tag') + + const endIndex = releasesPageContent.indexOf(CHANGELOG_END_TAG) + assert(endIndex !== -1, 'cannot find end tag') + + const contentBefore = releasesPageContent.slice(0, startIndex) + const contentAfter = releasesPageContent.slice(endIndex + CHANGELOG_END_TAG.length) + + const changelogIndexMarkdown = changelogIndex + .sort((a, b) => b.tagName.localeCompare(a.tagName)) + .map(({ body, tagName }, i) => { + if (i >= 10) { + return `### [${tagName}](/releases/${tagName})` + } else { + return [`### [${tagName}](/releases/${tagName})`, body].join('\n\n') + } + }) + .join('\n\n') + + const updatedContent = [ + contentBefore, + CHANGELOG_START_TAG, + changelogIndexMarkdown, + CHANGELOG_END_TAG, + contentAfter, + ].join('\n\n') + + fs.writeFileSync(releasesPagePath, updatedContent, 'utf-8') } else { throw Error(`x Could not get releases for tldraw.`) } diff --git a/apps/docs/scripts/functions/generateExamplesContent.ts b/apps/docs/scripts/functions/generateExamplesContent.ts index ca17c1b92..3af794ecd 100644 --- a/apps/docs/scripts/functions/generateExamplesContent.ts +++ b/apps/docs/scripts/functions/generateExamplesContent.ts @@ -8,12 +8,13 @@ const section: InputSection = { title: 'Examples', description: 'Code recipes for bending tldraw to your will.', categories: [ - { id: 'basic', title: 'Getting Started', description: '', groups: [], hero: null }, - { id: 'ui', title: 'UI & Theming', description: '', groups: [], hero: null }, - { id: 'shapes/tools', title: 'Shapes & Tools', description: '', groups: [], hero: null }, - { id: 'data/assets', title: 'Data & Assets', description: '', groups: [], hero: null }, + { id: 'basic', title: 'Getting started', description: '', groups: [], hero: null }, + { id: 'ui', title: 'UI & theming', description: '', groups: [], hero: null }, + { id: 'shapes/tools', title: 'Shapes & tools', description: '', groups: [], hero: null }, + { id: 'data/assets', title: 'Data & assets', description: '', groups: [], hero: null }, { id: 'editor-api', title: 'Editor API', description: '', groups: [], hero: null }, { id: 'collaboration', title: 'Collaboration', description: '', groups: [], hero: null }, + { id: 'use-cases', title: 'Use cases', description: '', groups: [], hero: null }, ], hero: null, sidebar_behavior: 'show-links', diff --git a/apps/docs/scripts/functions/generateSection.ts b/apps/docs/scripts/functions/generateSection.ts index 12dffe400..9d9ca7d6b 100644 --- a/apps/docs/scripts/functions/generateSection.ts +++ b/apps/docs/scripts/functions/generateSection.ts @@ -31,6 +31,7 @@ export function generateSection(section: InputSection, articles: Articles, index for (const file of files) { const filename = file.toString() + if (filename.startsWith('.')) continue const pathname = isExamples ? path.join(dir, filename, 'README.md') : path.join(dir, filename) const fileContent = fs.readFileSync(pathname).toString() const extension = path.extname(filename) diff --git a/apps/docs/scripts/functions/refreshContent.ts b/apps/docs/scripts/functions/refreshContent.ts index 27b08a422..8b99ae78a 100644 --- a/apps/docs/scripts/functions/refreshContent.ts +++ b/apps/docs/scripts/functions/refreshContent.ts @@ -9,7 +9,7 @@ import { generateExamplesContent } from './generateExamplesContent' export async function refreshContent(opts = {} as { silent: boolean }) { if (!opts.silent) nicelog('◦ Resetting database...') - const db = await connect({ reset: true }) + const db = await connect({ reset: true, mode: 'readwrite' }) if (!opts.silent) nicelog('◦ Adding authors to db...') await addAuthors(db, await require('../../content/authors.json')) diff --git a/apps/docs/scripts/refresh-embeddings.ts b/apps/docs/scripts/refresh-embeddings.ts index 5b26902d0..66c53b615 100644 --- a/apps/docs/scripts/refresh-embeddings.ts +++ b/apps/docs/scripts/refresh-embeddings.ts @@ -1,17 +1,18 @@ -import { getVectorDb } from '@/utils/ContentVectorDatabase' import { nicelog } from '@/utils/nicelog' ;(async function () { - nicelog('• Refreshing vector db content...') + nicelog('✔ Skipping vector db content!') - const db = await getVectorDb({ - rebuildIndex: false, - updateContent: true, - }) + // nicelog('• Refreshing vector db content...') - const results = await db.query('editor') + // const db = await getVectorDb({ + // rebuildIndex: false, + // updateContent: true, + // }) - nicelog(results) + // const results = await db.query('editor') - nicelog('✔ Complete!') + // nicelog(results) + + // nicelog('✔ Complete!') process.exit() })() diff --git a/apps/docs/scripts/reset-db.ts b/apps/docs/scripts/reset-db.ts index 1734fafce..7373ec877 100644 --- a/apps/docs/scripts/reset-db.ts +++ b/apps/docs/scripts/reset-db.ts @@ -2,7 +2,7 @@ import { nicelog } from '@/utils/nicelog' import { connect } from './functions/connect' ;(async function () { nicelog('◦ Resetting database...') - await connect({ reset: true }) + await connect({ reset: true, mode: 'readwrite' }) nicelog('✔ Complete!') process.exit() })() diff --git a/apps/docs/scripts/utils.ts b/apps/docs/scripts/utils.ts index c78240931..377cb18a4 100644 --- a/apps/docs/scripts/utils.ts +++ b/apps/docs/scripts/utils.ts @@ -11,9 +11,7 @@ import { DocSoftBreak, } from '@microsoft/tsdoc' import assert from 'assert' -import GithubSlugger from 'github-slugger' - -const slugs = new GithubSlugger() +import { slug as githubSlug } from 'github-slugger' import path from 'path' import prettier from 'prettier' @@ -50,7 +48,7 @@ function isOnParentPage(itemKind: ApiItemKind) { } export function getSlug(item: ApiItem): string { - return slugs.slug(item.displayName, true) + return githubSlug(item.displayName, true) } export function getPath(item: ApiItem): string { @@ -87,13 +85,18 @@ export async function formatWithPrettier( throw new Error(`Unknown language: ${languageTag}`) } const prettierConfig = await prettierConfigPromise - const formattedCode = await prettier.format(code, { - ...prettierConfig, - parser: language, - printWidth, - tabWidth: 2, - useTabs: false, - }) + let formattedCode = code + try { + formattedCode = await prettier.format(code, { + ...prettierConfig, + parser: language, + printWidth, + tabWidth: 2, + useTabs: false, + }) + } catch (e) { + console.warn(`☢️ Could not format code: ${code}`) + } return formattedCode.trimEnd() } @@ -166,7 +169,8 @@ export class MarkdownWriter { ) if (refResult.errorMessage) { - throw new Error(refResult.errorMessage) + console.warn(`☢️ Error processing API: ${refResult.errorMessage}`) + return } const linkedItem = refResult.resolvedApiItem! const path = getPath(linkedItem) diff --git a/apps/docs/styles/globals.css b/apps/docs/styles/globals.css index fd3f99cee..710925b5d 100644 --- a/apps/docs/styles/globals.css +++ b/apps/docs/styles/globals.css @@ -51,6 +51,8 @@ /* Sizes */ --header-height: 80px; --header-padding: 24px; + --headings-width: 278px; + --layout-max-width: 1440px; } [data-theme='dark'] { @@ -120,12 +122,12 @@ body { .layout { display: grid; width: 100%; - max-width: 1440px; - grid-template-columns: 250px 1fr; - grid-template-rows: var(--header-height) 1fr; + max-width: var(--layout-max-width); + grid-template-columns: 250px 1fr var(--headings-width); + grid-template-rows: 1fr; column-gap: 48px; row-gap: 0px; - padding: 0px; + padding: var(--header-height) 0 0 0; margin: 0px auto; } @@ -137,12 +139,15 @@ body { grid-row: 1; grid-column: 1 / span 3; width: 100%; - position: sticky; + height: var(--header-height); + max-width: var(--layout-max-width); + position: fixed; background-color: var(--color-background); z-index: 900; top: 0px; display: grid; - padding: 0px 16px; + padding: 13px 16px; + margin: 0 auto; grid-template-columns: 250px 1fr auto; gap: 16px; justify-content: center; @@ -795,7 +800,7 @@ body { margin-left: -12px; padding: var(--header-padding) 28px 120px 12px; max-height: calc(100vh); - width: 290px; + width: var(--headings-width); z-index: 800; overflow-y: auto; overflow-x: hidden; @@ -1167,9 +1172,14 @@ body { background-color: var(--color-background); } + body.sidebar-open { + overflow-y: hidden; + } + body.sidebar-open .sidebar { display: initial; position: fixed; + height: 100%; inset: 0px; z-index: 10000; } @@ -1292,6 +1302,10 @@ body { border-radius: 0px; } + .layout { + padding: 0; + } + .layout__header { position: unset; } diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json index cb1a00c31..f4b9cbc21 100644 --- a/apps/docs/tsconfig.json +++ b/apps/docs/tsconfig.json @@ -24,5 +24,10 @@ ".next/types/**/*.ts", "watcher.ts" ], - "exclude": ["node_modules", ".next"] + "exclude": ["node_modules", ".next"], + "references": [ + { + "path": "../../packages/utils" + } + ] } diff --git a/apps/docs/utils/ContentDatabase.ts b/apps/docs/utils/ContentDatabase.ts index ee3d3dbf8..eb2e5d72c 100644 --- a/apps/docs/utils/ContentDatabase.ts +++ b/apps/docs/utils/ContentDatabase.ts @@ -295,9 +295,9 @@ export class ContentDatabase { let contentDatabase: ContentDatabase | null = null -export async function getDb(opts = {} as { reset?: boolean }) { - if (!contentDatabase || opts.reset) { - const db = await connect(opts) +export async function getDb() { + if (!contentDatabase) { + const db = await connect({ mode: 'readonly' }) contentDatabase = new ContentDatabase(db) } diff --git a/apps/docs/utils/ContentVectorDatabase.ts b/apps/docs/utils/ContentVectorDatabase.ts index 1608cc038..7eceff036 100644 --- a/apps/docs/utils/ContentVectorDatabase.ts +++ b/apps/docs/utils/ContentVectorDatabase.ts @@ -210,7 +210,7 @@ export async function getVectorDb( if (opts.updateContent || opts.rebuildIndex) { nicelog(`Rebuilding index`) - const db = await connect({ reset: false }) + const db = await connect({ reset: false, mode: 'readonly' }) nicelog(`Getting articles`) const articles = diff --git a/apps/dotcom-worker/package.json b/apps/dotcom-worker/package.json index 9e71e78d4..b137d976f 100644 --- a/apps/dotcom-worker/package.json +++ b/apps/dotcom-worker/package.json @@ -23,6 +23,7 @@ "dependencies": { "@supabase/auth-helpers-remix": "^0.2.2", "@supabase/supabase-js": "^2.33.2", + "@tldraw/dotcom-shared": "workspace:*", "@tldraw/store": "workspace:*", "@tldraw/tlschema": "workspace:*", "@tldraw/tlsync": "workspace:*", diff --git a/apps/dotcom-worker/src/lib/TLDrawDurableObject.ts b/apps/dotcom-worker/src/lib/TLDrawDurableObject.ts index 8cad7356e..af2dfd5e0 100644 --- a/apps/dotcom-worker/src/lib/TLDrawDurableObject.ts +++ b/apps/dotcom-worker/src/lib/TLDrawDurableObject.ts @@ -3,14 +3,24 @@ import { SupabaseClient } from '@supabase/supabase-js' import { + READ_ONLY_LEGACY_PREFIX, + READ_ONLY_PREFIX, + ROOM_OPEN_MODE, + ROOM_PREFIX, + type RoomOpenMode, +} from '@tldraw/dotcom-shared' +import { + DBLoadResultType, RoomSnapshot, + TLCloseEventCode, TLServer, + TLServerEvent, TLSyncRoom, type DBLoadResult, type PersistedRoomSnapshotForSupabase, type RoomState, } from '@tldraw/tlsync' -import { assert, assertExists } from '@tldraw/utils' +import { assert, assertExists, exhaustiveSwitchError } from '@tldraw/utils' import { IRequest, Router } from 'itty-router' import Toucan from 'toucan-js' import { AlarmScheduler } from './AlarmScheduler' @@ -18,6 +28,7 @@ import { PERSIST_INTERVAL_MS } from './config' import { getR2KeyForRoom } from './r2' import { Analytics, Environment } from './types' import { createSupabaseClient } from './utils/createSupabaseClient' +import { getSlug } from './utils/roomOpenMode' import { throttle } from './utils/throttle' const MAX_CONNECTIONS = 50 @@ -86,13 +97,23 @@ export class TLDrawDurableObject extends TLServer { readonly router = Router() .get( - '/r/:roomId', - (req) => this.extractDocumentInfoFromRequest(req), + `/${ROOM_PREFIX}/:roomId`, + (req) => this.extractDocumentInfoFromRequest(req, ROOM_OPEN_MODE.READ_WRITE), + (req) => this.onRequest(req) + ) + .get( + `/${READ_ONLY_LEGACY_PREFIX}/:roomId`, + (req) => this.extractDocumentInfoFromRequest(req, ROOM_OPEN_MODE.READ_ONLY_LEGACY), + (req) => this.onRequest(req) + ) + .get( + `/${READ_ONLY_PREFIX}/:roomId`, + (req) => this.extractDocumentInfoFromRequest(req, ROOM_OPEN_MODE.READ_ONLY), (req) => this.onRequest(req) ) .post( - '/r/:roomId/restore', - (req) => this.extractDocumentInfoFromRequest(req), + `/${ROOM_PREFIX}/:roomId/restore`, + (req) => this.extractDocumentInfoFromRequest(req, ROOM_OPEN_MODE.READ_WRITE), (req) => this.onRestore(req) ) .all('*', () => new Response('Not found', { status: 404 })) @@ -112,8 +133,11 @@ export class TLDrawDurableObject extends TLServer { get documentInfo() { return assertExists(this._documentInfo, 'documentInfo must be present') } - extractDocumentInfoFromRequest = async (req: IRequest) => { - const slug = assertExists(req.params.roomId, 'roomId must be present') + extractDocumentInfoFromRequest = async (req: IRequest, roomOpenMode: RoomOpenMode) => { + const slug = assertExists( + await getSlug(this.env, req.params.roomId, roomOpenMode), + 'roomId must be present' + ) if (this._documentInfo) { assert(this._documentInfo.slug === slug, 'slug must match') } else { @@ -225,9 +249,10 @@ export class TLDrawDurableObject extends TLServer { const { 0: clientWebSocket, 1: serverWebSocket } = new WebSocketPair() // Handle the connection (see TLServer) + let connectionResult: DBLoadResultType try { // block concurrency while initializing the room if that needs to happen - await this.controller.blockConcurrencyWhile(() => + connectionResult = await this.controller.blockConcurrencyWhile(() => this.handleConnection({ socket: serverWebSocket as any, persistenceKey: this.documentInfo.slug!, @@ -252,41 +277,51 @@ export class TLDrawDurableObject extends TLServer { this.schedulePersist() }) + if (connectionResult === 'room_not_found') { + // If the room is not found, we need to accept and then immediately close the connection + // with our custom close code. + serverWebSocket.close(TLCloseEventCode.NOT_FOUND, 'Room not found') + } + return new Response(null, { status: 101, webSocket: clientWebSocket }) } - logEvent( - event: - | { - type: 'client' - roomId: string - name: string - clientId: string - instanceId: string - localClientId: string - } - | { - type: 'room' - roomId: string - name: string - } + private writeEvent( + name: string, + { blobs, indexes, doubles }: { blobs?: string[]; indexes?: [string]; doubles?: number[] } ) { + this.measure?.writeDataPoint({ + blobs: [name, this.env.WORKER_NAME ?? 'development-tldraw-multiplayer', ...(blobs ?? [])], + doubles, + indexes, + }) + } + + logEvent(event: TLServerEvent) { switch (event.type) { case 'room': { - this.measure?.writeDataPoint({ - blobs: [event.name, event.roomId], // we would add user/connection ids here if we could - }) - + // we would add user/connection ids here if we could + this.writeEvent(event.name, { blobs: [event.roomId] }) break } case 'client': { - this.measure?.writeDataPoint({ - blobs: [event.name, event.roomId, event.clientId, event.instanceId], // we would add user/connection ids here if we could + // we would add user/connection ids here if we could + this.writeEvent(event.name, { + blobs: [event.roomId, event.clientId, event.instanceId], indexes: [event.localClientId], }) - break } + case 'send_message': { + this.writeEvent(event.type, { + blobs: [event.roomId, event.messageType], + doubles: [event.messageLength], + }) + break + } + default: { + exhaustiveSwitchError(event) + } } } diff --git a/apps/dotcom-worker/src/lib/routes/createRoom.ts b/apps/dotcom-worker/src/lib/routes/createRoom.ts index c6a450ce4..43899c56e 100644 --- a/apps/dotcom-worker/src/lib/routes/createRoom.ts +++ b/apps/dotcom-worker/src/lib/routes/createRoom.ts @@ -1,24 +1,22 @@ -import { SerializedSchema, SerializedStore } from '@tldraw/store' -import { TLRecord } from '@tldraw/tlschema' +import { CreateRoomRequestBody } from '@tldraw/dotcom-shared' import { RoomSnapshot, schema } from '@tldraw/tlsync' import { IRequest } from 'itty-router' import { nanoid } from 'nanoid' import { getR2KeyForRoom } from '../r2' import { Environment } from '../types' import { validateSnapshot } from '../utils/validateSnapshot' - -type SnapshotRequestBody = { - schema: SerializedSchema - snapshot: SerializedStore -} +import { isAllowedOrigin } from '../worker' // Sets up a new room based on a provided snapshot, e.g. when a user clicks the "Share" buttons or the "Fork project" buttons. export async function createRoom(request: IRequest, env: Environment): Promise { // The data sent from the client will include the data for the new room - const data = (await request.json()) as SnapshotRequestBody + const data = (await request.json()) as CreateRoomRequestBody + if (!isAllowedOrigin(data.origin)) { + return Response.json({ error: true, message: 'Not allowed' }, { status: 406 }) + } // There's a chance the data will be invalid, so we check it first - const snapshotResult = validateSnapshot(data) + const snapshotResult = validateSnapshot(data.snapshot) if (!snapshotResult.ok) { return Response.json({ error: true, message: snapshotResult.error }, { status: 400 }) } @@ -40,6 +38,11 @@ export async function createRoom(request: IRequest, env: Environment): Promise - parent_slug?: string | string[] | undefined -} - export async function createRoomSnapshot(request: IRequest, env: Environment): Promise { const data = (await request.json()) as CreateSnapshotRequestBody diff --git a/apps/dotcom-worker/src/lib/routes/forwardRoomRequest.ts b/apps/dotcom-worker/src/lib/routes/forwardRoomRequest.ts index fc3befcc4..350c445f3 100644 --- a/apps/dotcom-worker/src/lib/routes/forwardRoomRequest.ts +++ b/apps/dotcom-worker/src/lib/routes/forwardRoomRequest.ts @@ -1,3 +1,4 @@ +import { ROOM_PREFIX } from '@tldraw/dotcom-shared' import { IRequest } from 'itty-router' import { Environment } from '../types' import { fourOhFour } from '../utils/fourOhFour' @@ -11,6 +12,6 @@ export async function forwardRoomRequest(request: IRequest, env: Environment): P if (isRoomIdTooLong(roomId)) return roomIdIsTooLong() // Set up the durable object for this room - const id = env.TLDR_DOC.idFromName(`/r/${roomId}`) + const id = env.TLDR_DOC.idFromName(`/${ROOM_PREFIX}/${roomId}`) return env.TLDR_DOC.get(id).fetch(request) } diff --git a/apps/dotcom-worker/src/lib/routes/getReadonlySlug.ts b/apps/dotcom-worker/src/lib/routes/getReadonlySlug.ts new file mode 100644 index 000000000..e1eb4f5c5 --- /dev/null +++ b/apps/dotcom-worker/src/lib/routes/getReadonlySlug.ts @@ -0,0 +1,30 @@ +import { GetReadonlySlugResponseBody } from '@tldraw/dotcom-shared' +import { lns } from '@tldraw/utils' +import { IRequest } from 'itty-router' +import { Environment } from '../types' + +// Return a URL to a readonly version of the room +export async function getReadonlySlug(request: IRequest, env: Environment): Promise { + const roomId = request.params.roomId + if (!roomId) { + return new Response('Bad request', { + status: 400, + }) + } + + let slug = await env.SLUG_TO_READONLY_SLUG.get(roomId) + let isLegacy = false + + if (!slug) { + // For all newly created rooms we add the readonly slug to the KV store. + // If it does not exist there it means we are trying to get a slug for an old room. + slug = lns(roomId) + isLegacy = true + } + return new Response( + JSON.stringify({ + slug, + isLegacy, + } satisfies GetReadonlySlugResponseBody) + ) +} diff --git a/apps/dotcom-worker/src/lib/routes/joinExistingRoom.ts b/apps/dotcom-worker/src/lib/routes/joinExistingRoom.ts index 99569fe99..eab25c614 100644 --- a/apps/dotcom-worker/src/lib/routes/joinExistingRoom.ts +++ b/apps/dotcom-worker/src/lib/routes/joinExistingRoom.ts @@ -1,18 +1,23 @@ +import { ROOM_PREFIX, RoomOpenMode } from '@tldraw/dotcom-shared' import { IRequest } from 'itty-router' import { Environment } from '../types' import { fourOhFour } from '../utils/fourOhFour' import { isRoomIdTooLong, roomIdIsTooLong } from '../utils/roomIdIsTooLong' +import { getSlug } from '../utils/roomOpenMode' -// This is the entry point for joining an existing room -export async function joinExistingRoom(request: IRequest, env: Environment): Promise { - const roomId = request.params.roomId +export async function joinExistingRoom( + request: IRequest, + env: Environment, + roomOpenMode: RoomOpenMode +): Promise { + const roomId = await getSlug(env, request.params.roomId, roomOpenMode) if (!roomId) return fourOhFour() if (isRoomIdTooLong(roomId)) return roomIdIsTooLong() // This needs to be a websocket request! if (request.headers.get('upgrade')?.toLowerCase() === 'websocket') { // Set up the durable object for this room - const id = env.TLDR_DOC.idFromName(`/r/${roomId}`) + const id = env.TLDR_DOC.idFromName(`/${ROOM_PREFIX}/${roomId}`) return env.TLDR_DOC.get(id).fetch(request) } diff --git a/apps/dotcom-worker/src/lib/types.ts b/apps/dotcom-worker/src/lib/types.ts index b454677d6..9fdbd8ef0 100644 --- a/apps/dotcom-worker/src/lib/types.ts +++ b/apps/dotcom-worker/src/lib/types.ts @@ -17,6 +17,9 @@ export interface Environment { ROOMS: R2Bucket ROOMS_HISTORY_EPHEMERAL: R2Bucket + SLUG_TO_READONLY_SLUG: KVNamespace + READONLY_SLUG_TO_SLUG: KVNamespace + // env vars SUPABASE_URL: string | undefined SUPABASE_KEY: string | undefined @@ -26,4 +29,5 @@ export interface Environment { TLDRAW_ENV: string | undefined SENTRY_DSN: string | undefined IS_LOCAL: string | undefined + WORKER_NAME: string | undefined } diff --git a/apps/dotcom-worker/src/lib/utils/roomOpenMode.ts b/apps/dotcom-worker/src/lib/utils/roomOpenMode.ts new file mode 100644 index 000000000..2e1626605 --- /dev/null +++ b/apps/dotcom-worker/src/lib/utils/roomOpenMode.ts @@ -0,0 +1,17 @@ +import { ROOM_OPEN_MODE, RoomOpenMode } from '@tldraw/dotcom-shared' +import { exhaustiveSwitchError, lns } from '@tldraw/utils' +import { Environment } from '../types' + +export async function getSlug(env: Environment, slug: string | null, roomOpenMode: RoomOpenMode) { + if (!slug) return null + switch (roomOpenMode) { + case ROOM_OPEN_MODE.READ_WRITE: + return slug + case ROOM_OPEN_MODE.READ_ONLY: + return await env.READONLY_SLUG_TO_SLUG.get(slug) + case ROOM_OPEN_MODE.READ_ONLY_LEGACY: + return lns(slug) + default: + exhaustiveSwitchError(roomOpenMode) + } +} diff --git a/apps/dotcom-worker/src/lib/worker.ts b/apps/dotcom-worker/src/lib/worker.ts index 9c415186c..88bbc4e9e 100644 --- a/apps/dotcom-worker/src/lib/worker.ts +++ b/apps/dotcom-worker/src/lib/worker.ts @@ -1,11 +1,18 @@ /// /// +import { + READ_ONLY_LEGACY_PREFIX, + READ_ONLY_PREFIX, + ROOM_OPEN_MODE, + ROOM_PREFIX, +} from '@tldraw/dotcom-shared' import { Router, createCors } from 'itty-router' import { env } from 'process' import Toucan from 'toucan-js' import { createRoom } from './routes/createRoom' import { createRoomSnapshot } from './routes/createRoomSnapshot' import { forwardRoomRequest } from './routes/forwardRoomRequest' +import { getReadonlySlug } from './routes/getReadonlySlug' import { getRoomHistory } from './routes/getRoomHistory' import { getRoomHistorySnapshot } from './routes/getRoomHistorySnapshot' import { getRoomSnapshot } from './routes/getRoomSnapshot' @@ -24,10 +31,19 @@ const router = Router() .post('/new-room', createRoom) .post('/snapshots', createRoomSnapshot) .get('/snapshot/:roomId', getRoomSnapshot) - .get('/r/:roomId', joinExistingRoom) - .get('/r/:roomId/history', getRoomHistory) - .get('/r/:roomId/history/:timestamp', getRoomHistorySnapshot) - .post('/r/:roomId/restore', forwardRoomRequest) + .get(`/${ROOM_PREFIX}/:roomId`, (req, env) => + joinExistingRoom(req, env, ROOM_OPEN_MODE.READ_WRITE) + ) + .get(`/${READ_ONLY_LEGACY_PREFIX}/:roomId`, (req, env) => + joinExistingRoom(req, env, ROOM_OPEN_MODE.READ_ONLY_LEGACY) + ) + .get(`/${READ_ONLY_PREFIX}/:roomId`, (req, env) => + joinExistingRoom(req, env, ROOM_OPEN_MODE.READ_ONLY) + ) + .get(`/${ROOM_PREFIX}/:roomId/history`, getRoomHistory) + .get(`/${ROOM_PREFIX}/:roomId/history/:timestamp`, getRoomHistorySnapshot) + .get('/readonly-slug/:roomId', getReadonlySlug) + .post(`/${ROOM_PREFIX}/:roomId/restore`, forwardRoomRequest) .all('*', fourOhFour) const Worker = { @@ -70,7 +86,7 @@ const Worker = { }, } -function isAllowedOrigin(origin: string) { +export function isAllowedOrigin(origin: string) { if (origin === 'http://localhost:3000') return true if (origin === 'http://localhost:5420') return true if (origin.endsWith('.tldraw.com')) return true diff --git a/apps/dotcom-worker/tsconfig.json b/apps/dotcom-worker/tsconfig.json index b4d7ff869..e7a2d4918 100644 --- a/apps/dotcom-worker/tsconfig.json +++ b/apps/dotcom-worker/tsconfig.json @@ -7,6 +7,9 @@ "emitDeclarationOnly": false }, "references": [ + { + "path": "../../packages/dotcom-shared" + }, { "path": "../../packages/store" }, diff --git a/apps/dotcom-worker/wrangler.toml b/apps/dotcom-worker/wrangler.toml index 98368c816..6d6163a63 100644 --- a/apps/dotcom-worker/wrangler.toml +++ b/apps/dotcom-worker/wrangler.toml @@ -114,3 +114,36 @@ bucket_name = "rooms-history-ephemeral-preview" [[env.production.r2_buckets]] binding = "ROOMS_HISTORY_EPHEMERAL" bucket_name = "rooms-history-ephemeral" + +#################### Key value storage #################### +[[env.dev.kv_namespaces]] +binding = "SLUG_TO_READONLY_SLUG" +id = "847a6bded62045c6808dda6a275ef96c" + +[[env.dev.kv_namespaces]] +binding = "READONLY_SLUG_TO_SLUG" +id = "0a83acab40374ccd918cc9d755741714" + +[[env.preview.kv_namespaces]] +binding = "SLUG_TO_READONLY_SLUG" +id = "847a6bded62045c6808dda6a275ef96c" + +[[env.preview.kv_namespaces]] +binding = "READONLY_SLUG_TO_SLUG" +id = "0a83acab40374ccd918cc9d755741714" + +[[env.staging.kv_namespaces]] +binding = "SLUG_TO_READONLY_SLUG" +id = "847a6bded62045c6808dda6a275ef96c" + +[[env.staging.kv_namespaces]] +binding = "READONLY_SLUG_TO_SLUG" +id = "0a83acab40374ccd918cc9d755741714" + +[[env.production.kv_namespaces]] +binding = "SLUG_TO_READONLY_SLUG" +id = "2fb5fc7f7ca54a5a9dfae1b07a30a778" + +[[env.production.kv_namespaces]] +binding = "READONLY_SLUG_TO_SLUG" +id = "96be6637b281412ab35b2544539d78e8" diff --git a/apps/dotcom/README.md b/apps/dotcom/README.md index bc69357d2..13d84d40a 100644 --- a/apps/dotcom/README.md +++ b/apps/dotcom/README.md @@ -60,21 +60,24 @@ You need to have a psql client [installed](https://www.timescale.com/blog/how-to ## Sending emails -We are using [Resend](https://resend.com/) for sending emails. It allows us to write emails as React components. Emails live in a separate app `apps/tl-emails`. +We are using [Resend](https://resend.com/) for sending emails. It allows us to write emails as React components. Emails live in a separate app `apps/tl-emails`. Right now we are only using Resend via Supabase, but in the future we will probably also include Resend in our application and send emails directly. The development workflow is as follows: ### 1. Creating / updating an email template - To start the development server for email run `yarn dev-email` from the root folder of our repo. You can then open [http://localhost:3333](http://localhost:3333) to see the result. This allows for quick local development of email templates. + +To start the development server for email run `yarn dev-email` from the root folder of our repo. You can then open [http://localhost:3333](http://localhost:3333) to see the result. This allows for quick local development of email templates. Any images you want to use in the email should be uploaded to supabase to the `email` bucket. Supabase provides some custom params (like the magic link url) that we can insert into our email, [check their website](https://supabase.com/dashboard/project/faafybhoymfftncjttyq/auth/templates) for more info. ### 2. Generating the `html` version of the email -Once you are happy with the email template you can run `yarn build-email` from the root folder of our repo. This will generate the `html` version of the email and place it in `apps/tl-emails/out` folder. + +Once you are happy with the email template you can run `yarn build-email` from the root folder of our repo. This will generate the `html` version of the email and place it in `apps/tl-emails/out` folder. ### 3. Updating the template in Supabase + Once you have the `html` version of the email you can copy it into the Supabase template editor. You can find the templates [here](https://supabase.com/dashboard/project/faafybhoymfftncjttyq/auth/templates). diff --git a/apps/dotcom/index.html b/apps/dotcom/index.html index 9795dd999..9c5a8170d 100644 --- a/apps/dotcom/index.html +++ b/apps/dotcom/index.html @@ -1,4 +1,4 @@ - + @@ -46,5 +46,4 @@ - diff --git a/apps/dotcom/package.json b/apps/dotcom/package.json index 79a17c432..c2cd34985 100644 --- a/apps/dotcom/package.json +++ b/apps/dotcom/package.json @@ -23,10 +23,11 @@ "@sentry/integrations": "^7.34.0", "@sentry/react": "^7.77.0", "@tldraw/assets": "workspace:*", + "@tldraw/dotcom-shared": "workspace:*", "@tldraw/tlsync": "workspace:*", "@tldraw/utils": "workspace:*", "@vercel/analytics": "^1.1.1", - "browser-fs-access": "^0.33.0", + "browser-fs-access": "^0.35.0", "idb": "^7.1.1", "nanoid": "4.0.2", "qrcode": "^1.5.1", @@ -58,7 +59,7 @@ "roots": [ "" ], - "testEnvironment": "jsdom", + "testEnvironment": "../../../packages/utils/patchedJestJsDom.js", "transformIgnorePatterns": [ "node_modules/(?!(nanoid|nanoevents)/)" ], diff --git a/apps/dotcom/scripts/build.ts b/apps/dotcom/scripts/build.ts index e9e734921..69373d5f8 100644 --- a/apps/dotcom/scripts/build.ts +++ b/apps/dotcom/scripts/build.ts @@ -8,6 +8,7 @@ import json5 from 'json5' import { nicelog } from '../../../scripts/lib/nicelog' import { T } from '@tldraw/validate' +import { getMultiplayerServerURL } from '../vite.config' // We load the list of routes that should be forwarded to our SPA's index.html here. // It uses a jest snapshot file because deriving the set of routes from our @@ -56,9 +57,7 @@ async function build() { // rewrite api calls to the multiplayer server { src: '^/api(/(.*))?$', - dest: `${ - process.env.MULTIPLAYER_SERVER?.replace(/^ws/, 'http') ?? 'http://127.0.0.1:8787' - }$1`, + dest: `${getMultiplayerServerURL()}$1`, check: true, }, // cache static assets immutably diff --git a/apps/dotcom/setupTests.js b/apps/dotcom/setupTests.js index 88d3a65a1..b3eb934fc 100644 --- a/apps/dotcom/setupTests.js +++ b/apps/dotcom/setupTests.js @@ -2,3 +2,6 @@ global.crypto ??= new (require('@peculiar/webcrypto').Crypto)() process.env.MULTIPLAYER_SERVER = 'https://localhost:8787' process.env.ASSET_UPLOAD = 'https://localhost:8788' + +global.TextEncoder = require('util').TextEncoder +global.TextDecoder = require('util').TextDecoder diff --git a/apps/dotcom/src/__snapshots__/routes.test.tsx.snap b/apps/dotcom/src/__snapshots__/routes.test.tsx.snap index db16700e1..4d6d55f9b 100644 --- a/apps/dotcom/src/__snapshots__/routes.test.tsx.snap +++ b/apps/dotcom/src/__snapshots__/routes.test.tsx.snap @@ -26,6 +26,10 @@ exports[`the_routes 1`] = ` "reactRouterPattern": "/r/:roomId", "vercelRouterPattern": "^/r/[^/]*/?$", }, + { + "reactRouterPattern": "/ro/:roomId", + "vercelRouterPattern": "^/ro/[^/]*/?$", + }, { "reactRouterPattern": "/s/:roomId", "vercelRouterPattern": "^/s/[^/]*/?$", diff --git a/apps/dotcom/src/components/BoardHistorySnapshot/BoardHistorySnapshot.tsx b/apps/dotcom/src/components/BoardHistorySnapshot/BoardHistorySnapshot.tsx index 300740bdf..e8a07d470 100644 --- a/apps/dotcom/src/components/BoardHistorySnapshot/BoardHistorySnapshot.tsx +++ b/apps/dotcom/src/components/BoardHistorySnapshot/BoardHistorySnapshot.tsx @@ -1,3 +1,4 @@ +import { ROOM_PREFIX } from '@tldraw/dotcom-shared' import { RoomSnapshot } from '@tldraw/tlsync' import { useCallback, useState } from 'react' import { Tldraw, createTLStore, defaultShapeUtils } from 'tldraw' @@ -31,7 +32,7 @@ export function BoardHistorySnapshot({ const sure = window.confirm('Are you sure?') if (!sure) return - const res = await fetch(`/api/r/${roomId}/restore`, { + const res = await fetch(`/api/${ROOM_PREFIX}/${roomId}/restore`, { method: 'POST', headers: { 'Content-Type': 'application/json', diff --git a/apps/dotcom/src/components/DocumentName/DocumentName.tsx b/apps/dotcom/src/components/DocumentName/DocumentName.tsx index faeaebf5b..6365773dd 100644 --- a/apps/dotcom/src/components/DocumentName/DocumentName.tsx +++ b/apps/dotcom/src/components/DocumentName/DocumentName.tsx @@ -239,6 +239,14 @@ const DocumentNameEditor = track(function DocumentNameEditor({ } }, [documentSettings.name, editor, state.isEditing, state.name, setState]) + useEffect(() => { + if (documentSettings.name) { + document.title = `${documentSettings.name} · tldraw` + } else { + document.title = 'tldraw' + } + }, [documentSettings.name]) + const handleChange = useCallback( (e: ChangeEvent) => { const value = e.currentTarget.value @@ -268,7 +276,7 @@ const DocumentNameEditor = track(function DocumentNameEditor({ setState((prev) => ({ ...prev, isEditing: false })) }, [setState]) - const name = state.name || documentSettings.name || defaultDocumentName + const name = state.name ?? (documentSettings.name || defaultDocumentName) return (
@@ -296,7 +304,10 @@ const DocumentNameEditor = track(function DocumentNameEditor({ ) : (
setState((prev) => ({ ...prev, isEditing: true }))} + onDoubleClick={() => { + editor.setEditingShape(null) + setState((prev) => ({ ...prev, isEditing: true })) + }} > {addRealSpaceForWhitespace(name)}
diff --git a/apps/dotcom/src/components/ErrorPage/ErrorPage.tsx b/apps/dotcom/src/components/ErrorPage/ErrorPage.tsx index 9a275d8dd..ba5aebb13 100644 --- a/apps/dotcom/src/components/ErrorPage/ErrorPage.tsx +++ b/apps/dotcom/src/components/ErrorPage/ErrorPage.tsx @@ -1,4 +1,5 @@ import { Link } from 'react-router-dom' +import { isInIframe } from '../../utils/iFrame' export function ErrorPage({ icon, @@ -6,8 +7,8 @@ export function ErrorPage({ }: { icon?: boolean messages: { header: string; para1: string; para2?: string } - redirectTo?: string }) { + const inIframe = isInIframe() return (
@@ -19,8 +20,8 @@ export function ErrorPage({

{messages.para1}

{messages.para2 &&

{messages.para2}

}
- - Take me home. + + {inIframe ? 'Open tldraw.' : 'Back to tldraw.'}
diff --git a/apps/dotcom/src/components/FileMenu.tsx b/apps/dotcom/src/components/FileMenu.tsx index f1f5c19dc..b8bd268d3 100644 --- a/apps/dotcom/src/components/FileMenu.tsx +++ b/apps/dotcom/src/components/FileMenu.tsx @@ -1,10 +1,4 @@ -import { - ExportFileContentSubMenu, - TldrawUiMenuGroup, - TldrawUiMenuItem, - TldrawUiMenuSubmenu, - useActions, -} from 'tldraw' +import { TldrawUiMenuGroup, TldrawUiMenuItem, TldrawUiMenuSubmenu, useActions } from 'tldraw' import { FORK_PROJECT_ACTION, LEAVE_SHARED_PROJECT_ACTION, @@ -21,7 +15,6 @@ export function LocalFileMenu() { - @@ -37,7 +30,6 @@ export function MultiplayerFileMenu() { - diff --git a/apps/dotcom/src/components/IFrameProtector.tsx b/apps/dotcom/src/components/IFrameProtector.tsx index cc3ea7355..95309432f 100644 --- a/apps/dotcom/src/components/IFrameProtector.tsx +++ b/apps/dotcom/src/components/IFrameProtector.tsx @@ -1,12 +1,14 @@ -import { ReactNode, useEffect, useState, version } from 'react' +import { ReactNode, useEffect, useState } from 'react' import { LoadingScreen } from 'tldraw' +import { version } from '../../version' import { useUrl } from '../hooks/useUrl' +import { getParentOrigin, isInIframe } from '../utils/iFrame' import { trackAnalyticsEvent } from '../utils/trackAnalyticsEvent' /* If we're in an iframe, we need to figure out whether we're on a whitelisted host (e.g. tldraw itself) or a not-allowed host (e.g. someone else's website). Some websites embed tldraw in iframes and this is kinda -risky for us and for them, too—and hey, if we decide to offer a hosted thing, then that's another stor +risky for us and for them, too—and hey, if we decide to offer a hosted thing, then that's another story. Figuring this out is a little tricky because the same code here is going to run on: - the website as a top window (tldraw-top) @@ -25,33 +27,45 @@ and we should show an annoying messsage. If we're not in an iframe, we don't need to do anything. */ +export const ROOM_CONTEXT = { + PUBLIC_MULTIPLAYER: 'public-multiplayer', + PUBLIC_READONLY: 'public-readonly', + PUBLIC_SNAPSHOT: 'public-snapshot', + HISTORY_SNAPSHOT: 'history-snapshot', + HISTORY: 'history', + LOCAL: 'local', +} as const +type $ROOM_CONTEXT = (typeof ROOM_CONTEXT)[keyof typeof ROOM_CONTEXT] + +const EMBEDDED_STATE = { + IFRAME_UNKNOWN: 'iframe-unknown', + IFRAME_NOT_ALLOWED: 'iframe-not-allowed', + NOT_IFRAME: 'not-iframe', + IFRAME_OK: 'iframe-ok', +} as const +type $EMBEDDED_STATE = (typeof EMBEDDED_STATE)[keyof typeof EMBEDDED_STATE] + // Which routes do we allow to be embedded in tldraw.com itself? -const WHITELIST_CONTEXT = ['public-multiplayer', 'public-readonly', 'public-snapshot'] +const WHITELIST_CONTEXT: $ROOM_CONTEXT[] = [ + ROOM_CONTEXT.PUBLIC_MULTIPLAYER, + ROOM_CONTEXT.PUBLIC_READONLY, + ROOM_CONTEXT.PUBLIC_SNAPSHOT, +] const EXPECTED_QUESTION = 'are we cool?' const EXPECTED_RESPONSE = 'yes' + version -const isInIframe = () => { - return typeof window !== 'undefined' && (window !== window.top || window.self !== window.parent) -} - export function IFrameProtector({ slug, context, children, }: { slug: string - context: - | 'public-multiplayer' - | 'public-readonly' - | 'public-snapshot' - | 'history-snapshot' - | 'history' - | 'local' + context: $ROOM_CONTEXT children: ReactNode }) { - const [embeddedState, setEmbeddedState] = useState< - 'iframe-unknown' | 'iframe-not-allowed' | 'not-iframe' | 'iframe-ok' - >(isInIframe() ? 'iframe-unknown' : 'not-iframe') + const [embeddedState, setEmbeddedState] = useState<$EMBEDDED_STATE>( + isInIframe() ? EMBEDDED_STATE.IFRAME_UNKNOWN : EMBEDDED_STATE.NOT_IFRAME + ) const url = useUrl() @@ -75,24 +89,28 @@ export function IFrameProtector({ if (event.data === EXPECTED_RESPONSE) { // todo: check the origin? - setEmbeddedState('iframe-ok') + setEmbeddedState(EMBEDDED_STATE.IFRAME_OK) clearTimeout(timeout) } } window.addEventListener('message', handleMessageEvent, false) - if (embeddedState === 'iframe-unknown') { + if (embeddedState === EMBEDDED_STATE.IFRAME_UNKNOWN) { // We iframe embeddings on multiplayer or readonly if (WHITELIST_CONTEXT.includes(context)) { window.parent.postMessage(EXPECTED_QUESTION, '*') // todo: send to a specific origin? timeout = setTimeout(() => { - setEmbeddedState('iframe-not-allowed') - trackAnalyticsEvent('connect_to_room_in_iframe', { slug, context }) + setEmbeddedState(EMBEDDED_STATE.IFRAME_NOT_ALLOWED) + trackAnalyticsEvent('connect_to_room_in_iframe', { + slug, + context, + origin: getParentOrigin(), + }) }, 1000) } else { // We don't allow iframe embeddings on other routes - setEmbeddedState('iframe-not-allowed') + setEmbeddedState(EMBEDDED_STATE.IFRAME_NOT_ALLOWED) } } @@ -102,18 +120,18 @@ export function IFrameProtector({ } }, [embeddedState, slug, context]) - if (embeddedState === 'iframe-unknown') { + if (embeddedState === EMBEDDED_STATE.IFRAME_UNKNOWN) { // We're in an iframe, but we don't know if it's a tldraw iframe - return Loading in an iframe... + return Loading in an iframe… } - if (embeddedState === 'iframe-not-allowed') { + if (embeddedState === EMBEDDED_STATE.IFRAME_NOT_ALLOWED) { // We're in an iframe and its not one of ours return (
- {'Visit this page on tldraw.com '} + {'Visit this page on tldraw.com'} - + @@ -60,7 +60,7 @@ const components: TLComponents = { const actions = useActions() return ( - + diff --git a/apps/dotcom/src/components/MultiplayerEditor.tsx b/apps/dotcom/src/components/MultiplayerEditor.tsx index 6923a76bb..10f53df4e 100644 --- a/apps/dotcom/src/components/MultiplayerEditor.tsx +++ b/apps/dotcom/src/components/MultiplayerEditor.tsx @@ -1,3 +1,4 @@ +import { ROOM_OPEN_MODE, RoomOpenModeToPath, type RoomOpenMode } from '@tldraw/dotcom-shared' import { useCallback, useEffect } from 'react' import { DefaultContextMenu, @@ -9,18 +10,15 @@ import { DefaultMainMenu, EditSubmenu, Editor, + ExportFileContentSubMenu, ExtrasGroup, - OfflineIndicator, PreferencesGroup, - ShapeSubmenu, TLComponents, Tldraw, TldrawUiMenuGroup, TldrawUiMenuItem, ViewSubmenu, atom, - debugFlags, - lns, useActions, useValue, } from 'tldraw' @@ -69,8 +67,8 @@ const components: TLComponents = { - + @@ -80,12 +78,12 @@ const components: TLComponents = { const actions = useActions() return ( - + - + @@ -93,15 +91,6 @@ const components: TLComponents = { }, TopPanel: () => { const isOffline = useValue('offline', () => shittyOfflineAtom.get(), []) - const showDocumentName = useValue('documentName ', () => debugFlags.documentName.get(), [ - debugFlags, - ]) - if (!showDocumentName) { - if (isOffline) { - return - } - return null - } return }, SharePanel: () => { @@ -115,19 +104,17 @@ const components: TLComponents = { } export function MultiplayerEditor({ - isReadOnly, + roomOpenMode, roomSlug, }: { - isReadOnly: boolean + roomOpenMode: RoomOpenMode roomSlug: string }) { const handleUiEvent = useHandleUiEvents() - const roomId = isReadOnly ? lns(roomSlug) : roomSlug - const storeWithStatus = useRemoteSyncClient({ - uri: `${MULTIPLAYER_SERVER}/r/${roomId}`, - roomId, + uri: `${MULTIPLAYER_SERVER}/${RoomOpenModeToPath[roomOpenMode]}/${roomSlug}`, + roomId: roomSlug, }) const isOffline = @@ -139,16 +126,22 @@ export function MultiplayerEditor({ const sharingUiOverrides = useSharing() const fileSystemUiOverrides = useFileSystem({ isMultiplayer: true }) const cursorChatOverrides = useCursorChat() + const isReadonly = + roomOpenMode === ROOM_OPEN_MODE.READ_ONLY || roomOpenMode === ROOM_OPEN_MODE.READ_ONLY_LEGACY const handleMount = useCallback( (editor: Editor) => { - ;(window as any).app = editor - ;(window as any).editor = editor - editor.updateInstanceState({ isReadonly: isReadOnly }) + if (!isReadonly) { + ;(window as any).app = editor + ;(window as any).editor = editor + } + editor.updateInstanceState({ + isReadonly, + }) editor.registerExternalAssetHandler('file', createAssetFromFile) editor.registerExternalAssetHandler('url', createAssetFromUrl) }, - [isReadOnly] + [isReadonly] ) if (storeWithStatus.error) { @@ -162,7 +155,7 @@ export function MultiplayerEditor({ assetUrls={assetUrls} onMount={handleMount} overrides={[sharingUiOverrides, fileSystemUiOverrides, cursorChatOverrides]} - initialState={isReadOnly ? 'hand' : 'select'} + initialState={isReadonly ? 'hand' : 'select'} onUiEvent={handleUiEvent} components={components} autoFocus diff --git a/apps/dotcom/src/components/ShareMenu.tsx b/apps/dotcom/src/components/ShareMenu.tsx index 1ea4810ac..65a229703 100644 --- a/apps/dotcom/src/components/ShareMenu.tsx +++ b/apps/dotcom/src/components/ShareMenu.tsx @@ -1,4 +1,10 @@ import * as Popover from '@radix-ui/react-popover' +import { + GetReadonlySlugResponseBody, + ROOM_OPEN_MODE, + ROOM_PREFIX, + RoomOpenModeToPath, +} from '@tldraw/dotcom-shared' import React, { useEffect, useState } from 'react' import { TldrawUiMenuContextProvider, @@ -15,29 +21,71 @@ import { createQRCodeImageDataString } from '../utils/qrcode' import { SHARE_PROJECT_ACTION, SHARE_SNAPSHOT_ACTION } from '../utils/sharing' import { ShareButton } from './ShareButton' +const SHARE_CURRENT_STATE = { + OFFLINE: 'offline', + SHARED_READ_WRITE: 'shared-read-write', + SHARED_READ_ONLY: 'shared-read-only', +} as const +type ShareCurrentState = (typeof SHARE_CURRENT_STATE)[keyof typeof SHARE_CURRENT_STATE] + type ShareState = { - state: 'offline' | 'shared' | 'readonly' + state: ShareCurrentState qrCodeDataUrl: string url: string - readonlyUrl: string + readonlyUrl: string | null readonlyQrCodeDataUrl: string } +function isSharedReadonlyUrl(pathname: string) { + return ( + pathname.startsWith(`/${RoomOpenModeToPath[ROOM_OPEN_MODE.READ_ONLY]}/`) || + pathname.startsWith(`/${RoomOpenModeToPath[ROOM_OPEN_MODE.READ_ONLY_LEGACY]}/`) + ) +} + +function isSharedReadWriteUrl(pathname: string) { + return pathname.startsWith(`/${ROOM_PREFIX}/`) +} + function getFreshShareState(): ShareState { - const isShared = window.location.href.includes('/r/') - const isReadOnly = window.location.href.includes('/v/') + const isSharedReadWrite = isSharedReadWriteUrl(window.location.pathname) + const isSharedReadOnly = isSharedReadonlyUrl(window.location.pathname) return { - state: isShared ? 'shared' : isReadOnly ? 'readonly' : 'offline', + state: isSharedReadWrite + ? SHARE_CURRENT_STATE.SHARED_READ_WRITE + : isSharedReadOnly + ? SHARE_CURRENT_STATE.SHARED_READ_ONLY + : SHARE_CURRENT_STATE.OFFLINE, url: window.location.href, - readonlyUrl: window.location.href.includes('/r/') - ? getShareUrl(window.location.href, true) - : window.location.href, + readonlyUrl: isSharedReadOnly ? window.location.href : null, qrCodeDataUrl: '', readonlyQrCodeDataUrl: '', } } +async function getReadonlyUrl() { + const pathname = window.location.pathname + const isReadOnly = isSharedReadonlyUrl(pathname) + if (isReadOnly) return window.location.href + + const segments = pathname.split('/') + + const roomId = segments[2] + const result = await fetch(`/api/readonly-slug/${roomId}`) + if (!result.ok) return + + const data = (await result.json()) as GetReadonlySlugResponseBody + if (!data.slug) return + + segments[1] = + RoomOpenModeToPath[data.isLegacy ? ROOM_OPEN_MODE.READ_ONLY_LEGACY : ROOM_OPEN_MODE.READ_ONLY] + segments[2] = data.slug + const newPathname = segments.join('/') + + return `${window.location.origin}${newPathname}${window.location.search}` +} + /** @public */ export const ShareMenu = React.memo(function ShareMenu() { const msg = useTranslation() @@ -50,25 +98,24 @@ export const ShareMenu = React.memo(function ShareMenu() { const [isUploading, setIsUploading] = useState(false) const [isUploadingSnapshot, setIsUploadingSnapshot] = useState(false) - const [isReadOnlyLink, setIsReadOnlyLink] = useState(shareState.state === 'readonly') + const isReadOnlyLink = shareState.state === SHARE_CURRENT_STATE.SHARED_READ_ONLY const currentShareLinkUrl = isReadOnlyLink ? shareState.readonlyUrl : shareState.url const currentQrCodeUrl = isReadOnlyLink ? shareState.readonlyQrCodeDataUrl : shareState.qrCodeDataUrl const [didCopy, setDidCopy] = useState(false) + const [didCopyReadonlyLink, setDidCopyReadonlyLink] = useState(false) const [didCopySnapshotLink, setDidCopySnapshotLink] = useState(false) useEffect(() => { - if (shareState.state === 'offline') { + if (shareState.state === SHARE_CURRENT_STATE.OFFLINE) { return } let cancelled = false const shareUrl = getShareUrl(window.location.href, false) - const readonlyShareUrl = getShareUrl(window.location.href, true) - - if (!shareState.qrCodeDataUrl && shareState.state === 'shared') { + if (!shareState.qrCodeDataUrl && shareState.state === SHARE_CURRENT_STATE.SHARED_READ_WRITE) { // Fetch the QR code data URL createQRCodeImageDataString(shareUrl).then((dataUrl) => { if (!cancelled) { @@ -77,14 +124,16 @@ export const ShareMenu = React.memo(function ShareMenu() { }) } - if (!shareState.readonlyQrCodeDataUrl) { - // fetch the readonly QR code data URL - createQRCodeImageDataString(readonlyShareUrl).then((dataUrl) => { - if (!cancelled) { - setShareState((s) => ({ ...s, readonlyShareUrl, readonlyQrCodeDataUrl: dataUrl })) - } - }) - } + getReadonlyUrl().then((readonlyUrl) => { + if (readonlyUrl && !shareState.readonlyQrCodeDataUrl) { + // fetch the readonly QR code data URL + createQRCodeImageDataString(readonlyUrl).then((dataUrl) => { + if (!cancelled) { + setShareState((s) => ({ ...s, readonlyUrl, readonlyQrCodeDataUrl: dataUrl })) + } + }) + } + }) const interval = setInterval(() => { const url = window.location.href @@ -115,7 +164,8 @@ export const ShareMenu = React.memo(function ShareMenu() { alignOffset={4} > - {shareState.state === 'shared' || shareState.state === 'readonly' ? ( + {shareState.state === SHARE_CURRENT_STATE.SHARED_READ_WRITE || + shareState.state === SHARE_CURRENT_STATE.SHARED_READ_ONLY ? ( <>

- {msg( - isReadOnlyLink - ? 'share-menu.copy-readonly-link-note' - : 'share-menu.copy-link-note' - )} + {msg('share-menu.copy-readonly-link-note')}

@@ -185,6 +236,7 @@ export const ShareMenu = React.memo(function ShareMenu() { { @@ -197,7 +249,7 @@ export const ShareMenu = React.memo(function ShareMenu() { />

{msg( - shareState.state === 'offline' + shareState.state === SHARE_CURRENT_STATE.OFFLINE ? 'share-menu.offline-note' : isReadOnlyLink ? 'share-menu.copy-readonly-link-note' @@ -208,6 +260,7 @@ export const ShareMenu = React.memo(function ShareMenu() { { diff --git a/apps/dotcom/src/components/SnapshotsEditor.tsx b/apps/dotcom/src/components/SnapshotsEditor.tsx index 3ea9a9fd0..330cc875e 100644 --- a/apps/dotcom/src/components/SnapshotsEditor.tsx +++ b/apps/dotcom/src/components/SnapshotsEditor.tsx @@ -47,7 +47,7 @@ const components: TLComponents = { const actions = useActions() return ( - + diff --git a/apps/dotcom/src/components/SneakyOnDropOverride.ts b/apps/dotcom/src/components/SneakyOnDropOverride.ts index cf957a0d4..aa128f41b 100644 --- a/apps/dotcom/src/components/SneakyOnDropOverride.ts +++ b/apps/dotcom/src/components/SneakyOnDropOverride.ts @@ -16,6 +16,7 @@ export function SneakyOnDropOverride({ isMultiplayer }: { isMultiplayer: boolean addToast({ title: msg('file-system.shared-document-file-open-error.title'), description: msg('file-system.shared-document-file-open-error.description'), + severity: 'error', }) } else { const shouldOverride = await shouldOverrideDocument(addDialog) diff --git a/apps/dotcom/src/components/StoreErrorScreen.tsx b/apps/dotcom/src/components/StoreErrorScreen.tsx index 62c2177b2..6694bdbf1 100644 --- a/apps/dotcom/src/components/StoreErrorScreen.tsx +++ b/apps/dotcom/src/components/StoreErrorScreen.tsx @@ -1,9 +1,11 @@ import { TLIncompatibilityReason } from '@tldraw/tlsync' -import { ErrorScreen, exhaustiveSwitchError } from 'tldraw' +import { exhaustiveSwitchError } from 'tldraw' import { RemoteSyncError } from '../utils/remote-sync/remote-sync' +import { ErrorPage } from './ErrorPage/ErrorPage' export function StoreErrorScreen({ error }: { error: Error }) { - let message = 'Could not connect to server.' + let header = 'Could not connect to server.' + let message = '' if (error instanceof RemoteSyncError) { switch (error.reason) { @@ -26,14 +28,15 @@ export function StoreErrorScreen({ error }: { error: Error }) { 'Your changes were rejected by the server. Please reload the page. If the problem persists contact the system administrator.' break } + case TLIncompatibilityReason.RoomNotFound: { + header = 'Room not found' + message = 'The room you are trying to connect to does not exist.' + break + } default: exhaustiveSwitchError(error.reason) } } - return ( -

- {message} -
- ) + return } diff --git a/apps/dotcom/src/hooks/useRemoteSyncClient.ts b/apps/dotcom/src/hooks/useRemoteSyncClient.ts index bdd134d4f..d01df1fc8 100644 --- a/apps/dotcom/src/hooks/useRemoteSyncClient.ts +++ b/apps/dotcom/src/hooks/useRemoteSyncClient.ts @@ -1,4 +1,10 @@ -import { TLSyncClient, schema } from '@tldraw/tlsync' +import { + TLCloseEventCode, + TLIncompatibilityReason, + TLPersistentClientSocketStatus, + TLSyncClient, + schema, +} from '@tldraw/tlsync' import { useEffect, useState } from 'react' import { TAB_ID, @@ -30,7 +36,7 @@ export function useRemoteSyncClient(opts: UseSyncClientConfig): RemoteTLStoreWit readyClient?: TLSyncClient error?: Error } | null>(null) - const { uri, roomId = 'default', userPreferences: prefs, getAccessToken } = opts + const { uri, roomId = 'default', userPreferences: prefs } = opts const store = useTLStore({ schema }) @@ -52,13 +58,19 @@ export function useRemoteSyncClient(opts: UseSyncClientConfig): RemoteTLStoreWit const withParams = new URL(uri) withParams.searchParams.set('sessionKey', TAB_ID) withParams.searchParams.set('storeId', store.id) - const accessToken = await getAccessToken?.() - if (accessToken) { - withParams.searchParams.set('accessToken', accessToken) - } return withParams.toString() }) + socket.onStatusChange((val: TLPersistentClientSocketStatus, closeCode?: number) => { + if (val === 'error' && closeCode === TLCloseEventCode.NOT_FOUND) { + trackAnalyticsEvent(MULTIPLAYER_EVENT_NAME, { name: 'room-not-found', roomId }) + setState({ error: new RemoteSyncError(TLIncompatibilityReason.RoomNotFound) }) + client.close() + socket.close() + return + } + }) + let didCancel = false const client = new TLSyncClient({ @@ -95,7 +107,7 @@ export function useRemoteSyncClient(opts: UseSyncClientConfig): RemoteTLStoreWit client.close() socket.close() } - }, [getAccessToken, prefs, roomId, store, uri]) + }, [prefs, roomId, store, uri]) return useValue( 'remote synced store', diff --git a/apps/dotcom/src/pages/history-snapshot.tsx b/apps/dotcom/src/pages/history-snapshot.tsx index b9e16c432..90d861608 100644 --- a/apps/dotcom/src/pages/history-snapshot.tsx +++ b/apps/dotcom/src/pages/history-snapshot.tsx @@ -1,8 +1,9 @@ +import { ROOM_PREFIX } from '@tldraw/dotcom-shared' import { RoomSnapshot } from '@tldraw/tlsync' import '../../styles/globals.css' import { BoardHistorySnapshot } from '../components/BoardHistorySnapshot/BoardHistorySnapshot' import { ErrorPage } from '../components/ErrorPage/ErrorPage' -import { IFrameProtector } from '../components/IFrameProtector' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' import { defineLoader } from '../utils/defineLoader' const { loader, useData } = defineLoader(async (args) => { @@ -11,7 +12,7 @@ const { loader, useData } = defineLoader(async (args) => { if (!roomId) return null - const result = await fetch(`/api/r/${roomId}/history/${timestamp}`, { + const result = await fetch(`/api/${ROOM_PREFIX}/${roomId}/history/${timestamp}`, { headers: {}, }) if (!result.ok) return null @@ -32,13 +33,12 @@ export function Component() { header: 'Page not found', para1: 'The page you are looking does not exist or has been moved.', }} - redirectTo="/" /> ) const { data, roomId, timestamp } = result return ( - + ) diff --git a/apps/dotcom/src/pages/history.tsx b/apps/dotcom/src/pages/history.tsx index e2921775a..cbe37b800 100644 --- a/apps/dotcom/src/pages/history.tsx +++ b/apps/dotcom/src/pages/history.tsx @@ -1,6 +1,7 @@ +import { ROOM_PREFIX } from '@tldraw/dotcom-shared' import { BoardHistoryLog } from '../components/BoardHistoryLog/BoardHistoryLog' import { ErrorPage } from '../components/ErrorPage/ErrorPage' -import { IFrameProtector } from '../components/IFrameProtector' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' import { defineLoader } from '../utils/defineLoader' const { loader, useData } = defineLoader(async (args) => { @@ -8,7 +9,7 @@ const { loader, useData } = defineLoader(async (args) => { if (!boardId) return null - const result = await fetch(`/api/r/${boardId}/history`, { + const result = await fetch(`/api/${ROOM_PREFIX}/${boardId}/history`, { headers: {}, }) if (!result.ok) return null @@ -29,11 +30,10 @@ export function Component() { header: 'Page not found', para1: 'The page you are looking does not exist or has been moved.', }} - redirectTo="/" /> ) return ( - + ) diff --git a/apps/dotcom/src/pages/new.tsx b/apps/dotcom/src/pages/new.tsx new file mode 100644 index 000000000..6dd611b07 --- /dev/null +++ b/apps/dotcom/src/pages/new.tsx @@ -0,0 +1,40 @@ +import { ROOM_PREFIX, Snapshot } from '@tldraw/dotcom-shared' +import { schema } from '@tldraw/tlsync' +import { Navigate } from 'react-router-dom' +import '../../styles/globals.css' +import { ErrorPage } from '../components/ErrorPage/ErrorPage' +import { defineLoader } from '../utils/defineLoader' +import { isInIframe } from '../utils/iFrame' +import { getNewRoomResponse } from '../utils/sharing' + +const { loader, useData } = defineLoader(async (_args) => { + if (isInIframe()) return null + + const res = await getNewRoomResponse({ + schema: schema.serialize(), + snapshot: {}, + } satisfies Snapshot) + + const response = (await res.json()) as { error: boolean; slug?: string } + if (!res.ok || response.error || !response.slug) { + return null + } + return { slug: response.slug } +}) + +export { loader } + +export function Component() { + const data = useData() + if (!data) + return ( + + ) + return +} diff --git a/apps/dotcom/src/pages/not-found.tsx b/apps/dotcom/src/pages/not-found.tsx index e76009b9f..fa5c93ec3 100644 --- a/apps/dotcom/src/pages/not-found.tsx +++ b/apps/dotcom/src/pages/not-found.tsx @@ -8,7 +8,6 @@ export function Component() { header: 'Page not found', para1: 'The page you are looking does not exist or has been moved.', }} - redirectTo="/" /> ) } diff --git a/apps/dotcom/src/pages/public-multiplayer.tsx b/apps/dotcom/src/pages/public-multiplayer.tsx index ffb5dc11e..63f161685 100644 --- a/apps/dotcom/src/pages/public-multiplayer.tsx +++ b/apps/dotcom/src/pages/public-multiplayer.tsx @@ -1,13 +1,14 @@ +import { ROOM_OPEN_MODE } from '@tldraw/dotcom-shared' import { useParams } from 'react-router-dom' import '../../styles/globals.css' -import { IFrameProtector } from '../components/IFrameProtector' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' import { MultiplayerEditor } from '../components/MultiplayerEditor' export function Component() { const id = useParams()['roomId'] as string return ( - - + + ) } diff --git a/apps/dotcom/src/pages/public-readonly-legacy.tsx b/apps/dotcom/src/pages/public-readonly-legacy.tsx new file mode 100644 index 000000000..e969894b1 --- /dev/null +++ b/apps/dotcom/src/pages/public-readonly-legacy.tsx @@ -0,0 +1,14 @@ +import { ROOM_OPEN_MODE } from '@tldraw/dotcom-shared' +import { useParams } from 'react-router-dom' +import '../../styles/globals.css' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' +import { MultiplayerEditor } from '../components/MultiplayerEditor' + +export function Component() { + const id = useParams()['roomId'] as string + return ( + + + + ) +} diff --git a/apps/dotcom/src/pages/public-readonly.tsx b/apps/dotcom/src/pages/public-readonly.tsx index dba771e1e..b9a98ef73 100644 --- a/apps/dotcom/src/pages/public-readonly.tsx +++ b/apps/dotcom/src/pages/public-readonly.tsx @@ -1,13 +1,14 @@ +import { ROOM_OPEN_MODE } from '@tldraw/dotcom-shared' import { useParams } from 'react-router-dom' import '../../styles/globals.css' -import { IFrameProtector } from '../components/IFrameProtector' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' import { MultiplayerEditor } from '../components/MultiplayerEditor' export function Component() { const id = useParams()['roomId'] as string return ( - - + + ) } diff --git a/apps/dotcom/src/pages/public-snapshot.tsx b/apps/dotcom/src/pages/public-snapshot.tsx index b7580db9d..a0d469df6 100644 --- a/apps/dotcom/src/pages/public-snapshot.tsx +++ b/apps/dotcom/src/pages/public-snapshot.tsx @@ -1,6 +1,6 @@ import { SerializedSchema, TLRecord } from 'tldraw' import '../../styles/globals.css' -import { IFrameProtector } from '../components/IFrameProtector' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' import { SnapshotsEditor } from '../components/SnapshotsEditor' import { defineLoader } from '../utils/defineLoader' @@ -23,7 +23,7 @@ export function Component() { if (!result) throw Error('Room not found') const { roomId, records, schema } = result return ( - + ) diff --git a/apps/dotcom/src/pages/root.tsx b/apps/dotcom/src/pages/root.tsx index ddb48b87e..997636c3c 100644 --- a/apps/dotcom/src/pages/root.tsx +++ b/apps/dotcom/src/pages/root.tsx @@ -1,10 +1,10 @@ import '../../styles/globals.css' -import { IFrameProtector } from '../components/IFrameProtector' +import { IFrameProtector, ROOM_CONTEXT } from '../components/IFrameProtector' import { LocalEditor } from '../components/LocalEditor' export function Component() { return ( - + ) diff --git a/apps/dotcom/src/routes.tsx b/apps/dotcom/src/routes.tsx index 6ae96252e..a89245bfc 100644 --- a/apps/dotcom/src/routes.tsx +++ b/apps/dotcom/src/routes.tsx @@ -1,7 +1,12 @@ import { captureException } from '@sentry/react' -import { nanoid } from 'nanoid' +import { + READ_ONLY_LEGACY_PREFIX, + READ_ONLY_PREFIX, + ROOM_PREFIX, + SNAPSHOT_PREFIX, +} from '@tldraw/dotcom-shared' import { useEffect } from 'react' -import { createRoutesFromElements, Outlet, redirect, Route, useRouteError } from 'react-router-dom' +import { Outlet, Route, createRoutesFromElements, useRouteError } from 'react-router-dom' import { DefaultErrorFallback } from './components/DefaultErrorFallback/DefaultErrorFallback' import { ErrorPage } from './components/ErrorPage/ErrorPage' @@ -30,28 +35,20 @@ export const router = createRoutesFromElements( > }> import('./pages/root')} /> + import('./pages/new')} /> + import('./pages/new')} /> + import('./pages/public-multiplayer')} /> + import('./pages/history')} /> { - const id = 'v2' + nanoid() - return redirect(`/r/${id}`) - }} - /> - { - const id = 'v2' + nanoid() - return redirect(`/r/${id}`) - }} - /> - import('./pages/public-multiplayer')} /> - import('./pages/history')} /> - import('./pages/history-snapshot')} /> - import('./pages/public-snapshot')} /> - import('./pages/public-readonly')} /> + import('./pages/public-snapshot')} /> + import('./pages/public-readonly-legacy')} + /> + import('./pages/public-readonly')} /> import('./pages/not-found')} /> diff --git a/apps/dotcom/src/utils/assetUrls.ts b/apps/dotcom/src/utils/assetUrls.ts index d3616dde2..84ac31694 100644 --- a/apps/dotcom/src/utils/assetUrls.ts +++ b/apps/dotcom/src/utils/assetUrls.ts @@ -1,4 +1,3 @@ -// eslint-disable-next-line import/no-internal-modules import { getAssetUrlsByImport } from '@tldraw/assets/imports.vite' export const assetUrls = getAssetUrlsByImport() diff --git a/apps/dotcom/src/utils/context-menu/CursorChatMenuItem.tsx b/apps/dotcom/src/utils/context-menu/CursorChatMenuItem.tsx index db0e25d19..b51b2fdb2 100644 --- a/apps/dotcom/src/utils/context-menu/CursorChatMenuItem.tsx +++ b/apps/dotcom/src/utils/context-menu/CursorChatMenuItem.tsx @@ -6,9 +6,7 @@ export function CursorChatMenuItem() { const actions = useActions() const shouldShow = useValue( 'show cursor chat', - () => { - return editor.getInstanceState().isCoarsePointer && !editor.getSelectedShapes().length - }, + () => editor.getCurrentToolId() === 'select' && !editor.getInstanceState().isCoarsePointer, [editor] ) diff --git a/apps/dotcom/src/utils/iFrame.ts b/apps/dotcom/src/utils/iFrame.ts new file mode 100644 index 000000000..1e04e0ba7 --- /dev/null +++ b/apps/dotcom/src/utils/iFrame.ts @@ -0,0 +1,16 @@ +export const isInIframe = () => { + return typeof window !== 'undefined' && (window !== window.top || window.self !== window.parent) +} + +export function getParentOrigin() { + if (isInIframe()) { + const ancestorOrigins = window.location.ancestorOrigins + // ancestorOrigins is not supported in Firefox + if (ancestorOrigins && ancestorOrigins.length > 0) { + return ancestorOrigins[0] + } else { + return document.referrer + } + } + return document.location.origin +} diff --git a/apps/dotcom/src/utils/migration/DebugMenuItems.tsx b/apps/dotcom/src/utils/migration/DebugMenuItems.tsx index 7c061152c..f5aa29b59 100644 --- a/apps/dotcom/src/utils/migration/DebugMenuItems.tsx +++ b/apps/dotcom/src/utils/migration/DebugMenuItems.tsx @@ -6,14 +6,6 @@ const RELEASE_INFO = `${env} ${process.env.NEXT_PUBLIC_TLDRAW_RELEASE_INFO ?? 'u export function DebugMenuItems() { return ( - { - window.alert(`${RELEASE_INFO}`) - }} - /> + { + window.alert(`${RELEASE_INFO}`) + }} + /> ) } diff --git a/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.test.ts b/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.test.ts index 94ae692f8..edd133970 100644 --- a/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.test.ts +++ b/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.test.ts @@ -65,6 +65,9 @@ describe(ClientWebSocketAdapter, () => { const prevServerSocket = connectedServerSocket prevServerSocket.terminate() await waitFor(() => connectedServerSocket !== prevServerSocket) + // there is a race here, the server could've opened a new socket already, but it hasn't + // transitioned to OPEN yet, thus the second waitFor + await waitFor(() => connectedServerSocket.readyState === WebSocket.OPEN) expect(adapter._ws).not.toBe(prevClientSocket) expect(adapter._ws?.readyState).toBe(WebSocket.OPEN) }) @@ -137,7 +140,7 @@ describe(ClientWebSocketAdapter, () => { const message: TLSocketClientSentEvent = { type: 'connect', connectRequestId: 'test', - schema: { schemaVersion: 0, storeVersion: 0, recordVersions: {} }, + schema: { schemaVersion: 1, storeVersion: 0, recordVersions: {} }, protocolVersion: TLSYNC_PROTOCOL_VERSION, lastServerClock: 0, } @@ -152,20 +155,33 @@ describe(ClientWebSocketAdapter, () => { it('signals status changes', async () => { const onStatusChange = jest.fn() adapter.onStatusChange(onStatusChange) + await waitFor(() => adapter._ws?.readyState === WebSocket.OPEN) expect(onStatusChange).toHaveBeenCalledWith('online') connectedServerSocket.terminate() await waitFor(() => adapter._ws?.readyState === WebSocket.CLOSED) - expect(onStatusChange).toHaveBeenCalledWith('offline') + expect(onStatusChange).toHaveBeenCalledWith('offline', 1006) + await waitFor(() => adapter._ws?.readyState === WebSocket.OPEN) expect(onStatusChange).toHaveBeenCalledWith('online') connectedServerSocket.terminate() await waitFor(() => adapter._ws?.readyState === WebSocket.CLOSED) - expect(onStatusChange).toHaveBeenCalledWith('offline') + expect(onStatusChange).toHaveBeenCalledWith('offline', 1006) + await waitFor(() => adapter._ws?.readyState === WebSocket.OPEN) expect(onStatusChange).toHaveBeenCalledWith('online') adapter._ws?.onerror?.({} as any) - expect(onStatusChange).toHaveBeenCalledWith('error') + expect(onStatusChange).toHaveBeenCalledWith('error', undefined) + }) + + it('signals the correct closeCode when a room is not found', async () => { + const onStatusChange = jest.fn() + adapter.onStatusChange(onStatusChange) + await waitFor(() => adapter._ws?.readyState === WebSocket.OPEN) + + adapter._ws!.onclose?.({ code: 4099 } as any) + + expect(onStatusChange).toHaveBeenCalledWith('error', 4099) }) it('signals status changes while restarting', async () => { @@ -178,7 +194,7 @@ describe(ClientWebSocketAdapter, () => { await waitFor(() => onStatusChange.mock.calls.length === 2) - expect(onStatusChange).toHaveBeenCalledWith('offline') + expect(onStatusChange).toHaveBeenCalledWith('offline', undefined) expect(onStatusChange).toHaveBeenCalledWith('online') }) }) diff --git a/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.ts b/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.ts index 34fdd5bfd..bd7d33c9f 100644 --- a/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.ts +++ b/apps/dotcom/src/utils/remote-sync/ClientWebSocketAdapter.ts @@ -1,6 +1,6 @@ import { chunk, - serializeMessage, + TLCloseEventCode, TLPersistentClientSocket, TLPersistentClientSocketStatus, TLSocketClientSentEvent, @@ -69,15 +69,20 @@ export class ClientWebSocketAdapter implements TLPersistentClientSocket cb(newStatus)) + this.statusListeners.forEach((cb) => cb(newStatus, closeCode)) } this._reconnectManager.disconnected() @@ -121,10 +126,10 @@ export class ClientWebSocketAdapter implements TLPersistentClientSocket { + ws.onclose = (event: CloseEvent) => { debug('ws.onclose') if (this._ws === ws) { - this._handleDisconnect('closed') + this._handleDisconnect('closed', event.code) } else { debug('ignoring onclose for an orphaned socket') } @@ -176,7 +181,7 @@ export class ClientWebSocketAdapter implements TLPersistentClientSocket void>() - onStatusChange(cb: (val: TLPersistentClientSocketStatus) => void) { + private statusListeners = new Set< + (status: TLPersistentClientSocketStatus, closeCode?: number) => void + >() + onStatusChange(cb: (val: TLPersistentClientSocketStatus, closeCode?: number) => void) { assert(!this.isDisposed, 'Tried to add status listener on a disposed socket') this.statusListeners.add(cb) diff --git a/apps/dotcom/src/utils/remote-sync/remote-sync.ts b/apps/dotcom/src/utils/remote-sync/remote-sync.ts index 715f24173..4d9cdeaed 100644 --- a/apps/dotcom/src/utils/remote-sync/remote-sync.ts +++ b/apps/dotcom/src/utils/remote-sync/remote-sync.ts @@ -15,5 +15,4 @@ export type UseSyncClientConfig = { roomId?: string userPreferences?: Signal snapshotForNewRoomRef?: { current: null | TLStoreSnapshot } - getAccessToken?: () => Promise | string | undefined | null } diff --git a/apps/dotcom/src/utils/sharing.ts b/apps/dotcom/src/utils/sharing.ts index 682645aa8..193fdd9cf 100644 --- a/apps/dotcom/src/utils/sharing.ts +++ b/apps/dotcom/src/utils/sharing.ts @@ -1,10 +1,16 @@ +import { + CreateRoomRequestBody, + CreateSnapshotRequestBody, + CreateSnapshotResponseBody, + ROOM_PREFIX, + SNAPSHOT_PREFIX, + Snapshot, +} from '@tldraw/dotcom-shared' import { useMemo } from 'react' import { useNavigate, useSearchParams } from 'react-router-dom' import { AssetRecordType, Editor, - SerializedSchema, - SerializedStore, TLAsset, TLAssetId, TLRecord, @@ -20,6 +26,7 @@ import { useMultiplayerAssets } from '../hooks/useMultiplayerAssets' import { getViewportUrlQuery } from '../hooks/useUrlState' import { cloneAssetForShare } from './cloneAssetForShare' import { ASSET_UPLOADER_URL } from './config' +import { getParentOrigin, isInIframe } from './iFrame' import { shouldLeaveSharedProject } from './shouldLeaveSharedProject' import { trackAnalyticsEvent } from './trackAnalyticsEvent' import { UI_OVERRIDE_TODO_EVENT, useHandleUiEvents } from './useHandleUiEvent' @@ -32,27 +39,6 @@ export const FORK_PROJECT_ACTION = 'fork-project' as const const CREATE_SNAPSHOT_ENDPOINT = `/api/snapshots` const SNAPSHOT_UPLOAD_URL = `/api/new-room` -type SnapshotRequestBody = { - schema: SerializedSchema - snapshot: SerializedStore -} - -type CreateSnapshotRequestBody = { - schema: SerializedSchema - snapshot: SerializedStore - parent_slug?: string | string[] | undefined -} - -type CreateSnapshotResponseBody = - | { - error: false - roomId: string - } - | { - error: true - message: string - } - async function getSnapshotLink( source: string, editor: Editor, @@ -85,16 +71,30 @@ async function getSnapshotLink( } const paramsToUse = getViewportUrlQuery(editor) const params = paramsToUse ? `?${new URLSearchParams(paramsToUse).toString()}` : '' - return new Blob([`${window.location.origin}/s/${response.roomId}${params}`], { + return new Blob([`${window.location.origin}/${SNAPSHOT_PREFIX}/${response.roomId}${params}`], { type: 'text/plain', }) } +export async function getNewRoomResponse(snapshot: Snapshot) { + return await fetch(SNAPSHOT_UPLOAD_URL, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + origin: getParentOrigin(), + snapshot, + } satisfies CreateRoomRequestBody), + }) +} + export function useSharing(): TLUiOverrides { const navigate = useNavigate() const id = useSearchParams()[0].get('id') ?? undefined const uploadFileToAsset = useMultiplayerAssets(ASSET_UPLOADER_URL) const handleUiEvent = useHandleUiEvents() + const runningInIFrame = isInIframe() return useMemo( (): TLUiOverrides => ({ @@ -122,17 +122,10 @@ export function useSharing(): TLUiOverrides { const data = await getRoomData(editor, addToast, msg, uploadFileToAsset) if (!data) return - const res = await fetch(SNAPSHOT_UPLOAD_URL, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - schema: editor.store.schema.serialize(), - snapshot: data, - } satisfies SnapshotRequestBody), + const res = await getNewRoomResponse({ + schema: editor.store.schema.serialize(), + snapshot: data, }) - const response = (await res.json()) as { error: boolean; slug?: string } if (!res.ok || response.error) { console.error(await res.text()) @@ -140,13 +133,19 @@ export function useSharing(): TLUiOverrides { } const query = getViewportUrlQuery(editor) - - navigate(`/r/${response.slug}?${new URLSearchParams(query ?? {}).toString()}`) + const origin = window.location.origin + const pathname = `/${ROOM_PREFIX}/${response.slug}?${new URLSearchParams(query ?? {}).toString()}` + if (runningInIFrame) { + window.open(`${origin}${pathname}`) + } else { + navigate(pathname) + } } catch (error) { console.error(error) addToast({ title: 'Error', description: msg('share-menu.upload-failed'), + severity: 'error', }) } }, @@ -181,12 +180,12 @@ export function useSharing(): TLUiOverrides { actions[FORK_PROJECT_ACTION] = { ...actions[SHARE_PROJECT_ACTION], id: FORK_PROJECT_ACTION, - label: 'action.fork-project', + label: runningInIFrame ? 'action.fork-project-on-tldraw' : 'action.fork-project', } return actions }, }), - [handleUiEvent, navigate, uploadFileToAsset, id] + [handleUiEvent, navigate, uploadFileToAsset, id, runningInIFrame] ) } @@ -242,6 +241,7 @@ async function getRoomData( addToast({ title: 'Too big!', description: msg('share-menu.project-too-large'), + severity: 'warning', }) trackAnalyticsEvent('shared-fail-too-big', { diff --git a/apps/dotcom/src/utils/useFileSystem.tsx b/apps/dotcom/src/utils/useFileSystem.tsx index 0c1e73e5f..c328bb138 100644 --- a/apps/dotcom/src/utils/useFileSystem.tsx +++ b/apps/dotcom/src/utils/useFileSystem.tsx @@ -44,6 +44,7 @@ export function useFileSystem({ isMultiplayer }: { isMultiplayer: boolean }): TL addToast({ title: msg('file-system.shared-document-file-open-error.title'), description: msg('file-system.shared-document-file-open-error.description'), + severity: 'error', }) return } diff --git a/apps/dotcom/styles/core.css b/apps/dotcom/styles/core.css index 9650d147e..2ceb7f2a6 100644 --- a/apps/dotcom/styles/core.css +++ b/apps/dotcom/styles/core.css @@ -1,4 +1,4 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;800&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap'); :root { font-family: @@ -183,6 +183,7 @@ a { font-weight: 500; color: var(--text-color-2); padding: 12px 4px; + text-decoration: underline; } /* ------------------ Board history ----------------- */ diff --git a/apps/dotcom/styles/globals.css b/apps/dotcom/styles/globals.css index a506a6985..ad09c7c00 100644 --- a/apps/dotcom/styles/globals.css +++ b/apps/dotcom/styles/globals.css @@ -1,4 +1,4 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Plus+Jakarta+Sans:wght@600;800&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap'); @import url('tldraw/tldraw.css'); @import url('./z-board.css'); diff --git a/apps/dotcom/styles/z-board.css b/apps/dotcom/styles/z-board.css index 8754e7012..ae8ec2ae2 100644 --- a/apps/dotcom/styles/z-board.css +++ b/apps/dotcom/styles/z-board.css @@ -7,11 +7,12 @@ .tlui-share-zone { padding: 0px 0px 0px 0px; display: flex; - height: 40px; flex-direction: row; justify-content: flex-end; z-index: var(--layer-panels); align-items: center; + padding-top: 2px; + padding-right: 4px; } .tlui-share-zone__connection-status { @@ -327,7 +328,9 @@ display: flex; align-items: center; justify-content: center; - height: 40px; + height: 36px; + margin-top: 4px; + padding-left: 4px; max-width: 100%; color: var(--color-text); text-shadow: 1px 1px 0px var(--color-background); @@ -336,7 +339,7 @@ .tlui-document-name__input__wrapper { position: relative; - max-width: calc(100% - 40px); + max-width: calc(100% - 36px); display: flex; flex: auto; } @@ -351,6 +354,8 @@ .tlui-document-name__input { position: absolute; + padding: var(--space-1) var(--space-3); + margin-top: 2px; width: 100%; border-radius: var(--radius-2); color: var(--color-text); @@ -375,13 +380,7 @@ } .tlui-document-name__menu { - width: 40px; - height: 40px; -} - -.tlui-document-name__input__wrapper:focus-within + .tlui-document-name__menu::after { - /* when the input is focused, its outline is flush against the menu button which doesn't look - good. This shifts the left-hand edge of the menu button over by 2px to give it a little - breathing room when the input is focused. */ - width: calc(100% - 10px); + width: 36px; + min-width: 36px; + height: 36px; } diff --git a/apps/dotcom/tsconfig.json b/apps/dotcom/tsconfig.json index 484691996..9a0d90d11 100644 --- a/apps/dotcom/tsconfig.json +++ b/apps/dotcom/tsconfig.json @@ -28,6 +28,9 @@ { "path": "../../packages/assets" }, + { + "path": "../../packages/dotcom-shared" + }, { "path": "../../packages/tldraw" }, diff --git a/apps/dotcom/version.ts b/apps/dotcom/version.ts index a47434549..ed9428ea4 100644 --- a/apps/dotcom/version.ts +++ b/apps/dotcom/version.ts @@ -1,4 +1,4 @@ // This file is automatically generated by scripts/refresh-assets.ts. // Do not edit manually. Or do, I'm a comment, not a cop. -export const version = '2.0.0' +export const version = '2.1.0' diff --git a/apps/examples/e2e/shared-e2e.ts b/apps/examples/e2e/shared-e2e.ts index c736d1417..562d9e131 100644 --- a/apps/examples/e2e/shared-e2e.ts +++ b/apps/examples/e2e/shared-e2e.ts @@ -41,9 +41,9 @@ export async function setupPageWithShapes(page: PlaywrightTestArgs['page']) { await page.mouse.click(200, 250) await page.keyboard.press('r') await page.mouse.click(250, 300) - // deselect everything - await page.evaluate(() => editor.selectNone()) + await page.keyboard.press('Escape') + await page.keyboard.press('Escape') } export async function cleanupPage(page: PlaywrightTestArgs['page']) { diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts b/apps/examples/e2e/tests/export-snapshots.spec.ts index e883f60ff..237cead9f 100644 --- a/apps/examples/e2e/tests/export-snapshots.spec.ts +++ b/apps/examples/e2e/tests/export-snapshots.spec.ts @@ -1,14 +1,14 @@ -import test from '@playwright/test' -import { TLShapeId, TLShapePartial } from 'tldraw' +import { Page, expect } from '@playwright/test' +import assert from 'assert' +import { rename, writeFile } from 'fs/promises' +import { Editor, TLShapeId, TLShapePartial } from 'tldraw' +import { setup } from '../shared-e2e' +import test, { ApiFixture } from './fixtures/fixtures' -// import test, { Page, expect } from '@playwright/test' -// import assert from 'assert' -// import { rename, writeFile } from 'fs/promises' -// import { setupPage } from '../shared-e2e' -// import { Editor, TLShapeId, TLShapePartial } from 'tldraw' - -// declare const editor: Editor +declare const editor: Editor +// hi steve. please don't comment these out. they stop us getting bugs. u can just ask if they're +// holding u up <3 test.describe('Export snapshots', () => { const snapshots = { 'Exports geo text with leading line breaks': [ @@ -189,50 +189,50 @@ test.describe('Export snapshots', () => { ] } - // const snapshotsToTest = Object.entries(snapshots) - // const filteredSnapshots = snapshotsToTest // maybe we filter these down, there are a lot of them + const snapshotsToTest = Object.entries(snapshots) + const filteredSnapshots = snapshotsToTest // maybe we filter these down, there are a lot of them - // for (const [name, shapes] of filteredSnapshots) { - // test(`Exports with ${name} in dark mode`, async ({ browser }) => { - // const page = await browser.newPage() - // await setupPage(page) - // await page.evaluate((shapes) => { - // editor.user.updateUserPreferences({ isDarkMode: true }) - // editor - // .updateInstanceState({ exportBackground: false }) - // .selectAll() - // .deleteShapes(editor.getSelectedShapeIds()) - // .createShapes(shapes) - // }, shapes as any) + test.beforeEach(setup) - // await snapshotTest(page) - // }) - // } + for (const [name, shapes] of filteredSnapshots) { + test(`Exports with ${name} in dark mode`, async ({ page, api }) => { + await page.evaluate((shapes) => { + editor.user.updateUserPreferences({ isDarkMode: true }) + editor + .updateInstanceState({ exportBackground: false }) + .selectAll() + .deleteShapes(editor.getSelectedShapeIds()) + .createShapes(shapes) + }, shapes as any) - // async function snapshotTest(page: Page) { - // const downloadAndSnapshot = page.waitForEvent('download').then(async (download) => { - // const path = (await download.path()) as string - // assert(path) - // await rename(path, path + '.svg') - // await writeFile( - // path + '.html', - // ` - // - // - // - // - // `, - // 'utf-8' - // ) + await snapshotTest(page, api) + }) + } - // await page.goto(`file://${path}.html`) - // const clip = await page.$eval('img', (img) => img.getBoundingClientRect()) - // await expect(page).toHaveScreenshot({ - // omitBackground: true, - // clip, - // }) - // }) - // await page.evaluate(() => (window as any)['tldraw-export']()) - // await downloadAndSnapshot - // } + async function snapshotTest(page: Page, api: ApiFixture) { + const downloadAndSnapshot = page.waitForEvent('download').then(async (download) => { + const path = (await download.path()) as string + assert(path) + await rename(path, path + '.svg') + await writeFile( + path + '.html', + ` + + + + + `, + 'utf-8' + ) + + await page.goto(`file://${path}.html`) + const clip = await page.$eval('img', (img) => img.getBoundingClientRect()) + await expect(page).toHaveScreenshot({ + omitBackground: true, + clip, + }) + }) + await api.exportAsSvg() + await downloadAndSnapshot + } }) diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png index 694d857fe..43e0b9218 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-chromium-linux.png index 694d857fe..43e0b9218 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-leading-line-breaks-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png index 12c2630eb..448f5152d 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-chromium-linux.png index 12c2630eb..448f5152d 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-Exports-geo-text-with-trailing-line-breaks-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-Mobile-Chrome-linux.png index 05ffa6129..d575b197c 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-chromium-linux.png index 05ffa6129..d575b197c 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-none-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-Mobile-Chrome-linux.png index 4d2d387f4..af3cb0850 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-chromium-linux.png index 4d2d387f4..af3cb0850 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-pattern-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-Mobile-Chrome-linux.png index ccd75a3c1..caad24714 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-chromium-linux.png index ccd75a3c1..caad24714 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-semi-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-Mobile-Chrome-linux.png index 70bbfdf93..ed4edfdc6 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-chromium-linux.png index 70bbfdf93..ed4edfdc6 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-fill-solid-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png index cdeeebb62..9f0dc3fed 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-chromium-linux.png index cdeeebb62..9f0dc3fed 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-draw-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png index 7cac88624..c8d908edd 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-chromium-linux.png index 7cac88624..c8d908edd 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-mono-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png index 70136c34e..023a3d4ff 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-chromium-linux.png index 70136c34e..023a3d4ff 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-sans-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png index fa6a669e3..1f8e12ab1 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-chromium-linux.png index fa6a669e3..1f8e12ab1 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-arrow-font-serif-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png index ca64c6355..297e4a72f 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-chromium-linux.png index ca64c6355..297e4a72f 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-draw-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png index 9cb883a78..729f87030 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-chromium-linux.png index 9cb883a78..729f87030 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-mono-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png index 432484f88..99eeb5d23 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-chromium-linux.png index 432484f88..99eeb5d23 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-sans-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png index f147a1cc8..0903ec22e 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-chromium-linux.png index f147a1cc8..0903ec22e 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-geo-font-serif-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png index 5ae95a9d7..da6c7c992 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-chromium-linux.png index 5ae95a9d7..da6c7c992 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-draw-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png index 73adcd5ad..0500ad49b 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-chromium-linux.png index 73adcd5ad..0500ad49b 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-mono-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png index 16167c55e..9f0b5e7e3 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-chromium-linux.png index 16167c55e..9f0b5e7e3 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-sans-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png index 7783f703d..41eacc953 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-chromium-linux.png index 7783f703d..41eacc953 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-note-font-serif-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png index ef4feffb7..eee1dfe72 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-chromium-linux.png index ef4feffb7..eee1dfe72 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-draw-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png index 2cb25c3d9..65959967a 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-chromium-linux.png index 2cb25c3d9..65959967a 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-mono-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png index 5242054cf..6aec0fe06 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-chromium-linux.png index 5242054cf..6aec0fe06 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-sans-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png index 1638fea94..4a4a43c59 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-Mobile-Chrome-linux.png differ diff --git a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-chromium-linux.png b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-chromium-linux.png index 1638fea94..4a4a43c59 100644 Binary files a/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-chromium-linux.png and b/apps/examples/e2e/tests/export-snapshots.spec.ts-snapshots/Export-snapshots-Exports-with-text-font-serif-in-dark-mode-1-chromium-linux.png differ diff --git a/apps/examples/e2e/tests/fixtures/fixtures.ts b/apps/examples/e2e/tests/fixtures/fixtures.ts index 9df95f90d..35c226338 100644 --- a/apps/examples/e2e/tests/fixtures/fixtures.ts +++ b/apps/examples/e2e/tests/fixtures/fixtures.ts @@ -1,4 +1,5 @@ -import { test as base } from '@playwright/test' +import { Page, test as base } from '@playwright/test' +import { EndToEndApi } from '../../../src/misc/EndToEndApi' import { ActionsMenu } from './menus/ActionsMenu' import { HelpMenu } from './menus/HelpMenu' import { MainMenu } from './menus/MainMenu' @@ -15,6 +16,30 @@ type Fixtures = { mainMenu: MainMenu pageMenu: PageMenu navigationPanel: NavigationPanel + api: ReturnType +} + +export type ApiFixture = { + [K in keyof EndToEndApi]: ( + ...args: Parameters + ) => Promise> +} + +function makeApiFixture(keys: { [K in keyof EndToEndApi]: true }, page: Page): ApiFixture { + const result = {} as any + + for (const key of Object.keys(keys)) { + result[key] = (...args: any[]) => { + return page.evaluate( + ([key, ...args]) => { + return (window as any).tldrawApi[key](...args) + }, + [key, ...args] + ) + } + } + + return result } const test = base.extend({ @@ -46,6 +71,16 @@ const test = base.extend({ const navigationPanel = new NavigationPanel(page) await use(navigationPanel) }, + api: async ({ page }, use) => { + const api = makeApiFixture( + { + exportAsSvg: true, + exportAsFormat: true, + }, + page + ) + await use(api) + }, }) export default test diff --git a/apps/examples/e2e/tests/test-api.spec.ts b/apps/examples/e2e/tests/test-api.spec.ts new file mode 100644 index 000000000..8a6a0b6a7 --- /dev/null +++ b/apps/examples/e2e/tests/test-api.spec.ts @@ -0,0 +1,14 @@ +import { setupWithShapes } from '../shared-e2e' +import test from './fixtures/fixtures' + +test.beforeEach(setupWithShapes) + +test.describe('api', () => { + for (const format of ['svg', 'png', 'jpeg', 'webp', 'json'] as const) { + test(`export as ${format}`, async ({ page, api }) => { + const downloadEvent = page.waitForEvent('download') + await api.exportAsFormat(format) + await downloadEvent + }) + } +}) diff --git a/apps/examples/e2e/tests/test-canvas-events.spec.ts b/apps/examples/e2e/tests/test-canvas-events.spec.ts index 072870629..5f5537e68 100644 --- a/apps/examples/e2e/tests/test-canvas-events.spec.ts +++ b/apps/examples/e2e/tests/test-canvas-events.spec.ts @@ -21,6 +21,7 @@ test.describe('Canvas events', () => { await page.mouse.move(200, 200) // to kill any double clicks await page.mouse.move(100, 100) await page.mouse.down() + await page.waitForTimeout(20) expect(await page.evaluate(() => __tldraw_editor_events.at(-1))).toMatchObject({ target: 'canvas', type: 'pointer', @@ -46,6 +47,7 @@ test.describe('Canvas events', () => { await page.mouse.down() await page.mouse.move(101, 101) await page.mouse.up() + await page.waitForTimeout(20) expect(await page.evaluate(() => __tldraw_editor_events.at(-1))).toMatchObject({ target: 'canvas', type: 'pointer', @@ -118,6 +120,7 @@ test.describe('Shape events', () => { test('pointer down', async () => { await page.mouse.move(51, 51) await page.mouse.down() + await page.waitForTimeout(20) expect(await page.evaluate(() => __tldraw_editor_events.at(-1))).toMatchObject({ target: 'canvas', type: 'pointer', @@ -128,6 +131,7 @@ test.describe('Shape events', () => { test('pointer move', async () => { await page.mouse.move(51, 51) await page.mouse.move(52, 52) + await page.waitForTimeout(20) expect(await page.evaluate(() => __tldraw_editor_events.at(-1))).toMatchObject({ target: 'canvas', type: 'pointer', @@ -139,6 +143,7 @@ test.describe('Shape events', () => { await page.mouse.move(51, 51) await page.mouse.down() await page.mouse.up() + await page.waitForTimeout(20) expect(await page.evaluate(() => __tldraw_editor_events.at(-1))).toMatchObject({ target: 'canvas', type: 'pointer', diff --git a/apps/examples/e2e/tests/test-focus.spec.ts b/apps/examples/e2e/tests/test-focus.spec.ts index e2c4182f8..c2998f1f8 100644 --- a/apps/examples/e2e/tests/test-focus.spec.ts +++ b/apps/examples/e2e/tests/test-focus.spec.ts @@ -119,19 +119,19 @@ test.describe('Focus', () => { await (await page.$('body'))?.click() - expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]')).toBe( + expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).toBe( null ) - expect(await EditorB.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]')).toBe( + expect(await EditorB.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).toBe( null ) await page.keyboard.press('d') - expect( - await EditorA.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]') - ).not.toBe(null) - expect(await EditorB.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]')).toBe( + expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).not.toBe( + null + ) + expect(await EditorB.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).toBe( null ) @@ -139,12 +139,12 @@ test.describe('Focus', () => { await page.waitForTimeout(100) // takes 30ms or so to focus await page.keyboard.press('d') - expect( - await EditorA.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]') - ).not.toBe(null) - expect( - await EditorB.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]') - ).not.toBe(null) + expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).not.toBe( + null + ) + expect(await EditorB.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).not.toBe( + null + ) }) test('kbds after clicking on ui elements', async ({ page }) => { @@ -157,21 +157,21 @@ test.describe('Focus', () => { const drawButton = await EditorA.$('.tlui-button[data-testid="tools.draw"]') // select button should be selected, not the draw button - expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]')).toBe( + expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).toBe( null ) await drawButton?.click() // draw button should be selected now - expect( - await EditorA.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]') - ).not.toBe(null) + expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).not.toBe( + null + ) await page.keyboard.press('v') // select button should be selected again - expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][data-state="selected"]')).toBe( + expect(await EditorA.$('.tlui-button[data-testid="tools.draw"][aria-checked="true"]')).toBe( null ) }) diff --git a/apps/examples/e2e/tests/test-kbds.spec.ts b/apps/examples/e2e/tests/test-kbds.spec.ts index 70a9e9276..3b78b7f12 100644 --- a/apps/examples/e2e/tests/test-kbds.spec.ts +++ b/apps/examples/e2e/tests/test-kbds.spec.ts @@ -89,7 +89,7 @@ test.describe('Keyboard Shortcuts', () => { await page.keyboard.press(key) expect(await page.evaluate(() => __tldraw_ui_event)).toMatchObject({ name: 'select-tool', - data: { id: tool, source: 'kbd' }, + data: { id: tool, source: 'toolbar' }, }) } }) @@ -212,6 +212,13 @@ test.describe('Actions on shapes', () => { test('Operations on shapes', async () => { await setupPageWithShapes(page) + // needs shapes on the canvas + await page.keyboard.press('Control+Shift+c') + expect(await page.evaluate(() => __tldraw_ui_event)).toMatchObject({ + name: 'copy-as', + data: { format: 'svg', source: 'kbd' }, + }) + // select-all — Cmd+A await page.keyboard.press('Control+a') expect(await page.evaluate(() => __tldraw_ui_event)).toMatchObject({ @@ -353,14 +360,6 @@ test.describe('Actions on shapes', () => { // name: 'open-menu', // data: { source: 'dialog' }, // }) - - /* --------------------- Export --------------------- */ - - await page.keyboard.press('Control+Shift+c') - expect(await page.evaluate(() => __tldraw_ui_event)).toMatchObject({ - name: 'copy-as', - data: { format: 'svg', source: 'kbd' }, - }) }) }) diff --git a/apps/examples/e2e/tests/test-routes.spec.ts b/apps/examples/e2e/tests/test-routes.spec.ts index 6c3ce6594..d1cbb9ae4 100644 --- a/apps/examples/e2e/tests/test-routes.spec.ts +++ b/apps/examples/e2e/tests/test-routes.spec.ts @@ -4,7 +4,16 @@ import path from 'path' // get all routes from examples/src/examples folder const examplesFolderList = fs.readdirSync(path.join(__dirname, '../../src/examples')) -const examplesWithoutCanvas = ['image-component', 'yjs'] +const examplesWithoutCanvas = [ + // only shows an image, not the canvas + 'image-component', + // links out to a different repo + 'yjs', + // starts by asking the user to select an image + 'image-annotator', + // starts by asking the user to open a pdf + 'pdf-editor', +] const exampelsToTest = examplesFolderList.filter((route) => !examplesWithoutCanvas.includes(route)) test.describe('Routes', () => { diff --git a/apps/examples/e2e/tests/test-shapes.spec.ts b/apps/examples/e2e/tests/test-shapes.spec.ts index fb638a357..4d1a827fc 100644 --- a/apps/examples/e2e/tests/test-shapes.spec.ts +++ b/apps/examples/e2e/tests/test-shapes.spec.ts @@ -88,12 +88,7 @@ test.describe('Shape Tools', () => { await page.getByTestId(`tools.${tool}`).click() // Button should be selected - expect( - await page - .getByTestId(`tools.${tool}`) - .elementHandle() - .then((d) => d?.getAttribute('data-state')) - ).toBe('selected') + await expect(page.getByTestId(`tools.${tool}`)).toHaveAttribute('aria-checked', 'true') } }) @@ -113,15 +108,11 @@ test.describe('Shape Tools', () => { await page.getByTestId(`tools.${tool}`).click() // Button should be selected - expect( - await page - .getByTestId(`tools.${tool}`) - .elementHandle() - .then((d) => d?.getAttribute('data-state')) - ).toBe('selected') + await expect(page.getByTestId(`tools.${tool}`)).toHaveAttribute('aria-checked', 'true') // Click on the page await page.mouse.click(200, 200) + await page.waitForTimeout(20) // We should have a corresponding shape in the page expect(await getAllShapeTypes(page)).toEqual([shape]) @@ -129,6 +120,7 @@ test.describe('Shape Tools', () => { // Reset for next time await page.mouse.click(50, 50) // to ensure we're not focused await page.keyboard.press('v') // go to the select tool + await page.waitForTimeout(20) await page.keyboard.press('Control+a') await page.keyboard.press('Backspace') } @@ -152,12 +144,7 @@ test.describe('Shape Tools', () => { await page.getByTestId(`tools.${tool}`).click() // Button should be selected - expect( - await page - .getByTestId(`tools.${tool}`) - .elementHandle() - .then((d) => d?.getAttribute('data-state')) - ).toBe('selected') + await expect(page.getByTestId(`tools.${tool}`)).toHaveAttribute('aria-checked', 'true') // Click and drag await page.mouse.move(200, 200) @@ -171,6 +158,7 @@ test.describe('Shape Tools', () => { // Reset for next time await page.mouse.click(50, 50) // to ensure we're not focused await page.keyboard.press('v') + await page.waitForTimeout(20) await page.keyboard.press('Control+a') await page.keyboard.press('Backspace') } diff --git a/apps/examples/e2e/tests/test-text.spec.ts b/apps/examples/e2e/tests/test-text.spec.ts index ad0211b19..9bb5774e8 100644 --- a/apps/examples/e2e/tests/test-text.spec.ts +++ b/apps/examples/e2e/tests/test-text.spec.ts @@ -1,5 +1,5 @@ import test, { Page, expect } from '@playwright/test' -import { BoxModel, Editor } from 'tldraw' +import { BoxModel, Editor, TLNoteShape, TLShapeId } from 'tldraw' import { setupPage } from '../shared-e2e' export function sleep(ms: number) { @@ -242,4 +242,92 @@ test.describe('text measurement', () => { expect(formatLines(spans)).toEqual([[' \n'], [' \n'], [' \n'], [' ']]) }) + + test('for auto-font-sizing shapes, should do normal font size for text that does not have long words', async () => { + const shape = await page.evaluate(() => { + const id = 'shape:testShape' as TLShapeId + editor.createShapes([ + { + id, + type: 'note', + x: 0, + y: 0, + props: { + text: 'this is just some regular text', + size: 'xl', + }, + }, + ]) + + return editor.getShape(id) as TLNoteShape + }) + + expect(shape.props.fontSizeAdjustment).toEqual(32) + }) + + test('for auto-font-sizing shapes, should auto-size text that have slightly long words', async () => { + const shape = await page.evaluate(() => { + const id = 'shape:testShape' as TLShapeId + editor.createShapes([ + { + id, + type: 'note', + x: 0, + y: 0, + props: { + text: 'Amsterdam', + size: 'xl', + }, + }, + ]) + + return editor.getShape(id) as TLNoteShape + }) + + expect(shape.props.fontSizeAdjustment).toEqual(27) + }) + + test('for auto-font-sizing shapes, should auto-size text that have long words', async () => { + const shape = await page.evaluate(() => { + const id = 'shape:testShape' as TLShapeId + editor.createShapes([ + { + id, + type: 'note', + x: 0, + y: 0, + props: { + text: 'this is a tentoonstelling', + size: 'xl', + }, + }, + ]) + + return editor.getShape(id) as TLNoteShape + }) + + expect(shape.props.fontSizeAdjustment).toEqual(20) + }) + + test('for auto-font-sizing shapes, should wrap text that has words that are way too long', async () => { + const shape = await page.evaluate(() => { + const id = 'shape:testShape' as TLShapeId + editor.createShapes([ + { + id, + type: 'note', + x: 0, + y: 0, + props: { + text: 'a very long dutch word like ziekenhuisinrichtingsmaatschappij', + size: 'xl', + }, + }, + ]) + + return editor.getShape(id) as TLNoteShape + }) + + expect(shape.props.fontSizeAdjustment).toEqual(14) + }) }) diff --git a/apps/examples/package.json b/apps/examples/package.json index bdd90648c..4fa778353 100644 --- a/apps/examples/package.json +++ b/apps/examples/package.json @@ -40,6 +40,8 @@ "classnames": "^2.3.2", "lazyrepo": "0.0.0-alpha.27", "lodash": "^4.17.21", + "pdf-lib": "^1.17.1", + "pdfjs-dist": "^4.0.379", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.17.0", diff --git a/apps/examples/src/ExamplePage.tsx b/apps/examples/src/ExamplePage.tsx index 94b4fbcae..221f0d71f 100644 --- a/apps/examples/src/ExamplePage.tsx +++ b/apps/examples/src/ExamplePage.tsx @@ -28,6 +28,10 @@ export function ExamplePage({ children: React.ReactNode }) { const categories = examples.map((e) => e.id) + const [filterValue, setFilterValue] = useState('') + const handleFilterChange = (e: React.ChangeEvent) => { + setFilterValue(e.target.value) + } return ( @@ -69,6 +73,12 @@ export function ExamplePage({ Develop
+
    {categories.map((currentCategory) => (
  • @@ -76,7 +86,10 @@ export function ExamplePage({
      {examples .find((category) => category.id === currentCategory) - ?.value.map((sidebarExample) => ( + ?.value.filter((example) => + example.title.toLowerCase().includes(filterValue.toLowerCase()) + ) + .map((sidebarExample) => ( Promise } -type Category = 'basic' | 'editor-api' | 'ui' | 'collaboration' | 'data/assets' | 'shapes/tools' +type Category = + | 'basic' + | 'editor-api' + | 'ui' + | 'collaboration' + | 'data/assets' + | 'shapes/tools' + | 'use-cases' const getExamplesForCategory = (category: Category) => (Object.values(import.meta.glob('./examples/*/README.md', { eager: true })) as Example[]) @@ -24,12 +31,13 @@ const getExamplesForCategory = (category: Category) => }) const categories: Record = { - basic: 'Getting Started', - ui: 'UI/Theming', - 'shapes/tools': 'Shapes & Tools', - 'data/assets': 'Data & Assets', + basic: 'Getting started', + ui: 'UI & theming', + 'shapes/tools': 'Shapes & tools', + 'data/assets': 'Data & assets', 'editor-api': 'Editor API', collaboration: 'Collaboration', + 'use-cases': 'Use cases', } export const examples = Object.entries(categories).map(([category, title]) => ({ diff --git a/apps/examples/src/examples/action-overrides/ActionOverridesExample.tsx b/apps/examples/src/examples/action-overrides/ActionOverridesExample.tsx new file mode 100644 index 000000000..90d21d1ee --- /dev/null +++ b/apps/examples/src/examples/action-overrides/ActionOverridesExample.tsx @@ -0,0 +1,27 @@ +import { Tldraw } from 'tldraw' +import 'tldraw/tldraw.css' + +export default function BasicExample() { + return ( +
      + { + const newActions = { + ...actions, + delete: { ...actions['delete'], kbd: 'x' }, + } + return newActions + }, + }} + /> +
      + ) +} + +/* +This example shows how you can override tldraw's actions object to change the keyboard shortcuts. +In this case we're changing the delete action's shortcut to 'x'. To customize the actions menu +please see the custom actions menu example. For more information on keyboard shortcuts see the +keyboard shortcuts example. +*/ diff --git a/apps/examples/src/examples/action-overrides/README.md b/apps/examples/src/examples/action-overrides/README.md new file mode 100644 index 000000000..87b182bab --- /dev/null +++ b/apps/examples/src/examples/action-overrides/README.md @@ -0,0 +1,12 @@ +--- +title: Action overrides +component: ./ActionOverridesExample.tsx +category: ui +priority: 2 +--- + +Override tldraw's actions + +--- + +This example shows how you can override tldraw's actions object to change the keyboard shortcuts. In this case we're changing the delete action's shortcut to 'x'. To customize the actions menu please see the custom actions menu example. For more information on keyboard shortcuts see the keyboard shortcuts example. diff --git a/apps/examples/src/examples/add-tool-to-toolbar/ToolInToolbarExample.tsx b/apps/examples/src/examples/add-tool-to-toolbar/ToolInToolbarExample.tsx index 6a464b030..d8d7ae1d6 100644 --- a/apps/examples/src/examples/add-tool-to-toolbar/ToolInToolbarExample.tsx +++ b/apps/examples/src/examples/add-tool-to-toolbar/ToolInToolbarExample.tsx @@ -1,12 +1,14 @@ import { DefaultKeyboardShortcutsDialog, DefaultKeyboardShortcutsDialogContent, + DefaultToolbar, + DefaultToolbarContent, TLComponents, TLUiAssetUrlOverrides, TLUiOverrides, Tldraw, TldrawUiMenuItem, - toolbarItem, + useIsToolSelected, useTools, } from 'tldraw' import 'tldraw/tldraw.css' @@ -29,15 +31,20 @@ const uiOverrides: TLUiOverrides = { } return tools }, - toolbar(_app, toolbar, { tools }) { - // Add the tool item from the context to the toolbar. - toolbar.splice(4, 0, toolbarItem(tools.sticker)) - return toolbar - }, } // [2] const components: TLComponents = { + Toolbar: (props) => { + const tools = useTools() + const isStickerSelected = useIsToolSelected(tools['sticker']) + return ( + + + + + ) + }, KeyboardShortcutsDialog: (props) => { const tools = useTools() return ( diff --git a/apps/examples/src/examples/after-create-update-shape/AfterCreateUpdateShapeExample.tsx b/apps/examples/src/examples/after-create-update-shape/AfterCreateUpdateShapeExample.tsx new file mode 100644 index 000000000..f5414a755 --- /dev/null +++ b/apps/examples/src/examples/after-create-update-shape/AfterCreateUpdateShapeExample.tsx @@ -0,0 +1,72 @@ +import { Editor, TLShape, TLShapeId, Tldraw, createShapeId } from 'tldraw' + +// this function takes a shape ID, and if that shape is red, sets all other red shapes on the same +// page to black. +function ensureOnlyOneRedShape(editor: Editor, shapeId: TLShapeId) { + // grab the shape and check it's red: + const shape = editor.getShape(shapeId)! + if (!isRedShape(shape)) return + + // get the ID of the page that shape belongs to: + const pageId = editor.getAncestorPageId(shape.id)! + + // find any other red shapes on the same page: + const otherRedShapesOnPage = Array.from(editor.getPageShapeIds(pageId)) + .map((id) => editor.getShape(id)!) + .filter((otherShape) => otherShape.id !== shape.id && isRedShape(otherShape)) + + // set the color of all those shapes to black: + editor.updateShapes( + otherRedShapesOnPage.map((shape) => ({ + id: shape.id, + type: shape.type, + props: { + color: 'black', + }, + })) + ) +} + +function isRedShape(shape: TLShape) { + return 'color' in shape.props && shape.props.color === 'red' +} + +export default function AfterCreateUpdateShapeExample() { + return ( +
      + { + // we can run our `ensureOnlyOneRedShape` function after any shape is created or + // changed. this means we can enforce our "only one red shape at a time" rule, + // whilst making sure that the shape most recently set to red is the one that + // stays red. + editor.sideEffects.registerAfterCreateHandler('shape', (shape) => { + ensureOnlyOneRedShape(editor, shape.id) + }) + editor.sideEffects.registerAfterChangeHandler('shape', (prevShape, nextShape) => { + ensureOnlyOneRedShape(editor, nextShape.id) + }) + + createDemoShapes(editor) + }} + /> +
      + ) +} + +// create some shapes to demonstrate the side-effects we added +function createDemoShapes(editor: Editor) { + editor + .createShapes( + 'there can only be one red shape'.split(' ').map((word, i) => ({ + id: createShapeId(), + type: 'text', + y: i * 30, + props: { + color: i === 5 ? 'red' : 'black', + text: word, + }, + })) + ) + .zoomToContent({ duration: 0 }) +} diff --git a/apps/examples/src/examples/after-create-update-shape/README.md b/apps/examples/src/examples/after-create-update-shape/README.md new file mode 100644 index 000000000..5ee3b2bef --- /dev/null +++ b/apps/examples/src/examples/after-create-update-shape/README.md @@ -0,0 +1,14 @@ +--- +title: After create/update shape +component: ./AfterCreateUpdateShapeExample.tsx +category: editor-api +priority: 5 +--- + +Register a handler to run after shapes are created or updated. + +--- + +You can register handlers to run after any record is created or updated. This is most useful for +updating _other_ records in response to a particular record changing. In this example, we make sure +there's only ever one red shape on a page. diff --git a/apps/examples/src/examples/after-delete-shape/AfterDeleteShapeExample.tsx b/apps/examples/src/examples/after-delete-shape/AfterDeleteShapeExample.tsx new file mode 100644 index 000000000..267c7b116 --- /dev/null +++ b/apps/examples/src/examples/after-delete-shape/AfterDeleteShapeExample.tsx @@ -0,0 +1,62 @@ +import { Editor, Tldraw, createShapeId } from 'tldraw' + +export default function AfterDeleteShapeExample() { + return ( +
      + { + // register a handler to run after any shape is deleted: + editor.sideEffects.registerAfterDeleteHandler('shape', (shape) => { + // grab the parent of the shape and check if it's a frame: + const parentShape = editor.getShape(shape.parentId) + if (parentShape && parentShape.type === 'frame') { + // if it is, get the IDs of all its remaining children: + const siblings = editor.getSortedChildIdsForParent(parentShape.id) + + // if there are none (so the frame is empty), delete the frame: + if (siblings.length === 0) { + editor.deleteShape(parentShape.id) + } + } + }) + + createDemoShapes(editor) + }} + /> +
      + ) +} + +// crate some demo shapes to show off the new side-effect we added +function createDemoShapes(editor: Editor) { + const frameId = createShapeId() + editor.createShapes([ + { + id: frameId, + type: 'frame', + props: { w: 400, h: 200 }, + }, + { + id: createShapeId(), + type: 'text', + parentId: frameId, + x: 50, + y: 40, + props: { + text: 'Frames will be deleted when their last child is.', + w: 300, + autoSize: false, + }, + }, + ...[50, 180, 310].map((x) => ({ + id: createShapeId(), + type: 'geo', + parentId: frameId, + x, + y: 120, + props: { w: 40, h: 40 }, + })), + ]) + + editor.zoomToContent({ duration: 0 }) +} diff --git a/apps/examples/src/examples/after-delete-shape/README.md b/apps/examples/src/examples/after-delete-shape/README.md new file mode 100644 index 000000000..2e31dba9f --- /dev/null +++ b/apps/examples/src/examples/after-delete-shape/README.md @@ -0,0 +1,13 @@ +--- +title: After delete shape +component: ./AfterDeleteShapeExample.tsx +category: editor-api +priority: 5 +--- + +Register a handler to run after shapes are deleted. + +--- + +You can register handlers to run after any record is deleted. In this example, we delete frames +after the last shape inside them is deleted. diff --git a/apps/examples/src/examples/basic/README.md b/apps/examples/src/examples/basic/README.md index 655bb045f..b88917d63 100644 --- a/apps/examples/src/examples/basic/README.md +++ b/apps/examples/src/examples/basic/README.md @@ -5,8 +5,6 @@ category: basic priority: 1 --- - - --- The `Tldraw` component provides the tldraw editor as a regular React component. You can put this component anywhere in your React project. In this example, we make the component take up the height and width of the container. diff --git a/apps/examples/src/examples/before-create-update-shape/BeforeCreateUpdateShapeExample.tsx b/apps/examples/src/examples/before-create-update-shape/BeforeCreateUpdateShapeExample.tsx new file mode 100644 index 000000000..7f4b15370 --- /dev/null +++ b/apps/examples/src/examples/before-create-update-shape/BeforeCreateUpdateShapeExample.tsx @@ -0,0 +1,61 @@ +import { Box, Editor, SVGContainer, TLShape, Tldraw, Vec, isShapeId } from 'tldraw' + +// This function takes a shape and returns a new shape where the x/y origin is within `radius` +// distance of the center of the page. If the shape is already within `radius` (or isn't parented to +// the page) it returns the same shape. +function constrainShapeToRadius(editor: Editor, shape: TLShape, radius: number) { + // if the shape is parented to another shape (instead of the page) leave it as-is + if (isShapeId(shape.parentId)) return shape + + // get the position of the shape + const shapePoint = Vec.From(shape) + const distanceFromCenter = shapePoint.len() + + // if the shape is outside the radius, move it to the edge of the radius: + if (distanceFromCenter > radius) { + const newPoint = shapePoint.norm().mul(radius) + return { + ...shape, + x: newPoint.x, + y: newPoint.y, + } + } + + // otherwise, leave the shape as-is + return shape +} + +export default function BeforeCreateUpdateShapeExample() { + return ( +
      + { + // we can run our `constrainShapeToRadius` function before any shape is created + // or changed. These `sideEffects` handlers let us take modify the shape that + // will be created or updated by returning a new one to be used in its place. + editor.sideEffects.registerBeforeCreateHandler('shape', (shape) => { + return constrainShapeToRadius(editor, shape, 500) + }) + editor.sideEffects.registerBeforeChangeHandler('shape', (prevShape, nextShape) => { + return constrainShapeToRadius(editor, nextShape, 500) + }) + + // center the camera on the area we're constraining shapes to + editor.zoomToBounds(new Box(-500, -500, 1000, 1000)) + + // lock the camera on that area + editor.updateInstanceState({ canMoveCamera: false }) + }} + components={{ + // to make it a little clearer what's going on in this example, we'll draw a + // circle on the canvas showing where shapes are being constrained to. + OnTheCanvas: () => ( + + + + ), + }} + /> +
      + ) +} diff --git a/apps/examples/src/examples/before-create-update-shape/README.md b/apps/examples/src/examples/before-create-update-shape/README.md new file mode 100644 index 000000000..eab5f99ab --- /dev/null +++ b/apps/examples/src/examples/before-create-update-shape/README.md @@ -0,0 +1,13 @@ +--- +title: Before create/update shape +component: ./BeforeCreateUpdateShapeExample.tsx +category: editor-api +priority: 4 +--- + +Register a handler to run before shapes are created or updated. + +--- + +You can intercept the creation or update of any record in the store and return a new record to be +used in it place. In this example, we lock shapes to a circle in the center of the screen. diff --git a/apps/examples/src/examples/before-delete-shape/BeforeDeleteShapeExample.tsx b/apps/examples/src/examples/before-delete-shape/BeforeDeleteShapeExample.tsx new file mode 100644 index 000000000..a4ab4db37 --- /dev/null +++ b/apps/examples/src/examples/before-delete-shape/BeforeDeleteShapeExample.tsx @@ -0,0 +1,48 @@ +import { Editor, Tldraw, createShapeId } from 'tldraw' + +export default function BeforeDeleteShapeExample() { + return ( +
      + { + // register a handler to run before any shape is deleted: + editor.sideEffects.registerBeforeDeleteHandler('shape', (shape) => { + // if the shape is red, prevent the deletion: + if ('color' in shape.props && shape.props.color === 'red') { + return false + } + + return + }) + + createDemoShapes(editor) + }} + /> +
      + ) +} + +// create some shapes to demonstrate the side-effect we added +function createDemoShapes(editor: Editor) { + editor + .createShapes([ + { + id: createShapeId(), + type: 'text', + props: { + text: "Red shapes can't be deleted", + color: 'red', + }, + }, + { + id: createShapeId(), + type: 'text', + y: 30, + props: { + text: 'but other shapes can', + color: 'black', + }, + }, + ]) + .zoomToContent({ duration: 0 }) +} diff --git a/apps/examples/src/examples/before-delete-shape/README.md b/apps/examples/src/examples/before-delete-shape/README.md new file mode 100644 index 000000000..faf310491 --- /dev/null +++ b/apps/examples/src/examples/before-delete-shape/README.md @@ -0,0 +1,14 @@ +--- +title: Before delete shape +component: ./BeforeDeleteShapeExample.tsx +category: editor-api +priority: 4 +--- + +Register a handler to run before shapes are deleted. + +--- + +You can intercept the creation of any record in the store. This example intercepts arrow creation to +make sure each arrow has a label. You can do the same thing to change the props of any newly created +shape. diff --git a/apps/examples/src/examples/bounds-snapping-shape/BoundsSnappingShape.tsx b/apps/examples/src/examples/bounds-snapping-shape/BoundsSnappingShape.tsx index c74fb427f..152f8576c 100644 --- a/apps/examples/src/examples/bounds-snapping-shape/BoundsSnappingShape.tsx +++ b/apps/examples/src/examples/bounds-snapping-shape/BoundsSnappingShape.tsx @@ -1,4 +1,4 @@ -import { Editor, Tldraw } from 'tldraw' +import { Editor, TLStoreSnapshot, Tldraw } from 'tldraw' import { PlayingCardTool } from './PlayingCardShape/playing-card-tool' import { PlayingCardUtil } from './PlayingCardShape/playing-card-util' import snapshot from './snapshot.json' @@ -27,7 +27,7 @@ export default function BoundsSnappingShapeExample() { // [c] onMount={handleMount} // [d] - snapshot={snapshot} + snapshot={snapshot as TLStoreSnapshot} />
) diff --git a/apps/examples/src/examples/bounds-snapping-shape/ui-overrides.tsx b/apps/examples/src/examples/bounds-snapping-shape/ui-overrides.tsx index 50b38f64c..999eb1eb0 100644 --- a/apps/examples/src/examples/bounds-snapping-shape/ui-overrides.tsx +++ b/apps/examples/src/examples/bounds-snapping-shape/ui-overrides.tsx @@ -1,10 +1,12 @@ import { DefaultKeyboardShortcutsDialog, DefaultKeyboardShortcutsDialogContent, + DefaultToolbar, + DefaultToolbarContent, TLComponents, TLUiOverrides, TldrawUiMenuItem, - toolbarItem, + useIsToolSelected, useTools, } from 'tldraw' @@ -24,19 +26,23 @@ export const uiOverrides: TLUiOverrides = { } return tools }, - toolbar(_app, toolbar, { tools }) { - // Add the tool item from the context to the toolbar. - toolbar.splice(4, 0, toolbarItem(tools.PlayingCard)) - return toolbar - }, } export const components: TLComponents = { + Toolbar: (props) => { + const tools = useTools() + const isCardSelected = useIsToolSelected(tools['PlayingCard']) + return ( + + + + + ) + }, KeyboardShortcutsDialog: (props) => { const tools = useTools() return ( - {/* Ideally, we'd interleave this into the tools group */} @@ -46,15 +52,15 @@ export const components: TLComponents = { /* -This file contains overrides for the Tldraw UI. These overrides are used to add your custom tools -to the toolbar and the keyboard shortcuts menu. - -We do this by providing a custom toolbar override to the Tldraw component. This override is a -function that takes the current editor, the default toolbar items, and the default tools. -It returns the new toolbar items. We use the toolbarItem helper to create a new toolbar item -for our custom tool. We then splice it into the toolbar items array at the 4th index. This puts -it after the eraser tool. We'll pass our overrides object into the Tldraw component's `overrides` -prop. +This file contains overrides for the Tldraw UI. These overrides are used to add your custom tools to +the toolbar and the keyboard shortcuts menu. +First we have to add our new tool to the tools object in the tools override. This is where we define +all the basic information about our new tool - its icon, label, keyboard shortcut, what happens when +we select it, etc. +Then, we replace the UI components for the toolbar and keyboard shortcut dialog with our own, that +add our new tool to the existing default content. Ideally, we'd interleave our new tool into the +ideal place among the default tools, but for now we're just adding it at the start to keep things +simple. */ diff --git a/apps/examples/src/examples/context-toolbar/ContextToolbar.tsx b/apps/examples/src/examples/context-toolbar/ContextToolbar.tsx index 393cbce06..c28cb4763 100644 --- a/apps/examples/src/examples/context-toolbar/ContextToolbar.tsx +++ b/apps/examples/src/examples/context-toolbar/ContextToolbar.tsx @@ -6,7 +6,6 @@ import { TLEditorComponents, track, useEditor, - Vec, } from 'tldraw' import 'tldraw/tldraw.css' @@ -33,10 +32,7 @@ const ContextToolbarComponent = track(() => { if (!size) return null const currentSize = size.type === 'shared' ? size.value : undefined - const pageCoordinates = Vec.Sub( - editor.pageToScreen(selectionRotatedPageBounds.point), - editor.getViewportScreenBounds() - ) + const pageCoordinates = editor.pageToViewport(selectionRotatedPageBounds.point) return (
{ width: 32, background: isActive ? 'var(--color-muted-2)' : 'transparent', }} - onClick={() => - editor.setStyleForSelectedShapes(DefaultSizeStyle, value, { squashing: false }) - } + onClick={() => editor.setStyleForSelectedShapes(DefaultSizeStyle, value)} >
diff --git a/apps/examples/src/examples/custom-actions-menu/CustomActionsMenuExample.tsx b/apps/examples/src/examples/custom-actions-menu/CustomActionsMenuExample.tsx index 6e93b4c00..471a6ab37 100644 --- a/apps/examples/src/examples/custom-actions-menu/CustomActionsMenuExample.tsx +++ b/apps/examples/src/examples/custom-actions-menu/CustomActionsMenuExample.tsx @@ -1,10 +1,29 @@ -import { DefaultActionsMenu, TLComponents, Tldraw } from 'tldraw' +import { + DefaultActionsMenu, + DefaultActionsMenuContent, + TLComponents, + Tldraw, + TldrawUiMenuItem, +} from 'tldraw' import 'tldraw/tldraw.css' function CustomActionsMenu() { return ( -
- +
+ +
+ { + window.open('https://x.com/tldraw', '_blank') + }} + /> +
+ +
) } diff --git a/apps/examples/src/examples/custom-actions-menu/README.md b/apps/examples/src/examples/custom-actions-menu/README.md index 4521088d5..ace4abde8 100644 --- a/apps/examples/src/examples/custom-actions-menu/README.md +++ b/apps/examples/src/examples/custom-actions-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's actions menu. --- -The actions menu can be customized by providing a `ActionsMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. +The actions menu is a dropdown menu that can be found in the top-left of the tldraw component, or just above the toolbar on smaller screens. It contains actions related to editing shapes such as grouping, rotating or changing shape order. The actions menu can be customized by providing a `ActionsMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. diff --git a/apps/examples/src/examples/custom-config/CardShape/card-shape-migrations.ts b/apps/examples/src/examples/custom-config/CardShape/card-shape-migrations.ts index 65331d8e3..9e032e506 100644 --- a/apps/examples/src/examples/custom-config/CardShape/card-shape-migrations.ts +++ b/apps/examples/src/examples/custom-config/CardShape/card-shape-migrations.ts @@ -1,21 +1,25 @@ -import { defineMigrations } from 'tldraw' +import { createShapePropsMigrationIds, createShapePropsMigrationSequence } from 'tldraw' + +const versions = createShapePropsMigrationIds( + // this must match the shape type in the shape definition + 'card', + { + AddSomeProperty: 1, + } +) // Migrations for the custom card shape (optional but very helpful) -export const cardShapeMigrations = defineMigrations({ - currentVersion: 1, - migrators: { - 1: { - // for example, removing a property from the shape - up(shape) { - const migratedUpShape = { ...shape } - delete migratedUpShape._somePropertyToRemove - return migratedUpShape +export const cardShapeMigrations = createShapePropsMigrationSequence({ + sequence: [ + { + id: versions.AddSomeProperty, + up(props) { + // it is safe to mutate the props object here + props.someProperty = 'some value' }, - down(shape) { - const migratedDownShape = { ...shape } - migratedDownShape._somePropertyToRemove = 'some value' - return migratedDownShape + down(props) { + delete props.someProperty }, }, - }, + ], }) diff --git a/apps/examples/src/examples/custom-config/ui-overrides.tsx b/apps/examples/src/examples/custom-config/ui-overrides.tsx index 8b7f111ea..2378250e4 100644 --- a/apps/examples/src/examples/custom-config/ui-overrides.tsx +++ b/apps/examples/src/examples/custom-config/ui-overrides.tsx @@ -1,10 +1,12 @@ import { DefaultKeyboardShortcutsDialog, DefaultKeyboardShortcutsDialogContent, + DefaultToolbar, + DefaultToolbarContent, TLComponents, TLUiOverrides, TldrawUiMenuItem, - toolbarItem, + useIsToolSelected, useTools, } from 'tldraw' @@ -24,21 +26,25 @@ export const uiOverrides: TLUiOverrides = { } return tools }, - toolbar(_app, toolbar, { tools }) { - // Add the tool item from the context to the toolbar. - toolbar.splice(4, 0, toolbarItem(tools.card)) - return toolbar - }, } export const components: TLComponents = { + Toolbar: (props) => { + const tools = useTools() + const isCardSelected = useIsToolSelected(tools['card']) + return ( + + + + + ) + }, KeyboardShortcutsDialog: (props) => { const tools = useTools() return ( - - {/* Ideally, we'd interleave this into the tools group */} + ) }, @@ -46,15 +52,15 @@ export const components: TLComponents = { /* -This file contains overrides for the Tldraw UI. These overrides are used to add your custom tools -to the toolbar and the keyboard shortcuts menu. - -We do this by providing a custom toolbar override to the Tldraw component. This override is a -function that takes the current editor, the default toolbar items, and the default tools. -It returns the new toolbar items. We use the toolbarItem helper to create a new toolbar item -for our custom tool. We then splice it into the toolbar items array at the 4th index. This puts -it after the eraser tool. We'll pass our overrides object into the Tldraw component's `overrides` -prop. +This file contains overrides for the Tldraw UI. These overrides are used to add your custom tools to +the toolbar and the keyboard shortcuts menu. +First we have to add our new tool to the tools object in the tools override. This is where we define +all the basic information about our new tool - its icon, label, keyboard shortcut, what happens when +we select it, etc. +Then, we replace the UI components for the toolbar and keyboard shortcut dialog with our own, that +add our new tool to the existing default content. Ideally, we'd interleave our new tool into the +ideal place among the default tools, but for now we're just adding it at the start to keep things +simple. */ diff --git a/apps/examples/src/examples/custom-context-menu/CustomContextMenuExample.tsx b/apps/examples/src/examples/custom-context-menu/CustomContextMenuExample.tsx index f0d87c20d..9e8c0c3f6 100644 --- a/apps/examples/src/examples/custom-context-menu/CustomContextMenuExample.tsx +++ b/apps/examples/src/examples/custom-context-menu/CustomContextMenuExample.tsx @@ -13,15 +13,17 @@ function CustomContextMenu(props: TLUiContextMenuProps) { return ( - { - window.open('https://x.com/tldraw', '_blank') - }} - /> +
+ { + window.open('https://x.com/tldraw', '_blank') + }} + /> +
diff --git a/apps/examples/src/examples/custom-context-menu/README.md b/apps/examples/src/examples/custom-context-menu/README.md index bb74f6fc1..c3d6cbe23 100644 --- a/apps/examples/src/examples/custom-context-menu/README.md +++ b/apps/examples/src/examples/custom-context-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's context menu. --- -The context menu can be customized by providing a `ContextMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. +Create some shapes, select them and right click the selection to see the custom context menu. It can be customized by providing a `ContextMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. diff --git a/apps/examples/src/examples/custom-debug-menu/CustomDebugMenuExample.tsx b/apps/examples/src/examples/custom-debug-menu/CustomDebugMenuExample.tsx index fc7beb9e4..25be50d9d 100644 --- a/apps/examples/src/examples/custom-debug-menu/CustomDebugMenuExample.tsx +++ b/apps/examples/src/examples/custom-debug-menu/CustomDebugMenuExample.tsx @@ -10,20 +10,24 @@ import 'tldraw/tldraw.css' function CustomDebugMenu() { return ( - - - - { - window.open('https://x.com/tldraw', '_blank') - }} - /> - - +
+ + +
+ + { + window.open('https://x.com/tldraw', '_blank') + }} + /> + +
+
+
) } diff --git a/apps/examples/src/examples/custom-debug-menu/README.md b/apps/examples/src/examples/custom-debug-menu/README.md index 6930e47e4..fd19aa841 100644 --- a/apps/examples/src/examples/custom-debug-menu/README.md +++ b/apps/examples/src/examples/custom-debug-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's debug menu. --- -The help menu can be customized by providing a `DebugMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. +The debug menu contains helpful menu items for debugging the tldraw component. To show the debug menu, turn on debug mode in the preferences. It can be customized by providing a `DebugMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. diff --git a/apps/examples/src/examples/custom-help-menu/CustomHelpMenuExample.tsx b/apps/examples/src/examples/custom-help-menu/CustomHelpMenuExample.tsx index 646f1a830..09a374c1c 100644 --- a/apps/examples/src/examples/custom-help-menu/CustomHelpMenuExample.tsx +++ b/apps/examples/src/examples/custom-help-menu/CustomHelpMenuExample.tsx @@ -11,17 +11,19 @@ import 'tldraw/tldraw.css' function CustomHelpMenu() { return ( - - { - window.open('https://x.com/tldraw', '_blank') - }} - /> - +
+ + { + window.open('https://x.com/tldraw', '_blank') + }} + /> + +
) diff --git a/apps/examples/src/examples/custom-help-menu/README.md b/apps/examples/src/examples/custom-help-menu/README.md index e75714d17..d00100ce8 100644 --- a/apps/examples/src/examples/custom-help-menu/README.md +++ b/apps/examples/src/examples/custom-help-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's help menu. --- -The help menu can be customized by providing a `HelpMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. +The help menu contains options for opening the keyboard shortcuts dialog and changing the language. It can be opened by clicking on the help icon in the bottom right of the screen at larger breakpoints. The help menu can be customized by providing a `HelpMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. diff --git a/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/CustomKeyboardShortcutsDialogExample.tsx b/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/CustomKeyboardShortcutsDialogExample.tsx index 896cd19ef..3211cdc61 100644 --- a/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/CustomKeyboardShortcutsDialogExample.tsx +++ b/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/CustomKeyboardShortcutsDialogExample.tsx @@ -11,16 +11,18 @@ import 'tldraw/tldraw.css' function CustomKeyboardShortcutsDialog(props: TLUiKeyboardShortcutsDialogProps) { return ( - { - window.open('https://x.com/tldraw', '_blank') - }} - /> +
+ { + window.open('https://x.com/tldraw', '_blank') + }} + /> +
) diff --git a/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/README.md b/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/README.md index 81e69b0f3..cedbd4cb7 100644 --- a/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/README.md +++ b/apps/examples/src/examples/custom-keyboard-shortcuts-dialog/README.md @@ -8,4 +8,4 @@ You can customize tldraw's keyboard shortcuts dialog. --- -The keyboard shortcuts dialog can be customized by providing a `KeyboardShortcutsDialog` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. +The keyboard shortcuts dialog can be opened via the help menu in the bottom right corner of the tldraw component. It can be customized by providing a `KeyboardShortcutsDialog` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. diff --git a/apps/examples/src/examples/custom-main-menu/CustomMainMenuExample.tsx b/apps/examples/src/examples/custom-main-menu/CustomMainMenuExample.tsx index 492a49569..e86a3c74f 100644 --- a/apps/examples/src/examples/custom-main-menu/CustomMainMenuExample.tsx +++ b/apps/examples/src/examples/custom-main-menu/CustomMainMenuExample.tsx @@ -11,17 +11,19 @@ import 'tldraw/tldraw.css' function CustomMainMenu() { return ( - - { - window.open('https://x.com/tldraw', '_blank') - }} - /> - +
+ + { + window.open('https://x.com/tldraw', '_blank') + }} + /> + +
) diff --git a/apps/examples/src/examples/custom-main-menu/README.md b/apps/examples/src/examples/custom-main-menu/README.md index fa105edce..f8859d20b 100644 --- a/apps/examples/src/examples/custom-main-menu/README.md +++ b/apps/examples/src/examples/custom-main-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's main menu. --- -The actions menu can be customized by providing a `MainMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. +The main menu contains important submenus: Edit, Shape, Preferences etc. To open the main menu, click the hamburger icon in the top left corner of the tldraw component. It can be customized by providing a `MainMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. diff --git a/apps/examples/src/examples/custom-navigation-panel/CustomNavigationPanelExample.tsx b/apps/examples/src/examples/custom-navigation-panel/CustomNavigationPanelExample.tsx index e22f4e564..c3034e8e4 100644 --- a/apps/examples/src/examples/custom-navigation-panel/CustomNavigationPanelExample.tsx +++ b/apps/examples/src/examples/custom-navigation-panel/CustomNavigationPanelExample.tsx @@ -2,7 +2,7 @@ import { TLComponents, Tldraw } from 'tldraw' import 'tldraw/tldraw.css' function CustomNavigationPanel() { - return
here you are
+ return
here you are
} const components: TLComponents = { diff --git a/apps/examples/src/examples/custom-navigation-panel/README.md b/apps/examples/src/examples/custom-navigation-panel/README.md index afe15ae99..909b23c5d 100644 --- a/apps/examples/src/examples/custom-navigation-panel/README.md +++ b/apps/examples/src/examples/custom-navigation-panel/README.md @@ -8,4 +8,4 @@ You can customize tldraw's navigation panel or remove it entirely. --- -The navigation panel can be customized by providing a `NavigationPanel` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. +The navigation panel is in the bottom left of the tldraw component at larger breakpoints. It contains zoom controls and a mini map. It can be customized by providing a `NavigationPanel` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. diff --git a/apps/examples/src/examples/custom-page-menu/CustomPageMenuExample.tsx b/apps/examples/src/examples/custom-page-menu/CustomPageMenuExample.tsx index c1a5188ff..4c836f3d5 100644 --- a/apps/examples/src/examples/custom-page-menu/CustomPageMenuExample.tsx +++ b/apps/examples/src/examples/custom-page-menu/CustomPageMenuExample.tsx @@ -3,7 +3,7 @@ import 'tldraw/tldraw.css' function CustomPageMenu() { return ( -
+
) diff --git a/apps/examples/src/examples/custom-page-menu/README.md b/apps/examples/src/examples/custom-page-menu/README.md index 02d8aa4ad..1573c507e 100644 --- a/apps/examples/src/examples/custom-page-menu/README.md +++ b/apps/examples/src/examples/custom-page-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's page menu, or remove it entirely. --- -The page menu can be customized by providing a `PageMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. +The page menu contains options for creating and editing pages. To open the page menu, click the page name in the top left of the tldraw component. It can be customized by providing a `PageMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden. diff --git a/apps/examples/src/examples/custom-quick-actions/CustomQuickActions.tsx b/apps/examples/src/examples/custom-quick-actions/CustomQuickActions.tsx index 5ce3f8631..fad630c7d 100644 --- a/apps/examples/src/examples/custom-quick-actions/CustomQuickActions.tsx +++ b/apps/examples/src/examples/custom-quick-actions/CustomQuickActions.tsx @@ -11,7 +11,9 @@ function CustomQuickActions() { return ( - window.alert('code')} /> +
+ window.alert('code')} /> +
) } diff --git a/apps/examples/src/examples/custom-renderer/CustomRenderer.tsx b/apps/examples/src/examples/custom-renderer/CustomRenderer.tsx new file mode 100644 index 000000000..66cbe70a1 --- /dev/null +++ b/apps/examples/src/examples/custom-renderer/CustomRenderer.tsx @@ -0,0 +1,108 @@ +import { useLayoutEffect, useRef } from 'react' +import { TLDrawShape, TLGeoShape, getDefaultColorTheme, useEditor } from 'tldraw' + +export function CustomRenderer() { + const editor = useEditor() + const rCanvas = useRef(null) + + useLayoutEffect(() => { + const canvas = rCanvas.current + if (!canvas) return + + canvas.style.width = '100%' + canvas.style.height = '100%' + + const rect = canvas.getBoundingClientRect() + + canvas.width = rect.width + canvas.height = rect.height + + const ctx = canvas.getContext('2d')! + + let isCancelled = false + + function render() { + if (isCancelled) return + if (!canvas) return + + ctx.resetTransform() + ctx.clearRect(0, 0, canvas.width, canvas.height) + + const camera = editor.getCamera() + ctx.scale(camera.z, camera.z) + ctx.translate(camera.x, camera.y) + + const renderingShapes = editor.getRenderingShapes() + const theme = getDefaultColorTheme({ isDarkMode: editor.user.getIsDarkMode() }) + const currentPageId = editor.getCurrentPageId() + + for (const { shape, opacity } of renderingShapes) { + const maskedPageBounds = editor.getShapeMaskedPageBounds(shape) + if (!maskedPageBounds) continue + ctx.save() + + if (shape.parentId !== currentPageId) { + ctx.beginPath() + ctx.rect( + maskedPageBounds.minX, + maskedPageBounds.minY, + maskedPageBounds.width, + maskedPageBounds.height + ) + ctx.clip() + } + + ctx.beginPath() + + ctx.globalAlpha = opacity + + const transform = editor.getShapePageTransform(shape.id) + ctx.transform(transform.a, transform.b, transform.c, transform.d, transform.e, transform.f) + + if (editor.isShapeOfType(shape, 'draw')) { + // Draw a freehand shape + for (const segment of shape.props.segments) { + ctx.moveTo(segment.points[0].x, segment.points[0].y) + if (segment.type === 'straight') { + ctx.lineTo(segment.points[1].x, segment.points[1].y) + } else { + for (const point of segment.points.slice(1)) { + ctx.lineTo(point.x, point.y) + } + } + } + ctx.strokeStyle = theme[shape.props.color].solid + ctx.lineWidth = 4 + ctx.stroke() + if (shape.props.fill !== 'none' && shape.props.isClosed) { + ctx.fillStyle = theme[shape.props.color].semi + ctx.fill() + } + } else if (editor.isShapeOfType(shape, 'geo')) { + // Draw a geo shape + const bounds = editor.getShapeGeometry(shape).bounds + ctx.strokeStyle = theme[shape.props.color].solid + ctx.lineWidth = 2 + ctx.strokeRect(bounds.minX, bounds.minY, bounds.width, bounds.height) + } else { + // Draw any other kind of shape + const bounds = editor.getShapeGeometry(shape).bounds + ctx.strokeStyle = 'black' + ctx.lineWidth = 2 + ctx.strokeRect(bounds.minX, bounds.minY, bounds.width, bounds.height) + } + ctx.restore() + } + + requestAnimationFrame(render) + } + + render() + + return () => { + isCancelled = true + } + }, [editor]) + + return +} diff --git a/apps/examples/src/examples/custom-renderer/CustomRendererExample.tsx b/apps/examples/src/examples/custom-renderer/CustomRendererExample.tsx new file mode 100644 index 000000000..fb544f4a2 --- /dev/null +++ b/apps/examples/src/examples/custom-renderer/CustomRendererExample.tsx @@ -0,0 +1,33 @@ +import { useLayoutEffect } from 'react' +import { DefaultCanvas, Tldraw } from 'tldraw' +import 'tldraw/tldraw.css' +import { CustomRenderer } from './CustomRenderer' + +export default function CustomRendererExample() { + useLayoutEffect(() => { + // Hide the regular shapes layer using CSS. + const script = document.createElement('style') + if (!script) return + script.innerHTML = `.tl-shapes { display: none; }` + document.body.appendChild(script) + return () => { + script.remove() + } + }) + + return ( +
+ +
+ ) +} diff --git a/apps/examples/src/examples/custom-renderer/README.md b/apps/examples/src/examples/custom-renderer/README.md new file mode 100644 index 000000000..f7fd7d6c4 --- /dev/null +++ b/apps/examples/src/examples/custom-renderer/README.md @@ -0,0 +1,11 @@ +--- +title: Custom renderer +component: ./CustomRendererExample.tsx +category: basic +--- + +You can _sort of_ use a custom renderer with tldraw. + +--- + +This example shows how you might use a custom renderer with tldraw. diff --git a/apps/examples/src/examples/custom-style-panel/CustomStylePanelExample.tsx b/apps/examples/src/examples/custom-style-panel/CustomStylePanelExample.tsx index fdce92a80..f8df67102 100644 --- a/apps/examples/src/examples/custom-style-panel/CustomStylePanelExample.tsx +++ b/apps/examples/src/examples/custom-style-panel/CustomStylePanelExample.tsx @@ -21,22 +21,26 @@ function CustomStylePanel(props: TLUiStylePanelProps) { return ( - { - editor.setStyleForSelectedShapes(DefaultColorStyle, 'red', { squashing: true }) - }} - > - Red - - { - editor.setStyleForSelectedShapes(DefaultColorStyle, 'green', { squashing: true }) - }} - > - Green - +
+ { + editor.setStyleForSelectedShapes(DefaultColorStyle, 'red') + }} + > + Red + +
+
+ { + editor.setStyleForSelectedShapes(DefaultColorStyle, 'green') + }} + > + Green + +
) diff --git a/apps/examples/src/examples/custom-toolbar/CustomToolbarExample.tsx b/apps/examples/src/examples/custom-toolbar/CustomToolbarExample.tsx index ba2198f06..297a237cf 100644 --- a/apps/examples/src/examples/custom-toolbar/CustomToolbarExample.tsx +++ b/apps/examples/src/examples/custom-toolbar/CustomToolbarExample.tsx @@ -1,10 +1,34 @@ -import { DefaultToolbar, TLComponents, Tldraw } from 'tldraw' +import { + DefaultToolbar, + DefaultToolbarContent, + TLComponents, + Tldraw, + TldrawUiMenuItem, + useEditor, + useIsToolSelected, + useTools, +} from 'tldraw' import 'tldraw/tldraw.css' function CustomToolbar() { + const editor = useEditor() + const tools = useTools() + const isScreenshotSelected = useIsToolSelected(tools['rhombus-2']) return ( -
- +
+ + + + + +
) } diff --git a/apps/examples/src/examples/custom-zoom-menu/CustomZoomMenuExample.tsx b/apps/examples/src/examples/custom-zoom-menu/CustomZoomMenuExample.tsx index bc887b636..514348bbc 100644 --- a/apps/examples/src/examples/custom-zoom-menu/CustomZoomMenuExample.tsx +++ b/apps/examples/src/examples/custom-zoom-menu/CustomZoomMenuExample.tsx @@ -11,17 +11,19 @@ import 'tldraw/tldraw.css' function CustomZoomMenu() { return ( - - { - window.open('https://x.com/tldraw', '_blank') - }} - /> - +
+ + { + window.open('https://x.com/tldraw', '_blank') + }} + /> + +
) diff --git a/apps/examples/src/examples/custom-zoom-menu/README.md b/apps/examples/src/examples/custom-zoom-menu/README.md index 8cee646ca..d3a17b86e 100644 --- a/apps/examples/src/examples/custom-zoom-menu/README.md +++ b/apps/examples/src/examples/custom-zoom-menu/README.md @@ -8,4 +8,4 @@ You can customize tldraw's zoom menu. --- -The zoom menu can be customized by providing a `ZoomMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. +The zoom menu is in the bottom left of the tldraw component, the button to open it is labeled with a percentage indicating the editor's current zoom level. It can be customized by providing a `ZoomMenu` component to the `Tldraw` component's `components` prop. If you provide `null`, then that component will be hidden instead. diff --git a/apps/examples/src/examples/drag-and-drop/DragAndDropExample.tsx b/apps/examples/src/examples/drag-and-drop/DragAndDropExample.tsx new file mode 100644 index 000000000..a997853eb --- /dev/null +++ b/apps/examples/src/examples/drag-and-drop/DragAndDropExample.tsx @@ -0,0 +1,151 @@ +import { + Circle2d, + Geometry2d, + HTMLContainer, + Rectangle2d, + ShapeUtil, + TLBaseShape, + TLShape, + Tldraw, +} from 'tldraw' +import 'tldraw/tldraw.css' + +// There's a guide at the bottom of this file! + +// [1] +type MyGridShape = TLBaseShape<'my-grid-shape', Record> +type MyCounterShape = TLBaseShape<'my-counter-shape', Record> + +// [2] +const SLOT_SIZE = 100 +class MyCounterShapeUtil extends ShapeUtil { + static override type = 'my-counter-shape' as const + + override canResize = () => false + override hideResizeHandles = () => true + + getDefaultProps(): MyCounterShape['props'] { + return {} + } + + getGeometry(): Geometry2d { + return new Circle2d({ radius: SLOT_SIZE / 2 - 10, isFilled: true }) + } + + component() { + return ( + + ) + } + + indicator() { + return + } +} + +// [3] +class MyGridShapeUtil extends ShapeUtil { + static override type = 'my-grid-shape' as const + + getDefaultProps(): MyGridShape['props'] { + return {} + } + + getGeometry(): Geometry2d { + return new Rectangle2d({ + width: SLOT_SIZE * 5, + height: SLOT_SIZE * 2, + isFilled: true, + }) + } + + override canResize = () => false + override hideResizeHandles = () => true + + // [a] + override canDropShapes = (shape: MyGridShape, shapes: TLShape[]) => { + if (shapes.every((s) => s.type === 'my-counter-shape')) { + return true + } + return false + } + + // [b] + override onDragShapesOver = (shape: MyGridShape, shapes: TLShape[]) => { + if (!shapes.every((child) => child.parentId === shape.id)) { + this.editor.reparentShapes(shapes, shape.id) + } + } + + // [c] + override onDragShapesOut = (shape: MyGridShape, shapes: TLShape[]) => { + this.editor.reparentShapes(shapes, this.editor.getCurrentPageId()) + } + + component() { + return ( + + ) + } + + indicator() { + return + } +} + +export default function DragAndDropExample() { + return ( +
+ { + editor.createShape({ type: 'my-grid-shape', x: 100, y: 100 }) + editor.createShape({ type: 'my-counter-shape', x: 700, y: 100 }) + editor.createShape({ type: 'my-counter-shape', x: 750, y: 200 }) + editor.createShape({ type: 'my-counter-shape', x: 770, y: 300 }) + }} + /> +
+ ) +} + +/* + +This example demonstrates how to use the drag-and-drop system. + +[1] Define some shape types. For the purposes of this example, we'll define two +shapes: a grid and a counter. + +[2] Make a shape util for the first shape. For this example, we'll make a simple +red circle that you drag and drop onto the other shape. + +[3] Make the other shape util. In this example, we'll make a grid that you can +place the the circle counters onto. + + [a] Use the `canDropShapes` method to specify which shapes can be dropped onto + the grid shape. + + [b] Use the `onDragShapesOver` method to reparent counters to the grid shape + when they are dragged on top. + + [c] Use the `onDragShapesOut` method to reparent counters back to the page + when they are dragged off. + +*/ diff --git a/apps/examples/src/examples/drag-and-drop/README.md b/apps/examples/src/examples/drag-and-drop/README.md new file mode 100644 index 000000000..d5863fc11 --- /dev/null +++ b/apps/examples/src/examples/drag-and-drop/README.md @@ -0,0 +1,12 @@ +--- +title: Drag and drop +component: ./DragAndDropExample.tsx +category: shapes/tools +priority: 1 +--- + +Shapes that can be dragged and dropped onto each other. + +--- + +You can create custom shapes that can be dragged and dropped onto each other. diff --git a/apps/examples/src/examples/exploded/ExplodedExample.tsx b/apps/examples/src/examples/exploded/ExplodedExample.tsx index f38ed1b13..8a8fa7812 100644 --- a/apps/examples/src/examples/exploded/ExplodedExample.tsx +++ b/apps/examples/src/examples/exploded/ExplodedExample.tsx @@ -1,16 +1,19 @@ import { ContextMenu, DefaultContextMenuContent, + ErrorScreen, + LoadingScreen, TldrawEditor, TldrawHandles, - TldrawHoveredShapeIndicator, TldrawScribble, TldrawSelectionBackground, TldrawSelectionForeground, TldrawUi, + defaultEditorAssetUrls, defaultShapeTools, defaultShapeUtils, defaultTools, + usePreloadAssets, } from 'tldraw' import 'tldraw/tldraw.css' @@ -23,11 +26,20 @@ const defaultComponents = { SelectionForeground: TldrawSelectionForeground, SelectionBackground: TldrawSelectionBackground, Handles: TldrawHandles, - HoveredShapeIndicator: TldrawHoveredShapeIndicator, } //[2] export default function ExplodedExample() { + const assetLoading = usePreloadAssets(defaultEditorAssetUrls) + + if (assetLoading.error) { + return Could not load assets. + } + + if (!assetLoading.done) { + return Loading assets... + } + return (
void +}) { + const [imageShapeId, setImageShapeId] = useState(null) + function onMount(editor: Editor) { + editor.updateInstanceState({ isDebugMode: false }) + + const assetId = AssetRecordType.createId() + editor.createAssets([ + { + id: assetId, + typeName: 'asset', + type: 'image', + meta: {}, + props: { + w: image.width, + h: image.height, + mimeType: image.type, + src: image.src, + name: 'image', + isAnimated: false, + }, + }, + ]) + + const imageId = createShapeId() + editor.createShape({ + id: imageId, + type: 'image', + x: 0, + y: 0, + isLocked: true, + props: { + w: image.width, + h: image.height, + assetId, + }, + }) + + editor.history.clear() + setImageShapeId(imageId) + + // zoom aaaaallll the way out. our camera constraints will make sure we end up nicely + // centered on the image + editor.setCamera({ x: 0, y: 0, z: 0.0001 }) + } + + return ( + { + if (!imageShapeId) return null + return + }, [imageShapeId]), + // add a "done" button in the top right for when the user is ready to export + SharePanel: useCallback(() => { + if (!imageShapeId) return null + return + }, [imageShapeId, onDone]), + }} + > + {imageShapeId && } + {imageShapeId && } + {imageShapeId && } + + ) +} + +/** + * When we export, we'll only include the bounds of the image itself, so show an overlay on top of + * the canvas to make it clear what will/won't be included. Check `image-annotator.css` for more on + * how this works. + */ +const ImageBoundsOverlay = track(function ImageBoundsOverlay({ + imageShapeId, +}: { + imageShapeId: TLShapeId +}) { + const editor = useEditor() + const image = editor.getShape(imageShapeId) as TLImageShape + if (!image) return null + + const imagePageBounds = editor.getShapePageBounds(imageShapeId)! + const viewport = editor.getViewportScreenBounds() + const topLeft = editor.pageToViewport(imagePageBounds) + const bottomRight = editor.pageToViewport({ x: imagePageBounds.maxX, y: imagePageBounds.maxY }) + + const path = [ + // start by tracing around the viewport itself: + `M ${-10} ${-10}`, + `L ${viewport.maxX + 10} ${-10}`, + `L ${viewport.maxX + 10} ${viewport.maxY + 10}`, + `L ${-10} ${viewport.maxY + 10}`, + `Z`, + + // then cut out a hole for the image: + `M ${topLeft.x} ${topLeft.y}`, + `L ${bottomRight.x} ${topLeft.y}`, + `L ${bottomRight.x} ${bottomRight.y}`, + `L ${topLeft.x} ${bottomRight.y}`, + `Z`, + ].join(' ') + + return ( + + + + ) +}) + +function DoneButton({ + imageShapeId, + onClick, +}: { + imageShapeId: TLShapeId + onClick: (result: Blob) => void +}) { + const editor = useEditor() + return ( + + ) +} + +/** + * We want to keep our locked image at the bottom of the current page - people shouldn't be able to + * place other shapes beneath it. This component adds side effects for when shapes are created or + * updated to make sure that this shape is always kept at the bottom. + */ +function KeepShapeAtBottomOfCurrentPage({ shapeId }: { shapeId: TLShapeId }) { + const editor = useEditor() + + useEffect(() => { + function makeSureShapeIsAtBottom() { + let shape = editor.getShape(shapeId) + if (!shape) return + const pageId = editor.getCurrentPageId() + + if (shape.parentId !== pageId) { + editor.moveShapesToPage([shape], pageId) + shape = editor.getShape(shapeId)! + } + + const siblings = editor.getSortedChildIdsForParent(pageId) + const currentBottomShape = editor.getShape(siblings[0])! + if (currentBottomShape.id === shapeId) return + + editor.updateShape({ + id: shape.id, + type: shape.type, + isLocked: shape.isLocked, + index: getIndexBelow(currentBottomShape.index), + }) + } + + makeSureShapeIsAtBottom() + + const removeOnCreate = editor.sideEffects.registerAfterCreateHandler( + 'shape', + makeSureShapeIsAtBottom + ) + const removeOnChange = editor.sideEffects.registerAfterChangeHandler( + 'shape', + makeSureShapeIsAtBottom + ) + + return () => { + removeOnCreate() + removeOnChange() + } + }, [editor, shapeId]) + + return null +} + +function KeepShapeLocked({ shapeId }: { shapeId: TLShapeId }) { + const editor = useEditor() + + useEffect(() => { + const shape = editor.getShape(shapeId) + if (!shape) return + + editor.updateShape({ + id: shape.id, + type: shape.type, + isLocked: true, + }) + + const removeOnChange = editor.sideEffects.registerBeforeChangeHandler('shape', (prev, next) => { + if (next.id !== shapeId) return next + if (next.isLocked) return next + return { ...prev, isLocked: true } + }) + + return () => { + removeOnChange() + } + }, [editor, shapeId]) + + return null +} + +/** + * We don't want the user to be able to scroll away from the image, or zoom it all the way out. This + * component hooks into camera updates to keep the camera constrained - try uploading a very long, + * thin image and seeing how the camera behaves. + */ +function ConstrainCamera({ shapeId }: { shapeId: TLShapeId }) { + const editor = useEditor() + const breakpoint = useBreakpoint() + const isMobile = breakpoint < PORTRAIT_BREAKPOINT.TABLET_SM + + useEffect(() => { + const marginTop = 44 + const marginSide = isMobile ? 16 : 164 + const marginBottom = 60 + + function constrainCamera(camera: { x: number; y: number; z: number }): { + x: number + y: number + z: number + } { + const viewportBounds = editor.getViewportScreenBounds() + const targetBounds = editor.getShapePageBounds(shapeId)! + + const usableViewport = new Box( + marginSide, + marginTop, + viewportBounds.w - marginSide * 2, + viewportBounds.h - marginTop - marginBottom + ) + + const minZoom = Math.min( + usableViewport.w / targetBounds.w, + usableViewport.h / targetBounds.h, + 1 + ) + const zoom = Math.max(minZoom, camera.z) + + const centerX = targetBounds.x - targetBounds.w / 2 + usableViewport.midX / zoom + const centerY = targetBounds.y - targetBounds.h / 2 + usableViewport.midY / zoom + + const availableXMovement = Math.max(0, targetBounds.w - usableViewport.w / zoom) + const availableYMovement = Math.max(0, targetBounds.h - usableViewport.h / zoom) + + return { + x: clamp(camera.x, centerX - availableXMovement / 2, centerX + availableXMovement / 2), + y: clamp(camera.y, centerY - availableYMovement / 2, centerY + availableYMovement / 2), + z: zoom, + } + } + + const removeOnChange = editor.sideEffects.registerBeforeChangeHandler( + 'camera', + (_prev, next) => { + const constrained = constrainCamera(next) + if (constrained.x === next.x && constrained.y === next.y && constrained.z === next.z) + return next + return { ...next, ...constrained } + } + ) + + const removeReaction = react('update camera when viewport/shape changes', () => { + const original = editor.getCamera() + const constrained = constrainCamera(original) + if ( + original.x === constrained.x && + original.y === constrained.y && + original.z === constrained.z + ) { + return + } + + // this needs to be in a microtask for some reason, but idk why + queueMicrotask(() => editor.setCamera(constrained)) + }) + + return () => { + removeOnChange() + removeReaction() + } + }, [editor, isMobile, shapeId]) + + return null +} diff --git a/apps/examples/src/examples/image-annotator/ImageAnnotator.tsx b/apps/examples/src/examples/image-annotator/ImageAnnotator.tsx new file mode 100644 index 000000000..2ef069ace --- /dev/null +++ b/apps/examples/src/examples/image-annotator/ImageAnnotator.tsx @@ -0,0 +1,54 @@ +import { useState } from 'react' +import { ImageAnnotationEditor } from './ImageAnnotationEditor' +import { ImageExport } from './ImageExport' +import { ImagePicker } from './ImagePicker' +import './image-annotator.css' +import { AnnotatorImage } from './types' + +type State = + | { + phase: 'pick' + } + | { + phase: 'annotate' + id: string + image: AnnotatorImage + } + | { + phase: 'export' + result: Blob + } + +export default function ImageAnnotatorWrapper() { + const [state, setState] = useState({ phase: 'pick' }) + + switch (state.phase) { + case 'pick': + return ( +
+ + setState({ phase: 'annotate', image, id: Math.random().toString(36) }) + } + /> +
+ ) + case 'annotate': + return ( +
+ setState({ phase: 'export', result })} + /> +
+ ) + case 'export': + return ( +
+ setState({ phase: 'pick' })} /> +
+ ) + } +} diff --git a/apps/examples/src/examples/image-annotator/ImageExport.tsx b/apps/examples/src/examples/image-annotator/ImageExport.tsx new file mode 100644 index 000000000..850f0b1c3 --- /dev/null +++ b/apps/examples/src/examples/image-annotator/ImageExport.tsx @@ -0,0 +1,41 @@ +import { useEffect, useLayoutEffect, useState } from 'react' + +export function ImageExport({ result, onStartAgain }: { result: Blob; onStartAgain: () => void }) { + const [src, setSrc] = useState(null) + useLayoutEffect(() => { + const url = URL.createObjectURL(result) + setSrc(url) + return () => URL.revokeObjectURL(url) + }, [result]) + + function onDownload() { + if (!src) return + + const a = document.createElement('a') + a.href = src + a.download = 'annotated-image.png' + a.click() + } + + const [didCopy, setDidCopy] = useState(false) + function onCopy() { + navigator.clipboard.write([new ClipboardItem({ [result.type]: result })]) + setDidCopy(true) + } + useEffect(() => { + if (!didCopy) return + const t = setTimeout(() => setDidCopy(false), 2000) + return () => clearTimeout(t) + }, [didCopy]) + + return ( +
+ {src && } +
+ + +
+ +
+ ) +} diff --git a/apps/examples/src/examples/image-annotator/ImagePicker.tsx b/apps/examples/src/examples/image-annotator/ImagePicker.tsx new file mode 100644 index 000000000..7769ca6b3 --- /dev/null +++ b/apps/examples/src/examples/image-annotator/ImagePicker.tsx @@ -0,0 +1,69 @@ +import { useState } from 'react' +import { FileHelpers, MediaHelpers } from 'tldraw' +import anakin from './assets/anakin.jpeg' +import distractedBf from './assets/distracted-bf.jpeg' +import expandingBrain from './assets/expanding-brain.png' + +export function ImagePicker({ + onChooseImage, +}: { + onChooseImage: (image: { src: string; width: number; height: number; type: string }) => void +}) { + const [isLoading, setIsLoading] = useState(false) + function onClickChooseImage() { + const input = window.document.createElement('input') + input.type = 'file' + input.accept = 'image/jpeg,image/png,image/gif,image/svg+xml,video/mp4,video/quicktime' + input.addEventListener('change', async (e) => { + const fileList = (e.target as HTMLInputElement).files + if (!fileList || fileList.length === 0) return + const file = fileList[0] + + setIsLoading(true) + try { + const dataUrl = await FileHelpers.blobToDataUrl(file) + const { w, h } = await MediaHelpers.getImageSize(file) + onChooseImage({ src: dataUrl, width: w, height: h, type: file.type }) + } finally { + setIsLoading(false) + } + }) + input.click() + } + + async function onChooseExample(src: string) { + setIsLoading(true) + try { + const image = await fetch(src) + const blob = await image.blob() + const { w, h } = await MediaHelpers.getImageSize(blob) + onChooseImage({ src, width: w, height: h, type: blob.type }) + } finally { + setIsLoading(false) + } + } + + if (isLoading) { + return
Loading...
+ } + + return ( +
+ +
or use an example:
+
+ anakin onChooseExample(anakin)} /> + distracted boyfriend onChooseExample(distractedBf)} + /> + expanding brain onChooseExample(expandingBrain)} + /> +
+
+ ) +} diff --git a/apps/examples/src/examples/image-annotator/README.md b/apps/examples/src/examples/image-annotator/README.md new file mode 100644 index 000000000..5deb2865a --- /dev/null +++ b/apps/examples/src/examples/image-annotator/README.md @@ -0,0 +1,8 @@ +--- +title: Image annotator +component: ./ImageAnnotator.tsx +category: use-cases +priority: 1 +--- + +An image annotator built with tldraw diff --git a/apps/examples/src/examples/image-annotator/assets/anakin.jpeg b/apps/examples/src/examples/image-annotator/assets/anakin.jpeg new file mode 100644 index 000000000..f78d52f1d Binary files /dev/null and b/apps/examples/src/examples/image-annotator/assets/anakin.jpeg differ diff --git a/apps/examples/src/examples/image-annotator/assets/distracted-bf.jpeg b/apps/examples/src/examples/image-annotator/assets/distracted-bf.jpeg new file mode 100644 index 000000000..f8d3ac010 Binary files /dev/null and b/apps/examples/src/examples/image-annotator/assets/distracted-bf.jpeg differ diff --git a/apps/examples/src/examples/image-annotator/assets/expanding-brain.png b/apps/examples/src/examples/image-annotator/assets/expanding-brain.png new file mode 100644 index 000000000..0426f2267 Binary files /dev/null and b/apps/examples/src/examples/image-annotator/assets/expanding-brain.png differ diff --git a/apps/examples/src/examples/image-annotator/image-annotator.css b/apps/examples/src/examples/image-annotator/image-annotator.css new file mode 100644 index 000000000..721596322 --- /dev/null +++ b/apps/examples/src/examples/image-annotator/image-annotator.css @@ -0,0 +1,108 @@ +.ImageAnnotator { + position: absolute; + inset: 0; +} + +.ImageAnnotator .ImagePicker { + position: absolute; + inset: 1rem; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + flex-direction: column; + gap: 1rem; +} +.ImageAnnotator .ImagePicker button { + padding: 0.5rem 1rem; + border: none; + background: #eee; + cursor: pointer; + font: inherit; +} +.ImageAnnotator .ImagePicker button:hover { + opacity: 0.9; +} +.ImageAnnotator .ImagePicker-exampleLabel { + padding-top: 1rem; + opacity: 0.7; + font-size: 14px; +} +.ImageAnnotator .ImagePicker-examples { + display: grid; + grid-template-columns: repeat(3, 1fr); + width: 100%; + max-width: 780px; + gap: 1rem; +} +.ImageAnnotator .ImagePicker-examples img { + width: 100%; + height: auto; + object-fit: contain; + aspect-ratio: 1; + cursor: pointer; +} +.ImageAnnotator .ImagePicker-examples img:hover { + opacity: 0.9; +} + +.ImageAnnotator .ImageOverlayScreen { + pointer-events: none; + z-index: -1; + fill: var(--color-background); + fill-opacity: 0.8; + stroke: none; +} + +.ImageAnnotator .DoneButton { + font: inherit; + background: var(--color-primary); + border: none; + color: var(--color-selected-contrast); + font-size: 1rem; + padding: 0.5rem 1rem; + border-radius: 6px; + margin: 6px; + pointer-events: all; + z-index: var(--layer-panels); + border: 2px solid var(--color-background); + cursor: pointer; +} +.ImageAnnotator .DoneButton:hover { + filter: brightness(1.1); +} + +.ImageAnnotator .ImageExport { + padding: 1rem; + display: flex; + flex-direction: column; + gap: 1rem; + align-items: center; + height: 100%; +} +.ImageAnnotator .ImageExport img { + width: 100%; + max-height: 50vh; + object-fit: contain; +} +.ImageAnnotator .ImageExport button { + padding: 0.5rem 1rem; + border: none; + background: #eee; + cursor: pointer; + font: inherit; +} +.ImageAnnotator .ImageExport button:hover { + opacity: 0.9; +} +.ImageAnnotator .ImageExport-buttons { + display: flex; + gap: 1rem; + align-items: center; + justify-content: center; + margin-bottom: auto; +} +.ImageAnnotator .ImageExport-buttons button { + background-color: hsl(214, 84%, 56%); + color: white; +} diff --git a/apps/examples/src/examples/image-annotator/types.tsx b/apps/examples/src/examples/image-annotator/types.tsx new file mode 100644 index 000000000..f737aadaf --- /dev/null +++ b/apps/examples/src/examples/image-annotator/types.tsx @@ -0,0 +1,6 @@ +export interface AnnotatorImage { + src: string + width: number + height: number + type: string +} diff --git a/apps/examples/src/examples/image-component/TldrawImageExample.tsx b/apps/examples/src/examples/image-component/TldrawImageExample.tsx index c55be3abe..b024beec1 100644 --- a/apps/examples/src/examples/image-component/TldrawImageExample.tsx +++ b/apps/examples/src/examples/image-component/TldrawImageExample.tsx @@ -1,5 +1,14 @@ import { useState } from 'react' -import { Box, Editor, StoreSnapshot, TLPageId, TLRecord, Tldraw, TldrawImage } from 'tldraw' +import { + Box, + Editor, + StoreSnapshot, + TLPageId, + TLRecord, + TLStoreSnapshot, + Tldraw, + TldrawImage, +} from 'tldraw' import 'tldraw/tldraw.css' import initialSnapshot from './snapshot.json' @@ -7,7 +16,9 @@ import initialSnapshot from './snapshot.json' export default function TldrawImageExample() { const [editor, setEditor] = useState() - const [snapshot, setSnapshot] = useState>(initialSnapshot) + const [snapshot, setSnapshot] = useState>( + initialSnapshot as TLStoreSnapshot + ) const [currentPageId, setCurrentPageId] = useState() const [showBackground, setShowBackground] = useState(true) const [isDarkMode, setIsDarkMode] = useState(false) diff --git a/apps/examples/src/examples/infer-dark-mode/README.md b/apps/examples/src/examples/infer-dark-mode/README.md index 51f469e24..1f0b4dd70 100644 --- a/apps/examples/src/examples/infer-dark-mode/README.md +++ b/apps/examples/src/examples/infer-dark-mode/README.md @@ -5,8 +5,6 @@ category: basic priority: 5 --- - - --- When the `Tldraw` component's `inferDarkMode` is true, the editor will infer its initial theme based on the user's system preferences, if available. You can toggle the dark mode by pressing `Command + /`. diff --git a/apps/examples/src/examples/inline-behavior/InlineBehavior.tsx b/apps/examples/src/examples/inline-behavior/InlineBehavior.tsx new file mode 100644 index 000000000..1bbc998cc --- /dev/null +++ b/apps/examples/src/examples/inline-behavior/InlineBehavior.tsx @@ -0,0 +1,205 @@ +import { createContext, useContext, useState } from 'react' +import { + ArrangeMenuSubmenu, + ClipboardMenuGroup, + ConversionsMenuGroup, + ConvertToBookmarkMenuItem, + ConvertToEmbedMenuItem, + DefaultContextMenu, + EditLinkMenuItem, + Editor, + FitFrameToContentMenuItem, + GroupMenuItem, + RemoveFrameMenuItem, + ReorderMenuSubmenu, + SelectAllMenuItem, + TLUiContextMenuProps, + Tldraw, + TldrawUiMenuGroup, + ToggleAutoSizeMenuItem, + ToggleLockMenuItem, + UngroupMenuItem, + useEditor, + useValue, +} from 'tldraw' +import 'tldraw/tldraw.css' + +// There's a guide at the bottom of this page! + +// [1] +const focusedEditorContext = createContext( + {} as { + focusedEditor: Editor | null + setFocusedEditor: (id: Editor | null) => void + } +) + +// [2] +function blurEditor(editor: Editor) { + editor.selectNone() + editor.setCurrentTool('hand') + editor.updateInstanceState({ isFocused: false }) +} + +export default function InlineBehaviorExample() { + const [focusedEditor, setFocusedEditor] = useState(null) + + return ( + +
{ + if (!focusedEditor) return + blurEditor(focusedEditor) + setFocusedEditor(null) + }} + > + + + +
+
+ ) +} + +function InlineBlock({ persistenceKey }: { persistenceKey: string }) { + const { focusedEditor, setFocusedEditor } = useContext(focusedEditorContext) + const [editor, setEditor] = useState() + + return ( +
{ + if (!editor) return + if (focusedEditor && focusedEditor !== editor) { + blurEditor(focusedEditor) + } + editor.updateInstanceState({ isFocused: true }) + setFocusedEditor(editor) + }} + > + { + setEditor(editor) + editor.setCurrentTool('hand') + editor.user.updateUserPreferences({ edgeScrollSpeed: 0 }) + editor.updateInstanceState({ isDebugMode: false }) + }} + /> +
+ ) +} + +// [8] +function CustomContextMenu(props: TLUiContextMenuProps) { + const editor = useEditor() + + const selectToolActive = useValue( + 'isSelectToolActive', + () => editor.getCurrentToolId() === 'select', + [editor] + ) + + return ( + + {selectToolActive && ( + <> + + + + + + + + + + + + + + + {/* */} + + + + + + + + )} + + ) +} + +/* +This example demonstrates some common best practices for using tldraw as an +inline block within a larger document editor. + +It includes: + +- Making sure that only one editor has focus at a time. +- Always defaulting to the hand tool when you click into an editor. +- Deselecting everything when an editor loses focus. +- Hiding the UI when an editor is not focused. +- Disabling edge scrolling by default. +- Using a stripped down UI to make the most of the available space. +- Removing actions from the context menu to match the stripped down UI. + +[1] +We use a context to manage which editor is currently focused. This allows us to +have multiple editors on the same page, without them interfering with each +other, or hijacking any keyboard shortcuts. For more information about handling +focus, check out the 'Multiple editors' and 'Editor focus' examples. + +[2] +We have a helper function that we call on any editor that loses focus. We +deselect everything, and switch back to the hand tool, essentially 'resetting' +the user's tool state. + +[3] +When the user clicks anywhere on the page outside of an editor, we blur the +currently focused editor. + +[4] +When the user clicks into an editor, we focus it, and blur any other editor. + +[5] +We hide the UI of any unfocused editor. + +[6] +We disable many of tldraw's default UI components to make the most of the +available space. We also pass through a custom context menu component. Check out +point [8] for more information about that. + +[7] +When an editor mounts, we default to the hand tool, and disable edge scrolling. +We also store a reference to the editor so that we can access it later. For the +purposes of this example, we also disable debug mode, so that you can see the +full effect of the stripped down UI. + +[8] +For our custom context menu, we've copied the default context menu contents, and +we've commented out the 'Move to page' action. This is because we've removed +the Pages menu, so we don't want any drawings getting lost on a different page! + +*/ diff --git a/apps/examples/src/examples/inline-behavior/README.md b/apps/examples/src/examples/inline-behavior/README.md new file mode 100644 index 000000000..708794c6c --- /dev/null +++ b/apps/examples/src/examples/inline-behavior/README.md @@ -0,0 +1,20 @@ +--- +title: Inline behavior +component: ./InlineBehavior.tsx +category: ui +priority: 3 +--- + +tldraw can be used as an inline block within a larger document editor. + +--- + +This example demonstrates some common best practices for using tldraw as an inline block within a larger editor. It includes: + +- Making sure that only one editor has focus at a time. +- Always defaulting to the hand tool when you click into an editor. +- Deselecting everything when an editor loses focus. +- Hiding the UI when an editor is not focused. +- Disabling edge scrolling by default. +- Using a stripped down UI to make the most of the available space. +- Removing actions from the context menu to match the stripped down UI. diff --git a/apps/examples/src/examples/keyboard-shortcuts/KeyboardShortcuts.tsx b/apps/examples/src/examples/keyboard-shortcuts/KeyboardShortcuts.tsx index b7c01e4eb..c0b7c1436 100644 --- a/apps/examples/src/examples/keyboard-shortcuts/KeyboardShortcuts.tsx +++ b/apps/examples/src/examples/keyboard-shortcuts/KeyboardShortcuts.tsx @@ -1,6 +1,5 @@ import { TLUiActionsContextType, TLUiOverrides, TLUiToolsContextType, Tldraw } from 'tldraw' import 'tldraw/tldraw.css' -import jsonSnapshot from './snapshot.json' // There's a guide at the bottom of this file! @@ -8,13 +7,18 @@ import jsonSnapshot from './snapshot.json' const overrides: TLUiOverrides = { //[a] actions(_editor, actions): TLUiActionsContextType { - actions['toggle-grid'].kbd = 'x' - return actions + const newActions = { + ...actions, + 'toggle-grid': { ...actions['toggle-grid'], kbd: 'x' }, + 'copy-as-png': { ...actions['copy-as-png'], kbd: '$1' }, + } + + return newActions }, //[b] tools(_editor, tools): TLUiToolsContextType { - tools['draw'].kbd = 'p' - return tools + const newTools = { ...tools, draw: { ...tools.draw, kbd: 'p' } } + return newTools }, } @@ -22,7 +26,7 @@ const overrides: TLUiOverrides = { export default function KeyboardShortcuts() { return (
- +
) } diff --git a/apps/examples/src/examples/keyboard-shortcuts/README.md b/apps/examples/src/examples/keyboard-shortcuts/README.md index f726e110c..bd050528e 100644 --- a/apps/examples/src/examples/keyboard-shortcuts/README.md +++ b/apps/examples/src/examples/keyboard-shortcuts/README.md @@ -5,8 +5,14 @@ category: ui priority: 2 --- -Override default keyboard shortcuts. +How to replace tldraw's default keyboard shortcuts with your own. --- -How to replace tldraw's default keyboard shortcuts with your own. +This example shows how you can replace tldraw's default keyboard shortcuts with your own, +or add a shortcut for an action that doesn't have one. An example of how to add shortcuts +for custom tools can be found in the custom-config example. + +- Toggle show grid by pressing 'x' +- Select the Draw tool by pressing 'p' +- Copy as png by pressing 'ctrl/cmd + 1' diff --git a/apps/examples/src/examples/keyboard-shortcuts/snapshot.json b/apps/examples/src/examples/keyboard-shortcuts/snapshot.json deleted file mode 100644 index 65718fd4b..000000000 --- a/apps/examples/src/examples/keyboard-shortcuts/snapshot.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "store": { - "asset:2051922215": { - "meta": {}, - "type": "image", - "props": { - "name": "tldrawFile", - "src": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+wAAAJWCAYAAADC/w0vAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Qe4VMX9//FvghrBqNiNAUzU2LtgwUZRAQvYCyjYRbqoqCCgooINGyhFwQ4oRQSNIiBNBFTsgAIW0MQOJoqaqPn/Pye/NXv3nplzdu/uvQO853nyJHk4e86c18zdPd8zM9/5zY//+vd/jIIAAggggAACCCCAAAIIIIAAAkEJ/IaAPaj2oDIIIIAAAggggAACCCCAAAIIRAIE7HQEBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBBBAAAEEEEAAAQQQQAABBAIUIGAPsFGoEgIIIIAAAggggAACCCCAAAIE7PQBBFZTgenTp9mIx0bY5MnP284772xtL77Yjj32uNX0bsKr9qOPPGL33XefLV++zP785z9bu/bt7YQTTgyvotQIgQSBf/zjH/af//zHNt5440qz+n7VKhs+fLg9+OAD0TX3P+AAa9u2re222+4lr8M777wdXfv9pUttp513tlatzrTddy/9dUt+Y1wAgRIK/Pzzz/bVV1/ZZpttZtWqVSvhlTg1AgjkK0DAnq8YxyMQgMBbb71lJxzfolxNRowcZfXq1Qughqt3FZYuXWpNjjqy3E3c1v92a9GivPvqfbfUfk0UUJA+dOgQe+jBB+27776LblEv9g4/vIF16NDBqteoUdLbHjDgbrvj9tvLXWPck+Ntjz32KNm1V61aZXvuUT44HzBgoDVt1qxk1+XECKyuAnPmvGS39+9vr776anQLG2ywgR166KF2+uln2CGHHrq63hb1RmCNEiBgX6Oak5tZWwR69expjz32aLnbPeWUU6xvv5vWFoaS3aceXgYOHFDu/Bp5mP3SHEYfSibPiYsh8MMPP9iZZ7ay1197LfZ0CtoHDR5s6667bjEuF3uO00495dcAIPsAzQK64847S3bdWTNn2tlnt4n92502fYZVr169ZNfmxAisbgKTJj1n7S6+2Fnthx951A466KDV7bZWi/p++OGHdtedd5gGYP683XbWrFkza9q0WZV+Rz3//CQbOWKkLVv2kR10UH076qijeGkTSG8iYA+kIagGAvkIHLB/vWjqWm7Ze599bPToMfmcimNjBK679lp76KEHY20ef2K07bvvvrghEKzAxIkTrEvnzt76XXvtddbqzDNLdg977bnHryP7uRd5+50Ftv7665fk2o88/LBdc03v2HOXenS/JDfESREokYCWyTRq2DBa9uUqGm2f/9rrvKQucht8/tlnVr9++Rch55x7rvXocXWRr5budM/+9a/WoUP7cgcPHjzEGh9xRLqTcFTJBAjYS0Zb9SfWl/CUKVPsg/fft2rV1rFq61Sz9dZdz35b7bf2u9/9zjaosYHVqFHD1q9e3TbYoIZVr17D1lt3Xau2zjq2TvSfavbLL/+x77//3lat+s5Wrlhpf//0U/vi88+j///td9/Zzz/9bAcffLAd17y5bbTRRlV/02tBDVasWGH16u4Xe6daa/385ClrgUJpb9EXsN9088120kknl7YCnB2BCghce+019vBDD3nPUMqRbq2F3WnHvzivP3fey9E62VIU11R8XWvIkKHWqHHjUlyWcyKw2gm4gsbcG3n2uedshx3cf8+r3Y0HUOF7Bg60/v1vi63J9Bkz7Y9//GOl1/KM00+zl19+udx1a9euYy9Mm1bp9eGCZQUI2NfQHuGaFliq22129NF2993lpxCX6npr83nnzZ1rLVueEUuw9dZb26wXZ6/NPEW59z7XXfdrsqzcE3bu0sU6duxUlOtwEgRKIXDLzTfb4MGDvKfWevaJTz9Tisvb119/bfvXq+s89+zZL9mWW21VkmvfcMP1NnzYsNhzDxh4jzVt2rQk1+WkCKxuAspzse8+eydWe8jQ+6xRo0aJx3FAegHXskadQbMkNVuyskvDBg2csy0WL1lqv/nNbyq7SlwvS4CAfQ3tDlqTpLVJlVkWLFxk6623XmVecq28lm/KpxLOKfEcpWICN990kw0ZMjj2JB06dLQul1xSsQvwaQRKKDD+ySft0ku7eq/Q4vjj7bbb+pekFq6kjZmL6aWiXi6WonRo386effbZ2FOPGTPW9to7OUApRb04JwIhChxycH379NNPvVWb9Pxk22677UKs/mpbJ9+gwP3DhkXJQSu7NG3SxJYsWRx72dffeNN+//vfV3aVuB4B+5rfB1q1bGlz586p1Bt96+13qjRZRqXebBVe7KqrrrQnHn88tgaaqq0p25SKCdx66y026N57Y09y6aWX2cXt2lXsAnwagRIK/PTTT3b66ac5k87p0qUcxVG2aSWdc5VS/lb4HjqVMHLLLbcsoTynRmD1EnjhhRfsgvPPc1a6YcOGNvS++1evm1oNanvrLTfboEHxs6Buv+NOO+64yt+i98QTjrc333wzVm/GzFm2zTbbrAaya24VGWFfQ9vWN92mFLe855572thxT5bi1JwzR6BF8+amfYbjyiVdu1r79h0wq6CA7+23EsIoMQwFgZAFVq5caXfdeWe55IlKItWv302mZUylKpMnP29tL7oo9vRau6417KUoSWvn31u8xH7729+W4tKcE4EqE9ALui+++MK0Jl2J5GrXqZNXjojp06fZ9X362AcffFDmHo46qoldf8MNtummm1bZva2pF/YNvNw7aJAdeeRRlX7rvtkWpcw7Uuk3uppekIB9NW24pGovW7bMGjWsnCk1egB85NHHSrq3btL9ri3//u9//9t22Xkn5+1W1ZvZ0PyVKPHzKDniKtts001tiy23zGv9VbfLL7exY+Oz7fft289OOfXU0G6Z+iAQK6C/heXLl0e7Smy11VZWu3btkm7npko8PmqUde9+VWx9tEWUtooqRfn73/9uhx5ycOypSchZCnHOmSTwyy+/RDkd9PdXrdpv7Y9/rFXhmYgKzJ8c/6S9MHVq9LcdN6VdS060E0Ta7N4K9JVQeNny5bZOtWpWZ9tt14hA/dtvv40SJ/9+gw2seo0aSc1Vaf9+3rnnml6UxJWq2IlG/XTHv+zgvP9331vMTgGV1jviL0TAXsUNUMrL60t96H1D7a/PPJO4RqnQemikUSO6NWvWLPQUa9znvvnmG1uwYIF99dWX9uWXX9p/ftEb79pWt269Cju99957dnQzd9KkpyZMsF133W2NM/XdkEYXZs6cadrK6t1Fi6IHmO+++67cR1q1amWXXnZ5qt0MTj75JOd0Yt+PqUY53n77bdugRg37+ZdfbPvttitZcq21qpGr8GY//vhje//9pdED94qvV5heUG6++ea24047mrLnUsoL3HbbrXbvPffE0rRs2cqu69OnJGzad15/u3FFo4X3OJa5VLQy2rv4oQcftJdeeinqE5pGrDwXaXZOeeWVVyKrV1552XbddddoZO3sc85hJkBFG6WKPv/JJ5/YhKeein6TPvrow9hnL7086t37mrz2t9bskRkzZkTL4fLJT3TjjX3t1NNOqyKNyr2sBjRmz37Rpk+bbjNnzig3Y0CJ3A477DBr3Lix7bbb7pVbuayrKTjeZ++9nNteTp4y1f70pz9Vav2WLlliTZrEj+qXclZUpd7kan4xAvbVvAHTVl9vGBVMKJj8ZuVKi946/vC9Pffsc6bpi3FF09wPO+zwMv+0zrrrWO1ataMpV/rR2WSTTdJWoVKP04+mtrP74ssvou3o1l13Xdtl111N96T/XeyiL+Bx48ba2DFjvbkDdP0LL7zImjZrVlAVpkyebBdddKHzs8Xe3/jHH3/871S7zz83TbHVaLXaPoQpckqOMm7sOBs9+onYPenjkNRnJ0x8OnEPaN8e0q/Of8023njjMqfX/qU33XRTbIZV5RXocfXVqR7eC+oUfKjoAnrhM3z4MJs4YaIzCY8uqiSPva+51pRxvSqKRsX+9a9/Rdt0hlR8SU+vuPJKu+AC93dYRe7jueees/btLo49RduLL7bLLru8IqeP/axrvX7amQRxa+7Pat06Cugo/xOoaF9XwPvVl1/a5198Ef2m1ahRPXq5olkn1apVqxC1nq+mTJlso594wmbNmpX6XEr6qOSPSUW/veeff543J4XvHNpHPc3Lo6R6FOPf9Qz61ptvRmulf/nPL7bLzrvYTjvvbLVq1arQ6efMecl6Xn11uSDdddLLLu9mbdu2rdA1C/3wokWL7Nhj4pckVdW+948+8oj17t0r9pa0s4Z22KBUrQABe9X6V/nVfYkvOnXqbJ06d67yOqatgB5ctfewAmd9IbqK1m5eccWVFf6ByJxf1+rdq6fpwS1t6XbFFdFD6+LFi61G9er2x1q1Uk3Z9mWIL9ZemXr4mD5tmo0dN9amTonf010/Kvvvv791vfQy22WXXdLedtGOe+ihB017pRdSkgIGvZyof9CBsafOfdOsB7/rrrs2msXiK9rDdsLEiQW/LFKbTJo0ySZOeCp60NFor14+6C28RhU23Ggj26TmJrbV1ltZ3bp1bc8990o97VJ/N/Pnv2qL31scjRrn89nce9asno8++si22nrr6O+rIuuFdY+aUbLhhhtG2Wkra8RBLzB7dO+e+iWQDB57bES0Dc/ixe/Z1lv/Ia/1o/n2YfXPUaNG2vz5823+q69GozT62+/Vu3c0sptbtDxq4cKF9sP330cPxvm+XNDLyNdeey3Km/HZp5/ZZ59/Zt/+89vopZVmGtSqXcvq1z/Ytt12218vfeQRjZ0PzgPvudeaNGmS722nOn7UyJHWo0f32GNdI43//Oc/oxdtP//8SzQjaosttoiWDeS+lHNVoGPHDs6//6Ts2itWrLB6dfeLPXVlrmPVUgK171dffmXy0HfCJptuEllssfkWttnmm0f7Qlf2tk759vVcSPXdV195xcaPH28TJjzlHNHUaGvHTh3tiCOOTNXPsg/67LNPTdObfc8crpPqd3TO3Hne72qdv03rNt4Xh0mVHjFipNXbf3/vYd+vWmULFy2yDz54P/q73nff/aLv3mKVpN/Kc84516686qq8X56oj9x880325LhxeVdV35eff/5FNBtSzzGaiVAZa8d9zy/Nmze3/rffUeZe9Jy4ZPHi6HdVs3DWX3/9vO9Vv816RtVWfocedli5BHLKOeIavLvhhhvttNNPz/uafKC4AgTsxfVc7c7WqVNHe+bpp2PrXdE3kHqQnPz88zZn7hxb9tEyW+9369mee+wZPQQoQFXAoYf6ddZZp8Jumgp5+eWXpX67qh/KsWPH2bYKeP71r4LWNukHbsCAAYn7HbtuTsGfghIV/W/tY7//AQd4LXzbjRVjyqdG8LX2NFOvNA2jL/Irr7yqqD/urutqlEQ/zvffd1+aqsUe06hxYxsyZKjz8y+//LKdcXr8FEI90A0a/N/t3vQDeNxxx6a20uieRvnyLQrMOnXskPeyFi1XueD8C7xT8l1v+vPNhaDzdOzQvszfn/7GLr64nV1w4YV5PYT98MMPdvddd5X7uyp1dn7NylGyQddDS1K76X4zSzE0k0aB6R/+8Iekj6X+d82KGjbs/iiRXFzR9d94861f/0lBV9++N0YvMbPLRRe1tcu7dUu8rh7s9Hc2cuSIVH1c93ztdX2iFwK+PBtJQWxixTwHaCtGfUfGlewAWKO1c+bMsfuGDnWuI9WL3bPPPsf22y8+oNY1kpLcaYtNzcJwFd+MKQUwmplTyqLlO9dc0zvVyK3WRB9//PF2VJOmUb6aUgbv+fb1OKN33303enmjZ4O05YADDoyWa2y//fapPqIXimed2SrV34frhOOeHO/M//P+++9b67POzPu7P/da+s3yvYyQkWbuZf/u65lE/de3nZvu/6nxT9rfP/3U9t5r7yioy93aV39rT40fb7169XS+MMnUV4Hk/fcPS/2iVy/Kr7zyisTzpmrM/zvojjvvtGOPLW2GdmXlV3b+uHLLrbfaCSec+Os/6fv36h49yhyadmaGPqTf5ttuvaXc9fSyYtDgIdFvs5YV7rzTju7vqakvlHkhm48nxxZPgIC9eJar5Zl8Gcf18KV1v/kWfUGPGTPGrrwi+aFQ51bgfuihh0Wj+fmuhVdSsdtv72/Dhw3Lt5rRWlQVPWTrYeT8Cy6wNm3OTvUgouueeMIJFXrrHVfh2bNf8gZYvhcsFZnyqfu54opuiSPFLuQTTzzJbr7llrzbIJ8P6Eela9dLnC+Y0p5LD+CjHn/CebjWCCqDa1zp2LGTde7SJUpmd8bppzuz9btOvnDRu6lH2RUM3HPPQLvzjrJv29PeZ+Y43wOIbxsXLR1IM3tCLxROPeVkZ7X0guTeewelDtp9O1xMfPqZvEeI03gl5YZIc47cYxS4PjVhovPhU+2rqaFaw7zZ5ptFD+2aiRFX9NDVpvVZiYHB9Bkzo5FQFfWbu+++K/Z8SbkuZs2cGe3jns+Lu8yFlNNk4MABTrJSJi/yrZ3PBM8aRb+kS+dovXmaohdFF7VtG9uOSf3mwYcetoMPjk+Cp2vfeOMNNuz++C2z9FvUs1f8FNU09U465m9/+5s1a9qkoGBHMzr69OmTeg12qft69r3q+UM5Afr3vy2JIPbf9Tyiv9vq1at7P68Xu+efd25BftknVgJGLZ/ILTJr2uSo1IMQvsq+9vobzhfqSojXsMHhsffhGwSIW/OsFx6PPPpomWco3yzOuDoPGXqfNWrUKLHt3njjDTvpxBMSj8v3AD0LaguziswOS7pmwwYNYpfP6XMzZ73464tezRA57NBDYl/YKPGtkgrmviDJXFvPS3p+cL3g1XGPPvaYqc18yTqLNXMzyYR/TxYgYE82WqOP8K3VVYIefWHnUzTtSW+1XVOpfefSG119AaVd312KoDntKKgeZsc/Wfxt7BQMKih0Fe1t7Jp63+f66+2MM1rm01zRsRVdH5e54ODBQ1JnpM27kmb2xBNP2FVXXlHIR8t8JmlbNo1Kukbw9TfRuPERdvHFbQvq4w89/IjVr18/8R40uqm38Pkss/CdVCOqGlnNLb5tXPRDrh90X9H0WT30x2Upzv6cZmDohVhSUS6ADh3aOw8rRYZ+vbA7vkXzojwY51Y880AUd0Nx3yFaJqPlMtmjly/PmxetX41LpJh73szD7sqVK6yuZ2RYo4hK/hZXfNPKk9ov6d812qzAuVTFFxw889dno2zRF15wft4vIlzLaHxr5nWPSS+YtI7VNZX64nbtTC8Lil1koGC2kJfcuXVRfo6rundPfNFeyr6eXScFuddde409+mjFdiE497zzrHv3sqOa2dfRMiQFuUnfe0ltp0GDeS+/EpuD4tlnn7UO7dslnSL6dz076UWd/rtatXXsm29W2ooVK6127Vp2+ulneH+Xb731FhvkSMaYO2snuzK33Hxz7OzCBx548NcXOZrdc+21+eViSHqhrjroRaKS7xbyQjENaPaLzzTH53uM63c3dyeLpUuXWpOj3Ms0NCNh4MB7rEZO9nsttenQvr03n5LqrFmdmkmkxKoNDj8s9jZat24TLbeiVL0AAXvVt0GV1UAPgArYXSXfrSU0rapNm9apHix9N62XBHfedVfiSOQV3brZmDGji+731tvveN+ujxjxWJTcpBQlabq2b23o0Pvuj13D6qun+sBJJ55YlJkCpdw2SQ9iWleezw+0pujWqbNttB5zxYqvTW+rGzZqbC1btvQm4Dm7TWtn4qBp06ZHs0dcI5dJfUIBmR7+k0qXzp2jrPfFLPcPG2aHH152q0dN5/SNNGqkYZtttnFWQ7kb0j4cJ02F1sOvHk58gelNN99sChKKWUphnamf6+WQL09C5iFK50hKMpnrMHLU41EOgxdffDEakXcV14vBpM9V1D0pEKro+X0Bu15maGQ9zYuPuHo8+9xz5WZAPPbYo6YZIa7i27s46aWK6yVbRY00FVcvA4tVFCSOGTPWatWuHXvKUvf17Ivqha5e7BajvDRnbrR8L67k+/JYo7aarbTBBr+PcgTo90g5OTSFXC9G44ovN4KOVzCtPEMNGjSw7Xdwb8eVZOHbEUWfXbBwUewormvw4OqePaOlJJqurnsopLiuqXPpWaD1WWclBqOZ6yqoVaJk9cO0y518L1oLuZ/cz8QlmtQxubMktexyjz382ez1gmPY8Ad+nTGqWT/nnnN2qpdJme80zTo68ID4HAfDhg8vl3y6GAacI38BAvb8zdaYTyg5VONG5ZMUZW5wSh7rVjStSiNt+QRUPsikETklGLnssktL0ha+qcBa86fRuKSiH1Nl+tWI0oYbbmSL33svGtVI8tE0Wo3KuIpvRkTSNNe4c3a9pIs99dRTSbeT+t9LNd3Vt+VIpnIaSdDbYr040ANSoVPaXMZqU603POrII1J75B54yCGH2AMPll1TnHtMvg+DaSuj+ushNPttfNJDldbQai1tXEl6+5/7GQXaCrhd5Z6BAxOnsc5+aY5tueWWaW858ThfEsfsD2uq+mmnn2Y777yL/eY3ZpoOm2apgitA1Uykgw6Mz1eRmYKoZHGNGpZ9weK7IQVO8tGaRL1E0csUV7mka9doO87sokBCIz+FBrSJ2GZR+xf7hUv2dfOdfpumzplj4qao33XXnd4pp+8tXuL8Hpo6dWo02u8qpbLyzSDKxyP7WH3njhk7LvZFaKn7eqYexZ4ZMnr0mCiRZCG/m/r96XJJV9t1113sT3/6c7kR0DTOvtlPerHfr99NRdmtxfdMoXq6ftNd9dPLwCZNmnq3n026f9/SwAED7rY7br896RTRLgvNW7QokzxSz7xaxvDBBx94P5/90jTxQgUcoCVHZ5/dpswn9f39/OQp5f6GfLMqMyfQc+awYcOjl+8XXpg8k02f02+aAvZMub3b4fxUAAAgAElEQVR//3JLmZIGkAq4dT5SAQEC9grgre4fdW1Hk7kvJTDKrPP23aveeGrK5swZM4pKMuvF2VHglVvSBgp68G3ZqmW036bWtc1+8cVUCeLiRiIzdfCt+c8coylEmiaYu32cklqd2aqVc+2SPu+bgqZ7+MsO7mQ42Wuf0jTE6NGjE/MM6EdEU3T32GNPq12rlr23eHG0bZJrKuCLs2fbVluVb7M09fEd4wssZfboYyNs990rvq+qEsnVr19+PaHqpnWGys7qShaTaT9fwJO0n2maFxMVscydCq2/3SMaN3b2Sf3tjHe80PFt3eWqo2/E3jd7ROe7rf/t1qJFi4rcfpnPJo1wZg52BU5pRqO1ZZMSBOWWpCQ/L0ybZpddemnqJRFqp779+tquu+4WXUrrorU+2lWuueZaO/OssiPwDzww3K4v0f7omXq41usWq1FLGbDrb1cZvbOXK9xww/XOqeX67dJvmKv41q9HbViikS3trqEs1cUuehl53/3DyiWRLXVf130oi7YGDJJK166XRjkFttt++2h72569ejqfWzTL75hjjo09pW8Nspaa6EVnRbZa9Jnp904v5tI8myV56N932H4772FLlr5f7t99zyKaGTJj+gzvCPh5558fLSlzBc5PP/NX22mnncpdV0sR6u63r/elol4eKeHnjjvGJ1HTb3yf6/t48/XEfT+mscznGD3TaIbOxx9/YnvttVe0ZCzuGUa7wijXTFLJTnqadKxeRN1zz71lXn5rC1+9wNYuS/rf2tJZI/6uWSZJ1+Dfiy9AwF5809XmjEnrReO+qONuLu0bz3xhjj7mGLvrrrvLfcw3ZTlzcJdLLokyVOfur6p151pP5yuuB3Tf3pmZ8yWNimiK04EHHuD9wXG90U5awuBLLJN7v1rHqDVLvhF/PXho+nbug4EvsZNvVCLf9s8+/vFRo6Ls9XElaZu2fK7rC8KSfhD1oDB8+AM2YsQI74uhN9962zni4ksCl3sfekDWw5FGfVX00Nr9qiujbd9cJfetuo7TD/Tll7nXyip41Muv7JKUbMt1fVeG8gUL3rHmx7kz8x5/wgl2662FJZFy1cW376w+owBNy0y0tMJVfC949BnfjArtRKCR+rgib201llQ0I0cj5Uc1aVLmu05Jt/R36iq5WYbTLjlRvU499VSrXae2bbnFlvbTzz/bu4sW2UMPPZSqvknLIpLuN+nfC/0t0gjVFltuGW1n6Xvhlvu34Butjvtby9Q/ze9AITOmknz0775khJmdHbSN4spvVkbJqLTTS9LMsMx1XTkmStnXdW3fllT6d00bvuXW26xOnbLfY3EjnZl78f2u+EalizHLLOnlfCH5heL6RtIuB66XTr4p1JqC7hq8Uf8a/sCDtu+++1rciG6mjq6+ryntamtX0Qw79UH1X1/R7hD9+vV1HtKhQ0fTM2QoZcaM6XbuOecUpTqa+altjQvZGq4oFeAkBQsQsBdMt/p/0PfAmjQSmLl73xd3rpAefNucfU6UDfmf//iHKanK0KFDvJDzX3u9zBQhjVIfftih3s/43ozrg1prr3VbruL6odY0LD0QukqaNf/armbvvdwBgM7tWveYZO2bfplb56QROE1b7XfTTbEZ84cPH2Y3XH99LEPazOL5/vX4EvDoIUD7t2orloruG1voKKP+Xp4c/1SU3fWN11+3k07637Ysufc69YVp5R4cdUxS0Jp9Hu3e0LNX73KjWRqBaN++nTchXu6LHa3x33WXnZ1NEpdlXomEcrcLS9OmctK0/NzlCkmJj16YNr0o0z+z6+hbu6nA9PEnnkgcXZg7d461aulO9OgL2nwPrEmWGlG/9LJLo9014rbX8gVlOnfuLKIlSxab1lX6ivpBs2ZHx2b714jg0xMnRqP6vuDu9TfeTHyYTrp337/n+/er/YW173H1/0valDSalfv95ttm05c8K2nJgu7RNcOsIj5R2993X7TdX1yJezGm4FEud9xxe+IsOteSrlL29aQ209/gE6NHx/42+Ja4+UZZ9Tevv/24ou2ytOQkM9ul0PY6YP96iS/UNeVbwW+hy7/04n6P3f87KyeuuGZYpZldFHe+seOe/PUFqG8v8r8++5z95S/ld8zw/b2pnRXou7KmZ+qj/tyoYUPvC0blFtB3Q0glaQlNUl31nHTrbbdVyj7zSXXh3wsTIGAvzG2N+JRvFCZtArGkwC8Ddcopp9g1115XbppY0peQMvtmT21Kup626/Ltm6v6JD0suRKDaW2QK/u9Rrn0I51U0kxDj0tupPP6RvN8U+lz66Tka1o/63qw1nSpxx4bEfvDp6nwLZof5/zsonffKxdEJpmk+fc0sxt0HiUsbNK0qR104IHe7fFc1yw0aVH2XrpJD0HZDy3Z9bipX7/EF1g6XtM627V3Z1LX3r2+dfZxe0P7Eq9deOFF0bKITFEG+3332dvZbLLo1LGj84EobhaGL1t2PnvOpulLOkZ/Azv+xZ2oKWk7rsx1lEdD+TRcxfd3WWjyL7WHvmtyl9xk18H3YKvjtN5Y0zAz5fnnJ9nFbcvvIpD596SXoDou6UE4n++otO2Ye1w++R+ys1lnzqN70AtV1yh77u+Lbwq+K2BXroAjGjdKHLUudr6GzD36tq10zWrLfDbNDLW4F9el7Ou+5LPqc3qGyGx1mN1f9KJSe4+7RoN9s8W0baFeQviKXvpp3/rDDz/cdtt998Qkurnn0m47WpefVDQK3rx5iygzu/pcPlPxv/nmG9tv3/h1+rquXj5ollFuSRqhjquzdgBqdeaZv/6TL2CfPGVqlJQvt/j2L0+7S03Sd52uGera7UJflKhf9L/9jti/g6T+xb+HI0DAHk5bVHpNCh0dyK5omunpSdlutXWJRlDjSu5IkO8B+ZxzzzVlZU4qvuBAn3VNv/UlgVH2cFeW3Ex9FHAfd9yxiQ9qrmBBwbLqEFfy2SszaUQi7oFLD5kavfIl2tIab61RLVVJk3wl+9p66dSgYcNoVHCfffaJHYnMrWs+U9Izn9X2P0oull18axzjAgV91jdtVP+ubMLKyeBaV5l9/fPOPdemT58W2xRDhgyNHkiyy4QJE6IM2nEldysuX6K2zN+O78Va7rR4Jazcv17d2GvrgfvV+a8V/SWQ9qDW/rZxJe3sIiX4UZb9pPLWW2//OoKbfawve7brnGl3gkhap5w7y2Pw4EGmbZoq4pE0s8Q32yDJMO2/JyVRzJwnk00/7ry+XAq5382+oEPnjpsenXZ3k1LlA/EthfPtu52xGj9+vF3a1T1dOG50slR9PWlN82WXd7O2OS+iNA184oQJdsstN3szaft2i5k/f76dekp+u1XoO1cB8NFHH1MmEZqrb7/77rt2zNHN0nb9X4/TSxclYD3wwAMTR959CQF1Qlei0Hx31tBUdSVyyy6+v51p02dYrVq1yt27728zaUcTnSztLLZ8nqfybqAKfiDfoF3T+zt26hQ7M6qCVeHjlSxAwF7J4CFd7uoePWzkyBGxVdL2TwqWk4pv2pamwHfo2MkaNWrkPY1v1Pn6G26IfnwyxZf0LWnPW50jzZZsrpERX3KWpHVrGrFRwOnaczcbSHteKnFdbvHtlZnPw/Bdd95pym7sKloDtuFGG9k/vvnGlFVVSf5eeml2YvZoTQkvRuI3V720JEAviNIY5p5DwbvWbp188inejL1JGXNzz6tgVgnvcqck+hKy3X7HnXZczHpt37Vdo/IuK201pYQ2cWXAgIHWtFnZB8GktdiZ/q2RaW295koWlFnj63tA14iQEiRmpnL79rIu1dRE34yNNH9Lyhdw8kknJv5NyN+1HjNplD+37fLJXJw0Ope71Mg3UqwZNxptTCp9rrvOHnzwAedh+j1QPy5l8a1JzlxXuTmUfDGuJC0PyZ3xlTRynD1bSqP3gwcNMi3/SFNKtRe0z8g1oppbX992kHqxqG2xskup+vrs2bOt9Vn/G7XNraf2sddIrdr1o2Uf2YcffGCvvfZ6Yr4F129w9vmTZur52lgvNs868yzba2/3TCV9PikxsO8aCjr1skLfoa6StMTQlXPE90I67lpxWd+HDxtmStqY9ngd53tpn/T8p4SuLVuekThgkqmPL9dMmr/fUh6TZqamrl+K3C+lvC/O7RcgYF+Le4jvTf8RRxxpgwYP9uokJSxJm7TONyqifUY7df7fyJ/vBUFSVvt8EncsXrK03Iisa+9MIflGbBQcaIsl/fimKa4gxbcNny+bd+41kxL0pKlj7jG57VTIOdJ8RlP4zjvv3CgPQSFFTkOHDo2dLp801Tvues9Net6237585n5f8BL3MJj0t7Rw0bt5Tan0Za+OW5Oue/M9hGUehnx/Q02bNrUBA+/5lemcc852TjfNXkLgWw/v27GhkPbPfEbLQfRdElc0qq/Rmo033rjcPyvoemHqVLvqqitTP/j5stsnrVPNVOCyyy6PMvamLUlT9XO/33xb6qX5btHfpWYs+BK2pQ38095j3HFJS2fUttNnzLCaNTeJvUxSwP/2OwvKJGv68MMPo+ntrqIXehrl1b7bo58YnXofaJ3vuecmVWh/bVedfDMh0rS1zuubVuxaTleKvp5vzoI0fUsvHB56+OFUI5Jplgj4rnntdX1M+Uh8Rc8N2le70O0WNQ29V6/esfeTtHzqqqu6mzK6ZxfNtttn7/8tp0kyjTuHPjNkyGDTLM+44hot9z2zqt0G3jOw3N/2Z599avp+0wuWfEq+L8nzOXdFjtVvkLaD9O1Wk33+ESNGWr394/dYr0g9+GzlCxCwV755MFf0PdQlrWXL3IRv1Dku6I27ed9etrlf9r4py488+qgdeGD5LbmUEGnM6NGmUae0JW46om8Nu0YNtUar/sEHR2vINH1dD3Njx47xrnGNq49rJMr345pmVDBzraTts9Ia6Tg9ACtJ3xlntEw15Tyfc7uOVXA7deqUaOsqV5Zt33U05Vlr9Lffoewa5qSH/dxz6kWSXlTEFd8aR1cGWt/fUr5v+30jYHFr2HUPCkK1vjWuZAJG33lzg+sxY0abHrDiysXt2plGv5Kyky9YuCgxiVAhfSopC7Me/pTIcNddd43Wuy9fvtyUmG3IkCF5vyxSoC2/uJJmm0gFQErCtM4666S+1Y4dOzi3LYqb8q8Egnpx4ipJCS2TtijTeStjmmnSFN/cbQ2z71e5J45u1sw5+uqqf76jjWkbMU0S07Tnyj5Omd8PPeTg2I+mzTPwzjtvm/puXHGdoxR9vdDkly43Baf6Ts9nyzQtr9FsJv0NFRJUu3Lm5PbNsWPH2r33DPRO43fdl6ak33HHneWC9qTfPO3MoVHa7JK09CX7WP3NPDdpUux3uO830rWG3fdiMXNd3evmm29uX3z+uWlZQdKe6y6zpB1/CvnbK8Zn0swSzb6O+vL4pybE5gQoRn04R+UJELBXnnVwV9L2ZnpDHFeUcVsjcUnFt67blTwt+5x6YD/xhBNMDwBxJTcI6NSpoz3z9NOxxypovrFvX6tXt57969//jqZzL1q40O69997EKXC5J4wL/pOmfCZZ5fPvcVPsfQ+jSXv+Zl87ad/VtPVU4quzzz4nr4ebtOdOe9zChQujUavJz0929qG4c8Wtt9eab639TlMU9ChzeY3/yy5drv88/LBdc03v2FOdcuqp0dYzucX34J/PaFvSaL32ktYDTW7xBdgaebux743Oh3R5KElW9jaKvn3O1V/lN2vWLFMiobiSO2Kfpl3yOaaYL6581/VNM/Zlqs+cM+269ew6+JIzxb0QTNraz5eAS1NNmzQ5KhV90tKhVCfxHJTU912zsFatWmXdLr/MmUtFl3QlFk1aYlToPRXS7mmulWT0zoKFiYnLkpLFxs0IKkVf9y09SmOROUZrtfUCNi45XdrzaKu+Sc8/b9OnvWBTpkzJK3h3vUTNvbYGH7T14KRJk+zZZ/+a1zWGDL2v3PLEpHw2cTOcfEuYcuvrS1Z59913OXPiuPZhnzhxgmn9fGUUvbzRgFFIJWlGj6uuenHy5PjxqXInhHS/1KWsAAH7WtwjfNOL4pKExFH5Rrw1BXLkyFHekaGk/YJz971VYiQlSCp1iRuJSXqoLWadtMZXW4Rll6QHraRRsMy5fGultS2Pa424grKDDqpvdevWNc3A2HTTTcvVT2u547aZKqaN61xaNz1jxgx7+umJidsP6Ry56+rymd7o2m84Uzdf8OvKkeB7oM1nyYEvU7ZvBC1peqT+nl1LETp36WIdO3Yq1zS+wPHqnj1t3tx5NmnSc7FN2rffTabdJUpV0ib/quj1fSPLSYkUCx2V9s2EiMuAnJTgSt8LylGRO8qvEUVN10273Cd7KURFXV2fd029PvHEk+zmW8qvH1ciqq6XdI1mUPiKKxHWihUrrMHhh+UVPKW597jRzTSfS3OM7+Wg6z6zz5u05CLuxUwp+rpv0EEvphSQxhV9D9atWy/Kqn7kUUeV20JMv7Uq2S8g07hmjtHnX3/99ei7TbtIJO1jr/wqvXu7Z7jEXVvBu2aYaUnh+PFPJva/uP6vzyvZqavE/b36ko5mn0ffXZOnTHEa+rYXdM0u+eGHH+y4Y48peNQ8nzYMLVO8+tQpJ5/k7NNJ96ZlrvcOGlRlz2dJ9ePfkwUI2JON1tgjfFniDz3sMBs+3J1AKIOifcm1P7mrHHLIIXblVd1ND3zZReug9Fl9abuKpoJqjXB2Qq98gqqKNFxcshV9YbY84/TUD6e+6+uBwTd9zrUm3hds577ccF3fNbKYCebUNpo2qUQ9mt6/8UYbRUnoqlevHntKrft87LHHoocTTc3v16+fKbiryqLM45qm69tyKzcZWFLG58z9qF8++9wk78OcLy+DnLUXem6iOu1trz3uXSXNjBUljzvyyCOcfcv3Ii5pSytfe7rWHGr3B+0CUUhJk/W3kPNmPpNkVZFz537Wtd1hUhBT6CiP7+VP3AwPtb2mSWspj6vkbie4cuXKKFh3BUVx59EyCC2HKGVx7Vzy0MOPWP369aNlGErg+d5779rIESOduylk1zFpxllS5nTX/WqNu2tZj28f8Ir6+fJLaEaIlu3EJURTwDRk8GBv0lLXkq5S9HXflHg9OyjTuBKraQaFXjZtpN+yDTeMZoXF7V2uBKsPPvBAFACr9OzV204+Ob9s8LltoyU106dPty6dOzm/l9Nk5/e1ubLlP/fcs9aje3fnNfQs9sCDD5U5TVLOhrjdb3wJKrNPfuONfe3U09wvA5TwWImP44r2QHcly3vjjTfspBPLTtMv5O9B5//973/vfAZNu7VxIdcu5DNJz9ppzhm3o02az3FMGAIE7GG0Q5XUwreVT9qMvklZRjM3pgBuuz9vF/1YLlv2kc2bNy/xjfAtt95qJ5xwYhmbpCn0xYJ0BTb6QVeW7IoUvbzQ9mf16u7nPI1r72nfOsAeV19t55zz3yndekiYO3euLfvoo+j/H3vccb9OXfc9zGtt9/4HHJDq9pYtW2b9+vYtN0KqOqguVV18SfpUt9xpvmmntvqSiGXuWSPRcnaVuMzhvnWhOo9GLPrd1C/a3i2upBkpTGpf35IT1724Ri51vP5emzY5Ku8REf2NKNFdqUsxZs0oANbuAwpIXMW17WPSNoJp94PPva4vQaYr83OaJT+a8XDYYYfb22+/HQU1vgA/zkIv9J5+5pmCRy6T+oPvpZu+0xe/tzhxJD33GppZpBd0m2wSn6guc7y2W2p3cdvE37XM8dqJpe////6sX7983hUdk/uCJOne8/n33r172aOPPOL9iJbBHHroIbb5FlvYjz/+aJ98/EmqkVzX9qql6OsaLFAgE1e6XHJJ9OIhTVHCUSVBG3TvvWUOzyc3jO86+j3u0+e6aJ17XEm7K0/SvfiWdcUlfdRyMiWhdRW9WNYzW3ZJ2oFCx+pvRi9cfXvC+15q+3Zy0PnT/la77kszBPv3v92enjjRNEvDVUq9hCepPTP/7tuGNOOtXAGXdr008QVkZcxySntfHJefAAF7fl5r1NFKMKVEU3ElnzXRvgRHhYLpC1/Twtdbb71yp0gKbNJcUwHl96u+t/79b4s93JctV3tWX93D/Sbbd31NS+pz/fW2xRZbmO8BxjXFOCnJjrbAk9nMmTPKBEnZ93PbbbealiLEFQVKA++517bddtvYf9eDh/af1oOHfuzjStrZGWnaKXOM1sm+/MrLUdCql0m5DxG55/LtNZw5Vvt7Z2cCT7LV55Km+WXO7Vu/rWO6XXGFXXhh+QclX6CVOXeL44+3ww49zP705z/bOutUi2ZDaJTON1tFn1XbTpj4tHdKXCEjha71hpn6apaDptDmU3r0uNr04F/qopHlfv36Jtq56qGEcl26XGIaedx7rz2d1dU2V3EvWpLaOzcreVoP35RnV9bmfNaip61H3HGa+qspwMUuymeh6bLFLvm8NNHIfft27RLzaWj0vGWrVlFw78q4re8HfU+Uotw3dGjU70tRpkx9Ifb3oxR9PWmEODOrwnWf7733XrTVqyuQ1udyk+cqOaGWXv3w/fe22+67RbPKfEW/Bd26dbOpU6Y4D4t7iabf2rhZAK6TaEmTcrAsX74s9pC4mTVJa8LjEgen+Z1Ms4TLt35ez3/PT54SzYhwFb0g00vGpKUs2Z/XebVV8JFH/jfnRlLSvVkvzjY9C1d1STLP5BrQ7Eg9V/oS7elZcOy4cSV7aVrVVmvy9QnY1+TWTbg339Ys+mjabdn0g3TsMcfkPdriq54vyZE+l3YdVdw1MlupTJk82S666MLYaiRly9WUa73dd+11nXtSBXrde3T/9YdC/+4b5XCNWvreSid15bfefiea1j5//nw79RT/ND/9uG+33Xa2xeb/HV1ZsXKlaQR37pw5ievxXCMsSfVz/XvcVDAlCVJGfiUJUgI1BUzaN14jfzNnzUxcwx433S3pR1H1yydzrG/5gmsGix7qtBtBKUpc0qHc6+S7tV2afZu11lJrfPMZja3sByU9uOnhb+7cOanolbSwx9U9yyz18QXJrn7j+0xF1lD6+p6vD/uWSaWCSXmQst7/5S/+QCflqX49zLfbSL7nyhyvNZ+Zh/u059BLoE8+/tgWvbvIFixYEH0n/fzTz1ardq1o3XTjxo1/TVapqdp77rF77Kn18lXBRSlKqZaW+UZGS9HX9b2/+267eon0klyB9TbbbGO//PIf+/af/7QlS5fYq6+8mhjs5Y6wx21fqGM0bV67jijvjF6YR8vK/vY3mztvbpQkN2kN+913DzDNAFHRPfXte2M0A0LPIQcffIg1b97cGjZqVG7EWjOY3n13kU2cMDGaIeArcXl5fIM2cbtJ6PxpviNcWd6z6yfL/fZ1L51Ls65f9//446MiY718cTlrycHRxxxtDRs2KpMkV8v+dt2l7HLN7DqOevyJKM9BVRbfrg6qV+5e63pho+dx35LLfJ5jqvLeuXZZAQL2tbhHJE2zyWc6UDFHN9JMOVazacrz9X2uS70fpX70tAXZVlv9941p0pTpt95626o7soBnuo1+JDT9WefSdPmlS5eYgh4Fkltv/YfoQaFx4yPKreHX50eNHOncai5uvZk+o3W3rimUSV35pTlzo5H9QqcpJ50/8+9x073Tfjb3OI0yaASqkO1yfNeMG7268447TJlrXcU36yPuM77EX1H7Ox4G0jwQ5evpmgYddx7f9oW5x6fd4/XxUaOse/erUlU7bcLLVCfL4yAFWgrYNW1aIxTvv7/UlixZEp1Bf8/6T916/w24Mt8h2afvekkXe+qpp2KvqL2427ZtW+7ffLts+LYgS7ot304QgwcPscZHHBF7CgUa2lc8KcDwXV+jwgMHDPD+zRZrCnB2PbTNo/JWFKMoUBo0eIjpxUwpi77X9HIlrrh2kyhGfSry4td1fQU2WiPtynVSqr7eu1fPvPfYTmuorVq1j3mm6AV9r54903489XHaYWPLLbeMjve1jV78b7ttHfvNb39rX3/1tX344Qepfxs1u2qXXXYpUyffdo6uZUlJL8ZcSVXjMJK2RNTSwXz+BjX7QbNclIBWs/Bkqhf6vi0xjz3maGeiXd93ZerGreCB1117rWmpT1zR99T0GTPK7T2flMk/tPX5FSRaaz5OwL7WNHX8jfqmqWVGZNMSaUpl586dnF9+SefRl4/WrettaD5l3ty59s6Cd+zDDz6wJUuW2o//+jGarqYvbP3AHXzwwXZ4gwZWs2bNMqdNyro+7+VXymVCz6deScf6RlPj1ptlzufLjOu6Zu6MgWIlbsm9ni9ZTJJH3L8n7ZddyDk1xU0JiXL32k1KOucKulx10CiJb5q6K9GQRqTbtG6derQ3yUAPPHqQTpvxWBm/feuxM9fLZ+mD/tbOO/ecaBu3pFLMFz5J1yrmv/vaW2tptaY2t/hyUqiPbr/99gVV0TfCnvSSRVNrlTm6kKBdiZz0HZBmN4+0M7jSAhRjqZSupSUnWjYQt/Vh2rqkPc43yljKEfakbdnS1j9znGYMDRv+QLnf2OzzlKqv6wW5EqkW0l9996kX/Bo8yN71RElBlRy0mCU3uWApXthqRppGVXOLL/GblvBoKU9uSQoG8xm9Tfqe0Frzu+6Kz1FQrDbwbQ2orY2VcLKqimal6UWXq2TPzMg9JilPRamfb6vKbE2+LgH7mty6Ke7N9YVdaNInTTG6Z+DAKNt1PqOimrZ23XXX2ZZbbZWi1sU7xPdgW+os1VoLrlHYuOJLdqM1W3rRkk+JW7eqKXR6OChWyeeHOp9rKnhwZVLO5zyZY11v7ZNmXLz8yquJiaey66MlBM2P8//Yu16K6e/olltutuHD3Fnj09y7pqh279HD1l9//TSH/3qMcltouqSvuBKpuT6jUQ+tMfY9WLdpc7b17NUrr7qGcrBv5Mm1TER7CmsdaW5x7SSQ9l59L2Knvv2p8IAAACAASURBVDDN6tSp4z2VplWecfrpeS1jUN6Ndu3aRy+GNFLfrGkT5+eLlcwr9yY0k+OGG67P67cncw7N7Gh9Vmurt//+aZkrfJz+FrQNXVxJSrxVkYtr/W+b1mdV5BS/fvbKK6+K8k0kvRAsVV9XRebMecnObBX/W1rITep+unW7wtZdd90yHy/2dTST7v5hw8vYFXv2w39HYWfGvkzxJZ1zBflffvmlHXiA+2/kjTffKvcy3NUGSWvI0yY/LqSNM5/R94XrdzZp+9aKXDfNZ30vb/Qd+tdnn3XmpNFsA20D59qml+RzaVogrGMI2MNqj0qvjaYcd+rYwbT9UnbR2jm94S+0aN3zjBnToymiixYu/DUJRmY7M/23Ro+OatLUWrRoUW7P8UKvm+/nXHv26jxpt0nL95qZ4994/XU76aSyWfAz/5Y0ZSmfNYidOne29u07xD5QaR1/166XFPSAm6mrRqQuv7xbyZKzFOvhUi+hlPDK90Dumg6ez5Ty7P7QqmVL70h57l7wuX1JszAUPOc7eqS/r+v6XB/9bRVSNPLX9ZJLnBlnk0ZpXdf8ePlyO+uss2ITI2nE/t57B+X9cqGQ+yvFZ3yJvFwvIjQ7qGXL8t+zrofltPVWUkkll8wt+TwA64FPL3SVq8P38lXn1FKj3KR6WirUpk3r2M8WeyZO9n1+++239sQTj0ezW3x5E7TERTti7F9vf2vSpEmlvyxWnX1LnDQVW1OyS1GS9t/WutjnJ01ytrtmgB3f4ng7Sm7/N5U7qZ6l6uuZ62qGX9u2F+W9I0V2vTWdWy+3XduSasbX6aedWpStXS+44ELTb3PuEgLfMokk49x/Vx/XC4Hdd4/Pk6C/lYPrHxTbzg888KAdcuihsZd0/U6ee955pq3D8im+nUkqY3mU67tS95C0NV0+91nIsb4lA3G7KOVeQ4MQzY87tlz76vngxdkvRdvaUVYfAQL21aetSlpTZVt94803rPr61a1Bw4ZRwrFiF01d+/77VbbRRhs717kV+5pJ53PtSa7PvTh7duxa1aRzpv13rX8/ulnT2MPTzHBQMNerV0/nQ6mygd7Y90bTf/uKkproAVdJbtIGhjpn4yMa2ymnnFopL1uUybdngVvF6eWH9n/Ww2VS1l0Fqq3POqtMlmfd6yOPPpqYmT7OWAHqMcccHftApKn5L0ybXm4UJ/c8mk7+0uzZ9vgTj0fJdXxFwZOCQ92ray1p2v6pl3ljxoyxF2fNMi2h0BY9+++/v1144YVWq3bttKcpd5ySKumFk2aYfPzJx7bzTjtbg4YNrEGDht61hgVfsJI+6FvfqodzBbVxJW4qvba003dAoUUj3NquKTeJ3oCB91jTpvHfOa5rfb9qVZTI8cMPP4yCIc3+0DThP/3pT6a16HvsEb8GW+fTSH3fG/vaiy/Oiv4G1OfbtW9vZ5zR0rtbQaH3nfs59TXN7Pjs00+jv7Off/klyjyt3SHSBprFqovr+6FBg8NjL9G6dRvr1bt3SS6ftCRKyxX0vaPkqvqPEnr+bv31oxwoCgLjdm9JU9FS9PXs66qvjntynI0aOSoxU3/mc+qTyktx8imnevty5vgVK1ZEM+NcI5dJDnoRc/HF7bwvuDXiq5HfihRNJ+/T5/oyO6HEnS9uRxV994x/aoJz1oRG2Y85ulmZ5wX99igrf75BoH5zTz7pxNgXLa7dNSrikvtZzQh17RaUJiguZl2yz6W1+ErWGlcUcGtKu2/bvMznFLTfeustUW4EFbWtlmg1bdasVFXnvCUSIGAvESynrRwBjb4OHTLYlPRODxO9evVOvY+4aujbWi1pjY+SzA0bdr8tXLAg+uLUlNADD0yfpEgPs3qDGld8a9izj1dQtXz58ihT7IqvV9h/7D+24447RbMXsrcsS9MamYyzy5d/bMuXLbPPPvss+vHVQ2/NTWraJjU3sa223sr23nufvM+d5vpJxyxevDhKCjd92rTEGQF6qKxXr16U4Vl70CdN18y+ttaQa8uZr7/+Knphs+uuu+b1+dz7UJboS7p0LvNAoh/cuwcMiPa0zqcoWPriiy+ittHoXLV1qlm1autEGZD14JmbpyGfc6/tx2oP43Fjx0XtpARzWkpQq1at1Cy+7es0w+WSru79fmfPnm0aIfzhxx+iFxfFyKCufjz/1Vft8y8+j3Z62HuvvaNM1lVR9D2l75fcKcZVUZeQrqkXKpqFE1fOO//8aLS3FOWtt96yE453z74pdn6B7HsoRV+PM1KgonwMytj/ySefRC8Z9PelFzY1a24SvXhQkKnvznzLv//972g7OC3BSBO46zqa2dWq1ZmJy1EydRkzZrQp4Vg+Swv1Wc3O0ZaBe+21V+rbUnD4+uuv2c8//2Ib/v73dvAhhyQGg/pOeeWVV+yD99+3Aw48sELfWXrBqBlK06ZNs6+++tJ22GEHu/Citla/vnv9tm5OMwQeeGB41MbfrVplRx11VN5rzvVMoYSzcaUq17Cr/a/o1i22XhqAuLhdu9TtqwP1HCevysjNkVfFODi1AAF7aioODE1AD9jadzS7pNlmKvt4X+ba3H26sz8Xt4eoK0mLy02B3PEtmsf+s4LNESNHhUYeRH00LXHZsmX21ltvmt7019y4pv37p5+iBzH9p3bt2nkFWpVxU3q40Yudpe8vtT/8YRs74IADKvQSoDLqvDZdI26bSCWJ00hE2uJLSKWXeR07dkp7Ko5bSwQeffRRU5bzuJKbobyYJL79y5O2NC1mPdaEcymgfuftt23xkiVWo0Z1W/XdKtto441to402tE022TQKZAud7aTR53nz5trbb71tb7zxur322msRWWa2ymabbR69RN93n31t7332tt133yPvEe7VtQ1WrlxpyvCevexFfXf+a6/n9duqoFjBcVwZMGBglY1E+3YdSRpMWl3blHr7BQjY6SGrrYBrfc+id99LNbU2ac/p9xYvcU6hdo3Mv/7Gm6l/MMePH2+Xdi2fOVoNonXht93Wf7VtGyqOwOoioCmu9eqW32s37SyXzH326NE92qoxrlR18qLVpS3Wtnqe3aa1c+eEBx96ONrhpBTFt82iZurMenF2KS7LOYsgoBfW2Znri3DK1fIUru3OxowZa3vtvXfqe/Jt6zZ69BhnPoPUFyjwQNfzbSmTURZYVT5WSQIE7JUEzWWKK+BL1uPb6iK7FnGjapl/11ZYyiYeV3xb8eRu0eK7a1/2c61d1BpGCgIIlFbghRdesAvOPy/2Imm3mNNoz+GHHeqcvpr2PKW9U85eKoHMKKumV/+xVq1UAZWS8p188knOKuW7C0M+9+bb25nZXflIcmxVCbhmR2pJQN9+/RLz1aje8+fPt1NPOdl5C/lubVxMC1dC5ClTX7Btt922mJfiXKuJAAH7atJQVLOsQNJ2IH373WTHHXecM+O0Pq+9pl3rw3xZwZV86YjGjZxNov26W7ZsGU3Pjitaz/nggw9493MdOepxq1u3Ls2OAAIlFhg9erRdeUX8WkFNsbz1ttusYcNGzlk7q1atsqt7dI92xHCVBQsXFZyoq8S3z+krKJC7Y4eSXJ59zrnWqFEjZ0JOTUlv376d8/enkKm9+dyGL9nqiSeeZDffcks+p+NYBCpdYIft3YmRlXCvc+cuUS4fV1EOovbt2pm2yY0raRL/lvKm40bYWVpVSvHwz03AHn4bUcMYAT0k77mHP/u5Hnr0xb3D9jvYppttGmX5/vqrr23hooX28EMPeV19o/RKOLPLzjsltouyMe++x5626SabREnb9Dkld1F291dffdX7+Xym1idWhAMQQMApkDTKog/qu6RFi+OjkQ39LSuh47f//NaWLV8WJZ7ybR+Wz1ZqNNPqJ9CieXNnRnLtlbzb7rvZ1lttbb+t9lv729/+Zu8uWpSYqEz5DvRwXory2Wef2sGeZF6lvHYp7odzrp0Cvr+7jIj+/pTXaJNNN4nyCSjx4Oeff2ZLFi9xrlvPfLaqp57rRaB2AcoMKmnLQS2TWX/99dfOBueujYCdTrDaCvj2qKzoTc1+aY532580PxaF1sE3Hb/Qc/I5BBCIF0jKZVFRt65dL422MqOseQLaRmyPhBfHhdz1zFkvlmy7zKlTp9qFF5zvrFZV7z1diBefWfsEevXsadpKs1RlyND7olkyVVm+//57W7Bggf3y88+273775ZVMryrrzbVLI0DAXhpXzloJArfddqvde889Rb9SmnXo9993n2lP2VIU1iiVQpVzIuAW0Bp2rWUvdtEIj9avF7pvdbHrw/mKL+DbaaSQq51y6qmmJIWlKsPuv99uvPEG5+lHjBgZbUFGQSBkAd9OBxWtd/Pmza3/7fFbvVX03HwegUIFCNgLleNzVS6g5G/Ht2hh2s+8WEXTjh4bMTLxTaa26TrpxBMSpzbmW680LwvyPSfHI4CAX0D7NWtf6nz3PE5yJdlcktDq/+/dLr/cxo4dU5Qb2W233W3kqFEFbwOWphI333STDRky2Hko+RbSKHJMCAKXXtrVNHW8mGWzzTaz5yY9bzVr1izmaTkXAhUWIGCvMCEnqEoBBetnnH66dw1p2vppneq4J8fbdtu5k5lkn+urr76yNq3PKlrQ3qhxYxs0aHCq7KZp74njEEAgnYCydrdp07poQfuVV15l519wQbqLc9RqK/D555+btvn05TFIc3PaTm30mLGm/y5lGTx4kN1y882xl2BksZTynLvYAsoLpKD9maefLtqpS7mdYtEqyYnWSgEC9rWy2desm1YCuttv72/Dhw0r+MZatWplXS+9LEomlU/RD4ZGK27vX/ie6Xqj273H1aaHJfZXzUefYxEoroBewmmpy5PjxhV8Yo2SXnvttVW2f2/BFeeDBQt89NFHdnabNgXP9tJWVN179Mj796eQCs+YMd3OPeec2I8+89dnbccddyzktHwGgSoTePrpiaatCvX9XWjR89fl3a4oWe6IQuvF5xDICBCw0xfWGAHthfzMM0/blMlT7JVXXk4cKVOgvPvue1jHjh0r/HCtlwbPT5pkTz/ztM2dMyfx2kKvXbuOKZO8ElIpgz0FAQTCEFAm7QlPTbApUybbyy+/nKpSWq/e5uw2duqppyUuqUl1Qg5arQR++uknmzhhgj355DibNWtWqroff8IJpmBdiUYrs1zRrVu5LNkkm6vMFuBaxRb4+eef7aXZs23ChAk2b968VC/PNKtSu3h06tzF6tWrV+wqcT4EiipAwF5UTk4WkoAeuj/55G+mTJvfffdttK1ajRobmAJ1bc+U72h6Pvf2+WefmUZd/vntt7Zq1Xf23bffRdffZpttomvXql3bfve73+VzSo5FAIEqENCD4PLly6MtuTJ/y9+t+i5auqKXbtvWqWN/2GYbgvQqaJtQL6nfnL///e+ml8grV6ywr1essL998omt97vfWe3atWzrrf9gu+6yi1WvUaPKbuHlefNsxswZVqd2Hduvbt3US8GqrMJcGIE8BL799ltbumSJrfxmpa36bpV9+9139uMPP0Tbctaps63VqVPbatbcJI8zcigCVStAwF61/lwdAQQQQAABBBBAAAEEEEAAgVgBAnY6BgIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIId8fKeQAAIABJREFUIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQAABAnb6AAIIIIAAAggggAACCCCAAAIBChCwB9goVAkBBBBAAAEEEEAAAQQQQACB/9feWcBdUaV//FGxXQmDXQWDEEGRUEBCQUC6OwQJCWmkSwRpFKRUQOmSDmmQUBFUuiRXBddccVWw3f//N7uXve+8J2bm3nm5L/zO5+NHPu+dOfE9Z2bO85wnKLBzDZAACZAACZAACZAACZAACZAACZBAAhKgwJ6Ak8IukQAJkAAJkAAJkAAJkAAJkAAJkAAFdq4BEiABEiABEiABEiABEiABEiABEkhAAhTYE3BS2CUSIAESIAESIAESIAESIAESIAESoMDONUACJEACJEACJEACJEACJEACJEACCUiAAnsCTgq7RAIkQAIkQAIkQAIkQAIkQAIkQAIU2LkGSIAESIAESIAESIAESIAESIAESCABCVBgT8BJYZdIgARIgARIgARIgARIgARIgARIgAI71wAJkAAJkAAJkAAJkAAJkAAJkAAJJCABCuwJOCnsEgmQAAmQAAmQAAmQAAmQAAmQAAlQYOcaIAESIAESIAESIAESIAESIAESIIEEJECBPQEnhV0iARIgARIgARIgARIgARIgARIgAQrsXAMkQAIkQAIkQAIkQAIkQAIkQAIkkIAEKLAn4KSwSyRAAiRAAiRAAiRAAiRAAiRAAiRAgZ1rgARIgARIgARIgARIgARIgARIgAQSkAAF9gScFHaJBEiABEiABEiABEiABEiABEiABCiwcw2QAAmQAAmQAAmQAAmQAAmQAAmQQAISoMCegJPCLpEACZAACZAACZAACZAACZAACZAABXauARIgARIgARIgARIgARIgARIgARJIQAIU2BNwUtglEiABEiABEiABEiABEiABEiABEqDAzjVAAiRAAiRAAiRAAiRAAiRAAiRAAglIgAJ7Ak4Ku0QCJEACJEACJEACJEACJEACJEACFNi5BkiABEiABEiABEiABEiABEiABEggAQlQYE/ASWGXSIAESIAESIAESIAESIAESIAESIACO9cACZAACZAACZAACZAACZAACZAACSQgAQrsCTgp7BIJkAAJkAAJkAAJkAAJkAAJkAAJUGDnGiABEiABEiABEiABEiABEiABEiCBBCRAgT0BJ4VdIgESIAESIAESIAESIAESIAESIAEK7FwDJEACJEACJEACJEACJEACJEACJJCABCiwJ+CksEskQAIkQAIkQAIkQAIkQAIkQAIkQIGda4AESIAESIAESIAESIAESIAESIAEEpAABfYEnBR2iQRIgARIgARIgARIgARIgARIgAQosHMNkAAJkAAJkAAJkAAJkAAJkAAJkEACEqDAnoCTwi6RAAmQAAmQAAmQAAmQAAmQAAmQAAV2rgESIAESIAESIAESIAESIAESIAESSEACFNgTcFLYJRIgARIgARIgARIgARIgARIgARKgwM41QAIkQAIkQAIkQAIkQAIkQAIkQAIJSIACewJOCrtEAiRAAiRAAiRAAiRAAiRAAiRAAhTYuQZIgARIgARIgARIgARIgARIgARIIAEJUGBPwElhl0iABEiABEiABEiABEiABEiABEiAAjvXAAmQAAmQAAmQAAmQAAmQAAmQAAkkIAEK7Ak4KewSCZAACZAACZAACZAACZAACZAACVBg5xogARIgARIgARIgARIgARIgARIggQQkQIE9ASeFXSIBEiABEiABEiABEiABEiABEiABCuxcAyRAAiRAAiRAAiRAAiRAAiRAAiSQgAQosCfgpLBLJEACJEACJEACJEACJEACJEACJECBnWuABEiABEiABEiABEiABEiABEiABBKQAAX2BJwUdokESIAESIAESIAESIAESIAESIAEKLBzDZAACZAACZAACZAACZAACZAACZBAAhKgwJ6Ak8IukQAJkAAJkAAJkAAJkAAJkAAJkAAFdq4BEiABEiABEiABEiABEiABEiABEkhAAhTYE3BS2CUSIAESIAESIAESIAESIAESIAESoMDONUACJEACJEACJEACJEACJEACJEACCUiAAnsCTgq7RAIkQAIkQAIkQAIkQAIkQAIkQAIU2LkGSIAESIAESIAESIAESIAESIAESCABCVBgT8BJYZdIgARIgARIgARIgARIgARIgARIgAL7Jb4GTp8+LTNmTJc35s2Ta665RipUrCg9evR0/s1y6RGYPWuWvPbaa3Lq1Kdy9913S5u2baV69RqXHgiOmARIINUR+Ne//iV4hy1YsEC+/faf8sgjj8hzAwbKzTffnGJj+fLLL2TWrFmy6a23JEvWrFK+XHkpX6FCirXPhkggtRL4/vvv5d///rekTZs2tQ6B/SaB0AhQYA8NbeJX/Oeff0qVypXko48+StLZevXqy6DBgxN/AJdgD1evWiWbNm0SfNjyP5hfKpSvIJkyZ44LiRMnTkjZMo8nq+vFUaOlatWqcWmDlZAACagJhPlsXyrMu3R5RpYtXZpkuA888IAsXpL0b2HyqFuntuzcuTNJE02bNZM+ffqG2SzrJoFUSQB7mcmTJ8mM6dPl7NmzzhjuvfdeKV68hLRr106uve66VDkudpoE4k2AAnu8iUbVB03hZZddFmILsVW9d88eqVlTfXq6b/8Bue4SfFH+85//lNGjRsmePbvlqquuksKFi0iz5s3lpptuig12HO7es3u31KpVM0lN6NfyFSskY8a/xtwCxj1hwvhk9aCNbe9tlyuuuCLmNlgBCZBAcgJhP9uXAvMzZ85IgYceVA515arVkiNHjtAx/PDDD5Ivbx5lO3hP58p1X+h9YAMkkFoI/Pzzz/LEEw0F7z9VgdD+6sSJcuWVV6aWIaWafuJdNW7cWNmxfYdcc83VUqZMWalcubLcmjHjBRvD+vXrZN7cefLpp584e+8yZcpIsf+3kmL5DwEK7HFYCX/88Yfs3btXPvjgffns9GfOYjt+/Lh88cUXTu0PPvigdOr8jBQuXDgOrcWvildfeUVeeGGkssJ16zdIlixZ4tdYKqmpV6+esmD+/CS9xQnN7NlzLrim9/mBA2X69GnJSMKNYezYcTETHjhggOMeoSrzFyyU/Pnzx9zGpVgBNiU4Rfjh++/lX99/L7/88oukS5fOMdPNkCEDFSGX4qJwjTnsZ/tSQLxmzRpp17aNcqgvv/KKsyENuxw+fFgqV6qobAYn7DhpZyEBEvgPgTffXCGdOnY04hgwYKA0fOIJIosjAcgstWvVlH379iWp9b777pfFS5ZckD3JmtWrpV27tslGOXHiJClVunQcR596q6LAHnDusOnesWO7bNywQZYuXXrelMdU3da335HbbrstYIvxv61Dh/ayauVKZcWX4mnAjz/+KHnzPKDkMWbsWKlYsVL8J8FHjW2eflrWrVub7I7rr79edu/ZK5dffrmP2pJfahLYh48YITVr1oqp/ov5ZriXnDp1So4dOypHjhyRw4cOycGDh5xYALaSOfMdUrFSRalatZpkz57ddjl/vwgJhP1sX4TIkg1p7NgxMnbMGOVQU+r99f6OHdKgQX1lH5o/9ZT06tX7UpgKjpEEPBEYMOA5mTljhvHaSpUqy0ua59pTI7woGYEPPvhA6terqyQD1mCe0gX9Qb/cBfujTZs3p3R3ErI9Cuw+p+W7776T116bLDid9lsSTcP+WIkSWoECPn84Wb6UyscffyylS5VUDrlBg4Yy8PnnLyiOli1byFsbNyr7sGbtWsmWLTZhT3fKhwY7duok7dt3uKDjT7TGcWq+ZcsW2bJls6xft86T0s42Bmi4ET8id+7ctkv5+0VEIOxn+yJCpR1K61atZMOG9crf8UwhNkvYBSadT7durWymceMn5dn+/cPuAusngVRDYOSIETJx4qvG/sKf/c2Vq1LNmFJDR02WDT169pQWLVqm+DBM8six4ycS2r04pWBRYPdI+ty5czJjxgx55eUJgTfmeAjwMCRC+encOcmd+35tVxLNGiAlmOFktGKF8sqm8ubLJwsXLkqJbmjbaNq0iby9davy9yVLl8Us5I0YPlwmTZqorL9du/bSqXPnCzr+RGkcp+njxo51/L/CKv37PydPNGrEj1RYgBOs3rCf7QQbbijdKVa0yHk3NHcDkyZNlpKlSoXSbnSls2bOlOeeUwvlPXv2kqdatAi9D2yABFILAQSIRKBIU6larZq8+OKo1DKkVNHPRYsWSo/u3ZV9bdWqtXTT/Bbm4MqVLSvHjx9TNrFn7z654YYbwmw+VdRNgd0yTfD1mDdvnowYPiywoB5pYty48QmT3mX//v1SvZo+8vdHR45KmjRpUsUijlcnTf6HiEPwxvwF8WoqUD2q6MORiuLhwoB4BjrLkS5dusrTbdT+oYEGk4pvmjNntjzbr1/oI2Bk6dARJ0wDYT/bCTPQkDqCdG4P5s+nrX3FmyslZ86cIbX+v2oHDx4kU6dMUbYzfvwEKVderRAOvWNsgAQSkMDvv/8u9erV1QadQ5dxUIIDE5b4EUDqy/79n1VWeKGyRNWoXi2ZT32kg5fiAaJqciiwG54BbAK6dnnGSaMVa/nrX/8qb23a7EQeT4Ri0rChr++8uy0Rupmifdi1a5fUqa320y5U6GGZPWdOivbH3VjVKlXk4MEDyj7AZAymY7EUk0l8orlzxDLOWO9t8VTzuLwTvPRj8muvy2OPPeblUl6TigmE/WynYjSeum56d6OCnbt2p0hu5+bNmjkuMqpyKbqZeZo8XpTqCcA97MsvvxTsmdOlSyt33XW35wMfuJki9oQ74C1i8wwbNjxhDrlS/SRFDeD1116ToUOHKId0oQ4KTBZSO97/ICEyNV3oNUCBXTMDX335pdStW9dT0CjTJBYrVkwKFykijRo1Tqg0aUOGDJYpr7+u7HoiCKcX4sHYunWLNGvaVNk05nHadHNwlLD7bPLxWb1mbcwBy7p36yaLF6vN/ocOHSa169QJe4ipov5nOneS5cuXp0hfsWnZtHmLE02e5eIlEPazffGS+8/I5s2bK3379FEOE8/Q3n37UwSBaR6373jfyQzBQgIpSQBC9Ddffy2//f674DAGGUpiKbA6fW/bNlmydIkc+egj+eijj5TVVateXfr27ee5vZ9++skJ3IrUuhkzZpTMmTOn+nRuyBCD9Gk4qEubNm0s2ON67/jx4+Sl0aOVdXbt1l1aa+JwxLUTUZXBzfCe7Nm01R85euyCRK4Pa7xB66XAriAHbWGD+vW0LyIdbLwMHy5c2EnjlidPHsmR4964LDK8cN9+e6ucPv2ZfP75P+TLL750Hv67s2SRu+66y/nP7+lqoycaynvvvaccClJoIJVGvAry0SNHLl7E8EPByzjWiObx6lt0PStXvikdO6gDqyElEFIDXagChtmzZdU2Hw8NJHK86/KhmtK6ff3113LgwAG5/rrr5I8//5SsWbJc0FyeYc/RihUrpHMncyoadx/uvvtuR+i+8cYbBdkITp486TwPXgr82Rs1buzlUl6TCgmkxLOdCrH46rIp2nRKuTPZNp1hBU7CewSxR5YuWSIQEPLlyycIcOfFZx/C1wsjRwpS4p07d1ZKliwpTzZp6ns/4WuyeHFoBCAcrl27VtauWS0Iovv3v/89WVtQYHXt2k0aNGzoa3/6+eefy5LFiwUuYZGUxbaBIML3qlWrLnhKXFs/4/X73j17ZMvWLbJ50yY5ceJEEjdasMDzhbziJUqUuKDxaUyHDimVUSOa+Ynjx6Vs2TLKabjpppsE+1sW5mFXrgE/J2hYTLVr15aq1arHfMLp7gxSHMydM9vTaR5OgHv17iM5cuTwtK7zPJBb65M/YODz0rBhQ0/16C765JNPZPnyZbLyzZXKQBJQMNybM6c0a9ZMcuW6L6a24nUzNj0IvKYqLVu2ku49epz/CZszfBwj2tNbbrkl1Bfwl19+IUWLFNEONR6bQdOaUJmUIm/m8OHDlVYoSAHXp29fR0CNV4FgA/O5r776Sr7+6iun2ttuv10yZcqU4q4mgwcNkqlT1b6q0eNdt36D3HnnncqN0W+//eak6UM6PZPwHlbAQ/D89ddf5eqrr455iiAoXHPNNTHXcylWkBLP9sXO1aSAhrILSq+wyzfffCMPFyqobAYZV2ASH0Zp8mRjeeedd5JVPXfeG1KgQAFjk4iqj+j60QUC3eLFSyRrNv2JVxjjSPQ68b6+4oorAh02hPntwl5kx44djjCts5BTsYXFHCznvBQvweF09SRShhkoqKAs37dvr5w8cVIy35FZct6bU+7JkUOuvfZaLyiU13z66afy/MABnl3lypUrJy+8OOqCfDPBIH++vNr9fzzcK/2CNPnUg9X4CS/7rfKivJ4n7K5p3bt3r9SsUd062fArxUagaNFivrSU1opFBCf8w4cPkzfmzfNyeZJrvOR6helR7vv1QvLMWbOlcOHCvtvGDcg7/Vz/57R+fKpK69arJx07dpJbb701UJvxuqlXr56yYP58ZXUQmgo8VMAJioFIlm4BC5scpH7r0KFDKNpkU35fbAbx8j969KgcPXJEPv/icznz7Rk5c+Zb+fbbb52T3SxZszp51B966CHl+CAEFyn8sPI3t4YTJ+oDBw6Q1avMqVaQZm7Fm2/GbNYG7eubb74pCxbM12r2ob1u1KiRwDokHgKolzWFtbDt3XcFwfp05fiJk9aqkIGifr162vgEqAAxJWDBE2vBPL/xxjyBz++unTudjzbYId2UH1953L940SL56MhHcuzoUacePAPFS5Rwck3/7W9/89XVzz77TLZvf0/SXJFG8uXPL3fccYev+yMXY1N97NhR+e3X3yRb9uxOn4IWbGyOHTsmf/zxu3z//Q+SN2/emDZ1un6E/WwHHX+87gPH7du3y5Ili2XnhzudbwTeKbnuu0/+/eefcs0110r6DOmdv4Ex3lHp0qX31bzJ/zEeCmgvnTGdElWpUkVGjX4pWTW//PKLnD59Wr755mu54oo0jjB4++23ScaM3p51mCNXqlhB2T2YJL/wwovGruuC5KVkKi0w+OjwYTn595Py4w8/OhZIMCG++ZZbBIpwuBHcdtttKR4lGkI20qhCqbF7957zBw+Yy+cHDfb0bgn72wWFa88e3T0d6qgWgpeAblBMQ0EdtHh1sYTQi8C/P//0k+TAgU6MMXnc/UUqsz69eysFVbx7pkydKkir6qdg7cIffNQo83OmqhN7yisuv1zw7YP5/2MlS0rz5k/FXZ5wt33o0EGpUlmdZx0c4Lpz2WWXaTHguYDVL775mKtrrr3W2WPGovAwpeQcPHiIQEZg4Ql7sjWAFBPQJuoKFjQ+vEWLFg1l/eAD/GTjRp7NZVWdQAoMpMLQFVO+cdwTJCIjHuLp06fJoIC5ymM1nYK51jtvvy1vv/O2nD51ynkJ4tQPwU+0jBb3AAAgAElEQVRgEglBLmtWvUk5xm2K1Ox1smvUqCkjRuoFOK/1uK+D8qZPn95Bbz9/X9u27aTzM8nTqMCao369usr6S5d+XF6d+J90b4jtULlyJc/rE6Z3rZ9+OlC/4UYxbOhQQYBErwVC7eAhQ6R48RJeb4npOmwu8+Z5QFkHzODXb9joqf5t27ZJ40ZPaK9FhgKs46AF/Zwy5XUnuI+qePXzxeYVvm86v0XUjXGvXLXas9UD0su45xhjnTT5Nc9+fxAKR48elSzLATZFI0aMlCxZsvhCB9eQbt26JjEpxTtq1uzZcvvtt/uqy3Zx2M+2u32c6K9auUr279/nvCdvzZhRcuXM5Wy67rzrTuedCeVpPNyWYDrbrWsXrfuVjg3eOe07tPe0gcbc57gnuxbzjJmzpIjBOsk2P15/x5qBW5GquAM5wVx2+rRpjnmxqmDdNnqikVSpWtW4eZ48eZIMH6Y+JYXSHcp3U4Gwr3uW9+0/EGrcHQibsGrT+dK6+w2FYsWKlRzBJmx/YHwPcWiicxGzCREp8e2C0NTm6adlx47tXpdosutMwWSxp4Mg+srLsZ1uQnG/Zu1abR+xDhAAbeaMpDGCbOnFcPC0ceMGR6kC5U6VKlXl/vuTC9zYszz77LOO4sVW/BxWIQ0wBE0oIONVcOgzMOAe2msfTAHncKgDk3hVeffdd509/o7t25VKD+wh8N3ImSuXlClTRh555FFPzykyBdyb4x5t9ze+tcmxUmShwJ5sDZg09RAGYCqGDU4YBRHAG9SvH3P6ODw469dv0PYTL/iGDRpoh+A3wANMsp5/fmCyF65fRkGiU+Kj9eILL2g3PtF9WLpsufKFHrnGZBLuZyz7DxyMSduoassUwd1P33CtKkAdLAtgYaAq7dt3EJi1eTkJVt1/+KMjvk/ZkZmhU8cOgZ8FbBCwUQi7wKqhQvlyyma8nixEbja9e9zR4iGk7N+3Tz788EO56eabJHfu3NrxelUCbtn6tlYYxXOGUxavJpfTpk13fPVsBUq2Jk2eVF5WvkIFQSpMW8H7p13bto57ga5A0H74YW9WQzCZLPN46Zj6ZOtz9O9hP9uRtrDBhVJDF2zU3WdY7lSqVFmebNIk0KkPfGm7d+sa+BlGf5o1by49evQ0tm9zKTCtaz/zZLvWtJafeaaLtGnbVrA5hSCoS/3mbgPPAMyWdTmIO3RoL6tWrlR2zea7/913Z+QhgxJww8a3nPg4YRW4n0FgD1LgsofgWH/5y1883Q5Ls7e3bnUszrJkzSIFCxRUWsLhvTps2FDr/ODED0K7qqTEtwtCaOPGjbV5qz1BEZEOHTtKhw7qeCywoGvfvp3XqrTXoX60oytjXnpJxo0bq/zZlK5W5bo6fcbMJIdpOLypWbOG5wMGnLAvXbbM6t4I1zwou7z68vuBiGxSQS3MvLSDlLQ6ReFLY8Y473x3CWplgYOTlq1aCvZCuoLDtkeKqQ9AoSTftFmddcPLWC+2a2gSHzWjptMyXBZmHnWYTtWoUT2mzU304jQJvyZ/JD+ngmgPWti+ffsEMt9XPUx+Ut8gSFzvXr08MzOdOOADWKSItw297SWwefMWyZQ5s+0yX7+bAsL5qkhEVBYY0HBD86oqCLZXqlRpefrp1o4222/xe8KF4Eldu3bx20yS6yFsLFi4KJCg4adhbM6Q5k1VdGawuvph4YCTHVUZ/dIYqRxlxqayBGrRoqUTZyHanO2D99+Xp55q7ukZwYk2guK4CyxynmjYwNfmBCcFNWrUcGJqXHvddVqkNt/IuXPnSYGCar/gSKWzZs6U557rb5w2WEYhnoDtZA4mjnVq19a6J3i1RPCzhsJ+ttEXBIVEoERVECpbX7GJHTpsqK9YI6YgcLb23L8jeNorr7yqfZZtbmx+FdB++xe5HunckNZNVXBq9vjjZaRD+3baZ1zXLja9r73+ulKIeLx0Ke2c2nw/8S5v2bKFdrjvf/BhKNkpEOwWllO6FKVe+eOZHjZ8hNWVBy5s5cqWTVItBAF813LmzHn+7zjpRaYUmE7bis5lIKW+Xfg+oq1Yy5Klyxxlr7tACVqhfHnPCgEox2+55Wb5y19ulJ9+/km+/ee3gndp6dKlpGmz5tqUXDalEZ4bfEvcBRYMBR5KbnEWHe8FypmaNWr4PgF3C/3utqHUadmihS+3Tz/z9OKo0VK1alU/t/i61uT6+d72HY4bSqRACT50yFDfDN0dguUp9iaqLBlwCSpR/FHlGBA8E+56LP8hQIE9aiXghZ0rpz6XNRYOFlC8C15s8Js3mZn6bRMf+denqINi4YQFad1UxXSf6nrkzkTQrHiV554bIE80amSsDqd9z3Tu7PuFaYo2aTod8TM2tIGXXjzMSSPt2kyG/PQP12JduE3GdYGLcD0UEIsWLdJqwW3tQ5Ds0VN9eu++F36u3bp2tVXp6fcJL78iZV0bNU83+rjIJCzidLB3b3WqKVUTphzO2JjWqlXLuc0UbyBaqbhxwwZp1aql59HMe2N+shgHUCQ2aFDf8wmFuzEIuKNHv6SNWG1yxUBdNhNBmCMilZaXguCgQ4epg0pG7red+sU7Ym1KPNtz586Rfn37ekFkvMZrup94tRfdGbjVwL1GVUyCMqziEP8hJYqpH/iuLViwILCQqovcbLIKa9q0mRP4U1dMSlrcE5aio2qVKoE5qMZiWhu4HvsTd45v/B1C5spVqxxFEKxPWrZ4yrPrhkr5n1LfLpMFkIoP3sFQYEMQ+/HsWfnXd9/JdddfL5UqVXLi2qiKKTZC5Hoo0urXbyAFCxb05M+vagdm1nAB1RVdwDoofRBoUlUQNwbWgFAyI86M32ILkge3srFj1a5l7ragQMiePbv88vPPgrF6yQxja9/veNzX6+JWuANj2oLT+e0H1uGECS8ns7wzBetEXIFHHy3ut6mL9noK7K6ptZlFw7wHJoK2kxo/K8aUEz1SDxY7TOry5c3n+BkiOMsrr76i1bKaTElGjxolEyaoTU1tG+TocSFASOVKFa1DhTYap2TY7OL0b9LEidoTP5twhxP9tm3aGM1fTR3SBQEz+fVYB/jfCzDOLl27WTX+XuuLXOfl4+m1TpyWLVi4MJl/sW7dY91BC68zEfbSrtcc9vEcJ/oFjS6i+4dZTJteKCmwnr0Wk0l8tIk5gv4VfriQstrIc48APiUf8ybIoiI8m9ve257kFBOZHqpUruTpdN42Rl0OapzklC3zuPaUEOvvw527tC4Vfk+aTP5wP507J7lzm4MO+VXC2LjEc82rnm24TNSrW8fWDc+/24JUwa+zYoXynuvzc+GiRYslT968yW4xpVlElHRES0+JYhLYY21fZfkGRf99uf53Quxuw/b+Mfmvx1sxFemb7UQ1KKchQ4ZKnbrqGCw6gR1tRUyA/VqEwE0BUdbD+Ebbvl1eYl506dJVChYq5MQTQWwKv8WWujReyvDZs2dL/2f7abuHeDuIu+Mupv7BBa9nzx7GWFQmHqasEqYAodF14mCvabOmTkDXSIESAQdNNl/6eKdVdo8V+4fSpUom+64vWrzESUcdKbCAgXIt3kVlRauSSaAQmjRpcrybT9X1UWB3TZ+XDSA2kU+1aCGNGjWWdOnSxbQAvGhLsXAHPT8omU86NGClS5XSmqvoNOT9+z8rSKOgKp06d5Z27dpbxwTBuVrVqlZNOT5sNWvVSnLivHXrFmnWtKmyDZvfqhfzV13no4Onua8xmQm5r0XwG6SiQ+R1RK/NkD69ZLjpJmctmKJrWqFqLjDlh1fdgvWJwFH4WCNA1s233Oxo1zPdnsnZ8Lr7aHIHwEkC0nXB9FtX0B4ihuqKl80fTjhggmcL4IJNEoLL3HPPPY5wOXnSJJk48VVl0/BzRIToMAuC/uh8pxGhGZGavRR8zB8wCIvR/qS2U1n4fHXt0kV27tzppWknsJfb5BkBG2vVrOHJ6gfzX65ceWNwwHr16sugwWqrHptZvMoiBAMzRbvVDdy0Jmw+m1DIzV+wMK6BuMJ8tnFyAeHZy6mOp4Ui4qyVxUuWKM3T8QxDwePX7N72/oj0rULFijJ27LhkXTV9E+CPCaEsJUqYAjv6v2r1Gue9Fyk6s+DI76bgs7Z7w0pDZ1I2xjpHOlNmfB9GagJp4YCiVOlSWlcGVZ8Q06Vd+/bnn4GU/naZ9m+Yt4mTJicxaw7Cdfz4cdpggLDagPVGPIrJ2hP16ywuTQcsCBynO31HnYjtkCPHvVo/btMetF3bNrJmzRrj0E3KDHy7EfxVlz4YFZcpU9Zx1wizwI0IVie7du6STJludyzZMO7oYnL3i6VveN8vX/FmkkByUD7iPQ4rFfwbp+qwnIk2z4+lzYvlXgrsrpn0q1WCAIHFrvID8rJI4DNlCuSEh2jMmLFaE2uTedn+/QeU/qOmQDVeU+DY/N8gpC1ctCiJhjHCw5RWznQi4ndu3PxHvvCCVK9eQzktJpNwjKVc+fKOf2/BgoXiHlDOtk4QoAhmTKaClzwyF0Crni1bNl+KA5NZmm0zDaXA1KnTZO7cuVrBGf22RRyeNm2qMcMA5mDM2LHJAof98MMPki/v/7TC0Yz8unfY5kH1u+mUyk/EWZMSC+0eOvxREqsIk787tPo2xQfqhACK04syZcsmE8Bw6oHTD1vBR7Vtm7Zy1dVXG3O7oh6dT6xN8agzZTe9x0z91vXDlFoG9YURyDCsZxtMmzdrqszPbZtT2+/PDxrkmMK6C9IbvupxowlT9SFDhzrvUygEoTQc/dJobVrNSFs73v8gmT8sAlYhcJWqpFQOdmd979jhuI/4LTDNzpUrp7z//vvGOBFu31YEvnrowfza5pDZA0pqVXlt8mQnuJquhCU02FLKYr+DgHBIzwhFE775qhzzqn6rrIRwnSnIbiTto0nhHGkLp6ZIm+vOEpHS3y5VsLVIH9euXSdZs2XzuwSTXW9aHwggNmny5MBm8NGNIQL9iy++oO2vTumkC9SJNZA+fQat7z2yJw0fPkLg/qpTkOvWvk3ZhOcYz5wtUOPePXucQHi6Eu2HH/NExlCBzToLz06GDDfJuXNnnYxMXp6hSHdsATFj6PZFfSsFdsX04sQMJ2d+CjSbLVu1dtIZePVftvlf4jRj3rx52qBNpui4JpN4k3CqixLpZmHzQ9OZL6Ke/fv3S/Vq6qAaurQS+ICXefxxoyCCFwjyuVesVFFuvDGto61DREwUnHQOGjTY2Ryqiil4z569+1I8B2x0H5G2B+l7VAUa6PoNGsQUXM224dA9B/g4IvI+cm7bPkKmyKc4XYaJt+mF/+bKVcq8rKaUTmFtOqN5FCpYQHuCiSBnXtOJmZ5J1cfN5NZie2/hvdKlaxcn7YrKIsSWYg71Q9hHesvIiZ8t8BfuMQkQphMT1bvMFhncxAB+7FACRBfExXgwfz7tbV4tj2zs3b+H9Wz7iV+A4IiVq1R11urnn//DCT5psqjB+lm2fHmSoWADjCBQXjZtWM84hVIFIHr11VflhZHqtEJoUGVtofPJxPW2CNV+58t0vV+FMpQJUJhFOGANwvVIZxHhTsFlW7O6E2fMFaIymywv/LjG+WWYLas+xaLqnYlxLl+2TKAQsq0v1TsG98DlK2jBHGGuVOv1Qny7TCb+UKD37ddPihYtJmnSpAk6ZMdaCuk2dQXCKZiUL18+kMl9pF5ThHjd846/B0nBC2XQSy+NOb9X0q1DnSWP7cTZa/oxU5R2jC0l426YFojNvenoseNJZB1Y7Wzb9q4sW7bMU3BifEP85r0PvKAvkhspsGsmEn4mOHHxWyJ+zCVKlLCectrMgUzaUkTAfKp5M21QDQioMMlVFVNUYi/pmGx+l/37P+e8zFUFmwQEwtLlN9Wd8NtelhDWFy1enCy1FQQ6FJhP6wrM+7NnU+doDyMqtN811aljR23kWpNixGs7vXr2cAIi+S3REWZtJyem6P+2zYEuejn6azpdC9uH3bRu0Le9+/Z7OoWwxYLABqxJk6QuJLbnQTeX8OmHX+CVV16pvAQ+5dWrVTO6ukA5OWXqtCTuQC9PmODk7DUVk/+3KpJzdF07d+1OEjfENO/YmJUqWUqbaeCRRx91rEKii8liyG9eeT/PUVjPNjIXmITuSB8HDBgo8JmMLljXL4wcqbWYUb0T33rrLSdol63AvQsWY9dee63yUihmHytRXHvSHEmPFn2zSYAxfYtsffX7uxf3tkidqnHgN6TRgmuGqjzdpo3ANzlSbFltdBY+XgLFhmmZYIoTpEo5Ghkv9g5tnm5tdPXRxUuxHTCoeENROHbcOKP15IX4dsGdEWbxpoJntGrVao65/4MPPuT7wMEUudvdLp5pWB8WK1rMd3YcW5BPt1812jYp6XVMMJdIERedBlAnsOv2zialstfYJp999pkUf9Se7vTY8RNW+cHv+8nv9aZ0a6jLbfUXXT+sjZ55prPRYshLEFi/fb7Yr6fAbphhmAr37dPHk3mpuxqYtcCc584779S2YNIS6rR80OiuXr1Kxo8bb+yX6aS8RvVqWkFfl+YjehCmzTlOXZH31n2SDYFu86ZNjmm3KXflylWrnVRQ7mIyf8XHac7cuYG1daaTikTIA2laJ161uqYXmWk96O5D9HN8pKILonXrTLFNiiCTcKHbgCG6OE7iTH7aqqjn8Xyh2zbMugCH0X2AT1vDBvWN41ClCTRFiteN0Z3LXXUdUhpBiNQVaMSR09yd/9hLajJdKqRIW6b1M3vOnPO5XG2nuWvXrZdMmTJJwQIPaU/kEMguOv6I6ZQ2TKEvjGfbFuMgwtuUvgjva6Ta0Z3Cuq2OTAoUtAelB1L7tGzVymoNBGsiWB6oCkySe/XqneQnU8AwP3EkYn03eE0Nimj3cCVRFZ2pL67FSS+UbZFiUxiqstog60PZsmWsQw0z/ofJmm3FmyuTpFpzdxTv3IYNGhgVith/uM3W/QaVgzsV9lC2PO8X4ttlc4VQTS6sWh4tXtzJsW3ak0bfixN2KCT8FDzncBPFs66ySHDXZVK24VqVZZ5Nuavqr+o0Vyewo/+IveQupjXkJbvR999/76QMRf9tBZktcNJ+IYttf2Nzc4TSBwFPTft9ndvuhRx3IrdNgd0yO9j8zJ//hrOBsJljuauC8IpNETaq7mIzZ8O9ZcuWcwKGXZnmSoH/zD/+8Q9rhEm0g5czIuPqTPNN2mYvfpomAQ/C8xNPNHJe1pddfpl8899+b9y40crPpNU3aeVj3VDDWgGbe1VJBIHdtMFBZO9bb701pneMLTOCu3LEGZg9Z26y9WUKwObOIx6p0xZsDQH+4HcG021opxHQ6tDBQ9ZghylhDo/n8dFHiinZezVrs2WI0AXAwUn4Pdm9+ypGp3szLRbbSZTKZNXEwd2WKbezKZhStDmwSalQt149GTx4iNPs4EGDZOpUdWpLtyBnesZUAkBMD1zUzWE824juX6rkY9ouwq+5S9euTrohUzEFYHV/J0wKVZVyz9SuaX5V3wjTuvHq4hWP+fSSZQCmxG+uXKk1V0awLKSsUhVVTmrT8+oOuId1Aas8L0EBo5+jeLCJrsOk3DNZYkXqsPnWzp07z8lKE10mTZpoDPQVfS0siGbPnqN1RUyEbxcsFJ98srF1T6WaOwSShcsD4vKYguRi74tT0lUrVwZaAjip7tixozKOUaTCPn16C6Le68qu3XvkxhtvTPKzTansrqtVq9bSTWHerxPYdVHaTencbAI79vsIWKd7tt199mLpGmhSfNxk22O4ld6qqm3uxQiQGx1J30f3LslLKbB7nHYI63PmzBYE4/ATdRcC7NRp0yV//qTBYQ4cOCDVqsY/ZQKGYzIrw++mj7ztxNam1feIM9llEHAQBdf9csaFNuWGrc+2PkHzmT9f8nRBuM9LhHNb/bH+Xq5sWa1Wduvb7ziR6oMW09h1deIEM2vW5C4EptMh1WkP6vfr9+llnHjm1m/YGLMiw9aWyZRd5efrrs9mTonrTZp2k/98dFumE73o62wmvbpNCayQ5s2ba8Pl/A5hGsKAqpg2YuXKlZPxE152bjMpDKNjHezatUvq1FbnGY5OGWM6GQ0rWnZk/GE826bc9ggYBWsFL8UkCM+YOUuKFClyvhqToPnKq6/K44/bT3Ujla1fv06ebt1a2UWVb7XJJxTRlqG8S6li8s9GH6ItRdx9skVuV5m427LaIDND9uz3yP79+wRxL7weOiCuAWJUhFGaN2smiKivKrqMEO5rTc8N3hN4X0QXL+9aXI/vPaz8vJwOX+hvF74/OMH0OqduhogXhPWhc4/C9RDae/fqZQyMbFoj+BbPnTfPyaqjKrb1qzINR8R/XWYYdxuYT2RYUVlK6J5VXUYTxETq1vV/LinRbelcMmGpNGvWTBk/bpyvefKr5AzjOUWdpsMcL/tuCP2IT6STmbwo6MIaW2qslwK7z1mD/8xbb22UGdOne9aWoQl3dNs1q1dLu3ZtfbZuvhxC78RJk6ym4abI1irz2+hWg5ji2gYJi4CXxox1gpepislnPh4n4Cb/60TwYTcpWPwENvPLVnV9h44dnUBOqjJhwnhnU6gqSBWIwF3uYkulZVs77t9xetird2/PZn9+64++fvv29+SJhg2VVaj8pCMXQumFtDm6yNaR62zpc2yn4agHJopQ4HkJQGQya9ZFYLYJ+W44puiwp0+dkhIlimunZP+Bg3Lw4EFtXnG3cG3bLET84qFsgNJBVWy5rGNZP7g3jGfbJEiYUlu6x2Iy13f7lprSHfk9LTK5XKl8v00KI6+WJbHOY+R+k8WEzs0tcq8p+jeuefudd5N9I+P9/oz0ReeKFA9OJgWLO7+5rj1TRgeVJYLXmB9+LDLizT7Itwtmy0iL+dprrwVy3cRp+yuvTrT6uEM5MHnSRFnuCjbpdT28MX+BY/npLqaYDbrDEpPCx12/LjOQyQ9e58NuUoRG2sV3/47MmeXsuXNy7OgxqyWgjp8u+LJX3vG6ziQrIMWp+yBS1a6pjilTpzop3Fi8EaDA7o2T8iqckmNzocvDHH2TO1ptLPnEVZ3BA96rdy9Jly69dUSmTaI716u7siC5j3UdgjDcuvXT0qJlS6NAYfK783NiBG0xgs+5zcBsPp8QFHRBkqyw43BBrDEHTF3wkzsYH9BNm7do81Cb1rTOL2zmjBkC37BYC8z0u3Xv4ekDEmtbkfuRjxWCiqroNrywaMCGFafJpgI3mmXLVxj9fb34jXvxW4/0A76hSIGkKrpTelPQNN34TBkDTFYDOH2bO2eu1i1Itdk3BTWKRIs3vQ912QnitYbCeLZNAaPwDEPwu+qqq4xDsClmd+/Zm+TUyiSEmawqVJ1o2bKFNsqwKsexKf7A8BEjBN/GlCqmbA+603Uo8CZOnGiMjq9L9WRKaxnLmL1YCAWt35QXvWOnToI857ZiEgJUGR3eefttadLkSWO1UPgtXLTYc5afRPp2QQB9b9s2QfBH7EdNfsNuCLoAiCpYn376qaxZs1pw4LRv3z7bNJ3/XRe/xBQDQGfdZFKKRXcIyuo1a9cpv6EIbpnz3uSxknC/zg0NTIsV/Z9VkefBB7jQFu8lQJWBbjG5OZryzUcaQ7q3++/LpW1b5yoZqLOXwE0U2OMwyTgBHvBcf4EGTlfc+cXhtwP/nVgKXkgw94PPjR+zaNNL0qY1CxLwI3qMENILFy4ipUqVkkqVK3sShE0mq6jvve07tEIk2obv3qDnBzpRk8EMZmAQ9KOLyZRx/PgJjr/XhSqmky6vGxxd36Gd79Llf4GMTGO0nX6YzA51J6sL5s+XXr16BkKLOh96qIAUKVrUyUHvLlDEeDlZDtS4iDH1jVtLjw0CnvmRI0d4Mo2zPYfosy21jV/rE5P527vbtknGjEmD4ATNO+2Odh3N32QiiQ2caZOoSr9oSjcH4RXPdv36ahN9/L59x/uhRusN49m2BQtCpgBkUNAVWCY0a9pEm/9adfJlSjOoi3mhav/YsWNSvpzehF3l7mXyT05p09Lu3bopzYdh/YZYCO5sJVCMDBr0vNVP2J2DPZqdLeBfkPdbmK5gK1e+KR07qIVynWI3egw2qx5VdhAvqSr9WmMk8rcLhxwbNm6QFcuXC/anpoI9EVzI/BYIsBvWr5ely5Zqs/5E16kyoTa50kS7LXndq0VfZws4qdvzmazjsFfBvKdESYRI8UOHDnHSfKoKAmd27vyM9lABisiBAwcIFFu64tUFJiV4p4Y2KLDHaZawIa9Qvpw2oIt782zy1+zZs5c8VrKk7N69Wz755GM5d/acXJHmCkmfLr2kz5Bebr01o+TJk8fxt1IV+Hzv37dP7s+dO0kk5Mi1JhNC24mEKS0FlAcjRo50zIBOnTotCMKT5so0ki5tOrkxbVr5a8aMcneWLEoNNk4e3357q+BjjGB7kfzO6LMtmM+TTzaR3n36JHtxQOu8eNEiZ0MU7eelMk00nS76MSON03JKUo3p9AobQfix6wIM2vrjJcUP6jBpqyNtmEwEoVjBqZy7n6Z7hgwZKjVr1XJOC/71r++cZm644S9OnAP4pKlS9WHtT582TZYsWeKYCOoCyNi4ePndZGYZ+egjX/iG9Rt8mSy2aNFSYIptKzaBXRVRW1enKU6Eyi0Ez2n1alW1ygcE1zJFw9XF2TCZp5t46KJaY9NQvlw5T5F53fXrfBlt8+Ln97CebdP7DP1z5wCP9Dlauakbhyrwmy240LDhI6RWLfNJN97XdevW0W7+sQ7hxuBWwi1dskSbws+LAOhnvmzXvvrKK06+cHeJWNhhPX711Zdy8uTfnfRtiItjK3jHww/XnXklch9cumrXqmkVzFTt4CQd32tV8ZLlwtZ31e8ImAbrIFXBHOOEvE6dusqUmEePHnWUSaYTZJULBoJ9QTg0lQ937vRkoejle5dI3y4owbp26WI0z451rmHVM+j5541Bkec186kAAB/eSURBVFVKaJOVmOrZtSkjI3ODvTHiv5j883UKapMbJPapOOH3E8dKteZwgo7vvOmwBAdRt9xyS5BHLG732CyB8W7C96Bo0WJyxx13OO8oBHE+eOCATJs21eo2rHLziVvnL8KKKLArJhW+lJs3b5bffv9N7rzjTsn9wAPKBwfmHh9//LHzksJJpSn6qjtqtGmzb8qhblqD6AtMQKNN9FXpLEwaeVuwGVNEdS8vSXf/sdmYMuX1ZL7P7rzLNn9dbDwqVKzgpHP5448/5e8nTwo0+ao5UZ08mjSJ6DPM9Np36JBM4MQG7JtvvpEMGTJY0xUFfX/MnTtH+vXtq70dJlwjho9IFtUW6a+QSxPWF7oPlynyaXSDphOeyHWmjRiuQR5Ud/AZpE58snEj5dj8uDtgs7906RJBmhh3EB53/Iig8+C+z5YiCRYAprRzqn6YYgS4r7el4zOl7XLXZYr07j5xwJwhH7Iu2BGeL/hUmtJHwcT3jTfmJ3tmsCGH4tNvgUBz1113KW/zG1U4Usmkya85+YXDLGE9217HDB/Wu+/O4gzxxIkTWpeIaAaqkzJbqj3cD8um2rXrKN+T2ADjHWdyL1OZOqNek7kzvknvbnvvvJCP7w2Cu6VPn96TdZefucdz0aN7N6UwCeuQy6+4wtNJpLtNL+kpodSGxZ4fH2Ocbu3YvkNgoaAqR44eC+Wb5iX9HYQmWOHluPdeZ56QJQffFy9RtlXve5vrl87lwDT/qenbZQrkiDHG4zQXljnImqJTpqi+R6bggaro7l7zmNuitmPMpjSiJkHSi3uFad1AmT19xnT57bffndSZurJw4SLBuryQBS4WLVs8FUoX/FoAhtKJVFYpBXbXhOlewviAIH3WddddL7/88oucOfOtLy2b27zHZlruJ10XTsdwUqoKYqV6cdk2c9CYQcjbv3+/ZMyYURo3bnw+9QIE1IcLFdSO3ctJCpDD927FiuVODADVC96dmsWUm9fvM6fyjVqxYoV07qTPP402YNr5yCOPSpasWeXs2R9l967dzhgguGBjOGDg88mi0/rtm+p6myCMe/DyK/FYCcmaJaucPXfWERTf2vgfMzesXQT1Q4o0d/GSnxZ1b9i40bp5++67M/KQIrBMpE2VqaItSj1MWp9s0kTbNjZyixYudNJ36bTeXszLg8yTKVhhkPpUwZJM9Zg2O7jvwMFD2lM5d70mnz7Mf81aNeWKy69wzKR1fu6ROiPKHZuSTZWOEe+Xko895iuAks7nMNIfKHNKlyrlq048Mx98uNPq6x1knqPvCevZtuVRD9pvd6qw6HpMvuSR67ABxUk7LHZuvDGtcxqDuCheoijrvok2f3u0+UixRxx3ikh0cswvgm1FR7oPygT3eVFYBKnfjwIPz860qVMF82AqUIQOGz7M+WaYIm67leZB+q+6xxTwK9Y2dBYVNoG1S5euAlcdP+VCfLsgFH/4wQfOQRGsEGFFaXL7AutxY8c6QU51RRevAPeqrNh0c4qgszgA0BVVQGOT0NyrV2+BlVh0sT3rkWtV6eDc/TK5hqrajr4fFmbDhg3VxtrQMejarbs0b97cOUDB85o3zwNaxbefAIh+1q2fa00Bn/3Uo7p2zNixUrFipViruaTup8Dumm6YqOC0PN7FLTjbBF8Ih0irooucjv7hYZo7Z7bMnq03q1P5OMNMt2hUSh7bWN2aMJMZJ+pCgKomTZsmExYg2B46dEhWrVpp9GtBHW6BHSfFjxRL7qds67vq96bNmgnyOkcXmFoVLVLYk3+xrk1TBOwg/YzcA19saGL9BJJxtxedFiv6Ny8Cu81NIro+kx+0LoiMKVAT6sZ92FhnypxZrr76ajn741n59NSnsnfPHk8n2PBD9pKmJ8gcIQhNLPMSaVOVisjWH9NmR+f/Z6ozHmNBuxMnTnL8vr3ER1AJBS+++IK88vJ/Urh5KV5SwyxcuFB69ujupTrnGp2JvecKPF4Y5rPtRRngsZvOZfgOLFm6RGs2jNMvWEcETTNl6ovNTcRrIKroNlSm/X54RF/rxeTab904YezarZvvGArnzp2To0eOyOGPDsvBAwcdt7qbbrpZsmbL6qTXgzlupJietVhThob9rlHVr8tyY/KbRz1Lli6T3Llz+50iSelvl9vVBYqnJ55o5FiB4pAF7mLnzp11rP527dwlCIxqck3CgN3PAU6QR4160VFwQZgvUaKEVK1WTbJk+Y8lTnSBkn77e9sdhYDJVx79RIwRd8Bf035Bte+wpfhF37xaqA4fNkxwEKQrtoxJuA8HfPDRPnLkiFYhjH0hFJ1lypZJFgfG5MPvNR2r70Xr4waTRa2PapJdCssuWFwEdeWMpe3UfC8Fdtfs2fJCBplsnL5u3rI1mQmeTfDFS65cufKSJWsW+WvGvzon+9Dqwidp166dRhP8SD/d+XIjf/e7wYkO6LRxwwZp1aqlFQXcADJnzvxfi4TvPJ9wYdwf7tyVzIw7HoH60OlNmzeftxiIHoRfQUEFIFZfMB1Umy+RbTJ05kewyoCLhK54jSodud/0AcI1qvQuts2UbWym322nr7HUjXvHjh1jPFWw1Q++Y8eNSxYE0XYffjcJ2H5P61Gf6cTBS38wlrXr1p0X6PC+KlXyMaNCQ7UpQ/aNalWreGnS4eYlrzhOQEs+VsKzciXs6PDRgwvr2UYb8994Q3r37uWJpe2iNWvXCsw5TSUME0pseGfPmWs8SYQrDKzM/JR4pi6DcAMXlXgVxLF5qkWLeFWnrQf+9vC7VxUvAkvQDvrdf3hpxxS12hTnAPsNnMh6PU2O7ktKfruCugvZ2EVnEsFBUpnHSyv3luCUNWtWx5oQBxxQCpjcQKPbRXyjlxXrzBTsF4rfUqVLJ+k+vin35cppHNLMWbMFAqGt2NLy4dsyY+ZMz+sCyle4lv3jH5/JlVde5bjR4j9ThqEhQwbLlNdfV3a1WfPmAgvDC1lsUd6D9A3v8ylTpyljVASp71K6hwK7a7Zj3Ty5Fw9echBSorXakWvimSJNtWhhdoiNJ04l3cVrsLHIfdEnYbbgQLE+QAjYUqdu3WTV4GPSo3t3ZRRer23q8nLifi++daZ2wszZjlOTwg8XCnx6pRNsbOsAJlytW7f2ildssQB0H25TKifPjbsuxPpHmp60adMGrcJ6H0zJEXzNFolX9V7o/MwzUrduvcC+tCaT87Xr1jubKz/FFFHdVg/WPjZKsIaILjYBTneK0LRpE3l761Zbs+LH3QGm/DihshXdGrXdF/T3sJ7tSH8wB3D3CXryDSEdSqXoQKCmsb40erTRBNcPJwgHK1a8KbdmzGi8zRZdXnVz7dq1Ban94lHi5YKA5we+/u5YH/Hoo6oO0yljmCfsprRsQcZqswJDnCHkblcVW9weW39S6tsVhsDutrzDOwKn3vEu69ZvUJ7Qm07Y3VaWkT6ZlD26bAyq8Xg5rbelOY6Vkyk1YIMGDQWK9wtdTEoVv32DNQfcT2644Qa/t/J6EaHA7loG+PA2avREoOAw7hWFYE0whb/zzju1i80m4MSySnUvSdSJccIX3csmTpUTMsgGyctYvES2tgmZqnag1cPmTGXWFX39B++/r03zZOu/LV2S7X7b735OHt116WILICo0TkF1BX68CNDktXhRQqny2kNZUrduXc9WGLb+4NkbPnyEE3ci7OJlzJE+QLDt2LGT1K9fP1mQQL/91OVA10Xk91K/zepHVQeEqlmz50j27OrT1/bt2zkRsVVFl9YFPpqlS5kDvjVu/KQ827+/l2GdvwZ+lkhBZio6CxxfDfm8OIxnO7oL8P0cNnSIr6BkuB/vNPhR6yKU64ZpSvHoFQ3e2WPGjhNswr2UDh3aW9OjRdfjJyijl/bhgtC5c+dA7zD42Td6opGT6jTISa+X/qmuGTxokBP/Q1UQZdsre7/tm6KD+6kL3IYNG2a1/DDtV4JYIyV5tlLw22Vyg/LDDdfivY0DHXck8ngKaGjHZNptisPy1qbNTuRxdzGtWT855VGv6duE31UZB/xyNl1vUiTBDeHFF83fqnj2RVeXSanitX1kZoJbUxC3E69tXArXUWBXzDL8Nvr3f1a7yTQtDJzqIWd3qZKlPEV4hMBcs0YNq5+Rn8WIj+yECS9Lnrx5jbchb3z9eslPst03RZtMRf+2ZvVqadeurZ+uaa+FkDF4yBDH18dLgaAJMzekxdEFG0OdOLFAmrj6DRp43giZIvjr+oZ5x2mfH+HWyzjd1yCYHNJ5+SkQXmFedtVVVylv050QqKK0emnXllJq27b3lCdmcPfo2aOHMVK0rX2sfWwQ8LFz+8vZ7o3ldwSzeq7/c9rNOlIDPlr8UalWrbpcd911sTR1/l5dHvSaNWsJTpyCFLyPkAbRa65ZcO7RvYfxBFRnuYINI6K7I0WfqsD/sl1bdSAonILj1NcUcEk3fpPQfiHzwobxbLsZwOd09erVstbxbT3uuAjgPRlR3GJOcubMKZWrVHHem7GchCCLQrduXR1fWL8F7x5YoPiZX5yY1apZw5OZLlKB9nv2Wb/dsl4P67P169fLpImvWseN9zKUEng3qCzwrI3F4QLsc2bPmqWsSfeejkOzToo1XcR3rMe77rpbm4YMv1etWs3JClOgQEHP33VdGkxV1gO/Y0ypb5cubaDf/uL9iVS4mTJlSnZrEKWtrn2cqPbt2087R4hVAldEd9HFu8F1iF1Ts2aNuKxZ+J5XrFBeiy9s1yjTHjxWyw+/a0J3vcn1bumy5U7wvEMHD8rX33zt7MVhRn9ThgzOniBTpsxS+OGHYz6ciNdYUns9FNgNMwh/FJwUQDv75RdfCILqILo5Npg4ubv5lluchZkhw01OwI+ixYppUwuZFgr8gZAnE9q2WEvdevUEES69brQ+/PBD6dWzh3KT40Q+HzDQUUDoCkyBn2rezLNvqKoeBIF76qmnkgXk8MICGyT4DH399TeOSTsipOMjlCVL1phyWOLFA/cIpJyzWSEg13e7du1jas/LWCPXYNM9a9YsmTxpkrFv2Ng0b/6UtGjRwvjCxEa3caNGSTZICDYza/ZsrTBl6i/SIlasWEHZNwjUmzZv0aaZw8sfz8GCBQs8R2DFOIuXKCHVqlZz/p+SJ1TRHODDBp8+RK6Hrx3eE0j3h1MCP4KHn7WgstCJxyZj69Yt8uILLyo3zeANjTlSdOXPn99Td93CN+qYOm269X4o5mbPnuVs0vD+zZYtm6P0gEAZyzxjo7Zw4QI5dvSo0/9ixR6Rx8uUMVpDeRpojBfF+9m2dQdRp7///l/y6y+/yk033xwTU11bhw8fdtyY4E9vepfi3dD4ySelevUagd+lsCQYMniwIBOKqkCx2q59B6lataoNTcy/49uEd8EXn3/u1PXLr784kfHhooPsK7Gs35g7998KevXqqVXOhZkH2hQvAwFhsSfAWsF3GN8nBFP7/bffnD0X/h1EGYu0hQ3q10ui4PcaoMwL75T4dmFN9erZM7BbIJREnTs/k8x1KXp8WLN1atcOZCkSqQfv91GjRifzQXdzxH4argruzCO2IKwqQd/mFqGbw3nz5krfPsl9xVMiMJpJYI9F8e5lvXq9plDBAimegcdr3y616yiwJ8iM40U8c+YMeW3y5EDCL8xDEZldZUJkGyLaPnXqlBw9ekROnjjpCBow4y9QsKDS/91dHzRqELIQFM5LnlTcjxRjjz5aXCpXqayNOmzrd0r8jg8KfMc+//wfjsBw/XXXO7nNsbmEBhEnJGFFILeNDxsaKEygWELffvvtV/n5p58d5RH6V7BQIc8CN4RNnIR9++0/HcVJrly5YtpQwsQXfrPRQWnwER83frwz714KNg44BYQCAFHhz509d36zli59OkmbNp1zMgVT7Es52ui2bdsEp5k///KzlCjxmNY03Qtz9zVYFxCaT58+5ZhF33LLrU4gSaSl8Vswj3v27pHrr7/Bifqviq3ht86L9fp4PtuJwgjfGQhgEKqhXP3jzz/kj9//kL/ddpuTDQXv0Xg9x1B8HD1yVI4dPy6XX36Z8x5E4E2YZMarjUThGks/YGEHoUFVEPg1Xbp0sVSvvdfk992nb19p2rRZKO3im4J0p5FUrGG5IIT97YIVIPaKthSbgIh1//DDhaRGjZrOns5LQSahfv36eVaaR+qEQqxJ02aOQszroRG+Mbt27pSvvv7KUXTnzZNXsmbLZu0mvifYb/7lxhul+P+7wF0bg+Xa9u3vyZQpU5yT4htu+IuzP23Ttq1x/4T32eJFi5xI8VAipU2XVmCS70eZZIqrkhp82P3EkLFOKC+wEqDAbkWUshfgxGPHjh2OOf7f/35STp/+LImmM5IPPiKQPfxwYcmTJ0/o+YK9UkDkUAiPEGoh5F6Z5kr56eefJH36DJIhfXrnFAcmlzrzbK/t8LrEJ4CP7+FDh+TEyRPyt7/dJoUKFYpJCZD4I2YPSYAESCD1END5p4YZQBV0EFFf5yoBqz5YrbHYCUDYxUHLwYOH5M8//pB/y78dRWjaG9PKjWnTSrZsWWM6EIHiHcFI9+3dez4zEdYGCqxMYUEGpXn+/A86qeUgsPsRWO0jTMwrYE3Rtk2bZO57y1es8BUwcsmSxdKta1flIOOZdjIoRWRXyZXzf2kg3fUsWrTY6nobtG3el5wABfZUsCrwcsCLGScDiWBGlwqQsYskQAIkQAIkQAIaArt27ZI6tWspf0Uwt4ULF4XGzhTICoG2EBuDJfEIYC96KQjkNvK6+Cp+0zGasjR079HDCfp5IQsO34o/+oi2CytXrZYcOXJcyC5eUm1TYL+kppuDJQESIAESIAESuJgIICYDXNPgHuQ1qGXzZs0EwTJVpXadOjJ06LBQEMFcHClKdQWxU2A5yEICiUoAPu/wfXcXWBvMnjPXUypZxGZ49JFi2rgeM2bOclzHLmTB+wHvCV2JTvd8Ift5qbRNgf1SmWmOkwRIgARIgARI4KIhALcjBAg7ePDA+TEhWFWNmjUcM2VVrAn4b/fr28eY4m/AwOelYcOGoXBau3attG3ztLbueERtD6XjrJQE/kvAFIMhW7bsMmjwYMmXL5/WIhbCer9+fY1pKMOMIeF1IhHBHwH+dOX4iZNeq+J1cSBAgT0OEFkFCZAACZAACZAACaQkAVsK0uLFS8gdd97hBABDQNJjx47K7t27rZlPwjw56/9sP5k9e7YW0/4DB+Xaa69NSYxsiwR8ERg5YoRMnPiq8R5kWSpXrpwTxDd9hvROMLvvzpxxAujaMmYgUOCmzWrrF18djfHiqlWqaNMrQjGxZu3aGFvg7X4IUGD3Q4vXkgAJkAAJkAAJkEACEBg9apRMmDA+rj1BwDcEfgurVKpYwcluoiphB7sLa0ys99IigLSRnTp2DG3QLVq0lB49e4ZWv5eKf/rpJ8l9/33aS0uWKiWTJk32UhWviRMBCuxxAslqSIAESIAESIAESCClCCxbulS6dHkmrs2tW79BsmTJEtc6I5UhC8492fUpuwoVelhmz5kTStuslATiRQDpKZGfPIyC0/VVq1bFlKYuHv06dOigVKlcWVtVq1atpVv37vFoinV4JECB3SMoXkYCJEACJEACJEACiULgk08+kVIlH4tbd8aNGy/lK1SIW33uiuC7+2D+fNr6EyEydmiDZ8UXFYEF8+dLr17xPwVPlNzmNneb6TNmStGiRS+qOU30wVBgT/QZYv9IgARIgARIgARIQEFg8uRJgvRQsZZOnTtLu3btY63GeP8ff/whOe7Jrr0GPrHwjWUhgdRAYOqUKTJ48KC4dfWZZ7pIm7Zt41ZfLBWZ0j7CdWXH+x/INddcE0sTvNcnAQrsPoHxchIgARIgARIgARJIFAJjx46RsWPGBOoOgmONGDlSEKAuJUqN6tVk3759yZqqULGijB07LiW6wDZIIG4EkKGhX9++yjXttZH77rtfBgwYIHnz6a1PvNYVr+vOnDkjBR56UFld3379pEmTpvFqivV4JECB3SMoXkYCJEACJEACJEACiUjg448/lhnTp8u6dWvliy++sHYRJ9lI/1anTl1Jly6d9fp4XXDgwAFp2KB+kkj1EFimTJ0qUB6wkEBqJHD48GFZvmyZbNu2TRtZ3T0urPtGjRtL9erVtSngLiSLBQsWSK+ePZJ0oVr16jJs2HBJkybNhezaJdk2BfZLcto5aBIgARIgARIggYuRwJdffiEIjHXmzHdy5sy38t2Z7+TU6VOSNUtWyfjXjILAVmEFlvPC89tvv5UtWzbL8WPHpXDhwvLgQw8xlZsXcLwmVRD49ddf5eTJk/LN11/Lj2fPyk8/nZNzZ8/J1ddcI3fecYeTavGWW26Vyy+/POHHg3Fse/ddOfPdGSlSpKiTXz419DvhwQboIAX2ANB4CwmQAAmQAAmQAAmQAAmQAAmQAAmETYACe9iEWT8JkAAJkAAJkAAJkAAJkAAJkAAJBCBAgT0ANN5CAiRAAiRAAiRAAiRAAiRAAiRAAmEToMAeNmHWTwIkQAIkQAIkQAIkQAIkQAIkQAIBCFBgDwCNt5AACZAACZAACZAACZAACZAACZBA2AQosIdNmPWTAAmQAAmQAAmQAAmQAAmQAAmQQAACFNgDQOMtJEACJEACJEACJEACJEACJEACJBA2AQrsYRNm/SRAAiRAAiRAAiRAAiRAAiRAAiQQgAAF9gDQeAsJkAAJkAAJkAAJkAAJkAAJkAAJhE2AAnvYhFk/CZAACZAACZAACZAACZAACZAACQQgQIE9ADTeQgIkQAIkQAIkQAIkQAIkQAIkQAJhE6DAHjZh1k8CJEACJEACJEACJEACJEACJEACAQhQYA8AjbeQAAmQAAmQAAmQAAmQAAmQAAmQQNgEKLCHTZj1kwAJkAAJkAAJkAAJkAAJkAAJkEAAAhTYA0DjLSRAAiRAAiRAAiRAAiRAAiRAAiQQNgEK7GETZv0kQAIkQAIkQAIkQAIkQAIkQAIkEIAABfYA0HgLCZAACZAACZAACZAACZAACZAACYRNgAJ72IRZPwmQAAmQAAmQAAmQAAmQAAmQAAkEIECBPQA03kICJEACJEACJEACJEACJEACJEACYROgwB42YdZPAiRAAiRAAiRAAiRAAiRAAiRAAgEIUGAPAI23kAAJkAAJkAAJkAAJkAAJkAAJkEDYBCiwh02Y9ZMACZAACZAACZAACZAACZAACZBAAAIU2ANA4y0kQAIkQAIkQAIkQAIkQAIkQAIkEDYBCuxhE2b9JEACJEACJEACJEACJEACJEACJBCAAAX2ANB4CwmQAAmQAAmQAAmQAAmQAAmQAAmETYACe9iEWT8JkAAJkAAJkAAJkAAJkAAJkAAJBCBAgT0ANN5CAiRAAiRAAiRAAiRAAiRAAiRAAmEToMAeNmHWTwIkQAIkQAIkQAIkQAIkQAIkQAIBCFBgDwCNt5AACZAACZAACZAACZAACZAACZBA2AQosIdNmPWTAAmQAAmQAAmQAAmQAAmQAAmQQAACFNgDQOMtJEACJEACJEACJEACJEACJEACJBA2AQrsYRNm/SRAAiRAAiRAAiRAAiRAAiRAAiQQgAAF9gDQeAsJkAAJkAAJkAAJkAAJkAAJkAAJhE2AAnvYhFk/CZAACZAACZAACZAACZAACZAACQQgQIE9ADTeQgIkQAIkQAIkQAIkQAIkQAIkQAJhE6DAHjZh1k8CJEACJEACJEACJEACJEACJEACAQhQYA8AjbeQAAmQAAmQAAmQAAmQAAmQAAmQQNgEKLCHTZj1kwAJkAAJkAAJkAAJkAAJkAAJkEAAAhTYA0DjLSRAAiRAAiRAAiRAAiRAAiRAAiQQNgEK7GETZv0kQAIkQAIkQAIkQAIkQAIkQAIkEIAABfYA0HgLCZAACZAACZAACZAACZAACZAACYRNgAJ72IRZPwmQAAmQAAmQAAmQAAmQAAmQAAkEIECBPQA03kICJEACJEACJEACJEACJEACJEACYROgwB42YdZPAiRAAiRAAiRAAiRAAiRAAiRAAgEIUGAPAI23kAAJkAAJkAAJkAAJkAAJkAAJkEDYBCiwh02Y9ZMACZAACZAACZAACZAACZAACZBAAAIU2ANA4y0kQAIkQAIkQAIkQAIkQAIkQAIkEDYBCuxhE2b9JEACJEACJEACJEACJEACJEACJBCAAAX2ANB4CwmQAAmQAAmQAAmQAAmQAAmQAAmETYACe9iEWT8JkAAJkAAJkAAJkAAJkAAJkAAJBCBAgT0ANN5CAiRAAiRAAiRAAiRAAiRAAiRAAmEToMAeNmHWTwIkQAIkQAIkQAIkQAIkQAIkQAIBCFBgDwCNt5AACZAACZAACZAACZAACZAACZBA2AQosIdNmPWTAAmQAAmQAAmQAAmQAAmQAAmQQAACFNgDQOMtJEACJEACJEACJEACJEACJEACJBA2AQrsYRNm/SRAAiRAAiRAAiRAAiRAAiRAAiQQgAAF9gDQeAsJkAAJkAAJkAAJkAAJkAAJkAAJhE2AAnvYhFk/CZAACZAACZAACZAACZAACZAACQQgQIE9ADTeQgIkQAIkQAIkQAIkQAIkQAIkQAJhE6DAHjZh1k8CJEACJEACJEACJEACJEACJEACAQhQYA8AjbeQAAmQAAmQAAmQAAmQAAmQAAmQQNgEKLCHTZj1kwAJkAAJkAAJkAAJkAAJkAAJkEAAAhTYA0DjLSRAAiRAAiRAAiRAAiRAAiRAAiQQNgEK7GETZv0kQAIkQAIkQAIkQAIkQAIkQAIkEIAABfYA0HgLCZAACZAACZAACZAACZAACZAACYRNgAJ72IRZPwmQAAmQAAmQAAmQAAmQAAmQAAkEIECBPQA03kICJEACJEACJEACJEACJEACJEACYRP4PwoWgJaj7MeXAAAAAElFTkSuQmCC", - "w": 1000, - "h": 595.6175298804781, - "mimeType": "image/png", - "isAnimated": false - }, - "id": "asset:2051922215", - "typeName": "asset" - }, - "document:document": { - "gridSize": 10, - "name": "", - "meta": {}, - "id": "document:document", - "typeName": "document" - }, - "page:NXBP7PKuITv3tMvoIRxFz": { - "meta": {}, - "id": "page:NXBP7PKuITv3tMvoIRxFz", - "name": "Page 1", - "index": "a1", - "typeName": "page" - }, - "shape:0O-D3-H12T9edVMgA0cDh": { - "x": 224.28665129528747, - "y": 474.44055394139673, - "rotation": 0, - "isLocked": false, - "opacity": 1, - "meta": {}, - "type": "text", - "props": { - "color": "black", - "size": "m", - "w": 438.1640625, - "text": "Select the Draw tool by pressing 'p'", - "font": "draw", - "align": "middle", - "autoSize": true, - "scale": 1 - }, - "parentId": "page:NXBP7PKuITv3tMvoIRxFz", - "index": "a2", - "id": "shape:0O-D3-H12T9edVMgA0cDh", - "typeName": "shape" - }, - "shape:tAsz1L8N4kLDwIvpCcjqN": { - "x": 241.59357019335232, - "y": 367.6707932953341, - "rotation": 0, - "isLocked": false, - "opacity": 1, - "meta": {}, - "type": "text", - "props": { - "color": "black", - "size": "m", - "w": 397.3125, - "text": "Toggle show grid by pressing 'x'", - "font": "draw", - "align": "middle", - "autoSize": true, - "scale": 1 - }, - "parentId": "page:NXBP7PKuITv3tMvoIRxFz", - "index": "a1", - "id": "shape:tAsz1L8N4kLDwIvpCcjqN", - "typeName": "shape" - }, - "shape:Jv8vs9T77_Ojum2OGZd7D": { - "x": 204.13270568300845, - "y": 579.9171242617172, - "rotation": 0, - "isLocked": false, - "opacity": 1, - "meta": {}, - "id": "shape:Jv8vs9T77_Ojum2OGZd7D", - "type": "text", - "props": { - "color": "black", - "size": "m", - "w": 462.7421875, - "text": "Copy as png by pressing 'ctrl/cmd + 1'", - "font": "draw", - "align": "middle", - "autoSize": true, - "scale": 1 - }, - "parentId": "page:NXBP7PKuITv3tMvoIRxFz", - "index": "a3", - "typeName": "shape" - } - }, - "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": 23 - }, - "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": 1, - "frame": 0, - "arrow": 2, - "highlight": 0, - "embed": 4, - "image": 3, - "video": 2 - } - }, - "instance_presence": { - "version": 5 - }, - "pointer": { - "version": 1 - } - } - } -} diff --git a/apps/examples/src/examples/meta-migrations/MetaMigrations.tsx b/apps/examples/src/examples/meta-migrations/MetaMigrations.tsx new file mode 100644 index 000000000..9e7c34b25 --- /dev/null +++ b/apps/examples/src/examples/meta-migrations/MetaMigrations.tsx @@ -0,0 +1,74 @@ +import { Tldraw, createMigrationIds, createMigrationSequence } from 'tldraw' +import 'tldraw/tldraw.css' +import { snapshot } from './snapshot' +import { components } from './ui-overrides' + +/** + * This example demonstrates how to add custom migrations for `meta` properties, or any other + * data in your store snapshots. + * + * If you have a custom shape type and you want to add migrations for its `props` object, + * there is a simpler dedicated API for that. Check out [the docs](https://tldraw.dev/docs/persistence#Shape-props-migrations) for more info. + */ + +/** + * Let's say you added some page metadata, e.g. to allow setting the background color of a page independently. + */ +interface _PageMetaV1 { + backgroundTheme?: 'red' | 'blue' | 'green' | 'purple' +} + +/** + * And then perhaps later on you decided to remove support for 'purple' because it's an ugly color. + * So all purple pages will become blue. + */ +export interface PageMetaV2 { + backgroundTheme?: 'red' | 'blue' | 'green' +} + +/** + * You would then create a migration to update the metadata from v1 to v2. + */ + +// First pick a 'sequence id' that is unique to your app +const sequenceId = 'com.example.my-app' +// Then create a 'migration id' for each version of your metadata +const versions = createMigrationIds(sequenceId, { + // the numbers must start at 1 and increment by 1 + RemovePurple: 1, +}) +const migrations = createMigrationSequence({ + sequenceId, + sequence: [ + { + id: versions.RemovePurple, + // `scope: 'record` tells the schema to call this migration on individual records. + // `scope: 'store'` would call it on the entire snapshot, to allow for actions like deleting/creating records. + scope: 'record', + // When `scope` is 'record', you can specify a filter function to only apply the migration to records that match the filter. + filter: (record) => record.typeName === 'page', + // This up function will be called on all records that match the filter + up(page: any) { + if (page.meta.backgroundTheme === 'purple') { + page.meta.backgroundTheme = 'blue' + page.name += ' (was purple)' + } + }, + }, + ], +}) + +export default function MetaMigrationsExample() { + return ( +
+ +
+ ) +} diff --git a/apps/examples/src/examples/meta-migrations/README.md b/apps/examples/src/examples/meta-migrations/README.md new file mode 100644 index 000000000..559c22dfb --- /dev/null +++ b/apps/examples/src/examples/meta-migrations/README.md @@ -0,0 +1,12 @@ +--- +title: Meta Migrations +component: ./MetaMigrations.tsx +category: data/assets +priority: 6 +--- + +Create custom migrations for `meta` properties. + +--- + +You can add arbitrary data migrations for tldraw snapshot data. This is mainly useful for updating the `meta` property of a record as your data types evolve. diff --git a/apps/examples/src/examples/meta-migrations/snapshot.ts b/apps/examples/src/examples/meta-migrations/snapshot.ts new file mode 100644 index 000000000..151fc73dd --- /dev/null +++ b/apps/examples/src/examples/meta-migrations/snapshot.ts @@ -0,0 +1,57 @@ +import { TLStoreSnapshot } from 'tldraw' + +export const snapshot = { + store: { + 'document:document': { + gridSize: 10, + name: '', + meta: {}, + id: 'document:document', + typeName: 'document', + }, + 'page:red': { + meta: { + backgroundTheme: 'red', + }, + id: 'page:red', + name: 'Red', + index: 'a1', + typeName: 'page', + }, + 'page:green': { + meta: { + backgroundTheme: 'green', + }, + id: 'page:green', + name: 'Green', + index: 'a2', + typeName: 'page', + }, + 'page:blue': { + meta: { + backgroundTheme: 'blue', + }, + id: 'page:blue', + name: 'Blue', + index: 'a3', + typeName: 'page', + }, + 'page:purple': { + meta: { + backgroundTheme: 'purple', + }, + id: 'page:purple', + name: 'Purple', + index: 'a0', + typeName: 'page', + }, + }, + schema: { + schemaVersion: 2, + sequences: { + 'com.tldraw.store': 4, + 'com.tldraw.document': 2, + 'com.tldraw.page': 1, + }, + }, +} as TLStoreSnapshot diff --git a/apps/examples/src/examples/meta-migrations/ui-overrides.tsx b/apps/examples/src/examples/meta-migrations/ui-overrides.tsx new file mode 100644 index 000000000..d5dea1ac3 --- /dev/null +++ b/apps/examples/src/examples/meta-migrations/ui-overrides.tsx @@ -0,0 +1,41 @@ +import { useLayoutEffect } from 'react' +import { TLComponents, track, useEditor } from 'tldraw' +import { PageMetaV2 } from './MetaMigrations' + +export const components: TLComponents = { + TopPanel: track(() => { + const editor = useEditor() + const currentPage = editor.getCurrentPage() + const meta: PageMetaV2 = currentPage.meta + + useLayoutEffect(() => { + const elem = document.querySelector('.tl-background') as HTMLElement + if (!elem) return + elem.style.backgroundColor = meta.backgroundTheme ?? 'unset' + }, [meta.backgroundTheme]) + + return ( + + bg:   + + + ) + }), +} diff --git a/apps/examples/src/examples/multiple/MultipleExample.tsx b/apps/examples/src/examples/multiple/MultipleExample.tsx index fee3d64f5..1eae026c8 100644 --- a/apps/examples/src/examples/multiple/MultipleExample.tsx +++ b/apps/examples/src/examples/multiple/MultipleExample.tsx @@ -4,7 +4,7 @@ import 'tldraw/tldraw.css' // There's a guide at the bottom of this page! -//[1] +// [1] const focusedEditorContext = createContext( {} as { focusedEditor: string | null diff --git a/apps/examples/src/examples/only-editor/MicroSelectTool.ts b/apps/examples/src/examples/only-editor/MicroSelectTool.ts index 74d0600c6..5de546c22 100644 --- a/apps/examples/src/examples/only-editor/MicroSelectTool.ts +++ b/apps/examples/src/examples/only-editor/MicroSelectTool.ts @@ -84,7 +84,7 @@ deletes that shape. [1] This is where we define our state node by extending the StateNode class. Since -there are no children states We can simply give it an id and define methods we +there are no children states We can give it an id and define methods we want to override to handle events. diff --git a/apps/examples/src/examples/pdf-editor/ExportPdfButton.tsx b/apps/examples/src/examples/pdf-editor/ExportPdfButton.tsx new file mode 100644 index 000000000..cf6067acd --- /dev/null +++ b/apps/examples/src/examples/pdf-editor/ExportPdfButton.tsx @@ -0,0 +1,89 @@ +import { PDFDocument } from 'pdf-lib' +import { useState } from 'react' +import { Editor, assert, exportToBlob, useEditor } from 'tldraw' +import { Pdf } from './PdfPicker' + +export function ExportPdfButton({ pdf }: { pdf: Pdf }) { + const [exportProgress, setExportProgress] = useState(null) + const editor = useEditor() + + return ( + + ) +} + +async function exportPdf( + editor: Editor, + { name, source, pages }: Pdf, + onProgress: (progress: number) => void +) { + const totalThings = pages.length * 2 + 2 + let progressCount = 0 + const tickProgress = () => { + progressCount++ + onProgress(progressCount / totalThings) + } + + const pdf = await PDFDocument.load(source) + tickProgress() + + const pdfPages = pdf.getPages() + assert(pdfPages.length === pages.length, 'PDF page count mismatch') + + const pageShapeIds = new Set(pages.map((page) => page.shapeId)) + const allIds = Array.from(editor.getCurrentPageShapeIds()).filter((id) => !pageShapeIds.has(id)) + + for (let i = 0; i < pages.length; i++) { + const page = pages[i] + const pdfPage = pdfPages[i] + + const bounds = page.bounds + const shapesInBounds = allIds.filter((id) => { + const shapePageBounds = editor.getShapePageBounds(id) + if (!shapePageBounds) return false + return shapePageBounds.collides(bounds) + }) + + if (shapesInBounds.length === 0) { + tickProgress() + tickProgress() + continue + } + + const exportedPng = await exportToBlob({ + editor, + ids: allIds, + format: 'png', + opts: { background: false, bounds: page.bounds, padding: 0, scale: 2 }, + }) + tickProgress() + + pdfPage.drawImage(await pdf.embedPng(await exportedPng.arrayBuffer()), { + x: 0, + y: 0, + width: pdfPage.getWidth(), + height: pdfPage.getHeight(), + }) + tickProgress() + } + + const url = URL.createObjectURL(new Blob([await pdf.save()], { type: 'application/pdf' })) + tickProgress() + const a = document.createElement('a') + a.href = url + a.download = name + a.click() + URL.revokeObjectURL(url) +} diff --git a/apps/examples/src/examples/pdf-editor/PdfEditor.tsx b/apps/examples/src/examples/pdf-editor/PdfEditor.tsx new file mode 100644 index 000000000..99086838e --- /dev/null +++ b/apps/examples/src/examples/pdf-editor/PdfEditor.tsx @@ -0,0 +1,289 @@ +import { useCallback, useEffect, useMemo } from 'react' +import { + Box, + PORTRAIT_BREAKPOINT, + SVGContainer, + TLImageShape, + TLShapeId, + TLShapePartial, + Tldraw, + clamp, + compact, + getIndicesBetween, + react, + sortByIndex, + track, + useBreakpoint, + useEditor, +} from 'tldraw' +import { ExportPdfButton } from './ExportPdfButton' +import { Pdf } from './PdfPicker' + +// TODO: +// - prevent changing pages (create page, change page, move shapes to new page) +// - prevent locked shape context menu +// - inertial scrolling for constrained camera +// - render pages on-demand instead of all at once. +export function PdfEditor({ pdf }: { pdf: Pdf }) { + const pdfShapeIds = useMemo(() => pdf.pages.map((page) => page.shapeId), [pdf.pages]) + return ( + { + editor.updateInstanceState({ isDebugMode: false }) + editor.setCamera({ x: 1000, y: 1000, z: 1 }) + + editor.createAssets( + pdf.pages.map((page) => ({ + id: page.assetId, + typeName: 'asset', + type: 'image', + meta: {}, + props: { + w: page.bounds.w, + h: page.bounds.h, + mimeType: 'image/png', + src: page.src, + name: 'page', + isAnimated: false, + }, + })) + ) + + editor.createShapes( + pdf.pages.map( + (page): TLShapePartial => ({ + id: page.shapeId, + type: 'image', + x: page.bounds.x, + y: page.bounds.y, + props: { + assetId: page.assetId, + w: page.bounds.w, + h: page.bounds.h, + }, + }) + ) + ) + }} + components={{ + PageMenu: null, + InFrontOfTheCanvas: useCallback(() => { + return + }, [pdf]), + SharePanel: useCallback(() => { + return + }, [pdf]), + }} + > + + + + + ) +} + +const PageOverlayScreen = track(function PageOverlayScreen({ pdf }: { pdf: Pdf }) { + const editor = useEditor() + + const viewportPageBounds = editor.getViewportPageBounds() + const viewportScreenBounds = editor.getViewportScreenBounds() + + const relevantPageBounds = compact( + pdf.pages.map((page) => { + if (!viewportPageBounds.collides(page.bounds)) return null + const topLeft = editor.pageToViewport(page.bounds) + const bottomRight = editor.pageToViewport({ x: page.bounds.maxX, y: page.bounds.maxY }) + return new Box(topLeft.x, topLeft.y, bottomRight.x - topLeft.x, bottomRight.y - topLeft.y) + }) + ) + + function pathForPageBounds(bounds: Box) { + return `M ${bounds.x} ${bounds.y} L ${bounds.maxX} ${bounds.y} L ${bounds.maxX} ${bounds.maxY} L ${bounds.x} ${bounds.maxY} Z` + } + + const viewportPath = `M 0 0 L ${viewportScreenBounds.w} 0 L ${viewportScreenBounds.w} ${viewportScreenBounds.h} L 0 ${viewportScreenBounds.h} Z` + + return ( + <> + + + + {relevantPageBounds.map((bounds, i) => ( +
+ ))} + + ) +}) + +function ConstrainCamera({ pdf }: { pdf: Pdf }) { + const editor = useEditor() + const breakpoint = useBreakpoint() + const isMobile = breakpoint < PORTRAIT_BREAKPOINT.TABLET_SM + + useEffect(() => { + const marginTop = 64 + const marginSide = isMobile ? 16 : 164 + const marginBottom = 80 + + const targetBounds = pdf.pages.reduce( + (acc, page) => acc.union(page.bounds), + pdf.pages[0].bounds.clone() + ) + + function constrainCamera(camera: { x: number; y: number; z: number }): { + x: number + y: number + z: number + } { + const viewportBounds = editor.getViewportScreenBounds() + + const usableViewport = new Box( + marginSide, + marginTop, + viewportBounds.w - marginSide * 2, + viewportBounds.h - marginTop - marginBottom + ) + + const minZoom = Math.min( + usableViewport.w / targetBounds.w, + usableViewport.h / targetBounds.h, + 1 + ) + const zoom = Math.max(minZoom, camera.z) + + const centerX = targetBounds.x - targetBounds.w / 2 + usableViewport.midX / zoom + const centerY = targetBounds.y - targetBounds.h / 2 + usableViewport.midY / zoom + + const availableXMovement = Math.max(0, targetBounds.w - usableViewport.w / zoom) + const availableYMovement = Math.max(0, targetBounds.h - usableViewport.h / zoom) + + return { + x: clamp(camera.x, centerX - availableXMovement / 2, centerX + availableXMovement / 2), + y: clamp(camera.y, centerY - availableYMovement / 2, centerY + availableYMovement / 2), + z: zoom, + } + } + + const removeOnChange = editor.sideEffects.registerBeforeChangeHandler( + 'camera', + (_prev, next) => { + const constrained = constrainCamera(next) + if (constrained.x === next.x && constrained.y === next.y && constrained.z === next.z) + return next + return { ...next, ...constrained } + } + ) + + const removeReaction = react('update camera when viewport/shape changes', () => { + const original = editor.getCamera() + const constrained = constrainCamera(original) + if ( + original.x === constrained.x && + original.y === constrained.y && + original.z === constrained.z + ) { + return + } + + // this needs to be in a microtask for some reason, but idk why + queueMicrotask(() => editor.setCamera(constrained)) + }) + + return () => { + removeOnChange() + removeReaction() + } + }, [editor, isMobile, pdf.pages]) + + return null +} + +function KeepShapesLocked({ shapeIds }: { shapeIds: TLShapeId[] }) { + const editor = useEditor() + + useEffect(() => { + const shapeIdSet = new Set(shapeIds) + + for (const shapeId of shapeIdSet) { + const shape = editor.getShape(shapeId)! + editor.updateShape({ + id: shape.id, + type: shape.type, + isLocked: true, + }) + } + + const removeOnChange = editor.sideEffects.registerBeforeChangeHandler('shape', (prev, next) => { + if (!shapeIdSet.has(next.id)) return next + if (next.isLocked) return next + return { ...prev, isLocked: true } + }) + + return () => { + removeOnChange() + } + }, [editor, shapeIds]) + + return null +} + +function KeepShapesAtBottomOfCurrentPage({ shapeIds }: { shapeIds: TLShapeId[] }) { + const editor = useEditor() + + useEffect(() => { + const shapeIdSet = new Set(shapeIds) + + function makeSureShapesAreAtBottom() { + const shapes = shapeIds.map((id) => editor.getShape(id)!).sort(sortByIndex) + const pageId = editor.getCurrentPageId() + + const siblings = editor.getSortedChildIdsForParent(pageId) + const currentBottomShapes = siblings.slice(0, shapes.length).map((id) => editor.getShape(id)!) + + if (currentBottomShapes.every((shape, i) => shape.id === shapes[i].id)) return + + const otherSiblings = siblings.filter((id) => !shapeIdSet.has(id)) + const bottomSibling = otherSiblings[0] + const lowestIndex = editor.getShape(bottomSibling)!.index + + const indexes = getIndicesBetween(undefined, lowestIndex, shapes.length) + editor.updateShapes( + shapes.map((shape, i) => ({ + id: shape.id, + type: shape.type, + isLocked: shape.isLocked, + index: indexes[i], + })) + ) + } + + makeSureShapesAreAtBottom() + + const removeOnCreate = editor.sideEffects.registerAfterCreateHandler( + 'shape', + makeSureShapesAreAtBottom + ) + const removeOnChange = editor.sideEffects.registerAfterChangeHandler( + 'shape', + makeSureShapesAreAtBottom + ) + + return () => { + removeOnCreate() + removeOnChange() + } + }, [editor, shapeIds]) + + return null +} diff --git a/apps/examples/src/examples/pdf-editor/PdfEditorExample.tsx b/apps/examples/src/examples/pdf-editor/PdfEditorExample.tsx new file mode 100644 index 000000000..87a137001 --- /dev/null +++ b/apps/examples/src/examples/pdf-editor/PdfEditorExample.tsx @@ -0,0 +1,32 @@ +import { useState } from 'react' +import { PdfEditor } from './PdfEditor' +import { Pdf, PdfPicker } from './PdfPicker' +import './pdf-editor.css' + +type State = + | { + phase: 'pick' + } + | { + phase: 'edit' + pdf: Pdf + } + +export default function PdfEditorWrapper() { + const [state, setState] = useState({ phase: 'pick' }) + + switch (state.phase) { + case 'pick': + return ( +
+ setState({ phase: 'edit', pdf })} /> +
+ ) + case 'edit': + return ( +
+ +
+ ) + } +} diff --git a/apps/examples/src/examples/pdf-editor/PdfPicker.tsx b/apps/examples/src/examples/pdf-editor/PdfPicker.tsx new file mode 100644 index 000000000..ecadb2557 --- /dev/null +++ b/apps/examples/src/examples/pdf-editor/PdfPicker.tsx @@ -0,0 +1,118 @@ +import { useState } from 'react' +import { AssetRecordType, Box, TLAssetId, TLShapeId, assertExists, createShapeId } from 'tldraw' +import tldrawPdf from './assets/tldraw.pdf' + +export type PdfPage = { + src: string + bounds: Box + assetId: TLAssetId + shapeId: TLShapeId +} + +export type Pdf = { + name: string + pages: PdfPage[] + source: string | ArrayBuffer +} + +const pageSpacing = 32 + +export function PdfPicker({ onOpenPdf }: { onOpenPdf: (pdf: Pdf) => void }) { + const [isLoading, setIsLoading] = useState(false) + + async function loadPdf(name: string, source: ArrayBuffer): Promise { + const PdfJS = await import('pdfjs-dist') + PdfJS.GlobalWorkerOptions.workerSrc = new URL( + 'pdfjs-dist/build/pdf.worker.min.mjs', + import.meta.url + ).toString() + const pdf = await PdfJS.getDocument(source.slice(0)).promise + const pages: PdfPage[] = [] + + const canvas = window.document.createElement('canvas') + const context = assertExists(canvas.getContext('2d')) + + const visualScale = 1.5 + const scale = window.devicePixelRatio + + let top = 0 + let widest = 0 + for (let i = 1; i <= pdf.numPages; i++) { + const page = await pdf.getPage(i) + const viewport = page.getViewport({ scale: scale * visualScale }) + canvas.width = viewport.width + canvas.height = viewport.height + const renderContext = { + canvasContext: context, + viewport, + } + await page.render(renderContext).promise + + const width = viewport.width / scale + const height = viewport.height / scale + pages.push({ + src: canvas.toDataURL(), + bounds: new Box(0, top, width, height), + assetId: AssetRecordType.createId(), + shapeId: createShapeId(), + }) + top += height + pageSpacing + widest = Math.max(widest, width) + } + canvas.width = 0 + canvas.height = 0 + + for (const page of pages) { + page.bounds.x = (widest - page.bounds.width) / 2 + } + + return { + name, + pages, + source, + } + } + + function onClickOpenPdf() { + const input = window.document.createElement('input') + input.type = 'file' + input.accept = 'application/pdf' + input.addEventListener('change', async (e) => { + const fileList = (e.target as HTMLInputElement).files + if (!fileList || fileList.length === 0) return + const file = fileList[0] + + setIsLoading(true) + try { + const pdf = await loadPdf(file.name, await file.arrayBuffer()) + onOpenPdf(pdf) + } finally { + setIsLoading(false) + } + }) + input.click() + } + + async function onClickUseExample() { + setIsLoading(true) + try { + const result = await fetch(tldrawPdf) + const pdf = await loadPdf('tldraw.pdf', await result.arrayBuffer()) + onOpenPdf(pdf) + } finally { + setIsLoading(false) + } + } + + if (isLoading) { + return
Loading...
+ } + + return ( +
+ +
or
+ +
+ ) +} diff --git a/apps/examples/src/examples/pdf-editor/README.md b/apps/examples/src/examples/pdf-editor/README.md new file mode 100644 index 000000000..91bb68fe4 --- /dev/null +++ b/apps/examples/src/examples/pdf-editor/README.md @@ -0,0 +1,8 @@ +--- +title: PDF editor +component: ./PdfEditorExample.tsx +category: use-cases +priority: 1 +--- + +A very basic PDF editor built with tldraw diff --git a/apps/examples/src/examples/pdf-editor/assets/tldraw.pdf b/apps/examples/src/examples/pdf-editor/assets/tldraw.pdf new file mode 100644 index 000000000..6ade60e6a Binary files /dev/null and b/apps/examples/src/examples/pdf-editor/assets/tldraw.pdf differ diff --git a/apps/examples/src/examples/pdf-editor/pdf-editor.css b/apps/examples/src/examples/pdf-editor/pdf-editor.css new file mode 100644 index 000000000..845c16391 --- /dev/null +++ b/apps/examples/src/examples/pdf-editor/pdf-editor.css @@ -0,0 +1,66 @@ +.PdfEditor { + position: absolute; + inset: 0; +} + +.PdfEditor .PdfPicker { + position: absolute; + inset: 1rem; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + flex-direction: column; + gap: 1rem; +} +.PdfEditor .PdfPicker button { + padding: 0.5rem 1rem; + border: none; + background: #eee; + cursor: pointer; + font: inherit; +} +.PdfEditor .PdfPicker button:hover { + opacity: 0.9; +} + +.PdfEditor .PdfBgRenderer { + position: absolute; + pointer-events: none; +} +.PdfEditor .PdfBgRenderer img { + position: absolute; +} + +.PdfEditor .PageOverlayScreen-screen { + pointer-events: none; + z-index: -1; + fill: var(--color-background); + fill-opacity: 0.8; + stroke: none; +} +.PdfEditor .PageOverlayScreen-outline { + position: absolute; + pointer-events: none; + z-index: -1; + /* border: 1px solid var(--color-overlay); */ + box-shadow: var(--shadow-2); +} +.PdfEditor .ExportPdfButton { + font: inherit; + background: var(--color-primary); + border: none; + color: var(--color-selected-contrast); + font-size: 1rem; + padding: 0.5rem 1rem; + border-radius: 6px; + margin: 6px; + margin-bottom: 0; + pointer-events: all; + z-index: var(--layer-panels); + border: 2px solid var(--color-background); + cursor: pointer; +} +.PdfEditor .ExportPdfButton:hover { + filter: brightness(1.1); +} diff --git a/apps/examples/src/examples/peristence-key/README.md b/apps/examples/src/examples/peristence-key/README.md index 26124e366..0e7291bc2 100644 --- a/apps/examples/src/examples/peristence-key/README.md +++ b/apps/examples/src/examples/peristence-key/README.md @@ -5,8 +5,6 @@ category: basic priority: 2 --- - - --- If the `persistenceKey` prop is provided to the `` component, the editor will persist its data locally under that key. diff --git a/apps/examples/src/examples/rendering-shape-changes/README.md b/apps/examples/src/examples/rendering-shape-changes/README.md new file mode 100644 index 000000000..a6f95b86d --- /dev/null +++ b/apps/examples/src/examples/rendering-shape-changes/README.md @@ -0,0 +1,9 @@ +--- +title: Rendering shapes change +component: ./RenderingShapesChangeExample.tsx +category: basic +--- + +--- + +Do something when the rendering shapes change. diff --git a/apps/examples/src/examples/rendering-shape-changes/RenderingShapesChangeExample.tsx b/apps/examples/src/examples/rendering-shape-changes/RenderingShapesChangeExample.tsx new file mode 100644 index 000000000..25160d531 --- /dev/null +++ b/apps/examples/src/examples/rendering-shape-changes/RenderingShapesChangeExample.tsx @@ -0,0 +1,27 @@ +import { useCallback } from 'react' +import { TLShape, Tldraw } from 'tldraw' +import 'tldraw/tldraw.css' +import { useChangedShapesReactor } from './useRenderingShapesChange' + +const components = { + InFrontOfTheCanvas: () => { + const onShapesChanged = useCallback((info: { culled: TLShape[]; restored: TLShape[] }) => { + // eslint-disable-next-line no-console + for (const shape of info.culled) console.log('culled: ' + shape.id) + // eslint-disable-next-line no-console + for (const shape of info.restored) console.log('restored: ' + shape.id) + }, []) + + useChangedShapesReactor(onShapesChanged) + + return null + }, +} + +export default function RenderingShapesChangeExample() { + return ( +
+ +
+ ) +} diff --git a/apps/examples/src/examples/rendering-shape-changes/useRenderingShapesChange.ts b/apps/examples/src/examples/rendering-shape-changes/useRenderingShapesChange.ts new file mode 100644 index 000000000..4b4ac137f --- /dev/null +++ b/apps/examples/src/examples/rendering-shape-changes/useRenderingShapesChange.ts @@ -0,0 +1,50 @@ +import { useEffect, useRef } from 'react' +import { TLShape, react, useEditor } from 'tldraw' + +export function useChangedShapesReactor( + cb: (info: { culled: TLShape[]; restored: TLShape[] }) => void +) { + const editor = useEditor() + const rPrevShapes = useRef({ + renderingShapes: editor.getRenderingShapes(), + culledShapes: editor.getCulledShapes(), + }) + + useEffect(() => { + return react('when rendering shapes change', () => { + const after = { + culledShapes: editor.getCulledShapes(), + renderingShapes: editor.getRenderingShapes(), + } + const before = rPrevShapes.current + + const culled: TLShape[] = [] + const restored: TLShape[] = [] + + const beforeToVisit = new Set(before.renderingShapes) + + for (const afterInfo of after.renderingShapes) { + const beforeInfo = before.renderingShapes.find((s) => s.id === afterInfo.id) + if (!beforeInfo) { + continue + } else { + const isAfterCulled = after.culledShapes.has(afterInfo.id) + const isBeforeCulled = before.culledShapes.has(beforeInfo.id) + if (isAfterCulled && !isBeforeCulled) { + culled.push(afterInfo.shape) + } else if (!isAfterCulled && isBeforeCulled) { + restored.push(afterInfo.shape) + } + beforeToVisit.delete(beforeInfo) + } + } + + rPrevShapes.current = after + + cb({ + culled, + restored, + }) + }) + }, [cb, editor]) +} diff --git a/apps/examples/src/examples/screenshot-tool/ScreenshotToolExample.tsx b/apps/examples/src/examples/screenshot-tool/ScreenshotToolExample.tsx index f21e4eb0e..f15ef7ab8 100644 --- a/apps/examples/src/examples/screenshot-tool/ScreenshotToolExample.tsx +++ b/apps/examples/src/examples/screenshot-tool/ScreenshotToolExample.tsx @@ -1,12 +1,15 @@ import { Box, - TLEditorComponents, + DefaultToolbar, + DefaultToolbarContent, + TLComponents, TLUiAssetUrlOverrides, TLUiOverrides, Tldraw, - Vec, - toolbarItem, + TldrawUiMenuItem, useEditor, + useIsToolSelected, + useTools, useValue, } from 'tldraw' import 'tldraw/tldraw.css' @@ -34,10 +37,17 @@ const customUiOverrides: TLUiOverrides = { }, } }, - toolbar: (_editor, toolbarItems, { tools }) => { - toolbarItems.splice(4, 0, toolbarItem(tools.screenshot)) - return toolbarItems - }, +} + +function CustomToolbar() { + const tools = useTools() + const isScreenshotSelected = useIsToolSelected(tools['screenshot']) + return ( + + + + + ) } // [3] @@ -68,10 +78,7 @@ function ScreenshotBox() { // "page space", i.e. uneffected by scale, and relative to the tldraw // page's top left corner. const zoomLevel = editor.getZoomLevel() - const { x, y } = Vec.Sub( - editor.pageToScreen({ x: box.x, y: box.y }), - editor.getViewportScreenBounds() - ) + const { x, y } = editor.pageToViewport({ x: box.x, y: box.y }) return new Box(x, y, box.w * zoomLevel, box.h * zoomLevel) }, [editor] @@ -95,10 +102,9 @@ function ScreenshotBox() { ) } -const customComponents: TLEditorComponents = { - InFrontOfTheCanvas: () => { - return - }, +const customComponents: TLComponents = { + InFrontOfTheCanvas: ScreenshotBox, + Toolbar: CustomToolbar, } // [5] @@ -131,12 +137,9 @@ files for more about the too. We define an array (outside of any React component to hold the custom tools. We'll pass this into the Tldraw component's `tools` prop. [2] -Here we add our custom tool to the toolbar. We do this by providing a custom -toolbar override to the Tldraw component. This override is a function that takes -the current editor, the default toolbar items, and the default tools. It returns -the new toolbar items. We use the toolbarItem helper to create a new toolbar item -for our custom tool. We then splice it into the toolbar items array at the 4th index. -This puts it after the eraser tool. We'll pass our overrides object into the +Here we make sure the UI knows about our new tool. We do this by adding it to the +`tools` object, which tells other parts of the UI a tool's label, icon, what should +happen when it's selected, etc. We'll pass our customUiOverrides object into the Tldraw component's `overrides` prop. [3] diff --git a/apps/examples/src/examples/shape-with-migrations/ShapeWithMigrationsExample.tsx b/apps/examples/src/examples/shape-with-migrations/ShapeWithMigrationsExample.tsx index 65d1c77b8..79885eb22 100644 --- a/apps/examples/src/examples/shape-with-migrations/ShapeWithMigrationsExample.tsx +++ b/apps/examples/src/examples/shape-with-migrations/ShapeWithMigrationsExample.tsx @@ -4,7 +4,10 @@ import { T, TLBaseShape, TLOnResizeHandler, + TLStoreSnapshot, Tldraw, + createShapePropsMigrationIds, + createShapePropsMigrationSequence, resizeBox, } from 'tldraw' import 'tldraw/tldraw.css' @@ -21,6 +24,31 @@ export type IMyShape = TLBaseShape< } > +// [1] +const versions = createShapePropsMigrationIds( + // this must match the shape type in the shape definition + 'myshape', + { + AddColor: 1, + } +) + +// [2] +export const cardShapeMigrations = createShapePropsMigrationSequence({ + sequence: [ + { + id: versions.AddColor, + up(props) { + // it is safe to mutate the props object here + props.color = 'lightblue' + }, + down(props) { + delete props.color + }, + }, + ], +}) + export class MigratedShapeUtil extends BaseBoxShapeUtil { static override type = 'myshape' as const @@ -30,31 +58,8 @@ export class MigratedShapeUtil extends BaseBoxShapeUtil { color: T.string, } - // [1] - static override migrations = { - firstVersion: 0, - currentVersion: 1, - migrators: { - 1: { - up(shape: IMyShape) { - return { - ...shape, - props: { - ...shape.props, - color: 'lightblue', - }, - } - }, - down(shape: IMyShape) { - const { color: _, ...propsWithoutColor } = shape.props - return { - ...shape, - props: propsWithoutColor, - } - }, - }, - }, - } + // [3] + static override migrations = cardShapeMigrations getDefaultProps(): IMyShape['props'] { return { @@ -94,7 +99,7 @@ export default function ShapeWithMigrationsExample() { // Pass in the array of custom shape classes shapeUtils={customShapeUtils} // Use a snapshot to load an old version of the shape - snapshot={snapshot} + snapshot={snapshot as TLStoreSnapshot} />
) @@ -103,59 +108,56 @@ export default function ShapeWithMigrationsExample() { /* Introduction: -Sometimes you'll want to update the way a shape works in your application without -breaking older versions of the shape that a user may have stored or persisted in -memory. +Sometimes you'll want to update the way a shape works in your application without breaking older +versions of the shape that a user may have stored or persisted in memory. -This example shows how you can use our migrations system to upgrade (or downgrade) -user's data between different versions. Most of the code above is general "custom -shape" code—see our custom shape example for more details. +This example shows how you can use our migrations system to upgrade (or downgrade) user's data +between different versions. Most of the code above is general "custom shape" code—see our custom +shape example for more details. -[1] -To define migrations, we can override the migrations property of our shape util. Each migration -had two parts: an `up` migration and `down` migration. In this case, the `up` migration adds -the `color` prop to the shape, and the `down` migration removes it. +[1] First, we need IDs for each migration. List each change with its version number. Once you've +added a migration, it should not change again. -In some cases (mainly in multiplayer sessions) a peer or server may need to take a later -version of a shape and migrate it down to an older version—in this case, it would run the -down migrations in order to get it to the needed version. +[2] Next, we create a migration sequence. This is where we actually write our migration logic. Each +migration had three parts: an `id` (created in [1]), an `up` migration and `down` migration. In this +case, the `up` migration adds the `color` prop to the shape, and the `down` migration removes it. + +In some cases (mainly in multiplayer sessions) a peer or server may need to take a later version of +a shape and migrate it down to an older version—in this case, it would run the down migrations in +order to get it to the needed version. + +[3] Finally, we add our migrations to the ShapeUtil. This tells tldraw about the migrations so they +can be used with your shapes. How it works: -Each time the editor's store creates a snapshot (`editor.store.createSnapshot`), it -serializes all of the records (the snapshot's `store`) as well as versions of each -record that it contains (the snapshot's `scena`). When the editor loads a snapshot, -it compares its current schema with the snapshot's schema to determine which migrations -to apply to each record. +Each time the editor's store creates a snapshot (`editor.store.createSnapshot`), it serializes all +of the records (the snapshot's `store`) as well as versions of each record that it contains (the +snapshot's `scena`). When the editor loads a snapshot, it compares its current schema with the +snapshot's schema to determine which migrations to apply to each record. -In this example, we have a snapshot (snapshot.json) that we created in version 0, -however our shape now has a 'color' prop that was added in version 1. +In this example, we have a snapshot (snapshot.json) that we created in version 0, however our shape +now has a 'color' prop that was added in version 1. The snapshot looks something like this: ```json{ { - "store": { - "shape:BqG5uIAa9ig2-ukfnxwBX": { + "store": { + "shape:BqG5uIAa9ig2-ukfnxwBX": { + ..., + "props": { + "w": 300, + "h": 300 + }, + }, + }, + "schema": { + ..., + "sequences": { ..., - "props": { - "w": 300, - "h": 300 - }, - }, - "schema": { - ..., - "recordVersions": { - ..., - "shape": { - "version": 3, - "subTypeKey": "type", - "subTypeVersions": { - ..., - "myshape": 0 - } - } - } + "com.tldraw.shape.arrow": 4, + "com.tldraw.shape.myshape": 0 } } } @@ -165,9 +167,8 @@ Note that the shape in the snapshot doesn't have a 'color' prop. Note also that the schema's version for this shape is 0. -When the editor loads the snapshot, it will compare the serialzied schema's version with -its current schema's version for the shape, which is 1 as defined in our shape's migrations. -Since the serialized version is older than its current version, it will use our migration -to bring it up to date: it will run the migration's `up` function, which will add the 'color' -prop to the shape. +When the editor loads the snapshot, it will compare the serialzied schema's version with its current +schema's version for the shape, which is 1 as defined in our shape's migrations. Since the +serialized version is older than its current version, it will use our migration to bring it up to +date: it will run the migration's `up` function, which will add the 'color' prop to the shape. */ diff --git a/apps/examples/src/examples/shape-with-tldraw-styles/ShapeWithTldrawStylesExample.tsx b/apps/examples/src/examples/shape-with-tldraw-styles/ShapeWithTldrawStylesExample.tsx index 150c0b2ae..9f79f5ca5 100644 --- a/apps/examples/src/examples/shape-with-tldraw-styles/ShapeWithTldrawStylesExample.tsx +++ b/apps/examples/src/examples/shape-with-tldraw-styles/ShapeWithTldrawStylesExample.tsx @@ -8,8 +8,8 @@ import { TLDefaultColorStyle, TLDefaultSizeStyle, Tldraw, + useDefaultColorTheme, } from 'tldraw' -import { useDefaultColorTheme } from 'tldraw/src/lib/shapes/shared/ShapeFill' import 'tldraw/tldraw.css' // There's a guide at the bottom of this file! diff --git a/apps/examples/src/examples/slides/README.md b/apps/examples/src/examples/slides/README.md new file mode 100644 index 000000000..b7fd7c097 --- /dev/null +++ b/apps/examples/src/examples/slides/README.md @@ -0,0 +1,12 @@ +--- +title: Slideshow +component: ./SlidesExample.tsx +category: use-cases +priority: 1 +--- + +Slideshow example. + +--- + +Make slides for a presentation. diff --git a/apps/examples/src/examples/slides/SlideShapeTool.tsx b/apps/examples/src/examples/slides/SlideShapeTool.tsx new file mode 100644 index 000000000..530f21956 --- /dev/null +++ b/apps/examples/src/examples/slides/SlideShapeTool.tsx @@ -0,0 +1,7 @@ +import { BaseBoxShapeTool } from 'tldraw' + +export class SlideShapeTool extends BaseBoxShapeTool { + static override id = 'slide' + static override initial = 'idle' + override shapeType = 'slide' +} diff --git a/apps/examples/src/examples/slides/SlideShapeUtil.tsx b/apps/examples/src/examples/slides/SlideShapeUtil.tsx new file mode 100644 index 000000000..e2c01542b --- /dev/null +++ b/apps/examples/src/examples/slides/SlideShapeUtil.tsx @@ -0,0 +1,127 @@ +import { useCallback } from 'react' +import { + Geometry2d, + Rectangle2d, + SVGContainer, + ShapeProps, + ShapeUtil, + T, + TLBaseShape, + TLOnResizeHandler, + getPerfectDashProps, + resizeBox, + useValue, +} from 'tldraw' +import { moveToSlide, useSlides } from './useSlides' + +export type SlideShape = TLBaseShape< + 'slide', + { + w: number + h: number + } +> + +export class SlideShapeUtil extends ShapeUtil { + static override type = 'slide' as const + static override props: ShapeProps = { + w: T.number, + h: T.number, + } + + override canBind = () => false + override hideRotateHandle = () => true + + getDefaultProps(): SlideShape['props'] { + return { + w: 720, + h: 480, + } + } + + getGeometry(shape: SlideShape): Geometry2d { + return new Rectangle2d({ + width: shape.props.w, + height: shape.props.h, + isFilled: false, + }) + } + + override onRotate = (initial: SlideShape) => initial + override onResize: TLOnResizeHandler = (shape, info) => { + return resizeBox(shape, info) + } + + override onDoubleClick = (shape: SlideShape) => { + moveToSlide(this.editor, shape) + this.editor.selectNone() + } + + override onDoubleClickEdge = (shape: SlideShape) => { + moveToSlide(this.editor, shape) + this.editor.selectNone() + } + + component(shape: SlideShape) { + const bounds = this.editor.getShapeGeometry(shape).bounds + + // eslint-disable-next-line react-hooks/rules-of-hooks + const zoomLevel = useValue('zoom level', () => this.editor.getZoomLevel(), [this.editor]) + + // eslint-disable-next-line react-hooks/rules-of-hooks + const slides = useSlides() + const index = slides.findIndex((s) => s.id === shape.id) + + // eslint-disable-next-line react-hooks/rules-of-hooks + const handleLabelPointerDown = useCallback(() => this.editor.select(shape.id), [shape.id]) + + if (!bounds) return null + + return ( + <> +
+ {`Slide ${index + 1}`} +
+ + + {bounds.sides.map((side, i) => { + const { strokeDasharray, strokeDashoffset } = getPerfectDashProps( + side[0].dist(side[1]), + 1 / zoomLevel, + { + style: 'dashed', + lengthRatio: 6, + } + ) + + return ( + + ) + })} + + + + ) + } + + indicator(shape: SlideShape) { + return + } +} diff --git a/apps/examples/src/examples/slides/SlidesExample.tsx b/apps/examples/src/examples/slides/SlidesExample.tsx new file mode 100644 index 000000000..493178898 --- /dev/null +++ b/apps/examples/src/examples/slides/SlidesExample.tsx @@ -0,0 +1,109 @@ +import { + DefaultKeyboardShortcutsDialog, + DefaultKeyboardShortcutsDialogContent, + DefaultToolbar, + DefaultToolbarContent, + TLComponents, + TLUiOverrides, + Tldraw, + TldrawUiMenuItem, + computed, + track, + useIsToolSelected, + useTools, +} from 'tldraw' +import 'tldraw/tldraw.css' +import { SlideShapeTool } from './SlideShapeTool' +import { SlideShapeUtil } from './SlideShapeUtil' +import { SlidesPanel } from './SlidesPanel' +import './slides.css' +import { $currentSlide, getSlides, moveToSlide } from './useSlides' + +const components: TLComponents = { + HelperButtons: SlidesPanel, + Minimap: null, + Toolbar: (props) => { + const tools = useTools() + const isSlideSelected = useIsToolSelected(tools['slide']) + return ( + + + + + ) + }, + KeyboardShortcutsDialog: (props) => { + const tools = useTools() + return ( + + + + + ) + }, +} + +const overrides: TLUiOverrides = { + actions(editor, actions) { + const $slides = computed('slides', () => getSlides(editor)) + return { + ...actions, + 'next-slide': { + id: 'next-slide', + label: 'Next slide', + kbd: 'right', + onSelect() { + const slides = $slides.get() + const currentSlide = $currentSlide.get() + const index = slides.findIndex((s) => s.id === currentSlide?.id) + const nextSlide = slides[index + 1] ?? currentSlide ?? slides[0] + if (nextSlide) { + editor.stopCameraAnimation() + moveToSlide(editor, nextSlide) + } + }, + }, + 'previous-slide': { + id: 'previous-slide', + label: 'Previous slide', + kbd: 'left', + onSelect() { + const slides = $slides.get() + const currentSlide = $currentSlide.get() + const index = slides.findIndex((s) => s.id === currentSlide?.id) + const previousSlide = slides[index - 1] ?? currentSlide ?? slides[slides.length - 1] + if (previousSlide) { + editor.stopCameraAnimation() + moveToSlide(editor, previousSlide) + } + }, + }, + } + }, + tools(editor, tools) { + tools.slide = { + id: 'slide', + icon: 'group', + label: 'Slide', + kbd: 's', + onSelect: () => editor.setCurrentTool('slide'), + } + return tools + }, +} + +const SlidesExample = track(() => { + return ( +
+ +
+ ) +}) + +export default SlidesExample diff --git a/apps/examples/src/examples/slides/SlidesPanel.tsx b/apps/examples/src/examples/slides/SlidesPanel.tsx new file mode 100644 index 000000000..9ed760b4b --- /dev/null +++ b/apps/examples/src/examples/slides/SlidesPanel.tsx @@ -0,0 +1,32 @@ +import { TldrawUiButton, stopEventPropagation, track, useEditor, useValue } from 'tldraw' +import { moveToSlide, useCurrentSlide, useSlides } from './useSlides' + +export const SlidesPanel = track(() => { + const editor = useEditor() + const slides = useSlides() + const currentSlide = useCurrentSlide() + const selectedShapes = useValue('selected shapes', () => editor.getSelectedShapes(), [editor]) + + if (slides.length === 0) return null + return ( +
stopEventPropagation(e)}> + {slides.map((slide, i) => { + const isSelected = selectedShapes.includes(slide) + return ( + moveToSlide(editor, slide)} + style={{ + background: currentSlide?.id === slide.id ? 'var(--color-background)' : 'transparent', + outline: isSelected ? 'var(--color-selection-stroke) solid 1.5px' : 'none', + }} + > + {`Slide ${i + 1}`} + + ) + })} +
+ ) +}) diff --git a/apps/examples/src/examples/slides/slides.css b/apps/examples/src/examples/slides/slides.css new file mode 100644 index 000000000..a98c2e028 --- /dev/null +++ b/apps/examples/src/examples/slides/slides.css @@ -0,0 +1,32 @@ +.slides-panel { + display: flex; + flex-direction: column; + gap: 4px; + max-height: calc(100% - 110px); + margin: 50px 0px; + padding: 4px; + background-color: var(--color-low); + pointer-events: all; + border-top-right-radius: var(--radius-4); + border-bottom-right-radius: var(--radius-4); + overflow: auto; + border-right: 2px solid var(--color-background); + border-bottom: 2px solid var(--color-background); + border-top: 2px solid var(--color-background); +} + +.slides-panel-button { + border-radius: var(--radius-4); + outline-offset: -1px; +} + +.slide-shape-label { + pointer-events: all; + position: absolute; + background: var(--color-low); + padding: calc(12px * var(--tl-scale)); + border-bottom-right-radius: calc(var(--radius-4) * var(--tl-scale)); + font-size: calc(12px * var(--tl-scale)); + color: var(--color-text); + white-space: nowrap; +} diff --git a/apps/examples/src/examples/slides/useSlides.tsx b/apps/examples/src/examples/slides/useSlides.tsx new file mode 100644 index 000000000..9f135c2ea --- /dev/null +++ b/apps/examples/src/examples/slides/useSlides.tsx @@ -0,0 +1,28 @@ +import { EASINGS, Editor, atom, useEditor, useValue } from 'tldraw' +import { SlideShape } from './SlideShapeUtil' + +export const $currentSlide = atom('current slide', null) + +export function moveToSlide(editor: Editor, slide: SlideShape) { + const bounds = editor.getShapePageBounds(slide.id) + if (!bounds) return + $currentSlide.set(slide) + editor.selectNone() + editor.zoomToBounds(bounds, { duration: 500, easing: EASINGS.easeInOutCubic, inset: 0 }) +} + +export function useSlides() { + const editor = useEditor() + return useValue('slide shapes', () => getSlides(editor), [editor]) +} + +export function useCurrentSlide() { + return useValue($currentSlide) +} + +export function getSlides(editor: Editor) { + return editor + .getSortedChildIdsForParent(editor.getCurrentPageId()) + .map((id) => editor.getShape(id)) + .filter((s) => s?.type === 'slide') as SlideShape[] +} diff --git a/apps/examples/src/examples/snapshots/SnapshotExample.tsx b/apps/examples/src/examples/snapshots/SnapshotExample.tsx index b3ef720b5..5bb8c01d3 100644 --- a/apps/examples/src/examples/snapshots/SnapshotExample.tsx +++ b/apps/examples/src/examples/snapshots/SnapshotExample.tsx @@ -1,6 +1,8 @@ -import { Tldraw } from 'tldraw' +import { TLStoreSnapshot, Tldraw } from 'tldraw' import 'tldraw/tldraw.css' -import jsonSnapshot from './snapshot.json' +import _jsonSnapshot from './snapshot.json' + +const jsonSnapshot = _jsonSnapshot as TLStoreSnapshot // There's a guide at the bottom of this file! diff --git a/apps/examples/src/examples/speech-bubble/README.md b/apps/examples/src/examples/speech-bubble/README.md index 1eb61d913..84bc6670b 100644 --- a/apps/examples/src/examples/speech-bubble/README.md +++ b/apps/examples/src/examples/speech-bubble/README.md @@ -2,7 +2,7 @@ title: Speech bubble component: ./CustomShapeWithHandles.tsx category: shapes/tools -priority: 2 +priority: 1 --- A custom shape with handles diff --git a/apps/examples/src/examples/speech-bubble/SpeechBubble/SpeechBubbleUtil.tsx b/apps/examples/src/examples/speech-bubble/SpeechBubble/SpeechBubbleUtil.tsx index cb33adde6..1c0d3e1f0 100644 --- a/apps/examples/src/examples/speech-bubble/SpeechBubble/SpeechBubbleUtil.tsx +++ b/apps/examples/src/examples/speech-bubble/SpeechBubble/SpeechBubbleUtil.tsx @@ -1,24 +1,28 @@ import { DefaultColorStyle, + DefaultFontStyle, + DefaultHorizontalAlignStyle, DefaultSizeStyle, + DefaultVerticalAlignStyle, + FONT_FAMILIES, Geometry2d, + LABEL_FONT_SIZES, Polygon2d, + ShapePropsType, ShapeUtil, T, + TEXT_PROPS, TLBaseShape, - TLDefaultColorStyle, - TLDefaultSizeStyle, TLHandle, TLOnBeforeUpdateHandler, TLOnHandleDragHandler, TLOnResizeHandler, + TextLabel, Vec, - VecModel, ZERO_INDEX_KEY, - deepCopy, - getDefaultColorTheme, resizeBox, structuredClone, + useDefaultColorTheme, vecModelValidator, } from 'tldraw' import { getSpeechBubbleVertices, getTailIntersectionPoint } from './helpers' @@ -34,28 +38,28 @@ export const STROKE_SIZES = { // There's a guide at the bottom of this file! // [1] -export type SpeechBubbleShape = TLBaseShape< - 'speech-bubble', - { - w: number - h: number - size: TLDefaultSizeStyle - color: TLDefaultColorStyle - tail: VecModel - } -> + +export const speechBubbleShapeProps = { + w: T.number, + h: T.number, + size: DefaultSizeStyle, + color: DefaultColorStyle, + font: DefaultFontStyle, + align: DefaultHorizontalAlignStyle, + verticalAlign: DefaultVerticalAlignStyle, + growY: T.positiveNumber, + text: T.string, + tail: vecModelValidator, +} + +export type SpeechBubbleShapeProps = ShapePropsType +export type SpeechBubbleShape = TLBaseShape<'speech-bubble', SpeechBubbleShapeProps> export class SpeechBubbleUtil extends ShapeUtil { static override type = 'speech-bubble' as const // [2] - static override props = { - w: T.number, - h: T.number, - size: DefaultSizeStyle, - color: DefaultColorStyle, - tail: vecModelValidator, - } + static override props = speechBubbleShapeProps override isAspectRatioLocked = (_shape: SpeechBubbleShape) => false @@ -63,17 +67,28 @@ export class SpeechBubbleUtil extends ShapeUtil { override canBind = (_shape: SpeechBubbleShape) => true + override canEdit = () => true + // [3] - getDefaultProps(): SpeechBubbleShape['props'] { + getDefaultProps(): SpeechBubbleShapeProps { return { w: 200, h: 130, color: 'black', size: 'm', + font: 'draw', + align: 'middle', + verticalAlign: 'start', + growY: 0, + text: '', tail: { x: 0.5, y: 1.5 }, } } + getHeight(shape: SpeechBubbleShape) { + return shape.props.h + shape.props.growY + } + getGeometry(shape: SpeechBubbleShape): Geometry2d { const speechBubbleGeometry = getSpeechBubbleVertices(shape) const body = new Polygon2d({ @@ -85,7 +100,7 @@ export class SpeechBubbleUtil extends ShapeUtil { // [4] override getHandles(shape: SpeechBubbleShape): TLHandle[] { - const { tail, w, h } = shape.props + const { tail, w } = shape.props return [ { @@ -95,7 +110,7 @@ export class SpeechBubbleUtil extends ShapeUtil { // props.tail coordinates are normalized // but here we need them in shape space x: tail.x * w, - y: tail.y * h, + y: tail.y * this.getHeight(shape), }, ] } @@ -106,29 +121,34 @@ export class SpeechBubbleUtil extends ShapeUtil { props: { tail: { x: handle.x / shape.props.w, - y: handle.y / shape.props.h, + y: handle.y / this.getHeight(shape), }, }, } } + override onBeforeCreate = (next: SpeechBubbleShape) => { + return this.getGrowY(next, next.props.growY) + } + // [5] override onBeforeUpdate: TLOnBeforeUpdateHandler | undefined = ( - _: SpeechBubbleShape, + prev: SpeechBubbleShape, shape: SpeechBubbleShape ) => { - const { w, h, tail } = shape.props + const { w, tail } = shape.props + const fullHeight = this.getHeight(shape) const { segmentsIntersection, insideShape } = getTailIntersectionPoint(shape) - const slantedLength = Math.hypot(w, h) + const slantedLength = Math.hypot(w, fullHeight) const MIN_DISTANCE = slantedLength / 5 const MAX_DISTANCE = slantedLength / 1.5 - const tailInShapeSpace = new Vec(tail.x * w, tail.y * h) + const tailInShapeSpace = new Vec(tail.x * w, tail.y * fullHeight) const distanceToIntersection = tailInShapeSpace.dist(segmentsIntersection) - const center = new Vec(w / 2, h / 2) + const center = new Vec(w / 2, fullHeight / 2) const tailDirection = Vec.Sub(tailInShapeSpace, center).uni() let newPoint = tailInShapeSpace @@ -143,30 +163,48 @@ export class SpeechBubbleUtil extends ShapeUtil { } } - const next = deepCopy(shape) + const next = structuredClone(shape) next.props.tail.x = newPoint.x / w - next.props.tail.y = newPoint.y / h + next.props.tail.y = newPoint.y / fullHeight - return next + return this.getGrowY(next, prev.props.growY) } component(shape: SpeechBubbleShape) { - const theme = getDefaultColorTheme({ - isDarkMode: this.editor.user.getIsDarkMode(), - }) + const { + id, + type, + props: { color, font, size, align, text }, + } = shape const vertices = getSpeechBubbleVertices(shape) const pathData = 'M' + vertices[0] + 'L' + vertices.slice(1) + 'Z' + const isSelected = shape.id === this.editor.getOnlySelectedShapeId() + // eslint-disable-next-line react-hooks/rules-of-hooks + const theme = useDefaultColorTheme() return ( <> + ) } @@ -186,6 +224,37 @@ export class SpeechBubbleUtil extends ShapeUtil { next.props.h = resized.props.h return next } + + getGrowY(shape: SpeechBubbleShape, prevGrowY = 0) { + const PADDING = 17 + + const nextTextSize = this.editor.textMeasure.measureText(shape.props.text, { + ...TEXT_PROPS, + fontFamily: FONT_FAMILIES[shape.props.font], + fontSize: LABEL_FONT_SIZES[shape.props.size], + maxWidth: shape.props.w - PADDING * 2, + }) + + const nextHeight = nextTextSize.h + PADDING * 2 + + let growY = 0 + + if (nextHeight > shape.props.h) { + growY = nextHeight - shape.props.h + } else { + if (prevGrowY) { + growY = 0 + } + } + + return { + ...shape, + props: { + ...shape.props, + growY, + }, + } + } } /* diff --git a/apps/examples/src/examples/speech-bubble/SpeechBubble/helpers.tsx b/apps/examples/src/examples/speech-bubble/SpeechBubble/helpers.tsx index 82953612a..8f609612d 100644 --- a/apps/examples/src/examples/speech-bubble/SpeechBubble/helpers.tsx +++ b/apps/examples/src/examples/speech-bubble/SpeechBubble/helpers.tsx @@ -2,14 +2,20 @@ import { Vec, VecLike, lerp, pointInPolygon } from 'tldraw' import { SpeechBubbleShape } from './SpeechBubbleUtil' export const getSpeechBubbleVertices = (shape: SpeechBubbleShape): Vec[] => { - const { w, h, tail } = shape.props + const { w, tail } = shape.props - const tailInShapeSpace = new Vec(tail.x * w, tail.y * h) + const fullHeight = shape.props.h + shape.props.growY + const tailInShapeSpace = new Vec(tail.x * w, tail.y * fullHeight) - const [tl, tr, br, bl] = [new Vec(0, 0), new Vec(w, 0), new Vec(w, h), new Vec(0, h)] + const [tl, tr, br, bl] = [ + new Vec(0, 0), + new Vec(w, 0), + new Vec(w, fullHeight), + new Vec(0, fullHeight), + ] const offsetH = w / 10 - const offsetV = h / 10 + const offsetV = fullHeight / 10 const { adjustedIntersection, intersectionSegmentIndex } = getTailIntersectionPoint(shape) @@ -73,11 +79,12 @@ export const getSpeechBubbleVertices = (shape: SpeechBubbleShape): Vec[] => { } export function getTailIntersectionPoint(shape: SpeechBubbleShape) { - const { w, h, tail } = shape.props - const tailInShapeSpace = new Vec(tail.x * w, tail.y * h) + const { w, tail } = shape.props + const fullHeight = shape.props.h + shape.props.growY + const tailInShapeSpace = new Vec(tail.x * w, tail.y * fullHeight) - const center = new Vec(w / 2, h / 2) - const corners = [new Vec(0, 0), new Vec(w, 0), new Vec(w, h), new Vec(0, h)] + const center = new Vec(w / 2, fullHeight / 2) + const corners = [new Vec(0, 0), new Vec(w, 0), new Vec(w, fullHeight), new Vec(0, fullHeight)] const segments = [ [corners[0], corners[1]], [corners[1], corners[2]], @@ -132,7 +139,7 @@ export function getTailIntersectionPoint(shape: SpeechBubbleShape) { const squared = mapRange(-1, 1, 0, totalDistance, squaredRelative) // -1 to 1 -> absolute //keep it away from the edges - const offset = (segments.indexOf(intersectionSegment) % 2 === 0 ? w / 10 : h / 10) * 3 + const offset = (segments.indexOf(intersectionSegment) % 2 === 0 ? w / 10 : fullHeight / 10) * 3 const constrained = mapRange(0, totalDistance, offset, totalDistance - offset, distance) // combine the two diff --git a/apps/examples/src/examples/speech-bubble/SpeechBubble/ui-overrides.tsx b/apps/examples/src/examples/speech-bubble/SpeechBubble/ui-overrides.tsx index 6cd924889..70917694c 100644 --- a/apps/examples/src/examples/speech-bubble/SpeechBubble/ui-overrides.tsx +++ b/apps/examples/src/examples/speech-bubble/SpeechBubble/ui-overrides.tsx @@ -1,11 +1,13 @@ import { DefaultKeyboardShortcutsDialog, DefaultKeyboardShortcutsDialogContent, + DefaultToolbar, + DefaultToolbarContent, TLComponents, TLUiAssetUrlOverrides, TLUiOverrides, TldrawUiMenuItem, - toolbarItem, + useIsToolSelected, useTools, } from 'tldraw' @@ -25,14 +27,9 @@ export const uiOverrides: TLUiOverrides = { } return tools }, - toolbar(_app, toolbar, { tools }) { - toolbar.splice(4, 0, toolbarItem(tools.speech)) - return toolbar - }, } // [2] - export const customAssetUrls: TLUiAssetUrlOverrides = { icons: { 'speech-bubble': '/speech-bubble.svg', @@ -40,12 +37,22 @@ export const customAssetUrls: TLUiAssetUrlOverrides = { } export const components: TLComponents = { + Toolbar: (props) => { + const tools = useTools() + const isSpeechBubbleSelected = useIsToolSelected(tools['speech']) + return ( + + + + + ) + }, KeyboardShortcutsDialog: (props) => { const tools = useTools() return ( - + ) }, @@ -57,13 +64,10 @@ This file contains overrides for the Tldraw UI. These overrides are used to add to the toolbar and the keyboard shortcuts menu. [1] -Here we add our custom tool to the toolbar. We do this by providing a custom -toolbar override to the Tldraw component. This override is a function that takes -the current editor, the default toolbar items, and the default tools. It returns -the new toolbar items. We use the toolbarItem helper to create a new toolbar item -for our custom tool. We then splice it into the toolbar items array at the 4th index. -This puts it after the eraser tool. We'll pass our overrides object into the -Tldraw component's `overrides` prop. +Here we add our new tool to the UI's tools object in the tools override. This is where we define +all the basic information about our new tool - its icon, label, keyboard shortcut, what happens when +we select it, etc. + [2] Our toolbar item is using a custom icon, so we need to provide the asset url for it. @@ -72,4 +76,10 @@ This object is a map of icon ids to their urls. The icon ids are the same as the icon prop on the toolbar item. We'll pass our assetUrls object into the Tldraw component's `assetUrls` prop. +[3] +We replace the UI components for the toolbar and keyboard shortcut dialog with our own, that +add our new tool to the existing default content. Ideally, we'd interleave our new tool into the +ideal place among the default tools, but for now we're just adding it at the start to keep things +simple. + */ diff --git a/apps/examples/src/examples/speech-bubble/customhandles.css b/apps/examples/src/examples/speech-bubble/customhandles.css index a57e290ab..f7afe0410 100644 --- a/apps/examples/src/examples/speech-bubble/customhandles.css +++ b/apps/examples/src/examples/speech-bubble/customhandles.css @@ -1,5 +1,10 @@ /* Resize handles are normally on top, but We're going to give shape handles priority */ .tl-user-handles { z-index: 101; +} -} \ No newline at end of file +/* The text label doesn't normally deal with text that goes sideways, + * so this accounts for that */ +.tl-shape[data-shape-type='speech-bubble'] .tl-text-label { + justify-content: flex-start !important; +} diff --git a/apps/examples/src/examples/things-on-the-canvas/OnTheCanvas.tsx b/apps/examples/src/examples/things-on-the-canvas/OnTheCanvas.tsx index 122778512..0bcbe6579 100644 --- a/apps/examples/src/examples/things-on-the-canvas/OnTheCanvas.tsx +++ b/apps/examples/src/examples/things-on-the-canvas/OnTheCanvas.tsx @@ -1,5 +1,5 @@ import { useState } from 'react' -import { stopEventPropagation, Tldraw, TLEditorComponents, track, useEditor, Vec } from 'tldraw' +import { stopEventPropagation, Tldraw, TLEditorComponents, track, useEditor } from 'tldraw' import 'tldraw/tldraw.css' // There's a guide at the bottom of this file! @@ -60,10 +60,7 @@ const MyComponentInFront = track(() => { const selectionRotatedPageBounds = editor.getSelectionRotatedPageBounds() if (!selectionRotatedPageBounds) return null - const pageCoordinates = Vec.Sub( - editor.pageToScreen(selectionRotatedPageBounds.point), - editor.getViewportScreenBounds() - ) + const pageCoordinates = editor.pageToViewport(selectionRotatedPageBounds.point) return (
[Idle, Pointing, Dragging] +} + +// [2] +class Idle extends StateNode { + static override id = 'idle' + //[a] + override onEnter = () => { + this.editor.setCursor({ type: 'cross' }) + } + //[b] + override onPointerDown: TLEventHandlers['onPointerDown'] = (info) => { + const { editor } = this + switch (info.target) { + case 'canvas': { + const hitShape = editor.getShapeAtPoint(editor.inputs.currentPagePoint) + if (hitShape) { + this.onPointerDown({ + ...info, + shape: hitShape, + target: 'shape', + }) + return + } + this.parent.transition('pointing', { shape: null }) + break + } + case 'shape': { + if (editor.inputs.shiftKey) { + editor.updateShape({ + id: info.shape.id, + type: 'text', + props: { text: '👻 boo!' }, + }) + } else { + this.parent.transition('pointing', { shape: info.shape }) + } + break + } + } + } + //[c] + override onDoubleClick: TLEventHandlers['onDoubleClick'] = (info) => { + const { editor } = this + if (info.phase !== 'up') return + switch (info.target) { + case 'canvas': { + const hitShape = editor.getShapeAtPoint(editor.inputs.currentPagePoint) + + if (hitShape) { + this.onDoubleClick({ + ...info, + shape: hitShape, + target: 'shape', + }) + return + } + const { currentPagePoint } = editor.inputs + editor.createShape({ + type: 'text', + x: currentPagePoint.x + OFFSET, + y: currentPagePoint.y + OFFSET, + props: { text: '❤️' }, + }) + break + } + case 'shape': { + editor.deleteShapes([info.shape.id]) + break + } + } + } +} +// [3] +class Pointing extends StateNode { + static override id = 'pointing' + private shape: TLTextShape | null = null + + override onEnter = (info: { shape: TLTextShape | null }) => { + this.shape = info.shape + } + override onPointerUp: TLEventHandlers['onPointerUp'] = () => { + this.parent.transition('idle') + } + + override onPointerMove: TLEventHandlers['onPointerMove'] = () => { + if (this.editor.inputs.isDragging) { + this.parent.transition('dragging', { shape: this.shape }) + } + } +} + +// [4] +class Dragging extends StateNode { + static override id = 'dragging' + // [a] + private shape: TLShapePartial | null = null + private emojiArray = ['❤️', '🔥', '👍', '👎', '😭', '🤣'] + + // [b] + override onEnter = (info: { shape: TLShapePartial }) => { + const { currentPagePoint } = this.editor.inputs + const newShape = { + id: createShapeId(), + type: 'text', + x: currentPagePoint.x + OFFSET, + y: currentPagePoint.y + OFFSET, + props: { text: '❤️' }, + } + if (info.shape) { + this.shape = info.shape + } else { + this.editor.createShape(newShape) + this.shape = { ...newShape } + } + } + //[c] + override onPointerUp: TLEventHandlers['onPointerUp'] = () => { + this.parent.transition('idle') + } + //[d] + + override onPointerMove: TLEventHandlers['onPointerUp'] = () => { + const { shape } = this + const { originPagePoint, currentPagePoint } = this.editor.inputs + const distance = originPagePoint.dist(currentPagePoint) + if (shape) { + this.editor.updateShape({ + id: shape.id, + type: 'text', + props: { + text: this.emojiArray[Math.floor(distance / 20) % this.emojiArray.length], + }, + }) + } + } +} + +// [5] +const customTools = [StickerTool] +export default function ToolWithChildStatesExample() { + return ( +
+ { + editor.createShape({ + type: 'text', + x: 50, + y: 50, + props: { + text: '-Double click the canvas to add a sticker\n-Double click a sticker to delete it\n-Click and drag on a sticker to change it\n-Click and drag on the canvas to create a sticker\n-Shift click a sticker for a surprise!', + size: 's', + align: 'start', + }, + }) + }} + /> +
+ ) +} + +/* +Introduction: + +Tools are nodes in tldraw's state machine. They are responsible for handling user input. +You can create custom tools by extending the `StateNode` class and overriding its +methods. In this example we expand on the sticker tool from the custom tool example to +show how to create a tool that can handle more complex interactions by using child states. + +[1] +This is our custom tool. It has three child states: `Idle`, `Pointing`, and `Dragging`. +We need to define the `id` and `initial` properties, the id is a unique string that +identifies the tool to the editor, and the initial property is the initial state of the +tool. We also need to define a `children` method that returns an array of the tool's +child states. + +[2] +This is our Idle state. It is the initial state of the tool. It's job is to figure out +what the user is trying to do and transition to the appropriate state. When transitioning +between states we can use the second argument to pass data to the new state. It has three +methods: + + [a] `onEnter` + When entering any state, the `onEnter` method is called. In this case, we set the cursor to + a crosshair. + + [b] `onPointerDown` + This method is called when the user presses the mouse button. The target parameter is always + the canvas, so we can use an editor method to check if we're over a shape, and call the + method again with the shape as the target. If we are over a shape, we transition to the + `pointing` state with the shape in the info object. If we're over a shape and holding the + shift key, we update the shape's text. If we're over the canvas, we transition to the + `pointing` state with a null shape in the info object. + + [c] `onDoubleClick` + This method is called when the user double clicks the mouse button. We're using some similar + logic here to check if we're over a shape, and if we are, we delete it. If we're over the canvas, + we create a new shape. + +[3] +This is our `Pointing` state. It's a transitionary state, we use it to store the shape we're pointing +at, and transition to the dragging state if the user starts dragging. It has three methods: + + [a] `onEnter` + When entering this state, we store the shape we're pointing at by getting it from the info object. + + [b] `onPointerUp` + This method is called when the user releases the mouse button. We transition to the `idle` state. + + [c] `onPointerMove` + This method is called when the user moves the mouse. If the user starts dragging, we transition to + the `dragging` state and pass the shape we're pointing at. + +[4] +This is our `Dragging` state. It's responsible for creating and updating the shape that the user is +dragging. + + [a] `onEnter` + When entering this state, we create a new shape if we're not dragging an existing one. If we are, + we store the shape we're dragging. + + [b] `onPointerUp` + This method is called when the user releases the mouse button. We transition to the `idle` state. + + [c] `onPointerMove` + This method is called when the user moves the mouse. We use the distance between the origin and + current mouse position to cycle through an array of emojis and update the shape's text. + +[5] +We pass our custom tool to the `Tldraw` component as an array. We also set the initial state to our +custom tool. For the purposes of this demo, we're also hiding the UI and adding some helpful text to +the canvas. +*/ diff --git a/apps/examples/src/examples/ui-components-hidden/UiComponentsHiddenExample.tsx b/apps/examples/src/examples/ui-components-hidden/UiComponentsHiddenExample.tsx index d58e118df..beabe1a70 100644 --- a/apps/examples/src/examples/ui-components-hidden/UiComponentsHiddenExample.tsx +++ b/apps/examples/src/examples/ui-components-hidden/UiComponentsHiddenExample.tsx @@ -16,6 +16,7 @@ const components: Required = { KeyboardShortcutsDialog: null, QuickActions: null, HelperButtons: null, + DebugPanel: null, DebugMenu: null, SharePanel: null, MenuPanel: null, diff --git a/apps/examples/src/examples/user-presence/UserPresenceExample.tsx b/apps/examples/src/examples/user-presence/UserPresenceExample.tsx index 070e6b7a5..1816c3e99 100644 --- a/apps/examples/src/examples/user-presence/UserPresenceExample.tsx +++ b/apps/examples/src/examples/user-presence/UserPresenceExample.tsx @@ -29,7 +29,9 @@ export default function UserPresenceExample() { chatMessage: CURSOR_CHAT_MESSAGE, }) - editor.store.put([peerPresence]) + editor.store.mergeRemoteChanges(() => { + editor.store.put([peerPresence]) + }) // [b] const raf = rRaf.current @@ -67,23 +69,29 @@ export default function UserPresenceExample() { ) } - editor.store.put([ - { - ...peerPresence, - cursor, - chatMessage, - lastActivityTimestamp: now, - }, - ]) + editor.store.mergeRemoteChanges(() => { + editor.store.put([ + { + ...peerPresence, + cursor, + chatMessage, + lastActivityTimestamp: now, + }, + ]) + }) rRaf.current = requestAnimationFrame(loop) } rRaf.current = requestAnimationFrame(loop) } else { - editor.store.put([{ ...peerPresence, lastActivityTimestamp: Date.now() }]) - rRaf.current = setInterval(() => { + editor.store.mergeRemoteChanges(() => { editor.store.put([{ ...peerPresence, lastActivityTimestamp: Date.now() }]) + }) + rRaf.current = setInterval(() => { + editor.store.mergeRemoteChanges(() => { + editor.store.put([{ ...peerPresence, lastActivityTimestamp: Date.now() }]) + }) }, 1000) } }} diff --git a/apps/examples/src/index.html b/apps/examples/src/index.html index 5b3efcb37..c933b376c 100644 --- a/apps/examples/src/index.html +++ b/apps/examples/src/index.html @@ -1,4 +1,4 @@ - + diff --git a/apps/examples/src/index.tsx b/apps/examples/src/index.tsx index e0fc33468..1b6ea2b8c 100644 --- a/apps/examples/src/index.tsx +++ b/apps/examples/src/index.tsx @@ -19,9 +19,9 @@ import EndToEnd from './misc/end-to-end' const assetUrls = getAssetUrlsByMetaUrl() setDefaultEditorAssetUrls(assetUrls) setDefaultUiAssetUrls(assetUrls) -const gettingStartedExamples = examples.find((e) => e.id === 'Getting Started') +const gettingStartedExamples = examples.find((e) => e.id === 'Getting started') if (!gettingStartedExamples) throw new Error('Could not find getting started exmaples') -const basicExample = gettingStartedExamples.value.find((e) => e.title === 'Persistence key') +const basicExample = gettingStartedExamples.value.find((e) => e.title === 'Tldraw component') if (!basicExample) throw new Error('Could not find initial example') const router = createBrowserRouter([ diff --git a/apps/examples/src/misc/EndToEndApi.tsx b/apps/examples/src/misc/EndToEndApi.tsx new file mode 100644 index 000000000..b5a6e60a9 --- /dev/null +++ b/apps/examples/src/misc/EndToEndApi.tsx @@ -0,0 +1,6 @@ +import { TLExportType } from 'tldraw' + +export interface EndToEndApi { + exportAsSvg: () => void + exportAsFormat: (format: TLExportType) => void +} diff --git a/apps/examples/src/misc/end-to-end.tsx b/apps/examples/src/misc/end-to-end.tsx index e92fa4bfe..06ad6c556 100644 --- a/apps/examples/src/misc/end-to-end.tsx +++ b/apps/examples/src/misc/end-to-end.tsx @@ -1,6 +1,7 @@ import { useEffect } from 'react' -import { Tldraw, useActions } from 'tldraw' +import { Tldraw, exportAs, useActions, useEditor } from 'tldraw' import 'tldraw/tldraw.css' +import { EndToEndApi } from './EndToEndApi' ;(window as any).__tldraw_ui_event = { id: 'NOTHING_YET' } ;(window as any).__tldraw_editor_events = [] @@ -27,11 +28,17 @@ export default function EndToEnd() { } function SneakyExportButton() { + const editor = useEditor() const actions = useActions() useEffect(() => { - ;(window as any)['tldraw-export'] = () => actions['export-as-svg'].onSelect('unknown') - }, [actions]) + const api: EndToEndApi = { + exportAsSvg: () => actions['export-as-svg'].onSelect('unknown'), + exportAsFormat: (format) => + exportAs(editor, editor.selectAll().getSelectedShapeIds(), format, 'test'), + } + ;(window as any).tldrawApi = api + }, [actions, editor]) return null } diff --git a/apps/examples/src/styles.css b/apps/examples/src/styles.css index 7f65fbbb9..334e7e171 100644 --- a/apps/examples/src/styles.css +++ b/apps/examples/src/styles.css @@ -1,4 +1,4 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap'); :root { --gray-light: #f5f5f5; @@ -17,6 +17,8 @@ body { /* mobile viewport bug fix */ min-height: -webkit-fill-available; height: 100%; + /* prevent two-finger swipe to go back */ + overscroll-behavior-x: none; } @media screen and (max-width: 600px) { html, @@ -68,7 +70,7 @@ html, width: 256px; min-width: 256px; display: grid; - grid-template-rows: auto 1fr auto; + grid-template-rows: auto 48px 48px 1fr auto; border-right: 1px solid var(--black-transparent-light); overflow: hidden; font-size: 14px; @@ -81,6 +83,14 @@ html, color: inherit; } +.example__sidebar__filter { + margin: 8px; + padding: 8px; + border-radius: 6px; + border: 1px solid #e8e8e8; + font-size: 14px; +} + /* Header */ .example__sidebar__header { @@ -129,10 +139,15 @@ ul.example__sidebar__categories { /* Category */ li.example__sidebar__category { + display: none; position: relative; padding: 8px 0px; } +.example__sidebar__category:has(> ul > li) { + display: block; +} + ul.example__sidebar__category__items { list-style: none; padding: 0px 0px 0px 4px; diff --git a/apps/examples/vite.config.ts b/apps/examples/vite.config.ts index 052af1cb4..648787582 100644 --- a/apps/examples/vite.config.ts +++ b/apps/examples/vite.config.ts @@ -9,6 +9,10 @@ export default defineConfig({ build: { outDir: path.join(__dirname, 'dist'), assetsInlineLimit: 0, + target: 'es2022', + }, + esbuild: { + target: 'es2022', }, server: { port: 5420, @@ -16,6 +20,9 @@ export default defineConfig({ clearScreen: false, optimizeDeps: { exclude: ['@tldraw/assets'], + esbuildOptions: { + target: 'es2022', + }, }, define: { 'process.env.TLDRAW_ENV': JSON.stringify(process.env.VERCEL_ENV ?? 'development'), diff --git a/apps/health-worker/README.md b/apps/health-worker/README.md index b292dc138..639b2098d 100644 --- a/apps/health-worker/README.md +++ b/apps/health-worker/README.md @@ -1,3 +1,3 @@ # Health Worker -Accepts webhooks from [Updown](https://updown.io/), sends them to our Discord. \ No newline at end of file +Accepts webhooks from [Updown](https://updown.io/), sends them to our Discord. diff --git a/apps/huppy/README.md b/apps/huppy/README.md index 91a71a655..bbe38acc8 100644 --- a/apps/huppy/README.md +++ b/apps/huppy/README.md @@ -13,8 +13,8 @@ REPO_SYNC_HOOK_SECRET= DM alex to get hold of these credentials. -To start the server, run `yarn dev-repo-sync`. Once running, you can go to -https://localhost:3000/deliveries to get to a list of github webhook event +To start the server, run `yarn dev-huppy`. Once running, you can go to +http://localhost:3000/deliveries to get to a list of github webhook event deliveries. To test your code, pick an event that does roughly what you want and hit 'simulate'. You can also ask GitHub to re-deliver events to the production version of repo-sync through this UI. @@ -22,7 +22,7 @@ version of repo-sync through this UI. Huppy-bot isn't currently deployed automatically. To deploy, use: ```sh -fly deploy --config apps/repo-sync/fly.toml --dockerfile apps/repo-sync/Dockerfile +fly deploy --config apps/huppy/fly.toml --dockerfile apps/huppy/Dockerfile ``` from the repo root. diff --git a/apps/huppy/src/flows/enforcePrLabels.tsx b/apps/huppy/src/flows/enforcePrLabels.tsx index dd760902f..c73092abc 100644 --- a/apps/huppy/src/flows/enforcePrLabels.tsx +++ b/apps/huppy/src/flows/enforcePrLabels.tsx @@ -39,81 +39,34 @@ export const enforcePrLabels: Flow = { return await succeed('Closed PR, skipping label check') } - const currentReleaseLabels = pull.labels - .map((label) => label.name) - .filter((label) => VALID_LABELS.includes(label)) - - if (currentReleaseLabels.length > 1 && !allHaveSameBumpType(currentReleaseLabels)) { - return fail(`PR has multiple release labels: ${currentReleaseLabels.join(', ')}`) - } + const availableLabels = ( + await ctx.octokit.rest.issues.listLabelsForRepo({ + owner: event.repository.owner.login, + repo: event.repository.name, + }) + ).data.map((x) => x.name) const prBody = pull.body - const selectedReleaseLabels = VALID_LABELS.filter((label) => + const selectedReleaseLabels = availableLabels.filter((label) => prBody?.match(new RegExp(`^\\s*?-\\s*\\[\\s*x\\s*\\]\\s+\`${label}\``, 'm')) - ) as (keyof typeof LABEL_TYPES)[] + ) as string[] - if (selectedReleaseLabels.length > 1 && !allHaveSameBumpType(selectedReleaseLabels)) { - return await fail( - `PR has multiple checked labels: ${selectedReleaseLabels.join( - ', ' - )}. Please select only one` - ) - } - - const [current] = currentReleaseLabels - const [selected] = selectedReleaseLabels - - if (!current && !selected) { - return await fail( - `Please assign one of the following release labels to this PR: ${VALID_LABELS.join(', ')}` - ) - } - - if (current === selected || (current && !selected)) { - return succeed(`PR has label: ${current}`) - } - - // otherwise the label has changed or is being set for the first time - // from the pr body - if (current) { - await ctx.octokit.rest.issues.removeLabel({ - issue_number: event.number, - name: current, - owner: 'ds300', - repo: 'lazyrepo', - }) + if (selectedReleaseLabels.length === 0 && pull.labels.length === 0) { + return fail('Please add a label to the PR.') } + // add any labels that are checked console.log('adding labels') - await ctx.octokit.rest.issues.addLabels({ - issue_number: pull.number, - owner: event.repository.organization ?? event.repository.owner.login, - repo: event.repository.name, - labels: [selected], - } as any) + if (selectedReleaseLabels.length > 0) { + await ctx.octokit.rest.issues.addLabels({ + issue_number: pull.number, + owner: event.repository.organization ?? event.repository.owner.login, + repo: event.repository.name, + labels: selectedReleaseLabels, + } as any) + } - return await succeed(`PR label set to: ${selected}`) + return await succeed(`PR is labelled!`) }, } - -const LABEL_TYPES = { - tests: 'none', - internal: 'none', - documentation: 'none', - dependencies: 'patch', - major: 'major', - minor: 'minor', - patch: 'patch', -} - -const VALID_LABELS = Object.keys(LABEL_TYPES) - -function allHaveSameBumpType(labels: string[]) { - const [first] = labels - return labels.every( - (label) => - LABEL_TYPES[label as keyof typeof LABEL_TYPES] === - LABEL_TYPES[first as keyof typeof LABEL_TYPES] - ) -} diff --git a/apps/vscode/editor/public/index.css b/apps/vscode/editor/public/index.css index 2aa70f680..076c49a9c 100644 --- a/apps/vscode/editor/public/index.css +++ b/apps/vscode/editor/public/index.css @@ -1,4 +1,4 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap'); html, body { diff --git a/apps/vscode/editor/src/ChangeResponder.tsx b/apps/vscode/editor/src/ChangeResponder.tsx index 7cb77f6c7..a0bbb5cdd 100644 --- a/apps/vscode/editor/src/ChangeResponder.tsx +++ b/apps/vscode/editor/src/ChangeResponder.tsx @@ -57,11 +57,11 @@ export const ChangeResponder = () => { type: 'vscode:editor-loaded', }) - editor.on('change-history', handleChange) + const dispose = editor.store.listen(handleChange, { scope: 'document' }) return () => { handleChange() - editor.off('change-history', handleChange) + dispose() } }, [editor]) diff --git a/apps/vscode/editor/src/app.tsx b/apps/vscode/editor/src/app.tsx index 1b6195d01..be1bc9261 100644 --- a/apps/vscode/editor/src/app.tsx +++ b/apps/vscode/editor/src/app.tsx @@ -1,6 +1,3 @@ -// eslint-disable-next-line import/no-internal-modules -import 'tldraw/tldraw.css' -// eslint-disable-next-line import/no-internal-modules import { getAssetUrlsByImport } from '@tldraw/assets/imports' import { useCallback, useEffect, useMemo, useState } from 'react' import { @@ -13,6 +10,7 @@ import { TldrawUiMenuGroup, setRuntimeOverrides, } from 'tldraw' +import 'tldraw/tldraw.css' import { VscodeMessage } from '../../messages' import '../public/index.css' import { ChangeResponder } from './ChangeResponder' diff --git a/apps/vscode/extension/CHANGELOG.md b/apps/vscode/extension/CHANGELOG.md index 8f2253908..36e80a6c1 100644 --- a/apps/vscode/extension/CHANGELOG.md +++ b/apps/vscode/extension/CHANGELOG.md @@ -1,3 +1,31 @@ +## 2.0.31 + +- Improved minimap. +- Improved "Back to content" button. +- Improved handles on the note shape. + +## 2.0.30 + +- Fixes a bug that prevented opening some files. + +## 2.0.29 + +- Improved note shapes. +- Color improvements for both light and dark mode. +- Bug fixes and performance improvements. + +## 2.0.28 + +- Fix an issue with panning the canvas. + +## 2.0.27 + +- Bug fixes and performance improvements. + +## 2.0.26 + +- Bug fixes and performance improvements. + ## 2.0.25 - Translation improvements. diff --git a/apps/vscode/extension/package.json b/apps/vscode/extension/package.json index c2dfa4772..c193bfcad 100644 --- a/apps/vscode/extension/package.json +++ b/apps/vscode/extension/package.json @@ -1,7 +1,7 @@ { "name": "tldraw-vscode", "description": "The tldraw extension for VS Code.", - "version": "2.0.25", + "version": "2.0.31", "private": true, "author": { "name": "tldraw Inc.", diff --git a/assets/icons/icon/check-circle.svg b/assets/icons/icon/check-circle.svg new file mode 100644 index 000000000..1131b9e12 --- /dev/null +++ b/assets/icons/icon/check-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/icon/clipboard-copied.svg b/assets/icons/icon/clipboard-copied.svg index 1860e1516..5bc86e6b8 100644 --- a/assets/icons/icon/clipboard-copied.svg +++ b/assets/icons/icon/clipboard-copied.svg @@ -1,4 +1,4 @@ - + diff --git a/assets/icons/icon/cross-circle.svg b/assets/icons/icon/cross-circle.svg new file mode 100644 index 000000000..c8a92bd8e --- /dev/null +++ b/assets/icons/icon/cross-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/icon/error.svg b/assets/icons/icon/error.svg new file mode 100644 index 000000000..854bf824f --- /dev/null +++ b/assets/icons/icon/error.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/assets/icons/icon/tool-note.svg b/assets/icons/icon/tool-note.svg index 2e588e96f..66b6d448a 100644 --- a/assets/icons/icon/tool-note.svg +++ b/assets/icons/icon/tool-note.svg @@ -1,3 +1,4 @@ - + + diff --git a/assets/translations/main.json b/assets/translations/main.json index fe65d20fb..c2a3a5a73 100644 --- a/assets/translations/main.json +++ b/assets/translations/main.json @@ -37,17 +37,18 @@ "action.export-as-svg.short": "SVG", "action.export-as-svg": "Export as SVG", "action.export-all-as-json.short": "JSON", - "action.export-all-as-json": "Export all as JSON", + "action.export-all-as-json": "Export as JSON", "action.export-all-as-png.short": "PNG", - "action.export-all-as-png": "Export all as PNG", + "action.export-all-as-png": "Export as PNG", "action.export-all-as-svg.short": "SVG", - "action.export-all-as-svg": "Export all as SVG", + "action.export-all-as-svg": "Export as SVG", "action.fit-frame-to-content": "Fit to content", "action.flip-horizontal": "Flip horizontally", "action.flip-vertical": "Flip vertically", "action.flip-horizontal.short": "Flip H", "action.flip-vertical.short": "Flip V", "action.fork-project": "Fork this project", + "action.fork-project-on-tldraw": "Fork project on tldraw", "action.group": "Group", "action.insert-embed": "Insert embed", "action.insert-media": "Upload media", @@ -111,6 +112,7 @@ "action.zoom-to-selection": "Zoom to selection", "assets.files.upload-failed": "Upload failed", "assets.url.failed": "Couldn't load URL preview", + "color-style.white": "White", "color-style.black": "Black", "color-style.blue": "Blue", "color-style.green": "Green", @@ -225,7 +227,6 @@ "menu.title": "Menu", "menu.copy-as": "Copy as", "menu.edit": "Edit", - "menu.shape": "Shape", "menu.export-as": "Export as", "menu.file": "File", "menu.language": "Language", @@ -234,7 +235,7 @@ "context-menu.arrange": "Arrange", "context-menu.copy-as": "Copy as", "context-menu.export-as": "Export as", - "context-menu.export-all-as": "Export all as", + "context-menu.export-all-as": "Export", "context-menu.move-to-page": "Move to page", "context-menu.reorder": "Reorder", "page-menu.title": "Pages", @@ -262,7 +263,7 @@ "share-menu.copy-readonly-link": "Copy read-only link", "share-menu.offline-note": "Create a new shared project based on your current project.", "share-menu.copy-link-note": "Anyone with the link will be able to view and edit this project.", - "share-menu.copy-readonly-link-note": "Anyone with the link will be able to view (but not edit) this project.", + "share-menu.copy-readonly-link-note": "Anyone with the link will be able to access this project.", "share-menu.project-too-large": "Sorry, this project can't be shared because it's too large. We're working on it!", "share-menu.upload-failed": "Sorry, we couldn't upload your project at the moment. Please try again or let us know if the problem persists.", "status.offline": "Offline", diff --git a/assets/translations/ro.json b/assets/translations/ro.json index 5fda21589..badb697a1 100644 --- a/assets/translations/ro.json +++ b/assets/translations/ro.json @@ -28,12 +28,19 @@ "action.duplicate": "Fă duplicat", "action.edit-link": "Editează legătură", "action.exit-pen-mode": "Ieși din modul stilou", + "action.export-all-as-json": "Exportă totul ca JSON", + "action.export-all-as-json.short": "JSON", + "action.export-all-as-png": "Exportă totul ca PNG", + "action.export-all-as-png.short": "PNG", + "action.export-all-as-svg": "Exportă totul ca SVG", + "action.export-all-as-svg.short": "SVG", "action.export-as-json": "Exportă ca JSON", "action.export-as-json.short": "JSON", "action.export-as-png": "Exportă ca PNG", "action.export-as-png.short": "PNG", "action.export-as-svg": "Exportă ca SVG", "action.export-as-svg.short": "SVG", + "action.fit-frame-to-content": "Potrivește la conținut", "action.flip-horizontal": "Întoarce pe orizontală", "action.flip-horizontal.short": "Întoarce pe orizontală", "action.flip-vertical": "Întoarce pe verticală", @@ -52,6 +59,8 @@ "action.paste": "Lipește", "action.print": "Imprimă", "action.redo": "Refă", + "action.remove-frame": "Elimină ramă", + "action.rename": "Redenumește", "action.rotate-ccw": "Rotire în sens invers acelor de ceasornic", "action.rotate-cw": "Rotire în sensul acelor de ceasornic", "action.save-copy": "Salvează o copie", @@ -74,6 +83,8 @@ "action.toggle-dark-mode.menu": "Mod întunecat", "action.toggle-debug-mode": "Comută mod depanare", "action.toggle-debug-mode.menu": "Mod depanare", + "action.toggle-edge-scrolling": "Comută derularea marginilor", + "action.toggle-edge-scrolling.menu": "Derulare margini", "action.toggle-focus-mode": "Comută mod focalizare", "action.toggle-focus-mode.menu": "Mod focalizare", "action.toggle-grid": "Comută grilă", @@ -88,6 +99,8 @@ "action.toggle-transparent": "Comută fundal transparent", "action.toggle-transparent.context-menu": "Transparent", "action.toggle-transparent.menu": "Transparent", + "action.toggle-wrap-mode": "Comută selectare la împachetare", + "action.toggle-wrap-mode.menu": "Selectează la împachetare", "action.undo": "Anulează", "action.ungroup": "Anulează gruparea", "action.unlock-all": "Deblochează tot", @@ -119,6 +132,8 @@ "arrowheadStart-style.pipe": "Conductă", "arrowheadStart-style.square": "Pătrat", "arrowheadStart-style.triangle": "Triunghi", + "assets.files.upload-failed": "Încărcare eșuată", + "assets.url.failed": "Nu s-a putut încărca previzualizarea URL-ului", "color-style.black": "Negru", "color-style.blue": "Albastru", "color-style.green": "Verde", @@ -133,6 +148,7 @@ "color-style.yellow": "Galben", "context-menu.arrange": "Aranjează", "context-menu.copy-as": "Copiază ca", + "context-menu.export-all-as": "Exportă totul ca", "context-menu.export-as": "Exportă ca", "context-menu.move-to-page": "Mută în pagina", "context-menu.reorder": "Reordonează", @@ -143,6 +159,7 @@ "dash-style.draw": "Desenează", "dash-style.solid": "Solid", "debug-panel.more": "Mai multe", + "document.default-name": "Fără titlu", "edit-link-dialog.cancel": "Anulează", "edit-link-dialog.clear": "Golește", "edit-link-dialog.detail": "Legăturile se vor deschide într-o filă nouă.", @@ -342,6 +359,9 @@ "tool.trapezoid": "Trapez", "tool.triangle": "Triunghi", "tool.x-box": "Casetă X", + "verticalAlign-style.end": "Jos", + "verticalAlign-style.middle": "Mijloc", + "verticalAlign-style.start": "Sus", "vscode.file-open.backup": "Copie de siguranță", "vscode.file-open.backup-failed": "Eșec copie de siguranță: acesta nu este un fișier .tldr.", "vscode.file-open.backup-saved": "Copie de siguranță salvată", diff --git a/config/jest/node/jest-preset.js b/config/jest/node/jest-preset.js index 27b1cc561..08c56185f 100644 --- a/config/jest/node/jest-preset.js +++ b/config/jest/node/jest-preset.js @@ -21,7 +21,7 @@ module.exports = { }, ], }, - testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$', + testRegex: '.+\\.(test|spec)\\.(jsx?|tsx?)$', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], modulePathIgnorePatterns: [ '/test/__fixtures__', diff --git a/config/setupJest.ts b/config/setupJest.ts index 81ee9c0fe..d89601dd3 100644 --- a/config/setupJest.ts +++ b/config/setupJest.ts @@ -1,5 +1,4 @@ import { equals, getObjectSubset, iterableEquality, subsetEquality } from '@jest/expect-utils' - import { matcherHint, printDiffOrStringify, @@ -7,6 +6,14 @@ import { printReceived, stringify, } from 'jest-matcher-utils' +import { TextDecoder, TextEncoder } from 'util' + +global.TextEncoder = TextEncoder +global.TextDecoder = TextDecoder + +Image.prototype.decode = async function () { + return true +} function convertNumbersInObject(obj: any, roundToNearest: number) { if (!obj) return obj diff --git a/lazy.config.ts b/lazy.config.ts index c711860f4..aae6c4934 100644 --- a/lazy.config.ts +++ b/lazy.config.ts @@ -30,6 +30,7 @@ const config = { }, }, 'apps/docs': { + runsAfter: { 'build-api': { in: 'all-packages' } }, cache: { inputs: [ 'app/**/*', diff --git a/lerna.json b/lerna.json index 5ea4fee74..49742f4af 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "$schema": "node_modules/lerna/schemas/lerna-schema.json", "packages": ["packages/*"], - "version": "2.0.0" + "version": "2.1.0" } diff --git a/package.json b/package.json index 4818aa2d5..ff5c3910d 100644 --- a/package.json +++ b/package.json @@ -50,10 +50,11 @@ "build-package": "lazy build-package", "preview-app": "VITE_PREVIEW=1 yarn dev-app", "lint": "lazy lint", - "format": "prettier --write --cache \"**/*.{ts,tsx,js,jsx,json}\"", + "format": "prettier --write --cache '**/*.{yml,yaml,json,md,mdx,html,css,js,jsx,ts,tsx,cjs,mjs}'", "typecheck": "yarn refresh-assets && tsx scripts/typecheck.ts", "check-scripts": "tsx scripts/check-scripts.ts", "check-tsconfigs": "tsx scripts/check-tsconfigs.ts", + "update-pr-template": "tsx scripts/update-pr-template.ts", "api-check": "lazy api-check", "test-ci": "lazy test-ci", "test": "lazy test", @@ -70,7 +71,7 @@ ] }, "devDependencies": { - "@microsoft/api-extractor": "^7.41.0", + "@microsoft/api-extractor": "^7.43.1", "@next/eslint-plugin-next": "^13.3.0", "@swc/core": "^1.3.55", "@swc/jest": "^0.2.34", @@ -95,6 +96,7 @@ "jest": "30.0.0-alpha.2", "json5": "^2.2.3", "lazyrepo": "0.0.0-alpha.27", + "license-report": "^6.5.0", "lint-staged": ">=10", "prettier": "^3.0.3", "prettier-plugin-organize-imports": "^3.2.3", @@ -103,10 +105,15 @@ "typescript": "^5.3.3", "vercel": "^28.16.15" }, + "// resolutions.canvas": [ + "our examples app depenends on pdf.js which pulls in canvas as an optional dependency.", + "it slows down installs quite a bit though, so we replace it with an empty package." + ], "resolutions": { "@microsoft/api-extractor@^7.35.4": "patch:@microsoft/api-extractor@npm%3A7.35.4#./.yarn/patches/@microsoft-api-extractor-npm-7.35.4-5f4f0357b4.patch", "vectra@^0.4.4": "patch:vectra@npm%3A0.4.4#./.yarn/patches/vectra-npm-0.4.4-6aac3f6c29.patch", - "domino@^2.1.6": "patch:domino@npm%3A2.1.6#./.yarn/patches/domino-npm-2.1.6-b0dc3de857.patch" + "domino@^2.1.6": "patch:domino@npm%3A2.1.6#./.yarn/patches/domino-npm-2.1.6-b0dc3de857.patch", + "canvas": "npm:empty-npm-package@1.0.0" }, "dependencies": { "@sentry/cli": "^2.25.0", diff --git a/packages/assets/CHANGELOG.md b/packages/assets/CHANGELOG.md index 2f8d8fdc1..cc83ed85a 100644 --- a/packages/assets/CHANGELOG.md +++ b/packages/assets/CHANGELOG.md @@ -1,3 +1,23 @@ +# v2.1.0 (Tue Apr 23 2024) + +### Release Notes + +#### ui: make toasts look more toasty ([#2988](https://github.com/tldraw/tldraw/pull/2988)) + +- UI: Add severity to toasts. + +--- + +#### 🐛 Bug Fixes + +- ui: make toasts look more toasty [#2988](https://github.com/tldraw/tldraw/pull/2988) ([@mimecuvalo](https://github.com/mimecuvalo)) + +#### Authors: 1 + +- Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) + +--- + # v2.0.0-beta.5 (Thu Feb 29 2024) #### 🐛 Bug Fix diff --git a/packages/assets/api-report.md b/packages/assets/api-report.md deleted file mode 100644 index b5f9156d7..000000000 --- a/packages/assets/api-report.md +++ /dev/null @@ -1,232 +0,0 @@ -## API Report File for "@tldraw/assets" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -// @public (undocumented) -export function getBundlerAssetUrls(opts?: AssetUrlOptions): { - readonly fonts: { - readonly monospace: string; - readonly sansSerif: string; - readonly serif: string; - readonly draw: string; - }; - readonly icons: { - readonly 'align-bottom-center': string; - readonly 'align-bottom-left': string; - readonly 'align-bottom-right': string; - readonly 'align-bottom': string; - readonly 'align-center-center': string; - readonly 'align-center-horizontal': string; - readonly 'align-center-left': string; - readonly 'align-center-right': string; - readonly 'align-center-vertical': string; - readonly 'align-left': string; - readonly 'align-right': string; - readonly 'align-top-center': string; - readonly 'align-top-left': string; - readonly 'align-top-right': string; - readonly 'align-top': string; - readonly 'arrow-left': string; - readonly 'arrowhead-arrow': string; - readonly 'arrowhead-bar': string; - readonly 'arrowhead-diamond': string; - readonly 'arrowhead-dot': string; - readonly 'arrowhead-none': string; - readonly 'arrowhead-square': string; - readonly 'arrowhead-triangle-inverted': string; - readonly 'arrowhead-triangle': string; - readonly 'aspect-ratio': string; - readonly avatar: string; - readonly blob: string; - readonly 'bring-forward': string; - readonly 'bring-to-front': string; - readonly check: string; - readonly 'checkbox-checked': string; - readonly 'checkbox-empty': string; - readonly 'chevron-down': string; - readonly 'chevron-left': string; - readonly 'chevron-right': string; - readonly 'chevron-up': string; - readonly 'chevrons-ne': string; - readonly 'chevrons-sw': string; - readonly 'clipboard-copy': string; - readonly code: string; - readonly collab: string; - readonly color: string; - readonly comment: string; - readonly 'cross-2': string; - readonly cross: string; - readonly 'dash-dashed': string; - readonly 'dash-dotted': string; - readonly 'dash-draw': string; - readonly 'dash-solid': string; - readonly discord: string; - readonly 'distribute-horizontal': string; - readonly 'distribute-vertical': string; - readonly dot: string; - readonly 'dots-horizontal': string; - readonly 'dots-vertical': string; - readonly 'drag-handle-dots': string; - readonly duplicate: string; - readonly edit: string; - readonly 'external-link': string; - readonly file: string; - readonly 'fill-none': string; - readonly 'fill-pattern': string; - readonly 'fill-semi': string; - readonly 'fill-solid': string; - readonly follow: string; - readonly following: string; - readonly 'font-draw': string; - readonly 'font-mono': string; - readonly 'font-sans': string; - readonly 'font-serif': string; - readonly 'geo-arrow-down': string; - readonly 'geo-arrow-left': string; - readonly 'geo-arrow-right': string; - readonly 'geo-arrow-up': string; - readonly 'geo-check-box': string; - readonly 'geo-diamond': string; - readonly 'geo-ellipse': string; - readonly 'geo-hexagon': string; - readonly 'geo-octagon': string; - readonly 'geo-oval': string; - readonly 'geo-pentagon': string; - readonly 'geo-rectangle': string; - readonly 'geo-rhombus-2': string; - readonly 'geo-rhombus': string; - readonly 'geo-star': string; - readonly 'geo-trapezoid': string; - readonly 'geo-triangle': string; - readonly 'geo-x-box': string; - readonly github: string; - readonly group: string; - readonly hidden: string; - readonly image: string; - readonly 'info-circle': string; - readonly leading: string; - readonly link: string; - readonly 'lock-small': string; - readonly lock: string; - readonly menu: string; - readonly minus: string; - readonly mixed: string; - readonly pack: string; - readonly page: string; - readonly plus: string; - readonly 'question-mark-circle': string; - readonly 'question-mark': string; - readonly redo: string; - readonly 'reset-zoom': string; - readonly 'rotate-ccw': string; - readonly 'rotate-cw': string; - readonly ruler: string; - readonly search: string; - readonly 'send-backward': string; - readonly 'send-to-back': string; - readonly 'settings-horizontal': string; - readonly 'settings-vertical-1': string; - readonly 'settings-vertical': string; - readonly 'share-1': string; - readonly 'share-2': string; - readonly 'size-extra-large': string; - readonly 'size-large': string; - readonly 'size-medium': string; - readonly 'size-small': string; - readonly 'spline-cubic': string; - readonly 'spline-line': string; - readonly 'stack-horizontal': string; - readonly 'stack-vertical': string; - readonly 'stretch-horizontal': string; - readonly 'stretch-vertical': string; - readonly 'text-align-center': string; - readonly 'text-align-justify': string; - readonly 'text-align-left': string; - readonly 'text-align-right': string; - readonly 'tool-arrow': string; - readonly 'tool-embed': string; - readonly 'tool-eraser': string; - readonly 'tool-frame': string; - readonly 'tool-hand': string; - readonly 'tool-highlighter': string; - readonly 'tool-line': string; - readonly 'tool-media': string; - readonly 'tool-note': string; - readonly 'tool-pencil': string; - readonly 'tool-pointer': string; - readonly 'tool-text': string; - readonly trash: string; - readonly 'triangle-down': string; - readonly 'triangle-up': string; - readonly twitter: string; - readonly undo: string; - readonly ungroup: string; - readonly 'unlock-small': string; - readonly unlock: string; - readonly visible: string; - readonly 'warning-triangle': string; - readonly 'zoom-in': string; - readonly 'zoom-out': string; - }; - readonly translations: { - readonly ar: string; - readonly ca: string; - readonly da: string; - readonly de: string; - readonly en: string; - readonly es: string; - readonly fa: string; - readonly fi: string; - readonly fr: string; - readonly gl: string; - readonly he: string; - readonly 'hi-in': string; - readonly hu: string; - readonly it: string; - readonly ja: string; - readonly 'ko-kr': string; - readonly ku: string; - readonly languages: string; - readonly main: string; - readonly my: string; - readonly ne: string; - readonly no: string; - readonly pl: string; - readonly 'pt-br': string; - readonly 'pt-pt': string; - readonly ro: string; - readonly ru: string; - readonly sv: string; - readonly te: string; - readonly th: string; - readonly tr: string; - readonly uk: string; - readonly vi: string; - readonly 'zh-cn': string; - readonly 'zh-tw': string; - }; - readonly embedIcons: { - readonly codepen: string; - readonly codesandbox: string; - readonly excalidraw: string; - readonly felt: string; - readonly figma: string; - readonly github_gist: string; - readonly google_calendar: string; - readonly google_maps: string; - readonly google_slides: string; - readonly observable: string; - readonly replit: string; - readonly scratch: string; - readonly spotify: string; - readonly tldraw: string; - readonly vimeo: string; - readonly youtube: string; - }; -}; - -// (No @packageDocumentation comment for this package) - -``` diff --git a/packages/assets/imports.js b/packages/assets/imports.js index 49a615e17..b2d4df5ee 100644 --- a/packages/assets/imports.js +++ b/packages/assets/imports.js @@ -55,6 +55,7 @@ import iconsAvatar from './icons/icon/avatar.svg' import iconsBlob from './icons/icon/blob.svg' import iconsBringForward from './icons/icon/bring-forward.svg' import iconsBringToFront from './icons/icon/bring-to-front.svg' +import iconsCheckCircle from './icons/icon/check-circle.svg' import iconsCheck from './icons/icon/check.svg' import iconsCheckboxChecked from './icons/icon/checkbox-checked.svg' import iconsCheckboxEmpty from './icons/icon/checkbox-empty.svg' @@ -71,6 +72,7 @@ import iconsCollab from './icons/icon/collab.svg' import iconsColor from './icons/icon/color.svg' import iconsComment from './icons/icon/comment.svg' import iconsCross2 from './icons/icon/cross-2.svg' +import iconsCrossCircle from './icons/icon/cross-circle.svg' import iconsCross from './icons/icon/cross.svg' import iconsDashDashed from './icons/icon/dash-dashed.svg' import iconsDashDotted from './icons/icon/dash-dotted.svg' @@ -85,6 +87,7 @@ import iconsDotsVertical from './icons/icon/dots-vertical.svg' import iconsDragHandleDots from './icons/icon/drag-handle-dots.svg' import iconsDuplicate from './icons/icon/duplicate.svg' import iconsEdit from './icons/icon/edit.svg' +import iconsError from './icons/icon/error.svg' import iconsExternalLink from './icons/icon/external-link.svg' import iconsFile from './icons/icon/file.svg' import iconsFillNone from './icons/icon/fill-none.svg' @@ -271,6 +274,7 @@ export function getAssetUrlsByImport(opts) { blob: formatAssetUrl(iconsBlob, opts), 'bring-forward': formatAssetUrl(iconsBringForward, opts), 'bring-to-front': formatAssetUrl(iconsBringToFront, opts), + 'check-circle': formatAssetUrl(iconsCheckCircle, opts), check: formatAssetUrl(iconsCheck, opts), 'checkbox-checked': formatAssetUrl(iconsCheckboxChecked, opts), 'checkbox-empty': formatAssetUrl(iconsCheckboxEmpty, opts), @@ -287,6 +291,7 @@ export function getAssetUrlsByImport(opts) { color: formatAssetUrl(iconsColor, opts), comment: formatAssetUrl(iconsComment, opts), 'cross-2': formatAssetUrl(iconsCross2, opts), + 'cross-circle': formatAssetUrl(iconsCrossCircle, opts), cross: formatAssetUrl(iconsCross, opts), 'dash-dashed': formatAssetUrl(iconsDashDashed, opts), 'dash-dotted': formatAssetUrl(iconsDashDotted, opts), @@ -301,6 +306,7 @@ export function getAssetUrlsByImport(opts) { 'drag-handle-dots': formatAssetUrl(iconsDragHandleDots, opts), duplicate: formatAssetUrl(iconsDuplicate, opts), edit: formatAssetUrl(iconsEdit, opts), + error: formatAssetUrl(iconsError, opts), 'external-link': formatAssetUrl(iconsExternalLink, opts), file: formatAssetUrl(iconsFile, opts), 'fill-none': formatAssetUrl(iconsFillNone, opts), diff --git a/packages/assets/imports.vite.js b/packages/assets/imports.vite.js index 880a44d3a..f62fca282 100644 --- a/packages/assets/imports.vite.js +++ b/packages/assets/imports.vite.js @@ -55,6 +55,7 @@ import iconsAvatar from './icons/icon/avatar.svg?url' import iconsBlob from './icons/icon/blob.svg?url' import iconsBringForward from './icons/icon/bring-forward.svg?url' import iconsBringToFront from './icons/icon/bring-to-front.svg?url' +import iconsCheckCircle from './icons/icon/check-circle.svg?url' import iconsCheck from './icons/icon/check.svg?url' import iconsCheckboxChecked from './icons/icon/checkbox-checked.svg?url' import iconsCheckboxEmpty from './icons/icon/checkbox-empty.svg?url' @@ -71,6 +72,7 @@ import iconsCollab from './icons/icon/collab.svg?url' import iconsColor from './icons/icon/color.svg?url' import iconsComment from './icons/icon/comment.svg?url' import iconsCross2 from './icons/icon/cross-2.svg?url' +import iconsCrossCircle from './icons/icon/cross-circle.svg?url' import iconsCross from './icons/icon/cross.svg?url' import iconsDashDashed from './icons/icon/dash-dashed.svg?url' import iconsDashDotted from './icons/icon/dash-dotted.svg?url' @@ -85,6 +87,7 @@ import iconsDotsVertical from './icons/icon/dots-vertical.svg?url' import iconsDragHandleDots from './icons/icon/drag-handle-dots.svg?url' import iconsDuplicate from './icons/icon/duplicate.svg?url' import iconsEdit from './icons/icon/edit.svg?url' +import iconsError from './icons/icon/error.svg?url' import iconsExternalLink from './icons/icon/external-link.svg?url' import iconsFile from './icons/icon/file.svg?url' import iconsFillNone from './icons/icon/fill-none.svg?url' @@ -271,6 +274,7 @@ export function getAssetUrlsByImport(opts) { blob: formatAssetUrl(iconsBlob, opts), 'bring-forward': formatAssetUrl(iconsBringForward, opts), 'bring-to-front': formatAssetUrl(iconsBringToFront, opts), + 'check-circle': formatAssetUrl(iconsCheckCircle, opts), check: formatAssetUrl(iconsCheck, opts), 'checkbox-checked': formatAssetUrl(iconsCheckboxChecked, opts), 'checkbox-empty': formatAssetUrl(iconsCheckboxEmpty, opts), @@ -287,6 +291,7 @@ export function getAssetUrlsByImport(opts) { color: formatAssetUrl(iconsColor, opts), comment: formatAssetUrl(iconsComment, opts), 'cross-2': formatAssetUrl(iconsCross2, opts), + 'cross-circle': formatAssetUrl(iconsCrossCircle, opts), cross: formatAssetUrl(iconsCross, opts), 'dash-dashed': formatAssetUrl(iconsDashDashed, opts), 'dash-dotted': formatAssetUrl(iconsDashDotted, opts), @@ -301,6 +306,7 @@ export function getAssetUrlsByImport(opts) { 'drag-handle-dots': formatAssetUrl(iconsDragHandleDots, opts), duplicate: formatAssetUrl(iconsDuplicate, opts), edit: formatAssetUrl(iconsEdit, opts), + error: formatAssetUrl(iconsError, opts), 'external-link': formatAssetUrl(iconsExternalLink, opts), file: formatAssetUrl(iconsFile, opts), 'fill-none': formatAssetUrl(iconsFillNone, opts), diff --git a/packages/assets/package.json b/packages/assets/package.json index dfd3f1f1b..c40db792f 100644 --- a/packages/assets/package.json +++ b/packages/assets/package.json @@ -1,7 +1,7 @@ { "name": "@tldraw/assets", "description": "A tiny little drawing app (assets).", - "version": "2.0.0", + "version": "2.1.0", "author": { "name": "tldraw Inc.", "email": "hello@tldraw.com" diff --git a/packages/assets/selfHosted.js b/packages/assets/selfHosted.js index e303193d7..ea385142d 100644 --- a/packages/assets/selfHosted.js +++ b/packages/assets/selfHosted.js @@ -50,6 +50,7 @@ export function getAssetUrls(opts) { blob: formatAssetUrl('./icons/icon/blob.svg', opts), 'bring-forward': formatAssetUrl('./icons/icon/bring-forward.svg', opts), 'bring-to-front': formatAssetUrl('./icons/icon/bring-to-front.svg', opts), + 'check-circle': formatAssetUrl('./icons/icon/check-circle.svg', opts), check: formatAssetUrl('./icons/icon/check.svg', opts), 'checkbox-checked': formatAssetUrl('./icons/icon/checkbox-checked.svg', opts), 'checkbox-empty': formatAssetUrl('./icons/icon/checkbox-empty.svg', opts), @@ -66,6 +67,7 @@ export function getAssetUrls(opts) { color: formatAssetUrl('./icons/icon/color.svg', opts), comment: formatAssetUrl('./icons/icon/comment.svg', opts), 'cross-2': formatAssetUrl('./icons/icon/cross-2.svg', opts), + 'cross-circle': formatAssetUrl('./icons/icon/cross-circle.svg', opts), cross: formatAssetUrl('./icons/icon/cross.svg', opts), 'dash-dashed': formatAssetUrl('./icons/icon/dash-dashed.svg', opts), 'dash-dotted': formatAssetUrl('./icons/icon/dash-dotted.svg', opts), @@ -80,6 +82,7 @@ export function getAssetUrls(opts) { 'drag-handle-dots': formatAssetUrl('./icons/icon/drag-handle-dots.svg', opts), duplicate: formatAssetUrl('./icons/icon/duplicate.svg', opts), edit: formatAssetUrl('./icons/icon/edit.svg', opts), + error: formatAssetUrl('./icons/icon/error.svg', opts), 'external-link': formatAssetUrl('./icons/icon/external-link.svg', opts), file: formatAssetUrl('./icons/icon/file.svg', opts), 'fill-none': formatAssetUrl('./icons/icon/fill-none.svg', opts), diff --git a/packages/assets/types.d.ts b/packages/assets/types.d.ts index 6b4a882f7..27ea40ba8 100644 --- a/packages/assets/types.d.ts +++ b/packages/assets/types.d.ts @@ -40,6 +40,7 @@ export type AssetUrls = { blob: string 'bring-forward': string 'bring-to-front': string + 'check-circle': string check: string 'checkbox-checked': string 'checkbox-empty': string @@ -56,6 +57,7 @@ export type AssetUrls = { color: string comment: string 'cross-2': string + 'cross-circle': string cross: string 'dash-dashed': string 'dash-dotted': string @@ -70,6 +72,7 @@ export type AssetUrls = { 'drag-handle-dots': string duplicate: string edit: string + error: string 'external-link': string file: string 'fill-none': string diff --git a/packages/assets/urls.js b/packages/assets/urls.js index 8545423f1..fa3f960a0 100644 --- a/packages/assets/urls.js +++ b/packages/assets/urls.js @@ -140,6 +140,10 @@ export function getAssetUrlsByMetaUrl(opts) { new URL('./icons/icon/bring-to-front.svg', import.meta.url).href, opts ), + 'check-circle': formatAssetUrl( + new URL('./icons/icon/check-circle.svg', import.meta.url).href, + opts + ), check: formatAssetUrl(new URL('./icons/icon/check.svg', import.meta.url).href, opts), 'checkbox-checked': formatAssetUrl( new URL('./icons/icon/checkbox-checked.svg', import.meta.url).href, @@ -186,6 +190,10 @@ export function getAssetUrlsByMetaUrl(opts) { color: formatAssetUrl(new URL('./icons/icon/color.svg', import.meta.url).href, opts), comment: formatAssetUrl(new URL('./icons/icon/comment.svg', import.meta.url).href, opts), 'cross-2': formatAssetUrl(new URL('./icons/icon/cross-2.svg', import.meta.url).href, opts), + 'cross-circle': formatAssetUrl( + new URL('./icons/icon/cross-circle.svg', import.meta.url).href, + opts + ), cross: formatAssetUrl(new URL('./icons/icon/cross.svg', import.meta.url).href, opts), 'dash-dashed': formatAssetUrl( new URL('./icons/icon/dash-dashed.svg', import.meta.url).href, @@ -227,6 +235,7 @@ export function getAssetUrlsByMetaUrl(opts) { ), duplicate: formatAssetUrl(new URL('./icons/icon/duplicate.svg', import.meta.url).href, opts), edit: formatAssetUrl(new URL('./icons/icon/edit.svg', import.meta.url).href, opts), + error: formatAssetUrl(new URL('./icons/icon/error.svg', import.meta.url).href, opts), 'external-link': formatAssetUrl( new URL('./icons/icon/external-link.svg', import.meta.url).href, opts diff --git a/packages/dotcom-shared/package.json b/packages/dotcom-shared/package.json new file mode 100644 index 000000000..992bf8cb2 --- /dev/null +++ b/packages/dotcom-shared/package.json @@ -0,0 +1,26 @@ +{ + "name": "@tldraw/dotcom-shared", + "version": "2.0.0", + "private": true, + "/* NOTE */": "These `main` and `types` fields are rewritten by the build script. They are not the actual values we publish", + "main": "./src/index.ts", + "types": "./.tsbuild/index.d.ts", + "/* GOTCHA */": "files will include ./dist and index.d.ts by default, add any others you want to include in here", + "files": [], + "dependencies": { + "tldraw": "workspace:*" + }, + "peerDependencies": { + "react": "^18", + "react-dom": "^18" + }, + "scripts": { + "test-ci": "lazy inherit", + "test": "yarn run -T jest", + "lint": "yarn run -T tsx ../../scripts/lint.ts" + }, + "jest": { + "preset": "config/jest/node", + "testEnvironment": "jsdom" + } +} diff --git a/packages/dotcom-shared/src/index.test.ts b/packages/dotcom-shared/src/index.test.ts new file mode 100644 index 000000000..60f257bb2 --- /dev/null +++ b/packages/dotcom-shared/src/index.test.ts @@ -0,0 +1,3 @@ +it('works', () => { + // we need a test for jest to pass. +}) diff --git a/packages/dotcom-shared/src/index.ts b/packages/dotcom-shared/src/index.ts new file mode 100644 index 000000000..5d9360f06 --- /dev/null +++ b/packages/dotcom-shared/src/index.ts @@ -0,0 +1,16 @@ +export { + READ_ONLY_LEGACY_PREFIX, + READ_ONLY_PREFIX, + ROOM_OPEN_MODE, + ROOM_PREFIX, + RoomOpenModeToPath, + SNAPSHOT_PREFIX, + type RoomOpenMode, +} from './routes' +export type { + CreateRoomRequestBody, + CreateSnapshotRequestBody, + CreateSnapshotResponseBody, + GetReadonlySlugResponseBody, + Snapshot, +} from './types' diff --git a/packages/dotcom-shared/src/routes.ts b/packages/dotcom-shared/src/routes.ts new file mode 100644 index 000000000..3b31b6d25 --- /dev/null +++ b/packages/dotcom-shared/src/routes.ts @@ -0,0 +1,23 @@ +/** @public */ +export const ROOM_OPEN_MODE = { + READ_ONLY: 'readonly', + READ_ONLY_LEGACY: 'readonly-legacy', + READ_WRITE: 'read-write', +} as const +export type RoomOpenMode = (typeof ROOM_OPEN_MODE)[keyof typeof ROOM_OPEN_MODE] + +/** @public */ +export const READ_ONLY_PREFIX = 'ro' +/** @public */ +export const READ_ONLY_LEGACY_PREFIX = 'v' +/** @public */ +export const ROOM_PREFIX = 'r' +/** @public */ +export const SNAPSHOT_PREFIX = 's' + +/** @public */ +export const RoomOpenModeToPath: Record = { + [ROOM_OPEN_MODE.READ_ONLY]: READ_ONLY_PREFIX, + [ROOM_OPEN_MODE.READ_ONLY_LEGACY]: READ_ONLY_LEGACY_PREFIX, + [ROOM_OPEN_MODE.READ_WRITE]: ROOM_PREFIX, +} diff --git a/packages/dotcom-shared/src/types.ts b/packages/dotcom-shared/src/types.ts new file mode 100644 index 000000000..489629959 --- /dev/null +++ b/packages/dotcom-shared/src/types.ts @@ -0,0 +1,29 @@ +import { SerializedSchema, SerializedStore, TLRecord } from 'tldraw' + +export type Snapshot = { + schema: SerializedSchema + snapshot: SerializedStore +} + +export type CreateRoomRequestBody = { + origin: string + snapshot: Snapshot +} + +export type CreateSnapshotRequestBody = { + schema: SerializedSchema + snapshot: SerializedStore + parent_slug?: string | string[] | undefined +} + +export type CreateSnapshotResponseBody = + | { + error: false + roomId: string + } + | { + error: true + message: string + } + +export type GetReadonlySlugResponseBody = { slug: string; isLegacy: boolean } diff --git a/packages/dotcom-shared/tsconfig.json b/packages/dotcom-shared/tsconfig.json new file mode 100644 index 000000000..3a44b7859 --- /dev/null +++ b/packages/dotcom-shared/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../config/tsconfig.base.json", + "include": ["src"], + "exclude": ["node_modules", ".tsbuild*"], + "compilerOptions": { + "outDir": "./.tsbuild", + "rootDir": "src" + }, + "references": [ + { + "path": "../tldraw" + } + ] +} diff --git a/packages/editor/CHANGELOG.md b/packages/editor/CHANGELOG.md index 69c701b42..7310e083c 100644 --- a/packages/editor/CHANGELOG.md +++ b/packages/editor/CHANGELOG.md @@ -1,3 +1,257 @@ +# v2.1.0 (Tue Apr 23 2024) + +### Release Notes + +#### WebGL Minimap ([#3510](https://github.com/tldraw/tldraw/pull/3510)) + +- Add a brief release note for your PR here. + +#### Fix culling. ([#3504](https://github.com/tldraw/tldraw/pull/3504)) + +- Fix culling. + +#### Color tweaks (light and dark mode) ([#3486](https://github.com/tldraw/tldraw/pull/3486)) + +- Adjusts colors + +#### Add slides example ([#3467](https://github.com/tldraw/tldraw/pull/3467)) + +- Docs: Added a slideshow example + +#### New migrations again ([#3220](https://github.com/tldraw/tldraw/pull/3220)) + +#### BREAKING CHANGES + +- The `Migrations` type is now called `LegacyMigrations`. +- The serialized schema format (e.g. returned by `StoreSchema.serialize()` and `Store.getSnapshot()`) has changed. You don't need to do anything about it unless you were reading data directly from the schema for some reason. In which case it'd be best to avoid that in the future! We have no plans to change the schema format again (this time was traumatic enough) but you never know. +- `compareRecordVersions` and the `RecordVersion` type have both disappeared. There is no replacement. These were public by mistake anyway, so hopefully nobody had been using it. +- `compareSchemas` is gone. Comparing the schemas directly is no longer really possible since we introduced some fuzziness. The best thing to do now to check compatibility is to call `schema.getMigraitonsSince(prevSchema)` and it will return an error if the schemas are not compatible, an empty array if there are no migrations to apply since the prev schema, and a nonempty array otherwise. + + Generally speaking, the best way to check schema compatibility now is to call `store.schema.getMigrationsSince(persistedSchema)`. This will throw an error if there is no upgrade path from the `persistedSchema` to the current version. + +- `defineMigrations` has been deprecated and will be removed in a future release. For upgrade instructions see https://tldraw.dev/docs/persistence#Updating-legacy-shape-migrations-defineMigrations + +- `migrate` has been removed. Nobody should have been using this but if you were you'll need to find an alternative. For migrating tldraw data, you should stick to using `schema.migrateStoreSnapshot` and, if you are building a nuanced sync engine that supports some amount of backwards compatibility, also feel free to use `schema.migratePersistedRecord`. +- the `Migration` type has changed. If you need the old one for some reason it has been renamed to `LegacyMigration`. It will be removed in a future release. +- the `Migrations` type has been renamed to `LegacyMigrations` and will be removed in a future release. +- the `SerializedSchema` type has been augmented. If you need the old version specifically you can use `SerializedSchemaV1` + +#### Stickies: release candidate ([#3249](https://github.com/tldraw/tldraw/pull/3249)) + +- Improves sticky notes (see list) + +#### Cancel pointer velocity while pinching ([#3462](https://github.com/tldraw/tldraw/pull/3462)) + +- Fixed a bug that could occur while pinching with the hand tool selected. + +#### Faster selection / erasing ([#3454](https://github.com/tldraw/tldraw/pull/3454)) + +- Improve performance of minimum distance checks. + +#### Perf: Improve text outline performance ([#3429](https://github.com/tldraw/tldraw/pull/3429)) + +- Improves performance of text shapes on iOS / Safari. + +#### Perf: block hit tests while moving camera ([#3418](https://github.com/tldraw/tldraw/pull/3418)) + +- Improves performance of canvas while the camera is moving. + +#### Perf: (slightly) faster min dist checks ([#3401](https://github.com/tldraw/tldraw/pull/3401)) + +- Performance: small improvements to hit testing. + +#### Add long press event ([#3275](https://github.com/tldraw/tldraw/pull/3275)) + +- Add support for long pressing on desktop. + +#### Input buffering ([#3223](https://github.com/tldraw/tldraw/pull/3223)) + +- Add a brief release note for your PR here. + +#### Don't trigger pointer move on zoom ([#3305](https://github.com/tldraw/tldraw/pull/3305)) + +- Improve performance of zooming. + +#### Improve performance of culling ([#3272](https://github.com/tldraw/tldraw/pull/3272)) + +- Improve performance of the canvas when many shapes are present. + +#### ui: make toasts look more toasty ([#2988](https://github.com/tldraw/tldraw/pull/2988)) + +- UI: Add severity to toasts. + +#### textfields [1 of 3]: add text into speech bubble; also add rich text example ([#3050](https://github.com/tldraw/tldraw/pull/3050)) + +- Refactor textfields be composable/swappable. + +#### Fix lag while panning + translating at the same time ([#3186](https://github.com/tldraw/tldraw/pull/3186)) + +- Add a brief release note for your PR here. + +#### [fix] Batch tick events ([#3181](https://github.com/tldraw/tldraw/pull/3181)) + +- Fix a performance issue effecting resizing multiple shapes. + +#### [tinyish] Simplify / skip some work in Shape ([#3176](https://github.com/tldraw/tldraw/pull/3176)) + +- SDK: minor improvements to the Shape component + +#### [tiny] Slightly more efficient selection rotated page bounds / page bounds ([#3178](https://github.com/tldraw/tldraw/pull/3178)) + +- SDK, slightly more performant selection bounds calculations. + +#### [fix] Handles extra renders ([#3172](https://github.com/tldraw/tldraw/pull/3172)) + +- SDK: Fixed a minor rendering issue related to handles. + +#### [fix] Cleanup text measures ([#3169](https://github.com/tldraw/tldraw/pull/3169)) + +- Fixed a bug that could cause multiple text measurement divs in development mode. + +#### [perf] Reinstate render throttling ([#3160](https://github.com/tldraw/tldraw/pull/3160)) + +- Add a brief release note for your PR here. + +#### Fix validation errors for `duplicateProps` ([#3065](https://github.com/tldraw/tldraw/pull/3065)) + +- Add a brief release note for your PR here. + +#### Protect local storage calls ([#3043](https://github.com/tldraw/tldraw/pull/3043)) + +- Fixes a bug that could cause crashes in React Native webviews. + +#### Expose `getStyleForNextShape` ([#3039](https://github.com/tldraw/tldraw/pull/3039)) + +- Expose the API for `Editor.getStyleForNextShape`, previously marked as internal. + +#### Show a broken image for files without assets ([#2990](https://github.com/tldraw/tldraw/pull/2990)) + +- Better handling of broken images / videos. + +#### Selection UI example (plus fixes to pageToScreen) ([#3015](https://github.com/tldraw/tldraw/pull/3015)) + +- Adds selection UI example. +- Adds `Editor.getSelectionRotatedScreenBounds` method +- Fixes a bug with `pageToScreen`. + +#### [bugfix] Avoid randomness at init time to allow running on cloudflare. ([#3016](https://github.com/tldraw/tldraw/pull/3016)) + +- Prevent using randomness API at init time, to allow importing the tldraw package in a cloudflare worker. + +--- + +#### 💥 Breaking Change + +- React-powered SVG exports [#3117](https://github.com/tldraw/tldraw/pull/3117) ([@SomeHats](https://github.com/SomeHats) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- Component-based toolbar customisation API [#3067](https://github.com/tldraw/tldraw/pull/3067) ([@SomeHats](https://github.com/SomeHats) [@steveruizok](https://github.com/steveruizok)) + +#### 🚀 Enhancement + +- textfields [1 of 3]: add text into speech bubble; also add rich text example [#3050](https://github.com/tldraw/tldraw/pull/3050) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Selection UI example (plus fixes to pageToScreen) [#3015](https://github.com/tldraw/tldraw/pull/3015) ([@steveruizok](https://github.com/steveruizok)) + +#### 📚 SDK Changes + +- WebGL Minimap [#3510](https://github.com/tldraw/tldraw/pull/3510) ([@ds300](https://github.com/ds300)) +- textfields: on mobile edit->edit, allow going to empty geo [#3469](https://github.com/tldraw/tldraw/pull/3469) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Color tweaks (light and dark mode) [#3486](https://github.com/tldraw/tldraw/pull/3486) ([@steveruizok](https://github.com/steveruizok) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- Stickies: fix sticky note clipping [#3503](https://github.com/tldraw/tldraw/pull/3503) ([@steveruizok](https://github.com/steveruizok)) +- css more shapes that need transparent behavior [#3497](https://github.com/tldraw/tldraw/pull/3497) ([@mimecuvalo](https://github.com/mimecuvalo)) +- [fix] use page point for pointer [#3476](https://github.com/tldraw/tldraw/pull/3476) ([@ds300](https://github.com/ds300)) +- perf: calculate hypoteneuse manually instead of using hypot [#3468](https://github.com/tldraw/tldraw/pull/3468) ([@mimecuvalo](https://github.com/mimecuvalo)) +- New migrations again [#3220](https://github.com/tldraw/tldraw/pull/3220) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) +- Stickies: release candidate [#3249](https://github.com/tldraw/tldraw/pull/3249) ([@steveruizok](https://github.com/steveruizok) [@mimecuvalo](https://github.com/mimecuvalo) [@TodePond](https://github.com/TodePond) [@huppy-bot[bot]](https://github.com/huppy-bot[bot])) +- Cancel pointer velocity while pinching [#3462](https://github.com/tldraw/tldraw/pull/3462) ([@steveruizok](https://github.com/steveruizok)) +- Perf: Use a computed cache for masked shape page bounds [#3460](https://github.com/tldraw/tldraw/pull/3460) ([@steveruizok](https://github.com/steveruizok)) +- Faster selection / erasing [#3454](https://github.com/tldraw/tldraw/pull/3454) ([@steveruizok](https://github.com/steveruizok)) +- Remove docs for Editor.batch [#3451](https://github.com/tldraw/tldraw/pull/3451) ([@steveruizok](https://github.com/steveruizok)) +- Fix panning. [#3445](https://github.com/tldraw/tldraw/pull/3445) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Fix SVG exports in Next.js [#3446](https://github.com/tldraw/tldraw/pull/3446) ([@SomeHats](https://github.com/SomeHats)) +- Improve hand dragging with long press [#3432](https://github.com/tldraw/tldraw/pull/3432) ([@steveruizok](https://github.com/steveruizok)) +- Perf: Incremental culled shapes calculation. [#3411](https://github.com/tldraw/tldraw/pull/3411) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- Perf: Improve text outline performance [#3429](https://github.com/tldraw/tldraw/pull/3429) ([@steveruizok](https://github.com/steveruizok)) +- Fix some tests [#3403](https://github.com/tldraw/tldraw/pull/3403) ([@steveruizok](https://github.com/steveruizok)) +- Fix text bug on iOS [#3423](https://github.com/tldraw/tldraw/pull/3423) ([@steveruizok](https://github.com/steveruizok)) +- Perf: block hit tests while moving camera [#3418](https://github.com/tldraw/tldraw/pull/3418) ([@steveruizok](https://github.com/steveruizok)) +- Perf: slightly faster `getShapeAtPoint` [#3416](https://github.com/tldraw/tldraw/pull/3416) ([@steveruizok](https://github.com/steveruizok)) +- Perf: (slightly) faster min dist checks [#3401](https://github.com/tldraw/tldraw/pull/3401) ([@steveruizok](https://github.com/steveruizok)) +- Fix an issue with layers when moving shapes. [#3380](https://github.com/tldraw/tldraw/pull/3380) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [culling] minimal culled diff with webgl [#3377](https://github.com/tldraw/tldraw/pull/3377) ([@steveruizok](https://github.com/steveruizok)) +- put `getCurrentPageId` into a computed [#3378](https://github.com/tldraw/tldraw/pull/3378) ([@steveruizok](https://github.com/steveruizok)) +- Add long press event [#3275](https://github.com/tldraw/tldraw/pull/3275) ([@steveruizok](https://github.com/steveruizok)) +- Fix blur bug in editable text [#3343](https://github.com/tldraw/tldraw/pull/3343) ([@steveruizok](https://github.com/steveruizok)) +- textfields: fix regression with Text shape and resizing [#3333](https://github.com/tldraw/tldraw/pull/3333) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Input buffering [#3223](https://github.com/tldraw/tldraw/pull/3223) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- Don't trigger pointer move on zoom [#3305](https://github.com/tldraw/tldraw/pull/3305) ([@steveruizok](https://github.com/steveruizok)) +- Improve performance of culling [#3272](https://github.com/tldraw/tldraw/pull/3272) ([@steveruizok](https://github.com/steveruizok)) +- Add image annotator example [#3147](https://github.com/tldraw/tldraw/pull/3147) ([@SomeHats](https://github.com/SomeHats)) +- use native structuredClone on node, cloudflare workers, and in tests [#3166](https://github.com/tldraw/tldraw/pull/3166) ([@si14](https://github.com/si14)) +- Fix lag while panning + translating at the same time [#3186](https://github.com/tldraw/tldraw/pull/3186) ([@ds300](https://github.com/ds300) [@steveruizok](https://github.com/steveruizok)) +- [fix] Batch tick events [#3181](https://github.com/tldraw/tldraw/pull/3181) ([@steveruizok](https://github.com/steveruizok)) +- Skip the random ID for regular history entries [#3183](https://github.com/tldraw/tldraw/pull/3183) ([@steveruizok](https://github.com/steveruizok)) +- [tinyish] Simplify / skip some work in Shape [#3176](https://github.com/tldraw/tldraw/pull/3176) ([@steveruizok](https://github.com/steveruizok)) +- [tiny] Slightly more efficient selection rotated page bounds / page bounds [#3178](https://github.com/tldraw/tldraw/pull/3178) ([@steveruizok](https://github.com/steveruizok)) +- [fix] handles [#3177](https://github.com/tldraw/tldraw/pull/3177) ([@steveruizok](https://github.com/steveruizok)) +- [fix] Handles extra renders [#3172](https://github.com/tldraw/tldraw/pull/3172) ([@steveruizok](https://github.com/steveruizok)) +- [tiny] remove unused shape indicator equality checker [#3171](https://github.com/tldraw/tldraw/pull/3171) ([@steveruizok](https://github.com/steveruizok)) +- [fix] Cleanup text measures [#3169](https://github.com/tldraw/tldraw/pull/3169) ([@steveruizok](https://github.com/steveruizok)) +- [perf] Reinstate render throttling [#3160](https://github.com/tldraw/tldraw/pull/3160) ([@ds300](https://github.com/ds300)) + +#### 🖥️ tldraw.com Changes + +- Enable document name [#3150](https://github.com/tldraw/tldraw/pull/3150) ([@ds300](https://github.com/ds300)) + +#### 📖 Documentation changes + +- Add slides example [#3467](https://github.com/tldraw/tldraw/pull/3467) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@TodePond](https://github.com/TodePond)) +- side effects reference docs & examples [#3258](https://github.com/tldraw/tldraw/pull/3258) ([@SomeHats](https://github.com/SomeHats)) +- fix docs not building due to typo [#3259](https://github.com/tldraw/tldraw/pull/3259) ([@SomeHats](https://github.com/SomeHats)) + +#### 🏠 Internal + +- Use computed cache for getting the parent child relationships [#3508](https://github.com/tldraw/tldraw/pull/3508) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Fix culling. [#3504](https://github.com/tldraw/tldraw/pull/3504) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Revert "RBush again? (#3439)" [#3481](https://github.com/tldraw/tldraw/pull/3481) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- RBush again? [#3439](https://github.com/tldraw/tldraw/pull/3439) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- Perf: Improve perf of `getCurrentPageShapesSorted` [#3453](https://github.com/tldraw/tldraw/pull/3453) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- Only run when shapes change. [#3456](https://github.com/tldraw/tldraw/pull/3456) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Reorder dom elements. [#3431](https://github.com/tldraw/tldraw/pull/3431) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- [culling] Improve setting of display none. [#3376](https://github.com/tldraw/tldraw/pull/3376) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Display none for culled shapes [#3291](https://github.com/tldraw/tldraw/pull/3291) ([@MitjaBezensek](https://github.com/MitjaBezensek) [@steveruizok](https://github.com/steveruizok)) +- fix export preview size [#3264](https://github.com/tldraw/tldraw/pull/3264) ([@SomeHats](https://github.com/SomeHats)) +- Revert perf changes [#3217](https://github.com/tldraw/tldraw/pull/3217) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- A few more async routes [#3023](https://github.com/tldraw/tldraw/pull/3023) ([@steveruizok](https://github.com/steveruizok)) + +#### 🐛 Bug Fixes + +- ui: make toasts look more toasty [#2988](https://github.com/tldraw/tldraw/pull/2988) ([@mimecuvalo](https://github.com/mimecuvalo)) +- Fix validation errors for `duplicateProps` [#3065](https://github.com/tldraw/tldraw/pull/3065) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Wrap local/session storage calls in try/catch (take 2) [#3066](https://github.com/tldraw/tldraw/pull/3066) ([@SomeHats](https://github.com/SomeHats)) +- Revert "Protect local storage calls (#3043)" [#3063](https://github.com/tldraw/tldraw/pull/3063) ([@SomeHats](https://github.com/SomeHats)) +- children: any -> children: ReactNode [#3061](https://github.com/tldraw/tldraw/pull/3061) ([@SomeHats](https://github.com/SomeHats)) +- Protect local storage calls [#3043](https://github.com/tldraw/tldraw/pull/3043) ([@steveruizok](https://github.com/steveruizok)) +- Expose `getStyleForNextShape` [#3039](https://github.com/tldraw/tldraw/pull/3039) ([@steveruizok](https://github.com/steveruizok)) +- Show a broken image for files without assets [#2990](https://github.com/tldraw/tldraw/pull/2990) ([@steveruizok](https://github.com/steveruizok)) +- [bugfix] Avoid randomness at init time to allow running on cloudflare. [#3016](https://github.com/tldraw/tldraw/pull/3016) ([@ds300](https://github.com/ds300)) + +#### 🧪 Tests + +- Add tests for Vec.Average [#3071](https://github.com/tldraw/tldraw/pull/3071) ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- [fix] Routes check on e2e tests [#3022](https://github.com/tldraw/tldraw/pull/3022) ([@steveruizok](https://github.com/steveruizok)) + +#### Authors: 8 + +- [@huppy-bot[bot]](https://github.com/huppy-bot[bot]) +- alex ([@SomeHats](https://github.com/SomeHats)) +- Dan Groshev ([@si14](https://github.com/si14)) +- David Sheldrick ([@ds300](https://github.com/ds300)) +- Lu Wilson ([@TodePond](https://github.com/TodePond)) +- Mime Čuvalo ([@mimecuvalo](https://github.com/mimecuvalo)) +- Mitja Bezenšek ([@MitjaBezensek](https://github.com/MitjaBezensek)) +- Steve Ruiz ([@steveruizok](https://github.com/steveruizok)) + +--- + # v2.0.0-beta.9 (Thu Feb 29 2024) #### ⚠️ Pushed to `main` diff --git a/packages/editor/api-report.md b/packages/editor/api-report.md index bacfe3a5f..f8ea7a06c 100644 --- a/packages/editor/api-report.md +++ b/packages/editor/api-report.md @@ -20,17 +20,21 @@ import { HistoryEntry } from '@tldraw/store'; import { IndexKey } from '@tldraw/utils'; import { JsonObject } from '@tldraw/utils'; import { JSX as JSX_2 } from 'react/jsx-runtime'; -import { Migrations } from '@tldraw/store'; +import { LegacyMigrations } from '@tldraw/store'; +import { MigrationSequence } from '@tldraw/store'; import { NamedExoticComponent } from 'react'; import { PointerEventHandler } from 'react'; import { react } from '@tldraw/state'; import { default as React_2 } from 'react'; import * as React_3 from 'react'; +import { ReactElement } from 'react'; import { ReactNode } from 'react'; +import { RecordsDiff } from '@tldraw/store'; import { SerializedSchema } from '@tldraw/store'; import { SerializedStore } from '@tldraw/store'; import { ShapeProps } from '@tldraw/tlschema'; import { Signal } from '@tldraw/state'; +import { Store } from '@tldraw/store'; import { StoreSchema } from '@tldraw/store'; import { StoreSnapshot } from '@tldraw/store'; import { StyleProp } from '@tldraw/tlschema'; @@ -61,6 +65,7 @@ import { TLScribble } from '@tldraw/tlschema'; import { TLShape } from '@tldraw/tlschema'; import { TLShapeId } from '@tldraw/tlschema'; import { TLShapePartial } from '@tldraw/tlschema'; +import { TLShapePropsMigrations } from '@tldraw/tlschema'; import { TLStore } from '@tldraw/tlschema'; import { TLStoreProps } from '@tldraw/tlschema'; import { TLUnknownShape } from '@tldraw/tlschema'; @@ -88,8 +93,8 @@ export const ANIMATION_SHORT_MS = 80; // @internal (undocumented) export function applyRotationToSnapshotShapes({ delta, editor, snapshot, stage, }: { delta: number; - snapshot: TLRotationSnapshot; editor: Editor; + snapshot: TLRotationSnapshot; stage: 'end' | 'one-off' | 'start' | 'update'; }): void; @@ -100,11 +105,11 @@ export function approximately(a: number, b: number, precision?: number): boolean export class Arc2d extends Geometry2d { constructor(config: Omit & { center: Vec; + end: Vec; + largeArcFlag: number; radius: number; start: Vec; - end: Vec; sweepFlag: number; - largeArcFlag: number; }); // (undocumented) angleEnd: number; @@ -117,7 +122,7 @@ export class Arc2d extends Geometry2d { // (undocumented) getVertices(): Vec[]; // (undocumented) - hitTestLineSegment(A: Vec, B: Vec, _zoom: number): boolean; + hitTestLineSegment(A: Vec, B: Vec): boolean; // (undocumented) length: number; // (undocumented) @@ -312,26 +317,26 @@ export function canonicalizeRotation(a: number): number; // @public (undocumented) export class Circle2d extends Geometry2d { constructor(config: Omit & { + isFilled: boolean; + radius: number; x?: number; y?: number; - radius: number; - isFilled: boolean; }); // (undocumented) _center: Vec; // (undocumented) config: Omit & { + isFilled: boolean; + radius: number; x?: number; y?: number; - radius: number; - isFilled: boolean; }; // (undocumented) getBounds(): Box; // (undocumented) getVertices(): Vec[]; // (undocumented) - hitTestLineSegment(A: Vec, B: Vec, _zoom: number): boolean; + hitTestLineSegment(A: Vec, B: Vec, distance?: number): boolean; // (undocumented) nearestPoint(point: Vec): Vec; // (undocumented) @@ -358,8 +363,8 @@ export { computed } // @internal (undocumented) export function ContainerProvider({ container, children, }: { - container: HTMLDivElement; children: React.ReactNode; + container: HTMLDivElement; }): JSX_2.Element; // @public (undocumented) @@ -372,22 +377,22 @@ export function counterClockwiseAngleDist(a0: number, a1: number): number; export function createSessionStateSnapshotSignal(store: TLStore): Signal; // @public -export function createTLStore({ initialData, defaultName, ...rest }: TLStoreOptions): TLStore; +export function createTLStore({ initialData, defaultName, id, ...rest }: TLStoreOptions): TLStore; // @public (undocumented) export function createTLUser(opts?: { derivePresenceState?: ((store: TLStore) => Signal) | undefined; - userPreferences?: Signal | undefined; setUserPreferences?: ((userPreferences: TLUserPreferences) => void) | undefined; + userPreferences?: Signal | undefined; }): TLUser; // @public (undocumented) export class CubicBezier2d extends Polyline2d { constructor(config: Omit & { - start: Vec; cp1: Vec; cp2: Vec; end: Vec; + start: Vec; }); // (undocumented) a: Vec; @@ -413,7 +418,7 @@ export class CubicSpline2d extends Geometry2d { // (undocumented) getVertices(): Vec[]; // (undocumented) - hitTestLineSegment(A: Vec, B: Vec, zoom: number): boolean; + hitTestLineSegment(A: Vec, B: Vec): boolean; // (undocumented) get length(): number; // (undocumented) @@ -435,7 +440,20 @@ export function dataUrlToFile(url: string, filename: string, mimeType: string): export type DebugFlag = DebugFlagDef & Atom; // @internal (undocumented) -export const debugFlags: Record>; +export const debugFlags: { + readonly debugCursors: DebugFlag; + readonly debugGeometry: DebugFlag; + readonly debugSvg: DebugFlag; + readonly editOnType: DebugFlag; + readonly forceSrgb: DebugFlag; + readonly hideShapes: DebugFlag; + readonly logElementRemoves: DebugFlag; + readonly logPointerCaptures: DebugFlag; + readonly logPreventDefaults: DebugFlag; + readonly reconnectOnPing: DebugFlag; + readonly showFps: DebugFlag; + readonly throwToBlob: DebugFlag; +}; // @internal (undocumented) export const DEFAULT_ANIMATION_OPTIONS: { @@ -470,9 +488,6 @@ export function DefaultHandle({ handle, isCoarse, className, zoom }: TLHandlePro // @public (undocumented) export const DefaultHandles: ({ children }: TLHandlesProps) => JSX_2.Element; -// @public (undocumented) -export function DefaultHoveredShapeIndicator({ shapeId }: TLHoveredShapeIndicatorProps): JSX_2.Element | null; - // @public (undocumented) export function DefaultScribble({ scribble, zoom, color, opacity, className }: TLScribbleProps): JSX_2.Element | null; @@ -496,14 +511,14 @@ export const DefaultSvgDefs: () => null; // @public (undocumented) export const defaultUserPreferences: Readonly<{ - name: "New User"; - locale: "ar" | "ca" | "cs" | "da" | "de" | "en" | "es" | "fa" | "fi" | "fr" | "gl" | "he" | "hi-in" | "hr" | "hu" | "it" | "ja" | "ko-kr" | "ku" | "my" | "ne" | "no" | "pl" | "pt-br" | "pt-pt" | "ro" | "ru" | "sl" | "sv" | "te" | "th" | "tr" | "uk" | "vi" | "zh-cn" | "zh-tw"; - color: "#02B1CC" | "#11B3A3" | "#39B178" | "#55B467" | "#7B66DC" | "#9D5BD2" | "#BD54C6" | "#E34BA9" | "#EC5E41" | "#F04F88" | "#F2555A" | "#FF802B"; - isDarkMode: false; - edgeScrollSpeed: 1; animationSpeed: 0 | 1; + color: "#02B1CC" | "#11B3A3" | "#39B178" | "#55B467" | "#7B66DC" | "#9D5BD2" | "#BD54C6" | "#E34BA9" | "#EC5E41" | "#F04F88" | "#F2555A" | "#FF802B"; + edgeScrollSpeed: 1; + isDarkMode: false; isSnapMode: false; isWrapMode: false; + locale: "ar" | "ca" | "cs" | "da" | "de" | "en" | "es" | "fa" | "fi" | "fr" | "gl" | "he" | "hi-in" | "hr" | "hu" | "it" | "ja" | "ko-kr" | "ku" | "my" | "ne" | "no" | "pl" | "pt-br" | "pt-pt" | "ro" | "ru" | "sl" | "sv" | "te" | "th" | "tr" | "uk" | "vi" | "zh-cn" | "zh-tw"; + name: "New User"; }>; // @public @@ -513,36 +528,36 @@ export function degreesToRadians(d: number): number; export const DOUBLE_CLICK_DURATION = 450; // @internal (undocumented) -export const DRAG_DISTANCE = 4; +export const DRAG_DISTANCE = 16; // @public (undocumented) export const EASINGS: { - readonly linear: (t: number) => number; - readonly easeInQuad: (t: number) => number; - readonly easeOutQuad: (t: number) => number; - readonly easeInOutQuad: (t: number) => number; readonly easeInCubic: (t: number) => number; - readonly easeOutCubic: (t: number) => number; - readonly easeInOutCubic: (t: number) => number; - readonly easeInQuart: (t: number) => number; - readonly easeOutQuart: (t: number) => number; - readonly easeInOutQuart: (t: number) => number; - readonly easeInQuint: (t: number) => number; - readonly easeOutQuint: (t: number) => number; - readonly easeInOutQuint: (t: number) => number; - readonly easeInSine: (t: number) => number; - readonly easeOutSine: (t: number) => number; - readonly easeInOutSine: (t: number) => number; readonly easeInExpo: (t: number) => number; - readonly easeOutExpo: (t: number) => number; + readonly easeInOutCubic: (t: number) => number; readonly easeInOutExpo: (t: number) => number; + readonly easeInOutQuad: (t: number) => number; + readonly easeInOutQuart: (t: number) => number; + readonly easeInOutQuint: (t: number) => number; + readonly easeInOutSine: (t: number) => number; + readonly easeInQuad: (t: number) => number; + readonly easeInQuart: (t: number) => number; + readonly easeInQuint: (t: number) => number; + readonly easeInSine: (t: number) => number; + readonly easeOutCubic: (t: number) => number; + readonly easeOutExpo: (t: number) => number; + readonly easeOutQuad: (t: number) => number; + readonly easeOutQuart: (t: number) => number; + readonly easeOutQuint: (t: number) => number; + readonly easeOutSine: (t: number) => number; + readonly linear: (t: number) => number; }; // @public (undocumented) export class Edge2d extends Geometry2d { constructor(config: { - start: Vec; end: Vec; + start: Vec; }); // (undocumented) d: Vec; @@ -551,7 +566,7 @@ export class Edge2d extends Geometry2d { // (undocumented) getVertices(): Vec[]; // (undocumented) - hitTestLineSegment(A: Vec, B: Vec, _zoom: number): boolean; + hitTestLineSegment(A: Vec, B: Vec, distance?: number): boolean; // (undocumented) get length(): number; // (undocumented) @@ -582,14 +597,14 @@ export class Editor extends EventEmitter { animateToUser(userId: string): this; // @internal (undocumented) annotateError(error: unknown, { origin, willCrashApp, tags, extras, }: { - origin: string; - willCrashApp: boolean; - tags?: Record; extras?: Record; + origin: string; + tags?: Record; + willCrashApp: boolean; }): this; bail(): this; bailToMark(id: string): this; - batch(fn: () => void): this; + batch(fn: () => void, opts?: TLHistoryBatchOptions): this; bringForward(shapes: TLShape[] | TLShapeId[]): this; bringToFront(shapes: TLShape[] | TLShapeId[]): this; cancel(): this; @@ -606,16 +621,16 @@ export class Editor extends EventEmitter { createAssets(assets: TLAsset[]): this; // @internal (undocumented) createErrorAnnotations(origin: string, willCrashApp: 'unknown' | boolean): { + extras: { + activeStateNode?: string; + editingShape?: TLUnknownShape; + inputs?: Record; + selectedShapes?: TLUnknownShape[]; + }; tags: { origin: string; willCrashApp: 'unknown' | boolean; }; - extras: { - activeStateNode?: string; - selectedShapes?: TLUnknownShape[]; - editingShape?: TLUnknownShape; - inputs?: Record; - }; }; createPage(page: Partial): this; createShape(shape: OptionalKeys, 'id'>): this; @@ -669,16 +684,21 @@ export class Editor extends EventEmitter { getCameraState(): "idle" | "moving"; getCanRedo(): boolean; getCanUndo(): boolean; + getCollaborators(): TLInstancePresence[]; + getCollaboratorsOnCurrentPage(): TLInstancePresence[]; getContainer: () => HTMLElement; getContentFromCurrentPage(shapes: TLShape[] | TLShapeId[]): TLContent | undefined; // @internal getCrashingError(): unknown; getCroppingShapeId(): null | TLShapeId; + getCulledShapes(): Set; getCurrentPage(): TLPage; getCurrentPageBounds(): Box | undefined; getCurrentPageId(): TLPageId; getCurrentPageRenderingShapesSorted(): TLShape[]; getCurrentPageShapeIds(): Set; + // @internal (undocumented) + getCurrentPageShapeIdsSorted(): TLShapeId[]; getCurrentPageShapes(): TLShape[]; getCurrentPageShapesSorted(): TLShape[]; getCurrentPageState(): TLInstancePageState; @@ -701,6 +721,7 @@ export class Editor extends EventEmitter { getInstanceState(): TLInstance; getIsMenuOpen(): boolean; getOnlySelectedShape(): null | TLShape; + getOnlySelectedShapeId(): null | TLShapeId; getOpenMenus(): string[]; getOutermostSelectableShape(shape: TLShape | TLShapeId, filter?: (shape: TLShape) => boolean): TLShape; getPage(page: TLPage | TLPageId): TLPage | undefined; @@ -711,16 +732,13 @@ export class Editor extends EventEmitter { getPointInParentSpace(shape: TLShape | TLShapeId, point: VecLike): Vec; getPointInShapeSpace(shape: TLShape | TLShapeId, point: VecLike): Vec; getRenderingBounds(): Box; - getRenderingBoundsExpanded(): Box; getRenderingShapes(): { + backgroundIndex: number; id: TLShapeId; + index: number; + opacity: number; shape: TLShape; util: ShapeUtil; - index: number; - backgroundIndex: number; - opacity: number; - isCulled: boolean; - maskedPageBounds: Box | undefined; }[]; getSelectedShapeAtPoint(point: VecLike): TLShape | undefined; getSelectedShapeIds(): TLShapeId[]; @@ -733,12 +751,12 @@ export class Editor extends EventEmitter { getShapeAncestors(shape: TLShape | TLShapeId, acc?: TLShape[]): TLShape[]; getShapeAndDescendantIds(ids: TLShapeId[]): Set; getShapeAtPoint(point: VecLike, opts?: { - renderingOnly?: boolean | undefined; - margin?: number | undefined; + filter?: ((shape: TLShape) => boolean) | undefined; + hitFrameInside?: boolean | undefined; hitInside?: boolean | undefined; hitLabels?: boolean | undefined; - hitFrameInside?: boolean | undefined; - filter?: ((shape: TLShape) => boolean) | undefined; + margin?: number | undefined; + renderingOnly?: boolean | undefined; }): TLShape | undefined; getShapeClipPath(shape: TLShape | TLShapeId): string | undefined; getShapeGeometry(shape: TLShape | TLShapeId): T; @@ -751,8 +769,8 @@ export class Editor extends EventEmitter { getShapeParent(shape?: TLShape | TLShapeId): TLShape | undefined; getShapeParentTransform(shape: TLShape | TLShapeId): Mat; getShapesAtPoint(point: VecLike, opts?: { - margin?: number | undefined; hitInside?: boolean | undefined; + margin?: number | undefined; }): TLShape[]; // (undocumented) getShapeStyleIfExists(shape: TLShape, style: StyleProp): T | undefined; @@ -766,7 +784,27 @@ export class Editor extends EventEmitter { getSortedChildIdsForParent(parent: TLPage | TLParentId | TLShape): TLShapeId[]; getStateDescendant(path: string): T | undefined; getStyleForNextShape(style: StyleProp): T; + // @deprecated (undocumented) getSvg(shapes: TLShape[] | TLShapeId[], opts?: Partial): Promise; + getSvgElement(shapes: TLShape[] | TLShapeId[], opts?: Partial): Promise<{ + height: number; + svg: SVGSVGElement; + width: number; + } | undefined>; + getSvgString(shapes: TLShape[] | TLShapeId[], opts?: Partial): Promise<{ + height: number; + svg: string; + width: number; + } | undefined>; + // @internal (undocumented) + getUnorderedRenderingShapes(useEditorState: boolean): { + backgroundIndex: number; + id: TLShapeId; + index: number; + opacity: number; + shape: TLShape; + util: ShapeUtil; + }[]; getViewportPageBounds(): Box; getViewportPageCenter(): Vec; getViewportScreenBounds(): Box; @@ -774,34 +812,34 @@ export class Editor extends EventEmitter { getZoomLevel(): number; groupShapes(shapes: TLShape[] | TLShapeId[], groupId?: TLShapeId): this; hasAncestor(shape: TLShape | TLShapeId | undefined, ancestorId: TLShapeId): boolean; - readonly history: HistoryManager; + readonly history: HistoryManager; inputs: { - originPagePoint: Vec; - originScreenPoint: Vec; - previousPagePoint: Vec; - previousScreenPoint: Vec; - currentPagePoint: Vec; - currentScreenPoint: Vec; - keys: Set; buttons: Set; + keys: Set; + originScreenPoint: Vec; + originPagePoint: Vec; + currentScreenPoint: Vec; + currentPagePoint: Vec; + previousScreenPoint: Vec; + previousPagePoint: Vec; + pointerVelocity: Vec; + altKey: boolean; + ctrlKey: boolean; isPen: boolean; shiftKey: boolean; - ctrlKey: boolean; - altKey: boolean; isDragging: boolean; - isPointing: boolean; - isPinching: boolean; isEditing: boolean; isPanning: boolean; - pointerVelocity: Vec; + isPinching: boolean; + isPointing: boolean; }; interrupt(): this; isAncestorSelected(shape: TLShape | TLShapeId): boolean; isIn(path: string): boolean; isInAny(...paths: string[]): boolean; isPointInShape(shape: TLShape | TLShapeId, point: VecLike, opts?: { - margin?: number | undefined; hitInside?: boolean | undefined; + margin?: number | undefined; }): boolean; isShapeInPage(shape: TLShape | TLShapeId, pageId?: TLPageId): boolean; isShapeOfType(shape: TLUnknownShape, type: T['type']): shape is T; @@ -810,23 +848,28 @@ export class Editor extends EventEmitter { isShapeOrAncestorLocked(shape?: TLShape): boolean; // (undocumented) isShapeOrAncestorLocked(id?: TLShapeId): boolean; - mark(markId?: string, onUndo?: boolean, onRedo?: boolean): this; + mark(markId?: string): this; moveShapesToPage(shapes: TLShape[] | TLShapeId[], pageId: TLPageId): this; - nudgeShapes(shapes: TLShape[] | TLShapeId[], offset: VecLike, historyOptions?: TLCommandHistoryOptions): this; + nudgeShapes(shapes: TLShape[] | TLShapeId[], offset: VecLike): this; packShapes(shapes: TLShape[] | TLShapeId[], gap: number): this; pageToScreen(point: VecLike): { x: number; y: number; z: number; }; + pageToViewport(point: VecLike): { + x: number; + y: number; + z: number; + }; pan(offset: VecLike, animation?: TLAnimationOptions): this; panZoomIntoView(ids: TLShapeId[], animation?: TLAnimationOptions): this; popFocusedGroupId(): this; putContentOntoCurrentPage(content: TLContent, options?: { point?: VecLike; - select?: boolean; - preservePosition?: boolean; preserveIds?: boolean; + preservePosition?: boolean; + select?: boolean; }): this; putExternalContent(info: TLExternalContent): Promise; redo(): this; @@ -836,7 +879,7 @@ export class Editor extends EventEmitter { registerExternalContentHandler(type: T, handler: ((info: T extends TLExternalContent['type'] ? TLExternalContent & { type: T; } : TLExternalContent) => void) | null): this; - renamePage(page: TLPage | TLPageId, name: string, historyOptions?: TLCommandHistoryOptions): this; + renamePage(page: TLPage | TLPageId, name: string): this; renderingBoundsMargin: number; reparentShapes(shapes: TLShape[] | TLShapeId[], parentId: TLParentId, insertIndex?: IndexKey): this; resetZoom(point?: Vec, animation?: TLAnimationOptions): this; @@ -856,7 +899,7 @@ export class Editor extends EventEmitter { sendToBack(shapes: TLShape[] | TLShapeId[]): this; setCamera(point: VecLike, animation?: TLAnimationOptions): this; setCroppingShape(shape: null | TLShape | TLShapeId): this; - setCurrentPage(page: TLPage | TLPageId, historyOptions?: TLCommandHistoryOptions): this; + setCurrentPage(page: TLPage | TLPageId): this; setCurrentTool(id: string, info?: {}): this; setCursor: (cursor: Partial) => this; setEditingShape(shape: null | TLShape | TLShapeId): this; @@ -864,19 +907,19 @@ export class Editor extends EventEmitter { setFocusedGroup(shape: null | TLGroupShape | TLShapeId): this; setHintingShapes(shapes: TLShape[] | TLShapeId[]): this; setHoveredShape(shape: null | TLShape | TLShapeId): this; - setOpacityForNextShapes(opacity: number, historyOptions?: TLCommandHistoryOptions): this; - setOpacityForSelectedShapes(opacity: number, historyOptions?: TLCommandHistoryOptions): this; - setSelectedShapes(shapes: TLShape[] | TLShapeId[], historyOptions?: TLCommandHistoryOptions): this; - setStyleForNextShapes(style: StyleProp, value: T, historyOptions?: TLCommandHistoryOptions): this; - setStyleForSelectedShapes>(style: S, value: StylePropValue, historyOptions?: TLCommandHistoryOptions): this; + setOpacityForNextShapes(opacity: number, historyOptions?: TLHistoryBatchOptions): this; + setOpacityForSelectedShapes(opacity: number): this; + setSelectedShapes(shapes: TLShape[] | TLShapeId[]): this; + setStyleForNextShapes(style: StyleProp, value: T, historyOptions?: TLHistoryBatchOptions): this; + setStyleForSelectedShapes>(style: S, value: StylePropValue): this; shapeUtils: { readonly [K in string]?: ShapeUtil; }; readonly sideEffects: SideEffectManager; slideCamera(opts?: { - speed: number; direction: VecLike; friction: number; + speed: number; speedThreshold?: number | undefined; }): this; readonly snaps: SnapManager; @@ -897,24 +940,26 @@ export class Editor extends EventEmitter { // (undocumented) ungroupShapes(ids: TLShape[]): this; updateAssets(assets: TLAssetPartial[]): this; - updateCurrentPageState(partial: Partial>, historyOptions?: TLCommandHistoryOptions): this; + updateCurrentPageState(partial: Partial>, historyOptions?: TLHistoryBatchOptions): this; + // (undocumented) + _updateCurrentPageState: (partial: Partial>, historyOptions?: TLHistoryBatchOptions) => void; updateDocumentSettings(settings: Partial): this; - updateInstanceState(partial: Partial>, historyOptions?: TLCommandHistoryOptions): this; - updatePage(partial: RequiredKeys, historyOptions?: TLCommandHistoryOptions): this; + updateInstanceState(partial: Partial>, historyOptions?: TLHistoryBatchOptions): this; + updatePage(partial: RequiredKeys): this; // @internal updateRenderingBounds(): this; - updateShape(partial: null | TLShapePartial | undefined, historyOptions?: TLCommandHistoryOptions): this; - updateShapes(partials: (null | TLShapePartial | undefined)[], historyOptions?: TLCommandHistoryOptions): this; + updateShape(partial: null | TLShapePartial | undefined): this; + updateShapes(partials: (null | TLShapePartial | undefined)[]): this; updateViewportScreenBounds(screenBounds: Box, center?: boolean): this; readonly user: UserPreferencesManager; visitDescendants(parent: TLPage | TLParentId | TLShape, visitor: (id: TLShapeId) => false | void): this; zoomIn(point?: Vec, animation?: TLAnimationOptions): this; zoomOut(point?: Vec, animation?: TLAnimationOptions): this; zoomToBounds(bounds: Box, opts?: { - targetZoom?: number; inset?: number; + targetZoom?: number; } & TLAnimationOptions): this; - zoomToContent(): this; + zoomToContent(opts?: TLAnimationOptions): this; zoomToFit(animation?: TLAnimationOptions): this; zoomToSelection(animation?: TLAnimationOptions): this; } @@ -925,13 +970,13 @@ export const EditorContext: React_2.Context; // @public (undocumented) export class Ellipse2d extends Geometry2d { constructor(config: Omit & { - width: number; height: number; + width: number; }); // (undocumented) config: Omit & { - width: number; height: number; + width: number; }; // (undocumented) get edges(): Edge2d[]; @@ -944,7 +989,7 @@ export class Ellipse2d extends Geometry2d { // (undocumented) h: number; // (undocumented) - hitTestLineSegment(A: Vec, B: Vec, zoom: number): boolean; + hitTestLineSegment(A: Vec, B: Vec): boolean; // (undocumented) nearestPoint(A: Vec): Vec; // (undocumented) @@ -983,13 +1028,13 @@ export const featureFlags: Record>; // @public (undocumented) export type GapsSnapIndicator = { - id: string; - type: 'gaps'; direction: 'horizontal' | 'vertical'; gaps: Array<{ - startEdge: [VecLike, VecLike]; endEdge: [VecLike, VecLike]; + startEdge: [VecLike, VecLike]; }>; + id: string; + type: 'gaps'; }; // @public (undocumented) @@ -1042,8 +1087,8 @@ export function getArcMeasure(A: number, B: number, sweepFlag: number, largeArcF // @public (undocumented) export function getArrowTerminalsInArrowSpace(editor: Editor, shape: TLArrowShape): { - start: Vec; end: Vec; + start: Vec; }; // @public (undocumented) @@ -1057,17 +1102,17 @@ export function getIncrementedName(name: string, others: string[]): string; // @public (undocumented) export function getPointerInfo(e: PointerEvent | React.PointerEvent): { + altKey: boolean; + button: number; + ctrlKey: boolean; + isPen: boolean; point: { x: number; y: number; z: number; }; - shiftKey: boolean; - altKey: boolean; - ctrlKey: boolean; pointerId: number; - button: number; - isPen: boolean; + shiftKey: boolean; }; // @public @@ -1092,8 +1137,8 @@ export function getUserPreferences(): TLUserPreferences; // @public (undocumented) export const GRID_STEPS: { - min: number; mid: number; + min: number; step: number; }[]; @@ -1137,7 +1182,7 @@ export class GroupShapeUtil extends ShapeUtil { // (undocumented) indicator(shape: TLGroupShape): JSX_2.Element; // (undocumented) - static migrations: Migrations; + static migrations: TLShapePropsMigrations; // (undocumented) onChildrenChange: TLOnChildrenChangeHandler; // (undocumented) @@ -1168,6 +1213,55 @@ export function hardResetEditor(): void; // @internal (undocumented) export const HASH_PATTERN_ZOOM_NAMES: Record; +// @public (undocumented) +export class HistoryManager { + constructor(opts: { + annotateError?: (error: unknown) => void; + store: Store; + }); + // (undocumented) + bail: () => this; + // (undocumented) + bailToMark: (id: string) => this; + // (undocumented) + batch: (fn: () => void, opts?: TLHistoryBatchOptions) => this; + // (undocumented) + clear(): void; + // @internal (undocumented) + debug(): { + pendingDiff: { + diff: RecordsDiff; + isEmpty: boolean; + }; + redos: (NonNullable> | undefined)[]; + state: HistoryRecorderState; + undos: (NonNullable> | undefined)[]; + }; + // (undocumented) + readonly dispose: () => void; + // (undocumented) + getNumRedos(): number; + // (undocumented) + getNumUndos(): number; + // (undocumented) + ignore(fn: () => void): this; + // @internal (undocumented) + _isInBatch: boolean; + // (undocumented) + mark: (id?: string) => string; + // (undocumented) + onBatchComplete: () => void; + // (undocumented) + redo: () => this | undefined; + // @internal (undocumented) + stacks: Atom< { + redos: Stack>; + undos: Stack>; + }, unknown>; + // (undocumented) + undo: () => this; +} + // @public (undocumented) export const HIT_TEST_MARGIN = 8; @@ -1254,27 +1348,27 @@ export class Mat { d: number; // (undocumented) static Decompose(m: MatLike): { - x: number; - y: number; + rotation: number; scaleX: number; scaleY: number; - rotation: number; + x: number; + y: number; }; // (undocumented) decompose(): { - x: number; - y: number; + rotation: number; scaleX: number; scaleY: number; - rotation: number; + x: number; + y: number; }; // (undocumented) decomposed(): { - x: number; - y: number; + rotation: number; scaleX: number; scaleY: number; - rotation: number; + x: number; + y: number; }; // (undocumented) e: number; @@ -1310,8 +1404,8 @@ export class Mat { rotation(): number; // (undocumented) static Scale: { - (x: number, y: number): MatModel; (x: number, y: number, cx: number, cy: number): MatModel; + (x: number, y: number): MatModel; }; // (undocumented) scale(x: number, y: number): this; @@ -1412,8 +1506,8 @@ export function pointInPolygon(A: VecLike, points: VecLike[]): boolean; // @public (undocumented) export type PointsSnapIndicator = { id: string; - type: 'points'; points: VecLike[]; + type: 'points'; }; // @public (undocumented) @@ -1423,6 +1517,9 @@ export class Polygon2d extends Polyline2d { }); } +// @public (undocumented) +export function polygonIntersectsPolyline(polygon: VecLike[], polyline: VecLike[]): boolean; + // @public (undocumented) export function polygonsIntersect(a: VecLike[], b: VecLike[]): boolean; @@ -1434,7 +1531,7 @@ export class Polyline2d extends Geometry2d { // (undocumented) getVertices(): Vec[]; // (undocumented) - hitTestLineSegment(A: Vec, B: Vec, zoom: number): boolean; + hitTestLineSegment(A: Vec, B: Vec, distance?: number): boolean; // (undocumented) get length(): number; // (undocumented) @@ -1489,10 +1586,10 @@ export class ReadonlySharedStyleMap { // @public (undocumented) export class Rectangle2d extends Polygon2d { constructor(config: Omit & { + height: number; + width: number; x?: number; y?: number; - width: number; - height: number; }); // (undocumented) getBounds(): Box; @@ -1517,42 +1614,42 @@ export type RequiredKeys = Partial> & Pick): { + props: { + h: number; + w: number; + }; x: number; y: number; - props: { - w: number; - h: number; - }; }; // @public (undocumented) export type ResizeBoxOptions = Partial<{ - minWidth: number; + maxHeight: number; maxWidth: number; minHeight: number; - maxHeight: number; + minWidth: number; }>; // @public (undocumented) export const ROTATE_CORNER_TO_SELECTION_CORNER: { + readonly bottom_left_rotate: "bottom_left"; + readonly bottom_right_rotate: "bottom_right"; + readonly mobile_rotate: "top_left"; readonly top_left_rotate: "top_left"; readonly top_right_rotate: "top_right"; - readonly bottom_right_rotate: "bottom_right"; - readonly bottom_left_rotate: "bottom_left"; - readonly mobile_rotate: "top_left"; }; // @public (undocumented) @@ -1563,9 +1660,9 @@ export function rotateSelectionHandle(handle: SelectionHandle, rotation: number) // @public (undocumented) export const runtime: { + hardReset: () => void; openWindow: (url: string, target: string) => void; refreshPage: () => void; - hardReset: () => void; }; // @public (undocumented) @@ -1591,7 +1688,7 @@ export abstract class ShapeUtil { constructor(editor: Editor); // @internal backgroundComponent?(shape: Shape): any; - canBind: (_shape: Shape, _otherShape?: K | undefined) => boolean; + canBind: (_shape: Shape, _otherShape?: K) => boolean; canCrop: TLShapeUtilFlag; canDropShapes(shape: Shape, shapes: TLShape[]): boolean; canEdit: TLShapeUtilFlag; @@ -1600,7 +1697,6 @@ export abstract class ShapeUtil { canResize: TLShapeUtilFlag; canScroll: TLShapeUtilFlag; canSnap: TLShapeUtilFlag; - canUnmount: TLShapeUtilFlag; abstract component(shape: Shape): any; // (undocumented) editor: Editor; @@ -1619,7 +1715,7 @@ export abstract class ShapeUtil { abstract indicator(shape: Shape): any; isAspectRatioLocked: TLShapeUtilFlag; // (undocumented) - static migrations?: Migrations; + static migrations?: LegacyMigrations | TLShapePropsMigrations; onBeforeCreate?: TLOnBeforeCreateHandler; onBeforeUpdate?: TLOnBeforeUpdateHandler; // @internal @@ -1630,9 +1726,7 @@ export abstract class ShapeUtil { onDoubleClickEdge?: TLOnDoubleClickHandler; onDoubleClickHandle?: TLOnDoubleClickHandleHandler; onDragShapesOut?: TLOnDragHandler; - onDragShapesOver?: TLOnDragHandler; + onDragShapesOver?: TLOnDragHandler; onDropShapesOver?: TLOnDragHandler; onEditEnd?: TLOnEditEndHandler; onHandleDrag?: TLOnHandleDragHandler; @@ -1649,8 +1743,8 @@ export abstract class ShapeUtil { static props?: ShapeProps; // @internal providesBackgroundForChildren(shape: Shape): boolean; - toBackgroundSvg?(shape: Shape, ctx: SvgExportContext): null | Promise | SVGElement; - toSvg?(shape: Shape, ctx: SvgExportContext): Promise | SVGElement; + toBackgroundSvg?(shape: Shape, ctx: SvgExportContext): null | Promise | ReactElement; + toSvg?(shape: Shape, ctx: SvgExportContext): null | Promise | ReactElement; static type: string; } @@ -1673,6 +1767,51 @@ export class SharedStyleMap extends ReadonlySharedStyleMap { // @public export function shortAngleDist(a0: number, a1: number): number; +// @public +export class SideEffectManager void; + }; + store: TLStore; +}> { + constructor(editor: CTX); + // (undocumented) + editor: CTX; + // @internal + register(handlersByType: { + [R in TLRecord as R['typeName']]?: { + afterChange?: TLAfterChangeHandler; + afterCreate?: TLAfterCreateHandler; + afterDelete?: TLAfterDeleteHandler; + beforeChange?: TLBeforeChangeHandler; + beforeCreate?: TLBeforeCreateHandler; + beforeDelete?: TLBeforeDeleteHandler; + }; + }): () => void; + registerAfterChangeHandler(typeName: T, handler: TLAfterChangeHandler): () => void; + registerAfterCreateHandler(typeName: T, handler: TLAfterCreateHandler): () => void; + registerAfterDeleteHandler(typeName: T, handler: TLAfterDeleteHandler): () => void; + registerBatchCompleteHandler(handler: TLBatchCompleteHandler): () => void; + registerBeforeChangeHandler(typeName: T, handler: TLBeforeChangeHandler): () => void; + registerBeforeCreateHandler(typeName: T, handler: TLBeforeCreateHandler): () => void; + registerBeforeDeleteHandler(typeName: T, handler: TLBeforeDeleteHandler): () => void; +} + +// @public (undocumented) +export const SIDES: readonly ["top", "right", "bottom", "left"]; + export { Signal } // @public (undocumented) @@ -1710,13 +1849,13 @@ export class SnapManager { // @public (undocumented) export class Stadium2d extends Ellipse2d { constructor(config: Omit & { - width: number; height: number; + width: number; }); // (undocumented) config: Omit & { - width: number; height: number; + width: number; }; // (undocumented) getVertices(): Vec[]; @@ -1770,6 +1909,8 @@ export abstract class StateNode implements Partial { // (undocumented) onKeyUp?: TLEventHandlers['onKeyUp']; // (undocumented) + onLongPress?: TLEventHandlers['onLongPress']; + // (undocumented) onMiddleClick?: TLEventHandlers['onMiddleClick']; // (undocumented) onPointerDown?: TLEventHandlers['onPointerDown']; @@ -1782,7 +1923,7 @@ export abstract class StateNode implements Partial { // (undocumented) onRightClick?: TLEventHandlers['onRightClick']; // (undocumented) - onTick?: TLTickEventHandler; + onTick?: TLEventHandlers['onTick']; // (undocumented) onTripleClick?: TLEventHandlers['onTripleClick']; // (undocumented) @@ -1821,7 +1962,7 @@ export interface SvgExportContext { // @public (undocumented) export interface SvgExportDef { // (undocumented) - getElement: () => null | Promise | SVGElement | SVGElement[]; + getElement: () => null | Promise | ReactElement; // (undocumented) key: string; } @@ -1865,33 +2006,33 @@ export interface TLArcInfo { // @public (undocumented) export type TLArrowInfo = { - isStraight: false; - start: TLArrowPoint; - end: TLArrowPoint; - middle: VecLike; - handleArc: TLArcInfo; bodyArc: TLArcInfo; - isValid: boolean; -} | { - isStraight: true; - start: TLArrowPoint; end: TLArrowPoint; + handleArc: TLArcInfo; + isStraight: false; + isValid: boolean; middle: VecLike; + start: TLArrowPoint; +} | { + end: TLArrowPoint; + isStraight: true; isValid: boolean; length: number; + middle: VecLike; + start: TLArrowPoint; }; // @public (undocumented) export type TLArrowPoint = { + arrowhead: TLArrowShapeArrowheadStyle; handle: VecLike; point: VecLike; - arrowhead: TLArrowShapeArrowheadStyle; }; // @public (undocumented) export type TLBaseBoxShape = TLBaseShape; // @public (undocumented) @@ -1921,9 +2062,9 @@ export type TLBeforeDeleteHandler = (record: R, source: 'rem // @public (undocumented) export type TLBrushProps = { brush: BoxModel; + className?: string; color?: string; opacity?: number; - className?: string; }; // @public (undocumented) @@ -1931,8 +2072,8 @@ export type TLCancelEvent = (info: TLCancelEventInfo) => void; // @public (undocumented) export type TLCancelEventInfo = { - type: 'misc'; name: 'cancel'; + type: 'misc'; }; // @public (undocumented) @@ -1940,12 +2081,12 @@ export type TLClickEvent = (info: TLClickEventInfo) => void; // @public (undocumented) export type TLClickEventInfo = TLBaseEventInfo & { - type: 'click'; + button: number; name: TLCLickEventName; + phase: 'down' | 'settle' | 'up'; point: VecLike; pointerId: number; - button: number; - phase: 'down' | 'settle' | 'up'; + type: 'click'; } & TLPointerEventTarget; // @public (undocumented) @@ -1954,44 +2095,20 @@ export type TLCLickEventName = 'double_click' | 'quadruple_click' | 'triple_clic // @public (undocumented) export type TLCollaboratorHintProps = { className?: string; + color: string; + opacity?: number; point: VecModel; viewport: Box; zoom: number; - opacity?: number; - color: string; }; -// @public (undocumented) -export type TLCommand = { - type: 'command'; - id: string; - data: Data; - name: Name; - preservesRedoStack?: boolean; -}; - -// @public (undocumented) -export type TLCommandHandler = { - do: (data: Data) => void; - undo: (data: Data) => void; - redo?: (data: Data) => void; - squash?: (prevData: Data, nextData: Data) => Data; -}; - -// @public (undocumented) -export type TLCommandHistoryOptions = Partial<{ - squashing: boolean; - ephemeral: boolean; - preservesRedoStack: boolean; -}>; - // @public (undocumented) export type TLCompleteEvent = (info: TLCompleteEventInfo) => void; // @public (undocumented) export type TLCompleteEventInfo = { - type: 'misc'; name: 'complete'; + type: 'misc'; }; // @public (undocumented) @@ -2008,12 +2125,12 @@ export interface TLContent { // @public (undocumented) export type TLCursorProps = { + chatMessage: string; className?: string; - point: null | VecModel; - zoom: number; color?: string; name: null | string; - chatMessage: string; + point: null | VecModel; + zoom: number; }; // @public (undocumented) @@ -2035,14 +2152,15 @@ export interface TldrawEditorBaseProps { // @public export type TldrawEditorProps = Expand; + defaultName?: string; initialData?: SerializedStore; + migrations?: readonly MigrationSequence[]; persistenceKey?: string; sessionId?: string; - defaultName?: string; + snapshot?: StoreSnapshot; + store?: undefined; +} | { + store: TLStore | TLStoreWithStatus; })>; // @public (undocumented) @@ -2091,6 +2209,8 @@ export interface TLEventHandlers { // (undocumented) onKeyUp: TLKeyboardEvent; // (undocumented) + onLongPress: TLPointerEvent; + // (undocumented) onMiddleClick: TLPointerEvent; // (undocumented) onPointerDown: TLPointerEvent; @@ -2103,32 +2223,27 @@ export interface TLEventHandlers { // (undocumented) onRightClick: TLPointerEvent; // (undocumented) + onTick: TLTickEvent; + // (undocumented) onTripleClick: TLClickEvent; // (undocumented) onWheel: TLWheelEvent; } // @public (undocumented) -export type TLEventInfo = TLCancelEventInfo | TLClickEventInfo | TLCompleteEventInfo | TLInterruptEventInfo | TLKeyboardEventInfo | TLPinchEventInfo | TLPointerEventInfo | TLWheelEventInfo; +export type TLEventInfo = TLCancelEventInfo | TLClickEventInfo | TLCompleteEventInfo | TLInterruptEventInfo | TLKeyboardEventInfo | TLPinchEventInfo | TLPointerEventInfo | TLTickEventInfo | TLWheelEventInfo; // @public (undocumented) export interface TLEventMap { - // (undocumented) - 'change-history': [{ - reason: 'bail'; - markId?: string; - } | { - reason: 'push' | 'redo' | 'undo'; - }]; - // (undocumented) - 'mark-history': [{ - id: string; - }]; // (undocumented) 'max-shapes': [{ + count: number; name: string; pageId: TLPageId; - count: number; + }]; + // (undocumented) + 'select-all-text': [{ + shapeId: TLShapeId; }]; // (undocumented) 'stop-camera-animation': []; @@ -2156,15 +2271,15 @@ export interface TLEventMap { export type TLEventMapHandler = (...args: TLEventMap[T]) => void; // @public (undocumented) -export type TLEventName = 'cancel' | 'complete' | 'interrupt' | 'wheel' | TLCLickEventName | TLKeyboardEventName | TLPinchEventName | TLPointerEventName; +export type TLEventName = 'cancel' | 'complete' | 'interrupt' | 'tick' | 'wheel' | TLCLickEventName | TLKeyboardEventName | TLPinchEventName | TLPointerEventName; // @public (undocumented) export type TLExitEventHandler = (info: any, to: string) => void; // @public (undocumented) export type TLExternalAssetContent = { - type: 'file'; file: File; + type: 'file'; } | { type: 'url'; url: string; @@ -2172,22 +2287,22 @@ export type TLExternalAssetContent = { // @public (undocumented) export type TLExternalContent = { - sources?: TLExternalContentSource[]; point?: VecLike; + sources?: TLExternalContentSource[]; } & ({ + embed: EmbedDefinition; type: 'embed'; url: string; - embed: EmbedDefinition; } | { - type: 'files'; files: File[]; ignoreParent: boolean; + type: 'files'; } | { + text: string; type: 'svg-text'; - text: string; } | { - type: 'text'; text: string; + type: 'text'; } | { type: 'url'; url: string; @@ -2195,36 +2310,36 @@ export type TLExternalContent = { // @public (undocumented) export type TLExternalContentSource = { - type: 'error'; + data: any; + type: 'excalidraw'; +} | { data: null | string; reason: string; + type: 'error'; } | { - type: 'excalidraw'; - data: any; -} | { - type: 'text'; data: string; subtype: 'html' | 'json' | 'text' | 'url'; + type: 'text'; } | { - type: 'tldraw'; data: TLContent; + type: 'tldraw'; }; // @public (undocumented) export type TLGridProps = { + size: number; x: number; y: number; z: number; - size: number; }; // @public (undocumented) export type TLHandleProps = { - shapeId: TLShapeId; - handle: TLHandle; - zoom: number; - isCoarse: boolean; className?: string; + handle: TLHandle; + isCoarse: boolean; + shapeId: TLShapeId; + zoom: number; }; // @public (undocumented) @@ -2232,29 +2347,13 @@ export type TLHandlesProps = { children: ReactNode; }; -// @public (undocumented) -export type TLHistoryEntry = TLCommand | TLHistoryMark; - -// @public (undocumented) -export type TLHistoryMark = { - type: 'STOP'; - id: string; - onUndo: boolean; - onRedo: boolean; -}; - -// @public (undocumented) -export type TLHoveredShapeIndicatorProps = { - shapeId: TLShapeId; -}; - // @public (undocumented) export type TLInterruptEvent = (info: TLInterruptEventInfo) => void; // @public (undocumented) export type TLInterruptEventInfo = { - type: 'misc'; name: 'interrupt'; + type: 'misc'; }; // @public (undocumented) @@ -2262,10 +2361,10 @@ export type TLKeyboardEvent = (info: TLKeyboardEventInfo) => void; // @public (undocumented) export type TLKeyboardEventInfo = TLBaseEventInfo & { - type: 'keyboard'; - name: TLKeyboardEventName; - key: string; code: string; + key: string; + name: TLKeyboardEventName; + type: 'keyboard'; }; // @public (undocumented) @@ -2339,10 +2438,10 @@ export type TLPinchEvent = (info: TLPinchEventInfo) => void; // @public (undocumented) export type TLPinchEventInfo = TLBaseEventInfo & { - type: 'pinch'; + delta: VecModel; name: TLPinchEventName; point: VecModel; - delta: VecModel; + type: 'pinch'; }; // @public (undocumented) @@ -2353,32 +2452,32 @@ export type TLPointerEvent = (info: TLPointerEventInfo) => void; // @public (undocumented) export type TLPointerEventInfo = TLBaseEventInfo & { - type: 'pointer'; + button: number; + isPen: boolean; name: TLPointerEventName; point: VecLike; pointerId: number; - button: number; - isPen: boolean; + type: 'pointer'; } & TLPointerEventTarget; // @public (undocumented) -export type TLPointerEventName = 'middle_click' | 'pointer_down' | 'pointer_move' | 'pointer_up' | 'right_click'; +export type TLPointerEventName = 'long_press' | 'middle_click' | 'pointer_down' | 'pointer_move' | 'pointer_up' | 'right_click'; // @public (undocumented) export type TLPointerEventTarget = { - target: 'canvas'; - shape?: undefined; -} | { - target: 'handle'; - shape: TLShape; handle: TLHandle; + shape: TLShape; + target: 'handle'; } | { - target: 'selection'; handle?: TLSelectionHandle; shape?: undefined; + target: 'selection'; } | { - target: 'shape'; shape: TLShape; + target: 'shape'; +} | { + shape?: undefined; + target: 'canvas'; }; // @public (undocumented) @@ -2386,13 +2485,13 @@ export type TLResizeHandle = SelectionCorner | SelectionEdge; // @public export type TLResizeInfo = { - newPoint: Vec; handle: TLResizeHandle; - mode: TLResizeMode; - scaleX: number; - scaleY: number; initialBounds: Box; initialShape: T; + mode: TLResizeMode; + newPoint: Vec; + scaleX: number; + scaleY: number; }; // @public @@ -2400,33 +2499,33 @@ export type TLResizeMode = 'resize_bounds' | 'scale_shape'; // @public (undocumented) export type TLResizeShapeOptions = Partial<{ - initialBounds: Box; - scaleOrigin: VecLike; - scaleAxisRotation: number; - initialShape: TLShape; - initialPageTransform: MatLike; dragHandle: TLResizeHandle; + initialBounds: Box; + initialPageTransform: MatLike; + initialShape: TLShape; mode: TLResizeMode; + scaleAxisRotation: number; + scaleOrigin: VecLike; }>; // @public export type TLRotationSnapshot = { - selectionPageCenter: Vec; initialCursorAngle: number; initialSelectionRotation: number; + selectionPageCenter: Vec; shapeSnapshots: { - shape: TLShape; initialPagePoint: Vec; + shape: TLShape; }[]; }; // @public (undocumented) export type TLScribbleProps = { - scribble: TLScribble; - zoom: number; + className?: string; color?: string; opacity?: number; - className?: string; + scribble: TLScribble; + zoom: number; }; // @public (undocumented) @@ -2460,14 +2559,14 @@ export interface TLSessionStateSnapshot { isToolLocked: boolean; // (undocumented) pageStates: Array<{ - pageId: TLPageId; camera: { x: number; y: number; z: number; }; - selectedShapeIds: TLShapeId[]; focusedGroupId: null | TLShapeId; + pageId: TLPageId; + selectedShapeIds: TLShapeId[]; }>; // (undocumented) version: number; @@ -2475,10 +2574,11 @@ export interface TLSessionStateSnapshot { // @public (undocumented) export type TLShapeIndicatorProps = { - shapeId: TLShapeId; - color?: string | undefined; - opacity?: number; className?: string; + color?: string | undefined; + hidden?: boolean; + opacity?: number; + shapeId: TLShapeId; }; // @public (undocumented) @@ -2494,7 +2594,7 @@ export interface TLShapeUtilConstructor; // (undocumented) @@ -2528,53 +2628,52 @@ export type TLStoreEventInfo = HistoryEntry; // @public (undocumented) export type TLStoreOptions = { - initialData?: SerializedStore; defaultName?: string; + id?: string; + initialData?: SerializedStore; } & ({ - schema?: StoreSchema; -} | { + migrations?: readonly MigrationSequence[]; shapeUtils?: readonly TLAnyShapeUtilConstructor[]; +} | { + schema?: StoreSchema; }); // @public (undocumented) export type TLStoreWithStatus = { + readonly connectionStatus: 'offline' | 'online'; + readonly error?: undefined; + readonly status: 'synced-remote'; + readonly store: TLStore; +} | { + readonly error: Error; readonly status: 'error'; readonly store?: undefined; - readonly error: Error; } | { + readonly error?: undefined; readonly status: 'loading'; readonly store?: undefined; - readonly error?: undefined; } | { + readonly error?: undefined; readonly status: 'not-synced'; readonly store: TLStore; - readonly error?: undefined; } | { + readonly error?: undefined; readonly status: 'synced-local'; readonly store: TLStore; - readonly error?: undefined; -} | { - readonly status: 'synced-remote'; - readonly connectionStatus: 'offline' | 'online'; - readonly store: TLStore; - readonly error?: undefined; }; // @public (undocumented) export type TLSvgOptions = { - bounds: Box; - scale: number; background: boolean; - padding: number; + bounds: Box; darkMode?: boolean; + padding: number; preserveAspectRatio: React.SVGAttributes['preserveAspectRatio']; + scale: number; }; // @public (undocumented) -export type TLTickEvent = (elapsed: number) => void; - -// @public (undocumented) -export type TLTickEventHandler = () => void; +export type TLTickEvent = (info: TLTickEventInfo) => void; // @public export interface TLUserPreferences { @@ -2603,10 +2702,10 @@ export type TLWheelEvent = (info: TLWheelEventInfo) => void; // @public (undocumented) export type TLWheelEventInfo = TLBaseEventInfo & { - type: 'wheel'; - name: 'wheel'; delta: VecModel; + name: 'wheel'; point: VecModel; + type: 'wheel'; }; // @public @@ -2632,8 +2731,8 @@ export type UiEventType = 'click' | 'keyboard' | 'pinch' | 'pointer' | 'wheel' | // @public (undocumented) export function uniq(array: { - readonly length: number; readonly [n: number]: T; + readonly length: number; } | null | undefined): T[]; // @public @@ -2650,31 +2749,33 @@ export function useEditor(): Editor; // @public (undocumented) export function useEditorComponents(): Partial<{ Background: ComponentType | null; - SvgDefs: ComponentType | null; Brush: ComponentType | null; - ZoomBrush: ComponentType | null; - ShapeIndicator: ComponentType | null; - Cursor: ComponentType | null; Canvas: ComponentType | null; CollaboratorBrush: ComponentType | null; CollaboratorCursor: ComponentType | null; CollaboratorHint: ComponentType | null; - CollaboratorShapeIndicator: ComponentType | null; - Grid: ComponentType | null; - Scribble: ComponentType | null; CollaboratorScribble: ComponentType | null; - SnapIndicator: ComponentType | null; - Handles: ComponentType | null; + CollaboratorShapeIndicator: ComponentType | null; + Cursor: ComponentType | null; + Grid: ComponentType | null; Handle: ComponentType | null; - Spinner: ComponentType | null; - SelectionForeground: ComponentType | null; - SelectionBackground: ComponentType | null; - HoveredShapeIndicator: ComponentType | null; - OnTheCanvas: ComponentType | null; + Handles: ComponentType | null; InFrontOfTheCanvas: ComponentType | null; LoadingScreen: ComponentType | null; + OnTheCanvas: ComponentType | null; + Scribble: ComponentType | null; + SelectionBackground: ComponentType | null; + SelectionForeground: ComponentType | null; + ShapeIndicator: ComponentType | null; + SnapIndicator: ComponentType | null; + Spinner: ComponentType | null; + SvgDefs: ComponentType | null; + ZoomBrush: ComponentType | null; } & ErrorComponents> & ErrorComponents; +// @internal +export function useEvent, Result>(handler: (...args: Args) => Result): (...args: Args) => Result; + // @public (undocumented) export function useIsCropping(shapeId: TLShapeId): boolean; @@ -2704,6 +2805,9 @@ export const USER_COLORS: readonly ["#FF802B", "#EC5E41", "#F2555A", "#F04F88", export { useReactor } +// @internal +export function useSafeId(): string; + // @public (undocumented) export function useSelectionEvents(handle: TLSelectionHandle): { onPointerDown: PointerEventHandler; @@ -2717,6 +2821,11 @@ export function useShallowArrayIdentity(arr: readonly T[]): readonly T[]; // @internal (undocumented) export function useShallowObjectIdentity>(arr: T): T; +// @public +export function useSvgExportContext(): { + isDarkMode: boolean; +} | null; + // @public (undocumented) export function useTLStore(opts: TLStoreOptions & { snapshot?: StoreSnapshot; @@ -2782,6 +2891,8 @@ export class Vec { // (undocumented) static DistanceToLineThroughPoint(A: VecLike, u: VecLike, P: VecLike): number; // (undocumented) + static DistMin(A: VecLike, B: VecLike, n: number): boolean; + // (undocumented) static Div(A: VecLike, t: number): Vec; // (undocumented) div(t: number): this; diff --git a/packages/editor/api/api.json b/packages/editor/api/api.json deleted file mode 100644 index 87e863050..000000000 --- a/packages/editor/api/api.json +++ /dev/null @@ -1,49570 +0,0 @@ -{ - "metadata": { - "toolPackage": "@microsoft/api-extractor", - "toolVersion": "7.41.0", - "schemaVersion": 1011, - "oldestForwardsCompatibleVersion": 1001, - "tsdocConfig": { - "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", - "noStandardTags": true, - "tagDefinitions": [ - { - "tagName": "@alpha", - "syntaxKind": "modifier" - }, - { - "tagName": "@beta", - "syntaxKind": "modifier" - }, - { - "tagName": "@defaultValue", - "syntaxKind": "block" - }, - { - "tagName": "@decorator", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@deprecated", - "syntaxKind": "block" - }, - { - "tagName": "@eventProperty", - "syntaxKind": "modifier" - }, - { - "tagName": "@example", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@experimental", - "syntaxKind": "modifier" - }, - { - "tagName": "@inheritDoc", - "syntaxKind": "inline" - }, - { - "tagName": "@internal", - "syntaxKind": "modifier" - }, - { - "tagName": "@label", - "syntaxKind": "inline" - }, - { - "tagName": "@link", - "syntaxKind": "inline", - "allowMultiple": true - }, - { - "tagName": "@override", - "syntaxKind": "modifier" - }, - { - "tagName": "@packageDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@param", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@privateRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@public", - "syntaxKind": "modifier" - }, - { - "tagName": "@readonly", - "syntaxKind": "modifier" - }, - { - "tagName": "@remarks", - "syntaxKind": "block" - }, - { - "tagName": "@returns", - "syntaxKind": "block" - }, - { - "tagName": "@sealed", - "syntaxKind": "modifier" - }, - { - "tagName": "@see", - "syntaxKind": "block" - }, - { - "tagName": "@throws", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@typeParam", - "syntaxKind": "block", - "allowMultiple": true - }, - { - "tagName": "@virtual", - "syntaxKind": "modifier" - }, - { - "tagName": "@betaDocumentation", - "syntaxKind": "modifier" - }, - { - "tagName": "@internalRemarks", - "syntaxKind": "block" - }, - { - "tagName": "@preapproved", - "syntaxKind": "modifier" - } - ], - "supportForTags": { - "@alpha": true, - "@beta": true, - "@defaultValue": true, - "@decorator": true, - "@deprecated": true, - "@eventProperty": true, - "@example": true, - "@experimental": true, - "@inheritDoc": true, - "@internal": true, - "@label": true, - "@link": true, - "@override": true, - "@packageDocumentation": true, - "@param": true, - "@privateRemarks": true, - "@public": true, - "@readonly": true, - "@remarks": true, - "@returns": true, - "@sealed": true, - "@see": true, - "@throws": true, - "@typeParam": true, - "@virtual": true, - "@betaDocumentation": true, - "@internalRemarks": true, - "@preapproved": true - }, - "reportUnsupportedHtmlElements": false - } - }, - "kind": "Package", - "canonicalReference": "@tldraw/editor!", - "docComment": "", - "name": "@tldraw/editor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "EntryPoint", - "canonicalReference": "@tldraw/editor!", - "name": "", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!angleDistance:function(1)", - "docComment": "/**\n * Get the angle of a point on an arc.\n *\n * @param fromAngle - The angle from center to arc's start point (A) on the circle\n *\n * @param toAngle - The angle from center to arc's end point (B) on the circle\n *\n * @param direction - The direction of the arc (1 = counter-clockwise, -1 = clockwise)\n *\n * @returns The distance in radians between the two angles according to the direction\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function angleDistance(fromAngle: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", toAngle: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", direction: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "fromAngle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "toAngle", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "direction", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "angleDistance" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!approximately:function(1)", - "docComment": "/**\n * Whether two numbers numbers a and b are approximately equal.\n *\n * @param a - The first point.\n *\n * @param b - The second point.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function approximately(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", precision?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "precision", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "name": "approximately" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Arc2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Arc2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Arc2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Arc2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#_center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_center: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Arc2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Arc2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n center: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n radius: number;\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n sweepFlag: number;\n largeArcFlag: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 11 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#angleEnd:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "angleEnd: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "angleEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#angleStart:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "angleStart: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "angleStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#end:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "end", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Arc2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Arc2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", _zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "_zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "length: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#measure:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "measure: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "measure", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Arc2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#radius:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "radius: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "radius", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Arc2d#start:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "start", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!areAnglesCompatible:function(1)", - "docComment": "/**\n * Checks whether two angles are approximately at right-angles or parallel to each other\n *\n * @param a - Angle a (radians)\n *\n * @param b - Angle b (radians)\n *\n * @returns True iff the angles are approximately at right-angles or parallel to each other\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function areAnglesCompatible(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "areAnglesCompatible" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!average:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function average(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "average" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class BaseBoxShapeTool extends " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool.ts", - "releaseTag": "Public", - "isAbstract": true, - "name": "BaseBoxShapeTool", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children: " - }, - { - "kind": "Content", - "text": "() => (typeof " - }, - { - "kind": "Reference", - "text": "Idle", - "canonicalReference": "@tldraw/editor!~Idle:class" - }, - { - "kind": "Content", - "text": " | typeof " - }, - { - "kind": "Reference", - "text": "Pointing", - "canonicalReference": "@tldraw/editor!~Pointing:class" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool#onCreate:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCreate?: " - }, - { - "kind": "Content", - "text": "(_shape: null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => null | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeTool#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract shapeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": true - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class BaseBoxShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/BaseBoxShapeUtil.tsx", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": true, - "name": "BaseBoxShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil#getHandleSnapGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandleSnapGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HandleSnapGeometry", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandleSnapGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!BaseBoxShapeUtil#onResize:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!BoundsSnapGeometry:interface", - "docComment": "/**\n * When moving or resizing shapes, the bounds of the shape can snap to key geometry on other nearby shapes. Customize how a shape snaps to others with {@link ShapeUtil.getBoundsSnapGeometry}.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface BoundsSnapGeometry " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/BoundsSnaps.ts", - "releaseTag": "Public", - "name": "BoundsSnapGeometry", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapGeometry#points:member", - "docComment": "/**\n * Points that this shape will snap to. By default, this will be the corners and center of the shapes bounding box. To disable snapping to a specific point, use an empty array.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "points?: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface BoundsSnapPoint " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/BoundsSnaps.ts", - "releaseTag": "Public", - "name": "BoundsSnapPoint", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#handle:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "handle?: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "handle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!BoundsSnapPoint#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Box:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Box " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Box", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Box:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Box` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", w?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", h?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "w", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - }, - { - "parameterName": "h", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#aspectRatio:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get aspectRatio(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "aspectRatio", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get center(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n\nset center(v: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#clone:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#collides:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "collides(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "collides" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Collides:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Collides: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Collides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Common:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Common: " - }, - { - "kind": "Content", - "text": "(boxes: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "[]) => " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Common", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#contains:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "contains(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "contains" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Contains:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Contains: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Contains", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#containsPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "containsPoint(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", margin?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "containsPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.ContainsPoint:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ContainsPoint: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", margin?: number) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ContainsPoint", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#corners:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get corners(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "corners", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#cornersAndCenter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get cornersAndCenter(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "cornersAndCenter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(other: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "other", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.Equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Equals(a: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#expand:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "expand(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "expand" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.Expand:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Expand(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Expand" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#expandBy:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "expandBy(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "expandBy" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.ExpandBy:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ExpandBy(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ExpandBy" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.From:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static From(box: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "From" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.FromCenter:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromCenter(center: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", size: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "center", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "size", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromCenter" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.FromPoints:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromPoints(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromPoints" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#getHandlePoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandlePoint(handle: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandlePoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#height:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get height(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset height(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "height", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#includes:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "includes(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "includes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Includes:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Includes: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Includes", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#maxX:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get maxX(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "maxX", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#maxY:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get maxY(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "maxY", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#midX:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get midX(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "midX", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#midY:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get midY(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "midY", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#minX:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get minX(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset minX(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "minX", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#minY:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get minY(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset minY(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "minY", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#point:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get point(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n\nset point(val: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "point", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#resize:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "resize(handle: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": " | string" - }, - { - "kind": "Content", - "text": ", dx: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", dy: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "dx", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "dy", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "resize" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.Resize:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Resize(box: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", handle: " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": " | string" - }, - { - "kind": "Content", - "text": ", dx: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", dy: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", isAspectRatioLocked?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n box: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n scaleX: number;\n scaleY: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 14, - "endIndex": 17 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "dx", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - }, - { - "parameterName": "dy", - "parameterTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "isOptional": false - }, - { - "parameterName": "isAspectRatioLocked", - "parameterTypeTokenRange": { - "startIndex": 12, - "endIndex": 13 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Resize" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#scale:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "scale(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "scale" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#set:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "set(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", w?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", h?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "w", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - }, - { - "parameterName": "h", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "set" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#setTo:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setTo(B: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setTo" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#sides:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get sides(): " - }, - { - "kind": "Reference", - "text": "Array", - "canonicalReference": "!Array:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "sides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box.Sides:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Sides: " - }, - { - "kind": "Content", - "text": "(A: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", inset?: number) => " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[][]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Sides", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#size:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get size(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "size", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#snapToGrid:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "snapToGrid(size: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "size", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "snapToGrid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#toFixed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toFixed(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toFixed" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#toJson:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toJson(): " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toJson" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#translate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "translate(delta: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "delta", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "translate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#union:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "union(box: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "union" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#width:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get width(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";\n\nset width(n: number);" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "width", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Box#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box#zeroFix:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "zeroFix(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "zeroFix" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Box.ZeroFix:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ZeroFix(other: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "other", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ZeroFix" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!BoxLike:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type BoxLike = " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "BoxLike", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!canonicalizeRotation:function(1)", - "docComment": "/**\n * @param a - Any angle in radians\n *\n * @returns A number between 0 and 2 * PI\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function canonicalizeRotation(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "canonicalizeRotation" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Circle2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Circle2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Circle2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Circle2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#_center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_center: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Circle2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Circle2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n x?: number;\n y?: number;\n radius: number;\n isFilled: boolean;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n x?: number;\n y?: number;\n radius: number;\n isFilled: boolean;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", _zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "_zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Circle2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#radius:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "radius: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "radius", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Circle2d#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clamp:function(1)", - "docComment": "/**\n * Clamp a value into a range.\n *\n * @param n - The number to clamp.\n *\n * @param min - The minimum value.\n *\n * @example\n * ```ts\n * const A = clamp(0, 1) // 1\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clamp(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "clamp" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clamp:function(2)", - "docComment": "/**\n * Clamp a value into a range.\n *\n * @param n - The number to clamp.\n *\n * @param min - The minimum value.\n *\n * @param max - The maximum value.\n *\n * @example\n * ```ts\n * const A = clamp(0, 1, 10) // 1\n * const B = clamp(11, 1, 10) // 10\n * const C = clamp(5, 1, 10) // 5\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clamp(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", max: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "max", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "clamp" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clampRadians:function(1)", - "docComment": "/**\n * Clamp radians within 0 and 2PI\n *\n * @param r - The radian value.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clampRadians(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "clampRadians" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!clockwiseAngleDist:function(1)", - "docComment": "/**\n * Get the clockwise angle distance between two angles.\n *\n * @param a0 - The first angle.\n *\n * @param a1 - The second angle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function clockwiseAngleDist(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "clockwiseAngleDist" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!coreShapes:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "coreShapes: " - }, - { - "kind": "Content", - "text": "readonly [typeof " - }, - { - "kind": "Reference", - "text": "GroupShapeUtil", - "canonicalReference": "@tldraw/editor!GroupShapeUtil:class" - }, - { - "kind": "Content", - "text": "]" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/defaultShapes.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "coreShapes", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!counterClockwiseAngleDist:function(1)", - "docComment": "/**\n * Get the counter-clockwise angle distance between two angles.\n *\n * @param a0 - The first angle.\n *\n * @param a1 - The second angle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function counterClockwiseAngleDist(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "counterClockwiseAngleDist" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!createSessionStateSnapshotSignal:function(1)", - "docComment": "/**\n * Creates a signal of the instance state for a given store.\n *\n * @param store - The store to create the instance state snapshot signal for\n *\n * @returns \n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createSessionStateSnapshotSignal(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "createSessionStateSnapshotSignal" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!createTLStore:function(1)", - "docComment": "/**\n * A helper for creating a TLStore. Custom shapes cannot override default shapes.\n *\n * @param opts - Options for creating the store.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createTLStore({ initialData, defaultName, ...rest }: " - }, - { - "kind": "Reference", - "text": "TLStoreOptions", - "canonicalReference": "@tldraw/editor!TLStoreOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLStore.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ initialData, defaultName, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "createTLStore" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!createTLUser:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function createTLUser(opts?: " - }, - { - "kind": "Content", - "text": "{\n derivePresenceState?: ((store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": ") | undefined;\n userPreferences?: " - }, - { - "kind": "Reference", - "text": "Signal", - "canonicalReference": "@tldraw/state!Signal:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ", unknown> | undefined;\n setUserPreferences?: ((userPreferences: " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ") => void) | undefined;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLUser", - "canonicalReference": "@tldraw/editor!~TLUser:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLUser.ts", - "returnTypeTokenRange": { - "startIndex": 15, - "endIndex": 16 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 14 - }, - "isOptional": true - } - ], - "name": "createTLUser" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!CubicBezier2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class CubicBezier2d extends " - }, - { - "kind": "Reference", - "text": "Polyline2d", - "canonicalReference": "@tldraw/editor!Polyline2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/CubicBezier2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "CubicBezier2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!CubicBezier2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `CubicBezier2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n cp1: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n cp2: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 13 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#a:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "a: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "a", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#b:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "b: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "b", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#c:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "c: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "c", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicBezier2d#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicBezier2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicBezier2d#midPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "midPoint(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "midPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicBezier2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!CubicSpline2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class CubicSpline2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/CubicSpline2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "CubicSpline2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#_length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#_segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_segments?: " - }, - { - "kind": "Reference", - "text": "CubicBezier2d", - "canonicalReference": "@tldraw/editor!CubicBezier2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!CubicSpline2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `CubicSpline2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicSpline2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicSpline2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get length(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!CubicSpline2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#points:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!CubicSpline2d#segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get segments(): " - }, - { - "kind": "Reference", - "text": "CubicBezier2d", - "canonicalReference": "@tldraw/editor!CubicBezier2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!dataUrlToFile:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function dataUrlToFile(url: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", filename: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", mimeType: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "File", - "canonicalReference": "!File:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/assets.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "url", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "filename", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "mimeType", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "dataUrlToFile" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultBackground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultBackground(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultBackground.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultBackground" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultBrush:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultBrush: ({ brush, color, opacity, className }: " - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultBrush.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ brush, color, opacity, className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultBrush" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultCanvas:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultCanvas({ className }: " - }, - { - "kind": "Reference", - "text": "TLCanvasComponentProps", - "canonicalReference": "@tldraw/editor!~TLCanvasComponentProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCanvas.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultCanvas" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultCollaboratorHint:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultCollaboratorHint({ className, zoom, point, color, viewport, opacity, }: " - }, - { - "kind": "Reference", - "text": "TLCollaboratorHintProps", - "canonicalReference": "@tldraw/editor!TLCollaboratorHintProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCollaboratorHint.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, zoom, point, color, viewport, opacity, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultCollaboratorHint" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!DefaultCursor:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultCursor: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursorProps", - "canonicalReference": "@tldraw/editor!TLCursorProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCursor.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultCursor", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!DefaultErrorFallback:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultErrorFallback: " - }, - { - "kind": "Reference", - "text": "TLErrorFallbackComponent", - "canonicalReference": "@tldraw/editor!~TLErrorFallbackComponent:type" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultErrorFallback.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultErrorFallback", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultGrid:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultGrid({ x, y, z, size }: " - }, - { - "kind": "Reference", - "text": "TLGridProps", - "canonicalReference": "@tldraw/editor!TLGridProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultGrid.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ x, y, z, size }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultGrid" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultHandle:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHandle({ handle, isCoarse, className, zoom }: " - }, - { - "kind": "Reference", - "text": "TLHandleProps", - "canonicalReference": "@tldraw/editor!TLHandleProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandle.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ handle, isCoarse, className, zoom }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHandle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultHandles:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultHandles: ({ children }: " - }, - { - "kind": "Reference", - "text": "TLHandlesProps", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandles.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHandles" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultHoveredShapeIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultHoveredShapeIndicator({ shapeId }: " - }, - { - "kind": "Reference", - "text": "TLHoveredShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHoveredShapeIndicator.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ shapeId }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultHoveredShapeIndicator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultScribble:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultScribble({ scribble, zoom, color, opacity, className }: " - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultScribble.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ scribble, zoom, color, opacity, className }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultScribble" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSelectionBackground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSelectionBackground({ bounds, rotation }: " - }, - { - "kind": "Reference", - "text": "TLSelectionBackgroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionBackground.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ bounds, rotation }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultSelectionBackground" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSelectionForeground:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSelectionForeground({ bounds, rotation }: " - }, - { - "kind": "Reference", - "text": "TLSelectionForegroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionForeground.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ bounds, rotation }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultSelectionForeground" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!DefaultShapeIndicator:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultShapeIndicator: " - }, - { - "kind": "Content", - "text": "import(\"react\")." - }, - { - "kind": "Reference", - "text": "NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultShapeIndicator.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "DefaultShapeIndicator", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSnapIndicator:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSnapIndicator({ className, line, zoom }: " - }, - { - "kind": "Reference", - "text": "TLSnapIndicatorProps", - "canonicalReference": "@tldraw/editor!TLSnapIndicatorProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSnapIndictor.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ className, line, zoom }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "DefaultSnapIndicator" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSpinner:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function DefaultSpinner(): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSpinner.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultSpinner" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!DefaultSvgDefs:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "DefaultSvgDefs: () => " - }, - { - "kind": "Content", - "text": "null" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSvgDefs.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "DefaultSvgDefs" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!defaultUserPreferences:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "defaultUserPreferences: " - }, - { - "kind": "Reference", - "text": "Readonly", - "canonicalReference": "!Readonly:type" - }, - { - "kind": "Content", - "text": "<{\n name: \"New User\";\n locale: \"ar\" | \"ca\" | \"cs\" | \"da\" | \"de\" | \"en\" | \"es\" | \"fa\" | \"fi\" | \"fr\" | \"gl\" | \"he\" | \"hi-in\" | \"hr\" | \"hu\" | \"it\" | \"ja\" | \"ko-kr\" | \"ku\" | \"my\" | \"ne\" | \"no\" | \"pl\" | \"pt-br\" | \"pt-pt\" | \"ro\" | \"ru\" | \"sl\" | \"sv\" | \"te\" | \"th\" | \"tr\" | \"uk\" | \"vi\" | \"zh-cn\" | \"zh-tw\";\n color: \"#02B1CC\" | \"#11B3A3\" | \"#39B178\" | \"#55B467\" | \"#7B66DC\" | \"#9D5BD2\" | \"#BD54C6\" | \"#E34BA9\" | \"#EC5E41\" | \"#F04F88\" | \"#F2555A\" | \"#FF802B\";\n isDarkMode: false;\n edgeScrollSpeed: 1;\n animationSpeed: 0 | 1;\n isSnapMode: false;\n isWrapMode: false;\n}>" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "defaultUserPreferences", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!degreesToRadians:function(1)", - "docComment": "/**\n * Convert degrees to radians.\n *\n * @param d - The degree in degrees.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function degreesToRadians(d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "d", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "degreesToRadians" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!EASINGS:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "EASINGS: " - }, - { - "kind": "Content", - "text": "{\n readonly linear: (t: number) => number;\n readonly easeInQuad: (t: number) => number;\n readonly easeOutQuad: (t: number) => number;\n readonly easeInOutQuad: (t: number) => number;\n readonly easeInCubic: (t: number) => number;\n readonly easeOutCubic: (t: number) => number;\n readonly easeInOutCubic: (t: number) => number;\n readonly easeInQuart: (t: number) => number;\n readonly easeOutQuart: (t: number) => number;\n readonly easeInOutQuart: (t: number) => number;\n readonly easeInQuint: (t: number) => number;\n readonly easeOutQuint: (t: number) => number;\n readonly easeInOutQuint: (t: number) => number;\n readonly easeInSine: (t: number) => number;\n readonly easeOutSine: (t: number) => number;\n readonly easeInOutSine: (t: number) => number;\n readonly easeInExpo: (t: number) => number;\n readonly easeOutExpo: (t: number) => number;\n readonly easeInOutExpo: (t: number) => number;\n}" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/easings.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "EASINGS", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Edge2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Edge2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Edge2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Edge2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#_length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Edge2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Edge2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Content", - "text": "{\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#end:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "end", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", _zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "_zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get length(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#midPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "midPoint(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "midPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Edge2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#start:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "start", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#u:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "u: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "u", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Edge2d#ul:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ul: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ul", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Editor:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Editor extends " - }, - { - "kind": "Reference", - "text": "EventEmitter", - "canonicalReference": "eventemitter3!EventEmitter.EventEmitter" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventMap", - "canonicalReference": "@tldraw/editor!TLEventMap:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Editor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Editor:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Editor` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor({ store, user, shapeUtils, tools, getContainer, initialState, inferDarkMode, }: " - }, - { - "kind": "Reference", - "text": "TLEditorOptions", - "canonicalReference": "@tldraw/editor!TLEditorOptions:interface" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ store, user, shapeUtils, tools, getContainer, initialState, inferDarkMode, }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#addOpenMenu:member(1)", - "docComment": "/**\n * Add an open menu.\n *\n * @example\n * ```ts\n * editor.addOpenMenu('menu-id')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "addOpenMenu(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "addOpenMenu" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#alignShapes:member(1)", - "docComment": "/**\n * Align shape positions.\n *\n * @param shapes - The shapes (or shape ids) to align.\n *\n * @param operation - The align operation to apply.\n *\n * @example\n * ```ts\n * editor.alignShapes([box1, box2], 'left')\n * editor.alignShapes(editor.getSelectedShapeIds(), 'left')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "alignShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'bottom' | 'center-horizontal' | 'center-vertical' | 'left' | 'right' | 'top'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "alignShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateShape:member(1)", - "docComment": "/**\n * Animate a shape.\n *\n * @param partial - The shape partial to update.\n *\n * @param options - The animation's options.\n *\n * @example\n * ```ts\n * editor.animateShape({ id: 'box1', type: 'box', x: 100, y: 100 })\n * editor.animateShape({ id: 'box1', type: 'box', x: 100, y: 100 }, { duration: 100, ease: t => t*t })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateShape(partial: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", animationOptions?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "animationOptions", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateShapes:member(1)", - "docComment": "/**\n * Animate shapes.\n *\n * @param partials - The shape partials to update.\n *\n * @param options - The animation's options.\n *\n * @example\n * ```ts\n * editor.animateShapes([{ id: 'box1', type: 'box', x: 100, y: 100 }])\n * editor.animateShapes([{ id: 'box1', type: 'box', x: 100, y: 100 }], { duration: 100, ease: t => t*t })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateShapes(partials: " - }, - { - "kind": "Content", - "text": "(null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined)[]" - }, - { - "kind": "Content", - "text": ", animationOptions?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n duration: number;\n easing: (t: number) => number;\n }>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partials", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "animationOptions", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateToShape:member(1)", - "docComment": "/**\n * Animate the camera to a shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateToShape(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateToShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#animateToUser:member(1)", - "docComment": "/**\n * Animate the camera to a user's cursor position. This also briefly show the user's cursor if it's not currently visible.\n *\n * @param userId - The id of the user to aniamte to.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "animateToUser(userId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "userId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "animateToUser" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bail:member(1)", - "docComment": "/**\n * Clear all marks in the undo stack back to the next mark.\n *\n * @example\n * ```ts\n * editor.bail()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bail(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "bail" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bailToMark:member(1)", - "docComment": "/**\n * Clear all marks in the undo stack back to the mark with the provided mark id.\n *\n * @example\n * ```ts\n * editor.bailToMark('dragging')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bailToMark(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "bailToMark" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#batch:member(1)", - "docComment": "/**\n * Run a function in a batch, which will be undone/redone as a single action.\n *\n * @example\n * ```ts\n * editor.batch(() => {\n * \teditor.selectAll()\n * \teditor.deleteShapes(editor.getSelectedShapeIds())\n * \teditor.createShapes(myShapes)\n * \teditor.selectNone()\n * })\n *\n * editor.undo() // will undo all of the above\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "batch(fn: " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "fn", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "batch" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bringForward:member(1)", - "docComment": "/**\n * Bring shapes forward in the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.bringForward(['id1', 'id2'])\n * editor.bringForward(box1, box2)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bringForward(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "bringForward" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#bringToFront:member(1)", - "docComment": "/**\n * Bring shapes to the front of the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.bringToFront(['id1', 'id2'])\n * editor.bringToFront([box1, box2])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "bringToFront(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "bringToFront" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#cancel:member(1)", - "docComment": "/**\n * Dispatch a cancel event.\n *\n * @example\n * ```ts\n * editor.cancel()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "cancel(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "cancel" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#cancelDoubleClick:member(1)", - "docComment": "/**\n * Prevent a double click event from firing the next time the user clicks\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "cancelDoubleClick(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "cancelDoubleClick" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#centerOnPoint:member(1)", - "docComment": "/**\n * Center the camera on a point (in the current page space).\n *\n * @param point - The point in the current page space to center on.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.centerOnPoint({ x: 100, y: 100 })\n * editor.centerOnPoint({ x: 100, y: 100 }, { duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "centerOnPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "centerOnPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#clearOpenMenus:member(1)", - "docComment": "/**\n * Clear all open menus.\n *\n * @example\n * ```ts\n * editor.clearOpenMenus()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "clearOpenMenus(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clearOpenMenus" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#complete:member(1)", - "docComment": "/**\n * Dispatch a complete event.\n *\n * @example\n * ```ts\n * editor.complete()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "complete(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "complete" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createAssets:member(1)", - "docComment": "/**\n * Create one or more assets.\n *\n * @param assets - The assets to create.\n *\n * @example\n * ```ts\n * editor.createAssets([...myAssets])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createAssets(assets: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assets", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createPage:member(1)", - "docComment": "/**\n * Create a page.\n *\n * @param page - The page (or page partial) to create.\n *\n * @example\n * ```ts\n * editor.createPage(myPage)\n * editor.createPage({ name: 'Page 2' })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createPage(page: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createShape:member(1)", - "docComment": "/**\n * Create a single shape.\n *\n * @param shape - The shape (or shape partial) to create.\n *\n * @example\n * ```ts\n * editor.createShape(myShape)\n * editor.createShape({ id: 'box1', type: 'text', props: { text: \"ok\" } })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createShape(shape: " - }, - { - "kind": "Reference", - "text": "OptionalKeys", - "canonicalReference": "@tldraw/editor!~OptionalKeys:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": ", 'id'>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#createShapes:member(1)", - "docComment": "/**\n * Create shapes.\n *\n * @param shapes - The shapes (or shape partials) to create.\n *\n * @param select - Whether to select the created shapes. Defaults to false.\n *\n * @example\n * ```ts\n * editor.createShapes([myShape])\n * editor.createShapes([{ id: 'box1', type: 'text', props: { text: \"ok\" } }])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "createShapes(shapes: " - }, - { - "kind": "Reference", - "text": "OptionalKeys", - "canonicalReference": "@tldraw/editor!~OptionalKeys:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": ", 'id'>[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "createShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteAssets:member(1)", - "docComment": "/**\n * Delete one or more assets.\n *\n * @param ids - The assets to delete.\n *\n * @example\n * ```ts\n * editor.deleteAssets(['asset1', 'asset2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteAssets(assets: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assets", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteOpenMenu:member(1)", - "docComment": "/**\n * Delete an open menu.\n *\n * @example\n * ```ts\n * editor.deleteOpenMenu('menu-id')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteOpenMenu(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteOpenMenu" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deletePage:member(1)", - "docComment": "/**\n * Delete a page.\n *\n * @param id - The id of the page to delete.\n *\n * @example\n * ```ts\n * editor.deletePage('page1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deletePage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deletePage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShape:member(1)", - "docComment": "/**\n * Delete a shape.\n *\n * @param id - The id of the shape to delete.\n *\n * @example\n * ```ts\n * editor.deleteShapes(['box1', 'box2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShape(id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShape:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShapes:member(1)", - "docComment": "/**\n * Delete shapes.\n *\n * @param ids - The ids of the shapes to delete.\n *\n * @example\n * ```ts\n * editor.deleteShapes(['box1', 'box2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShapes(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deleteShapes:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "deleteShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deleteShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#deselect:member(1)", - "docComment": "/**\n * Remove a shape from the existing set of selected shapes.\n *\n * @example\n * ```ts\n * editor.deselect(shape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "deselect(...shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "deselect" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#dispatch:member", - "docComment": "/**\n * Dispatch an event to the editor.\n *\n * @param info - The event info.\n *\n * @example\n * ```ts\n * editor.dispatch(myPointerEvent)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "dispatch: " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLEventInfo", - "canonicalReference": "@tldraw/editor!TLEventInfo:type" - }, - { - "kind": "Content", - "text": ") => this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "dispatch", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#disposables:member", - "docComment": "/**\n * A set of functions to call when the app is disposed.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly disposables: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<() => void>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "disposables", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#dispose:member(1)", - "docComment": "/**\n * Dispose the editor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "dispose(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "dispose" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#distributeShapes:member(1)", - "docComment": "/**\n * Distribute shape positions.\n *\n * @param shapes - The shapes (or shape ids) to distribute.\n *\n * @param operation - Whether to distribute shapes horizontally or vertically.\n *\n * @example\n * ```ts\n * editor.distributeShapes([box1, box2], 'horizontal')\n * editor.distributeShapes(editor.getSelectedShapeIds(), 'horizontal')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "distributeShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distributeShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#duplicatePage:member(1)", - "docComment": "/**\n * Duplicate a page.\n *\n * @param id - The id of the page to duplicate. Defaults to the current page.\n *\n * @param createId - The id of the new page. Defaults to a new id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "duplicatePage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ", createId?: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "createId", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "duplicatePage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#duplicateShapes:member(1)", - "docComment": "/**\n * Duplicate shapes.\n *\n * @param shapes - The shapes (or shape ids) to duplicate.\n *\n * @param offset - The offset (in pixels) to apply to the duplicated shapes.\n *\n * @example\n * ```ts\n * editor.duplicateShapes(['box1', 'box2'], { x: 8, y: 8 })\n * editor.duplicateShapes(editor.getSelectedShapes(), { x: 8, y: 8 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "duplicateShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", offset?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "offset", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "duplicateShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#environment:member", - "docComment": "/**\n * A manager for the editor's environment.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly environment: " - }, - { - "kind": "Reference", - "text": "EnvironmentManager", - "canonicalReference": "@tldraw/editor!~EnvironmentManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "environment", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#findCommonAncestor:member(1)", - "docComment": "/**\n * Get the common ancestor of two or more shapes that matches a predicate.\n *\n * @param shapes - The shapes (or shape ids) to check.\n *\n * @param predicate - The predicate to match.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "findCommonAncestor(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", predicate?: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "predicate", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "findCommonAncestor" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#findShapeAncestor:member(1)", - "docComment": "/**\n * Find the first ancestor matching the given predicate\n *\n * @param shape - The shape to check the ancestors for.\n *\n * @example\n * ```ts\n * const ancestor = editor.findShapeAncestor(myShape)\n * const ancestor = editor.findShapeAncestor(myShape.id)\n * const ancestor = editor.findShapeAncestor(myShape.id, (shape) => shape.type === 'frame')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "findShapeAncestor(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", predicate: " - }, - { - "kind": "Content", - "text": "(parent: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "predicate", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "findShapeAncestor" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#flipShapes:member(1)", - "docComment": "/**\n * Flip shape positions.\n *\n * @param shapes - The ids of the shapes to flip.\n *\n * @param operation - Whether to flip horizontally or vertically.\n *\n * @example\n * ```ts\n * editor.flipShapes([box1, box2], 'horizontal', 32)\n * editor.flipShapes(editor.getSelectedShapeIds(), 'horizontal', 32)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "flipShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "flipShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAncestorPageId:member(1)", - "docComment": "/**\n * Get the id of the containing page for a given shape.\n *\n * @param shape - The shape to get the page id for.\n *\n * @returns The id of the page that contains the shape, or undefined if the shape is undefined.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAncestorPageId(shape?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAncestorPageId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getArrowInfo:member(1)", - "docComment": "/**\n * Get cached info about an arrow.\n *\n * @param shape - The shape (or shape id) of the arrow to get the info for.\n *\n * @example\n * ```ts\n * const arrowInfo = editor.getArrowInfo(myArrow)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArrowInfo(shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLArrowInfo", - "canonicalReference": "@tldraw/editor!TLArrowInfo:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getArrowInfo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getArrowsBoundTo:member(1)", - "docComment": "/**\n * Get all arrows bound to a shape.\n *\n * @param shapeId - The id of the shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArrowsBoundTo(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n arrowId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n handleId: \"end\" | \"start\";\n }[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getArrowsBoundTo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAsset:member(1)", - "docComment": "/**\n * Get an asset by its id.\n *\n * @param asset - The asset (or asset id) to get.\n *\n * @example\n * ```ts\n * editor.getAsset('asset1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAsset(asset: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLAssetId", - "canonicalReference": "@tldraw/tlschema!TLAssetId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "asset", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAsset" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAssetForExternalContent:member(1)", - "docComment": "/**\n * Get an asset for an external asset content type.\n *\n * @param info - Info about the external content.\n *\n * @returns The asset.\n *\n * @example\n * ```ts\n * const asset = await editor.getAssetForExternalContent({ type: 'file', file: myFile })\n * const asset = await editor.getAssetForExternalContent({ type: 'url', url: myUrl })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAssetForExternalContent(info: " - }, - { - "kind": "Reference", - "text": "TLExternalAssetContent", - "canonicalReference": "@tldraw/editor!TLExternalAssetContent:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": " | undefined>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAssetForExternalContent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getAssets:member(1)", - "docComment": "/**\n * Get all assets in the editor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAssets(): " - }, - { - "kind": "Content", - "text": "(import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "TLBookmarkAsset", - "canonicalReference": "@tldraw/tlschema!TLBookmarkAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLImageAsset", - "canonicalReference": "@tldraw/tlschema!TLImageAsset:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLVideoAsset", - "canonicalReference": "@tldraw/tlschema!TLVideoAsset:type" - }, - { - "kind": "Content", - "text": ")[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCamera:member(1)", - "docComment": "/**\n * The current camera.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCamera(): " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "TLCamera", - "canonicalReference": "@tldraw/tlschema!TLCamera:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCamera" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCameraState:member(1)", - "docComment": "/**\n * Whether the camera is moving or idle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCameraState(): " - }, - { - "kind": "Content", - "text": "\"idle\" | \"moving\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCameraState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCanRedo:member(1)", - "docComment": "/**\n * Whether the app can redo.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanRedo(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanRedo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCanUndo:member(1)", - "docComment": "/**\n * Whether the app can undo.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanUndo(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanUndo" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#getContainer:member", - "docComment": "/**\n * The current HTML element containing the editor.\n *\n * @example\n * ```ts\n * const container = editor.getContainer()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getContainer: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getContainer", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getContentFromCurrentPage:member(1)", - "docComment": "/**\n * Get content that can be exported for the given shape ids.\n *\n * @param shapes - The shapes (or shape ids) to get content for.\n *\n * @returns The exported content.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getContentFromCurrentPage(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLContent", - "canonicalReference": "@tldraw/editor!TLContent:interface" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getContentFromCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCroppingShapeId:member(1)", - "docComment": "/**\n * The current cropping shape's id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCroppingShapeId(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCroppingShapeId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPage:member(1)", - "docComment": "/**\n * The current page.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPage(): " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageBounds:member(1)", - "docComment": "/**\n * The bounds of the current page (the common bounds of all of the shapes on the page).\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageId:member(1)", - "docComment": "/**\n * The current page id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageId(): " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageRenderingShapesSorted:member(1)", - "docComment": "/**\n * An array containing all of the rendering shapes in the current page, sorted in z-index order (accounting for nested shapes): e.g. A, B, BA, BB, C.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageRenderingShapesSorted(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageRenderingShapesSorted" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageShapeIds:member(1)", - "docComment": "/**\n * An array of all of the shapes on the current page.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageShapeIds(): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageShapes:member(1)", - "docComment": "/**\n * An array containing all of the shapes in the current page.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageShapes(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageShapesSorted:member(1)", - "docComment": "/**\n * An array containing all of the shapes in the current page, sorted in z-index order (accounting for nested shapes): e.g. A, B, BA, BB, C.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageShapesSorted(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageShapesSorted" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentPageState:member(1)", - "docComment": "/**\n * The current page state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentPageState(): " - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentPageState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentTool:member(1)", - "docComment": "/**\n * The current selected tool.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentTool(): " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentTool" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getCurrentToolId:member(1)", - "docComment": "/**\n * The id of the current selected tool.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentToolId(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentToolId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getDocumentSettings:member(1)", - "docComment": "/**\n * The global document settings that apply to all users.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDocumentSettings(): " - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDocumentSettings" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getDroppingOverShape:member(1)", - "docComment": "/**\n * Get the shape that some shapes should be dropped on at a given point.\n *\n * @param point - The point to find the parent for.\n *\n * @param droppingShapes - The shapes that are being dropped.\n *\n * @returns The shape to drop on.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDroppingOverShape(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", droppingShapes?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "droppingShapes", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getDroppingOverShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getEditingShape:member(1)", - "docComment": "/**\n * The current editing shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getEditingShape(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getEditingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getEditingShapeId:member(1)", - "docComment": "/**\n * The current editing shape's id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getEditingShapeId(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getEditingShapeId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getErasingShapeIds:member(1)", - "docComment": "/**\n * The editor's current erasing ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getErasingShapeIds(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getErasingShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getErasingShapes:member(1)", - "docComment": "/**\n * The editor's current erasing shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getErasingShapes(): " - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined>[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getErasingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getFocusedGroup:member(1)", - "docComment": "/**\n * The current focused group.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getFocusedGroup(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getFocusedGroup" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getFocusedGroupId:member(1)", - "docComment": "/**\n * The current focused group id.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getFocusedGroupId(): " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getFocusedGroupId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHighestIndexForParent:member(1)", - "docComment": "/**\n * Get the index above the highest child of a given parent.\n *\n * @param parentId - The id of the parent.\n *\n * @returns The index.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHighestIndexForParent(parent: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHighestIndexForParent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHintingShape:member(1)", - "docComment": "/**\n * The editor's current hinting shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHintingShape(): " - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined>[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHintingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHintingShapeIds:member(1)", - "docComment": "/**\n * The editor's current hinting shape ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHintingShapeIds(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHintingShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHoveredShape:member(1)", - "docComment": "/**\n * The current hovered shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHoveredShape(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHoveredShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getHoveredShapeId:member(1)", - "docComment": "/**\n * The current hovered shape id.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHoveredShapeId(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getHoveredShapeId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getInitialMetaForShape:member(1)", - "docComment": "/**\n * Get the initial meta value for a shape.\n *\n * @param shape - The shape to get the initial meta for.\n *\n * @example\n * ```ts\n * editor.getInitialMetaForShape = (shape) => {\n * if (shape.type === 'note') {\n * return { createdBy: myCurrentUser.id }\n * }\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getInitialMetaForShape(_shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "JsonObject", - "canonicalReference": "@tldraw/utils!JsonObject:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "_shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getInitialMetaForShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getInstanceState:member(1)", - "docComment": "/**\n * The current instance's state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getInstanceState(): " - }, - { - "kind": "Reference", - "text": "TLInstance", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getInstanceState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getIsMenuOpen:member(1)", - "docComment": "/**\n * Get whether any menus are open.\n *\n * @example\n * ```ts\n * editor.isMenuOpen()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getIsMenuOpen(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getIsMenuOpen" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getOnlySelectedShape:member(1)", - "docComment": "/**\n * The app's only selected shape.\n *\n * @returns Null if there is no shape or more than one selected shape, otherwise the selected shape.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getOnlySelectedShape(): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getOnlySelectedShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getOpenMenus:member(1)", - "docComment": "/**\n * A set of strings representing any open menus. When menus are open, certain interactions will behave differently; for example, when a draw tool is selected and a menu is open, a pointer-down will not create a dot (because the user is probably trying to close the menu) however a pointer-down event followed by a drag will begin drawing a line (because the user is BOTH trying to close the menu AND start drawing a line).\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getOpenMenus(): " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getOpenMenus" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getOutermostSelectableShape:member(1)", - "docComment": "/**\n * Get the shape that should be selected when you click on a given shape, assuming there is nothing already selected. It will not return anything higher than or including the current focus layer.\n *\n * @param shape - The shape to get the outermost selectable shape for.\n *\n * @param filter - A function to filter the selectable shapes.\n *\n * @returns The outermost selectable shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getOutermostSelectableShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", filter?: " - }, - { - "kind": "Content", - "text": "(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "filter", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getOutermostSelectableShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPage:member(1)", - "docComment": "/**\n * Get a page.\n *\n * @param page - The page (or page id) to get.\n *\n * @example\n * ```ts\n * editor.getPage(myPage.id)\n * editor.getPage(myPage)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPages:member(1)", - "docComment": "/**\n * Info about the project's current pages.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPages(): " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPages" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPageShapeIds:member(1)", - "docComment": "/**\n * Get the ids of shapes on a page.\n *\n * @param page - The page (or page id) to get.\n *\n * @example\n * ```ts\n * const idsOnPage1 = editor.getPageShapeIds('page1')\n * const idsOnPage2 = editor.getPageShapeIds(myPage2)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPageShapeIds(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPageShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPageStates:member(1)", - "docComment": "/**\n * Page states.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPageStates(): " - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPageStates" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPath:member(1)", - "docComment": "/**\n * The editor's current path of active states.\n *\n * @example\n * ```ts\n * editor.getPath() // \"select.idle\"\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPath" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPointInParentSpace:member(1)", - "docComment": "/**\n * Convert a delta in the current page space to a point in the local space of a shape's parent.\n *\n * @param shape - The shape to get the point in the local space of.\n *\n * @param point - The page point to get in the local space of the shape.\n *\n * @example\n * ```ts\n * editor.getPointInParentSpace(myShape.id, { x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPointInParentSpace(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPointInParentSpace" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getPointInShapeSpace:member(1)", - "docComment": "/**\n * Convert a point in the current page space to a point in the local space of a shape. For example, if a shape's page point were `{ x: 100, y: 100 }`, a page point at `{ x: 110, y: 110 }` would be at `{ x: 10, y: 10 }` in the shape's local space.\n *\n * @param shape - The shape to get the point in the local space of.\n *\n * @param point - The page point to get in the local space of the shape.\n *\n * @example\n * ```ts\n * editor.getPointInShapeSpace(myShape, { x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPointInShapeSpace(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getPointInShapeSpace" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getRenderingBounds:member(1)", - "docComment": "/**\n * The current rendering bounds in the current page space, used for checking which shapes are \"on screen\".\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRenderingBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getRenderingBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getRenderingBoundsExpanded:member(1)", - "docComment": "/**\n * The current rendering bounds in the current page space, expanded slightly. Used for determining which shapes to render and which to \"cull\".\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRenderingBoundsExpanded(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getRenderingBoundsExpanded" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getRenderingShapes:member(1)", - "docComment": "/**\n * Get the shapes that should be displayed in the current viewport.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getRenderingShapes(): " - }, - { - "kind": "Content", - "text": "{\n id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n util: " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">;\n index: number;\n backgroundIndex: number;\n opacity: number;\n isCulled: boolean;\n maskedPageBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined;\n }[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getRenderingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectedShapeAtPoint:member(1)", - "docComment": "/**\n * Get the top-most selected shape at the given point, ignoring groups.\n *\n * @param point - The point to check.\n *\n * @returns The top-most selected shape at the given point, or undefined if there is no shape at the point.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectedShapeAtPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSelectedShapeAtPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectedShapeIds:member(1)", - "docComment": "/**\n * The current selected ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectedShapeIds(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectedShapeIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectedShapes:member(1)", - "docComment": "/**\n * An array containing all of the currently selected shapes.\n *\n * @public @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectedShapes(): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectedShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionPageBounds:member(1)", - "docComment": "/**\n * The current page bounds of all the selected shapes. If the selection is rotated, then these bounds are the axis-aligned box that the rotated bounds would fit inside of.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionRotatedPageBounds:member(1)", - "docComment": "/**\n * The bounds of the selection bounding box in the current page space.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionRotatedPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionRotatedPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionRotatedScreenBounds:member(1)", - "docComment": "/**\n * The bounds of the selection bounding box in the current page space.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionRotatedScreenBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionRotatedScreenBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSelectionRotation:member(1)", - "docComment": "/**\n * The rotation of the selection bounding box in the current page space.\n *\n * @readonly @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelectionRotation(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSelectionRotation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShape:member(1)", - "docComment": "/**\n * Get a shape by its id.\n *\n * @param id - The id of the shape to get.\n *\n * @example\n * ```ts\n * editor.getShape('box1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShape(shape: " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeAncestors:member(1)", - "docComment": "/**\n * Get the ancestors of a shape.\n *\n * @param shape - The shape (or shape id) to get the ancestors for.\n *\n * @example\n * ```ts\n * const ancestors = editor.getShapeAncestors(myShape)\n * const ancestors = editor.getShapeAncestors(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeAncestors(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", acc?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "acc", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeAncestors" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeAndDescendantIds:member(1)", - "docComment": "/**\n * Get the shape ids of all descendants of the given shapes (including the shapes themselves).\n *\n * @param ids - The ids of the shapes to get descendants of.\n *\n * @returns The decscendant ids.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeAndDescendantIds(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeAndDescendantIds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeAtPoint:member(1)", - "docComment": "/**\n * Get the shape at the current point.\n *\n * @param point - The point to check.\n *\n * @param opts - Options for the check: `hitInside` to check if the point is inside the shape, `margin` to check if the point is within a margin of the shape, `hitFrameInside` to check if the point is inside the frame, and `filter` to filter the shapes to check.\n *\n * @returns The shape at the given point, or undefined if there is no shape at the point.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeAtPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n renderingOnly?: boolean | undefined;\n margin?: number | undefined;\n hitInside?: boolean | undefined;\n hitLabels?: boolean | undefined;\n hitFrameInside?: boolean | undefined;\n filter?: ((shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ") => boolean) | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeAtPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeClipPath:member(1)", - "docComment": "/**\n * Get the clip path for a shape.\n *\n * @param shape - The shape (or shape id) to get the clip path for.\n *\n * @returns The clip path or undefined.\n *\n * @example\n * ```ts\n * const clipPath = editor.getShapeClipPath(shape)\n * const clipPath = editor.getShapeClipPath(shape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeClipPath(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeClipPath" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeGeometry:member(1)", - "docComment": "/**\n * Get the geometry of a shape.\n *\n * @param shape - The shape (or shape id) to get the geometry for.\n *\n * @example\n * ```ts\n * editor.getShapeGeometry(myShape)\n * editor.getShapeGeometry(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeHandles:member(1)", - "docComment": "/**\n * Get the handles (if any) for a shape.\n *\n * @param shape - The shape (or shape id) to get the handles for.\n *\n * @example\n * ```ts\n * editor.getShapeHandles(myShape)\n * editor.getShapeHandles(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeHandles(shape: " - }, - { - "kind": "Content", - "text": "T | T['id']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "[] | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeHandles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeLocalTransform:member(1)", - "docComment": "/**\n * Get the local transform for a shape as a matrix model. This transform reflects both its translation (x, y) from from either its parent's top left corner, if the shape's parent is another shape, or else from the 0,0 of the page, if the shape's parent is the page; and the shape's rotation.\n *\n * @param shape - The shape to get the local transform for.\n *\n * @example\n * ```ts\n * editor.getShapeLocalTransform(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeLocalTransform(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeLocalTransform" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeMask:member(1)", - "docComment": "/**\n * Get the mask (in the current page space) for a shape.\n *\n * @param id - The id of the shape to get the mask for.\n *\n * @returns The mask for the shape.\n *\n * @example\n * ```ts\n * const pageMask = editor.getShapeMask(shape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeMask(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "undefined | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeMask" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeMaskedPageBounds:member(1)", - "docComment": "/**\n * Get the bounds of a shape in the current page space, incorporating any masks. For example, if the shape were the child of a frame and was half way out of the frame, the bounds would be the half of the shape that was in the frame.\n *\n * @param shape - The shape to get the masked bounds for.\n *\n * @example\n * ```ts\n * editor.getShapeMaskedPageBounds(myShape)\n * editor.getShapeMaskedPageBounds(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeMaskedPageBounds(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeMaskedPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapePageBounds:member(1)", - "docComment": "/**\n * Get the bounds of a shape in the current page space.\n *\n * @param shape - The shape (or shape id) to get the bounds for.\n *\n * @example\n * ```ts\n * editor.getShapePageBounds(myShape)\n * editor.getShapePageBounds(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapePageBounds(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapePageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapePageTransform:member(1)", - "docComment": "/**\n * Get the transform of a shape in the current page space.\n *\n * @param shape - The shape (or shape id) to get the page transform for.\n *\n * @example\n * ```ts\n * editor.getShapePageTransform(myShape)\n * editor.getShapePageTransform(myShapeId)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapePageTransform(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapePageTransform" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeParent:member(1)", - "docComment": "/**\n * Get the parent shape for a given shape. Returns undefined if the shape is the direct child of the page.\n *\n * @example\n * ```ts\n * editor.getShapeParent(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeParent(shape?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeParent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeParentTransform:member(1)", - "docComment": "/**\n * Get the local transform of a shape's parent as a matrix model.\n *\n * @param shape - The shape (or shape id) to get the parent transform for.\n *\n * @example\n * ```ts\n * editor.getShapeParentTransform(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeParentTransform(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeParentTransform" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapesAtPoint:member(1)", - "docComment": "/**\n * Get the shapes, if any, at a given page point.\n *\n * @param point - The page point to test.\n *\n * @example\n * ```ts\n * editor.getShapesAtPoint({ x: 100, y: 100 })\n * editor.getShapesAtPoint({ x: 100, y: 100 }, { hitInside: true, exact: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapesAtPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n margin?: number | undefined;\n hitInside?: boolean | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapesAtPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeStyleIfExists:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeStyleIfExists(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ", style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeStyleIfExists" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeUtil:member(1)", - "docComment": "/**\n * Get a shape util from a shape itself.\n *\n * @param shape - A shape, shape partial, or shape type.\n *\n * @example\n * ```ts\n * const util = editor.getShapeUtil(myArrowShape)\n * const util = editor.getShapeUtil('arrow')\n * const util = editor.getShapeUtil(myArrowShape)\n * const util = editor.getShapeUtil(TLArrowShape)('arrow')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeUtil(shape: " - }, - { - "kind": "Content", - "text": "S | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "S", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeUtil" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeUtil:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeUtil(type: " - }, - { - "kind": "Content", - "text": "S['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "S", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeUtil" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getShapeUtil:member(3)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getShapeUtil(type: " - }, - { - "kind": "Content", - "text": "T extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": " ? R['type'] : string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 3, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getShapeUtil" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSharedOpacity:member(1)", - "docComment": "/**\n * Get the currently selected shared opacity. If any shapes are selected, this returns the shared opacity of the selected shapes. Otherwise, this returns the chosen opacity for the next shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSharedOpacity(): " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSharedOpacity" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSharedStyles:member(1)", - "docComment": "/**\n * A map of all the current styles either in the current selection, or that are relevant to the current tool.\n *\n * @example\n * ```ts\n * const color = editor.getSharedStyles().get(DefaultColorStyle)\n * if (color && color.type === 'shared') {\n * print('All selected shapes have the same color:', color.value)\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSharedStyles(): " - }, - { - "kind": "Reference", - "text": "ReadonlySharedStyleMap", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSharedStyles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSortedChildIdsForParent:member(1)", - "docComment": "/**\n * Get an array of all the children of a shape.\n *\n * @param parentId - The id of the parent shape.\n *\n * @example\n * ```ts\n * editor.getSortedChildIdsForParent('frame1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSortedChildIdsForParent(parent: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSortedChildIdsForParent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getStateDescendant:member(1)", - "docComment": "/**\n * Get a descendant by its path.\n *\n * @param path - The descendant's path of state ids, separated by periods.\n *\n * @example\n * ```ts\n * state.getStateDescendant('select')\n * state.getStateDescendant('select.brushing')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getStateDescendant(path: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "path", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getStateDescendant" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getStyleForNextShape:member(1)", - "docComment": "/**\n * Get the style for the next shape.\n *\n * @param style - The style to get.\n *\n * @example\n * ```ts\n * const color = editor.getStyleForNextShape(DefaultColorStyle)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getStyleForNextShape(style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getStyleForNextShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getSvg:member(1)", - "docComment": "/**\n * Get an exported SVG of the given shapes.\n *\n * @param ids - The shapes (or shape ids) to export.\n *\n * @param opts - Options for the export.\n *\n * @returns The SVG element.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSvg(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSvgOptions", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGSVGElement", - "canonicalReference": "!SVGSVGElement:interface" - }, - { - "kind": "Content", - "text": " | undefined>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 11, - "endIndex": 15 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 10 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getSvg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportPageBounds:member(1)", - "docComment": "/**\n * The current viewport in the current page space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportPageBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportPageBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportPageCenter:member(1)", - "docComment": "/**\n * The center of the viewport in the current page space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportPageCenter(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportPageCenter" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportScreenBounds:member(1)", - "docComment": "/**\n * The bounds of the editor's viewport in screen space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportScreenBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportScreenBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getViewportScreenCenter:member(1)", - "docComment": "/**\n * The center of the editor's viewport in screen space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getViewportScreenCenter(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getViewportScreenCenter" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#getZoomLevel:member(1)", - "docComment": "/**\n * The current camera zoom level.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getZoomLevel(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getZoomLevel" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#groupShapes:member(1)", - "docComment": "/**\n * Create a group containing the provided shapes.\n *\n * @param shapes - The shapes (or shape ids) to group. Defaults to the selected shapes.\n *\n * @param groupId - The id of the group to create.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "groupShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", groupId?: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "groupId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "groupShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#hasAncestor:member(1)", - "docComment": "/**\n * Returns true if the the given shape has the given ancestor.\n *\n * @param shape - The shape.\n *\n * @param ancestorId - The id of the ancestor.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hasAncestor(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", ancestorId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "ancestorId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hasAncestor" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#history:member", - "docComment": "/**\n * A manager for the app's history.\n *\n * @readonly\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly history: " - }, - { - "kind": "Reference", - "text": "HistoryManager", - "canonicalReference": "@tldraw/editor!~HistoryManager:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "history", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#inputs:member", - "docComment": "/**\n * The app's current input state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "inputs: " - }, - { - "kind": "Content", - "text": "{\n originPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n originScreenPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n previousPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n previousScreenPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n currentPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n currentScreenPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n keys: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": ";\n buttons: " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": ";\n isPen: boolean;\n shiftKey: boolean;\n ctrlKey: boolean;\n altKey: boolean;\n isDragging: boolean;\n isPointing: boolean;\n isPinching: boolean;\n isEditing: boolean;\n isPanning: boolean;\n pointerVelocity: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "inputs", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 20 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#interrupt:member(1)", - "docComment": "/**\n * Dispatch an interrupt event.\n *\n * @example\n * ```ts\n * editor.interrupt()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "interrupt(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "interrupt" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isAncestorSelected:member(1)", - "docComment": "/**\n * Determine whether or not any of a shape's ancestors are selected.\n *\n * @param id - The id of the shape to check.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAncestorSelected(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isAncestorSelected" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isIn:member(1)", - "docComment": "/**\n * Get whether a certain tool (or other state node) is currently active.\n *\n * @param path - The path of active states, separated by periods.\n *\n * @example\n * ```ts\n * editor.isIn('select')\n * editor.isIn('select.brushing')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isIn(path: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "path", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isIn" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isInAny:member(1)", - "docComment": "/**\n * Get whether the state node is in any of the given active paths.\n *\n * @example\n * ```ts\n * state.isInAny('select', 'erase')\n * state.isInAny('select.brushing', 'erase.idle')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isInAny(...paths: " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "paths", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isInAny" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isPointInShape:member(1)", - "docComment": "/**\n * Test whether a point (in the current page space) will will a shape. This method takes into account masks, such as when a shape is the child of a frame and is partially clipped by the frame.\n *\n * @param shape - The shape to test against.\n *\n * @param point - The page point to test (in the current page space).\n *\n * @param hitInside - Whether to count as a hit if the point is inside of a closed shape.\n *\n * @example\n * ```ts\n * editor.isPointInShape({ x: 100, y: 100 }, myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isPointInShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n margin?: number | undefined;\n hitInside?: boolean | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isPointInShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeInPage:member(1)", - "docComment": "/**\n * Get whether the given shape is the descendant of the given page.\n *\n * @param shape - The shape to check.\n *\n * @param pageId - The id of the page to check against. Defaults to the current page.\n *\n * @example\n * ```ts\n * editor.isShapeInPage(myShape)\n * editor.isShapeInPage(myShape, 'page1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeInPage(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", pageId?: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "pageId", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeInPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOfType:member(1)", - "docComment": "/**\n * Get whether a shape matches the type of a TLShapeUtil.\n *\n * @param util - the TLShapeUtil constructor to test against\n *\n * @param shape - the shape to test\n *\n * @example\n * ```ts\n * const isArrowShape = isShapeOfType(someShape, 'arrow')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOfType(shape: " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Content", - "text": "T['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "shape", - "canonicalReference": "@tldraw/editor!~shape" - }, - { - "kind": "Content", - "text": " is T" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOfType" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOfType:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOfType(shapeId: " - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": "['id']" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Content", - "text": "T['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "shapeId", - "canonicalReference": "@tldraw/editor!~shapeId" - }, - { - "kind": "Content", - "text": " is T['id']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOfType" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOrAncestorLocked:member(1)", - "docComment": "/**\n * Check whether a shape or its parent is locked.\n *\n * @param shape - The shape (or shape id) to check.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOrAncestorLocked(shape?: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOrAncestorLocked" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#isShapeOrAncestorLocked:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isShapeOrAncestorLocked(id?: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isShapeOrAncestorLocked" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#mark:member(1)", - "docComment": "/**\n * Create a new \"mark\", or stopping point, in the undo redo history. Creating a mark will clear any redos.\n *\n * @param markId - The mark's id, usually the reason for adding the mark.\n *\n * @param onUndo - Whether to stop at the mark when undoing.\n *\n * @param onRedo - Whether to stop at the mark when redoing.\n *\n * @example\n * ```ts\n * editor.mark()\n * editor.mark('flip shapes')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "mark(markId?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", onUndo?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ", onRedo?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "markId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "onUndo", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "onRedo", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "mark" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#moveShapesToPage:member(1)", - "docComment": "/**\n * Move shapes to page.\n *\n * @param shapes - The shapes (or shape ids) of the shapes to move.\n *\n * @param pageId - The id of the page where the shapes will be moved.\n *\n * @example\n * ```ts\n * editor.moveShapesToPage(['box1', 'box2'], 'page1')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "moveShapesToPage(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", pageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "pageId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "moveShapesToPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#nudgeShapes:member(1)", - "docComment": "/**\n * Move shapes by a delta.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @param direction - The direction in which to move the shapes.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.nudgeShapes(['box1', 'box2'], { x: 8, y: 8 })\n * editor.nudgeShapes(editor.getSelectedShapes(), { x: 8, y: 8 }, { squashing: true })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "nudgeShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", offset: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "offset", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nudgeShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#packShapes:member(1)", - "docComment": "/**\n * Pack shapes into a grid centered on their current position. Based on potpack (https://github.com/mapbox/potpack).\n *\n * @param shapes - The shapes (or shape ids) to pack.\n *\n * @param gap - The padding to apply to the packed shapes. Defaults to 16.\n *\n * @example\n * ```ts\n * editor.packShapes([box1, box2], 32)\n * editor.packShapes(editor.getSelectedShapeIds(), 32)\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "packShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", gap: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "gap", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "packShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#pageToScreen:member(1)", - "docComment": "/**\n * Convert a point in the current page space to a point in current screen space.\n *\n * @param point - The point in screen space.\n *\n * @example\n * ```ts\n * editor.pageToScreen({ x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "pageToScreen(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "pageToScreen" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#pan:member(1)", - "docComment": "/**\n * Pan the camera.\n *\n * @param offset - The offset in the current page space.\n *\n * @param animation - The animation options.\n *\n * @example\n * ```ts\n * editor.pan({ x: 100, y: 100 })\n * editor.pan({ x: 100, y: 100 }, { duration: 1000 })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "pan(offset: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "offset", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "pan" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#panZoomIntoView:member(1)", - "docComment": "/**\n * Pan or pan/zoom the selected ids into view. This method tries to not change the zoom if possible.\n *\n * @param ids - The ids of the shapes to pan and zoom into view.\n *\n * @param animation - The options for an animation.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "panZoomIntoView(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "panZoomIntoView" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#popFocusedGroupId:member(1)", - "docComment": "/**\n * Exit the current focused group, moving up to the next parent group if there is one.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "popFocusedGroupId(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "popFocusedGroupId" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#putContentOntoCurrentPage:member(1)", - "docComment": "/**\n * Place content into the editor.\n *\n * @param content - The content.\n *\n * @param options - Options for placing the content.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "putContentOntoCurrentPage(content: " - }, - { - "kind": "Reference", - "text": "TLContent", - "canonicalReference": "@tldraw/editor!TLContent:interface" - }, - { - "kind": "Content", - "text": ", options?: " - }, - { - "kind": "Content", - "text": "{\n point?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n select?: boolean;\n preservePosition?: boolean;\n preserveIds?: boolean;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "content", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "putContentOntoCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#putExternalContent:member(1)", - "docComment": "/**\n * Handle external content, such as files, urls, embeds, or plain text which has been put into the app, for example by pasting external text or dropping external images onto canvas.\n *\n * @param info - Info about the external content.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "putExternalContent(info: " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "putExternalContent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#redo:member(1)", - "docComment": "/**\n * Redo to the next mark.\n *\n * @example\n * ```ts\n * editor.redo()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "redo(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "redo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#registerExternalAssetHandler:member(1)", - "docComment": "/**\n * Register an external content handler. This handler will be called when the editor receives external content of the provided type. For example, the 'image' type handler will be called when a user drops an image onto the canvas.\n *\n * @param type - The type of external content.\n *\n * @param handler - The handler to use for this content type.\n *\n * @example\n * ```ts\n * editor.registerExternalAssetHandler('text', myHandler)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "registerExternalAssetHandler(type: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", handler: " - }, - { - "kind": "Content", - "text": "((info: " - }, - { - "kind": "Reference", - "text": "TLExternalAssetContent", - "canonicalReference": "@tldraw/editor!TLExternalAssetContent:type" - }, - { - "kind": "Content", - "text": " & {\n type: T;\n }) => " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": ">) | null" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 14, - "endIndex": 15 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "handler", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 13 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "registerExternalAssetHandler" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#registerExternalContentHandler:member(1)", - "docComment": "/**\n * Register an external content handler. This handler will be called when the editor receives external content of the provided type. For example, the 'image' type handler will be called when a user drops an image onto the canvas.\n *\n * @param type - The type of external content.\n *\n * @param handler - The handler to use for this content type.\n *\n * @example\n * ```ts\n * editor.registerExternalContentHandler('text', myHandler)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "registerExternalContentHandler(type: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", handler: " - }, - { - "kind": "Content", - "text": "((info: T extends " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": "['type'] ? " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": " & {\n type: T;\n } : " - }, - { - "kind": "Reference", - "text": "TLExternalContent", - "canonicalReference": "@tldraw/editor!TLExternalContent:type" - }, - { - "kind": "Content", - "text": ") => void) | null" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 14, - "endIndex": 15 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "handler", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 13 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "registerExternalContentHandler" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#renamePage:member(1)", - "docComment": "/**\n * Rename a page.\n *\n * @param id - The id of the page to rename.\n *\n * @param name - The new name.\n *\n * @example\n * ```ts\n * editor.renamePage('page1', 'My Page')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "renamePage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ", name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "renamePage" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#renderingBoundsMargin:member", - "docComment": "/**\n * The distance to expand the viewport when measuring culling. A larger distance will mean that shapes near to the viewport (but still outside of it) will not be culled.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "renderingBoundsMargin: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "renderingBoundsMargin", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#reparentShapes:member(1)", - "docComment": "/**\n * Reparent shapes to a new parent. This operation preserves the shape's current page positions / rotations.\n *\n * @param shapes - The shapes (or shape ids) of the shapes to reparent.\n *\n * @param parentId - The id of the new parent shape.\n *\n * @param insertIndex - The index to insert the children.\n *\n * @example\n * ```ts\n * editor.reparentShapes([box1, box2], 'frame1')\n * editor.reparentShapes([box1.id, box2.id], 'frame1')\n * editor.reparentShapes([box1.id, box2.id], 'frame1', 4)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "reparentShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", parentId: " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": ", insertIndex?: " - }, - { - "kind": "Reference", - "text": "IndexKey", - "canonicalReference": "@tldraw/utils!IndexKey:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "parentId", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "insertIndex", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "reparentShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#resetZoom:member(1)", - "docComment": "/**\n * Set the zoom back to 100%.\n *\n * @param point - The screen point to zoom out on. Defaults to the viewport screen center.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.resetZoom()\n * editor.resetZoom(editor.getViewportScreenCenter(), { duration: 200 })\n * editor.resetZoom(editor.getViewportScreenCenter(), { duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "resetZoom(point?: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "resetZoom" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#resizeShape:member(1)", - "docComment": "/**\n * Resize a shape.\n *\n * @param id - The id of the shape to resize.\n *\n * @param scale - The scale factor to apply to the shape.\n *\n * @param options - Additional options.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "resizeShape(shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ", scale: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", options?: " - }, - { - "kind": "Reference", - "text": "TLResizeShapeOptions", - "canonicalReference": "@tldraw/editor!TLResizeShapeOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "scale", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "options", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "resizeShape" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#root:member", - "docComment": "/**\n * The root state of the statechart.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly root: " - }, - { - "kind": "Reference", - "text": "RootState", - "canonicalReference": "@tldraw/editor!~RootState:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "root", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#rotateShapesBy:member(1)", - "docComment": "/**\n * Rotate shapes by a delta in radians. Note: Currently, this assumes that the shapes are your currently selected shapes.\n *\n * @param shapes - The shapes (or shape ids) of the shapes to move.\n *\n * @param delta - The delta in radians to apply to the selection rotation.\n *\n * @example\n * ```ts\n * editor.rotateShapesBy(editor.getSelectedShapeIds(), Math.PI)\n * editor.rotateShapesBy(editor.getSelectedShapeIds(), Math.PI / 2)\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotateShapesBy(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", delta: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "delta", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rotateShapesBy" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#screenToPage:member(1)", - "docComment": "/**\n * Convert a point in screen space to a point in the current page space.\n *\n * @param point - The point in screen space.\n *\n * @example\n * ```ts\n * editor.screenToPage({ x: 100, y: 100 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "screenToPage(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "screenToPage" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#scribbles:member", - "docComment": "/**\n * A manager for the editor's scribbles.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly scribbles: " - }, - { - "kind": "Reference", - "text": "ScribbleManager", - "canonicalReference": "@tldraw/editor!~ScribbleManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "scribbles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#select:member(1)", - "docComment": "/**\n * Select one or more shapes.\n *\n * @param ids - The ids to select.\n *\n * @example\n * ```ts\n * editor.select('id1')\n * editor.select('id1', 'id2')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "select(...shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "select" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#selectAll:member(1)", - "docComment": "/**\n * Select all direct children of the current page.\n *\n * @example\n * ```ts\n * editor.selectAll()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "selectAll(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "selectAll" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#selectNone:member(1)", - "docComment": "/**\n * Clear the selection.\n *\n * @example\n * ```ts\n * editor.selectNone()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "selectNone(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "selectNone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#sendBackward:member(1)", - "docComment": "/**\n * Send shapes backward in the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.sendBackward(['id1', 'id2'])\n * editor.sendBackward([box1, box2])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "sendBackward(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "sendBackward" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#sendToBack:member(1)", - "docComment": "/**\n * Send shapes to the back of the page's object list.\n *\n * @param shapes - The shapes (or shape ids) to move.\n *\n * @example\n * ```ts\n * editor.sendToBack(['id1', 'id2'])\n * editor.sendToBack(box1, box2)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "sendToBack(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "sendToBack" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCamera:member(1)", - "docComment": "/**\n * Set the current camera.\n *\n * @param point - The new camera position.\n *\n * @param animation - Options for an animation.\n *\n * @example\n * ```ts\n * editor.setCamera({ x: 0, y: 0})\n * editor.setCamera({ x: 0, y: 0, z: 1.5})\n * editor.setCamera({ x: 0, y: 0, z: 1.5}, { duration: 1000, easing: (t) => t * t })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCamera(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCamera" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCroppingShape:member(1)", - "docComment": "/**\n * Set the current cropping shape.\n *\n * @param shape - The shape (or shape id) to set as cropping.\n *\n * @example\n * ```ts\n * editor.setCroppingShape(myShape)\n * editor.setCroppingShape(myShape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCroppingShape(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCroppingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCurrentPage:member(1)", - "docComment": "/**\n * Set the current page.\n *\n * @param page - The page (or page id) to set as the current page.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setCurrentPage('page1')\n * editor.setCurrentPage(myPage1)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCurrentPage(page: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "page", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCurrentPage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setCurrentTool:member(1)", - "docComment": "/**\n * Set the selected tool.\n *\n * @param id - The id of the tool to select.\n *\n * @param info - Arbitrary data to pass along into the transition.\n *\n * @example\n * ```ts\n * editor.setCurrentTool('hand')\n * editor.setCurrentTool('hand', { date: Date.now() })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCurrentTool(id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", info?: " - }, - { - "kind": "Content", - "text": "{}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCurrentTool" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#setCursor:member", - "docComment": "/**\n * Set the cursor.\n *\n * @param type - The cursor type.\n *\n * @param rotation - The cursor rotation.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCursor: " - }, - { - "kind": "Content", - "text": "(cursor: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursor", - "canonicalReference": "@tldraw/tlschema!TLCursor:interface" - }, - { - "kind": "Content", - "text": ">) => this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "setCursor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setEditingShape:member(1)", - "docComment": "/**\n * Set the current editing shape.\n *\n * @param shape - The shape (or shape id) to set as editing.\n *\n * @example\n * ```ts\n * editor.setEditingShape(myShape)\n * editor.setEditingShape(myShape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setEditingShape(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setEditingShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setErasingShapes:member(1)", - "docComment": "/**\n * Set the editor's current erasing shapes.\n *\n * @param shapes - The shapes (or shape ids) to set as hinting.\n *\n * @example\n * ```ts\n * editor.setErasingShapes([myShape])\n * editor.setErasingShapes([myShape.id])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setErasingShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setErasingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setFocusedGroup:member(1)", - "docComment": "/**\n * Set the current focused group shape.\n *\n * @param shape - The group shape id (or group shape's id) to set as the focused group shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setFocusedGroup(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setFocusedGroup" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setHintingShapes:member(1)", - "docComment": "/**\n * Set the editor's current hinting shapes.\n *\n * @param shapes - The shapes (or shape ids) to set as hinting.\n *\n * @example\n * ```ts\n * editor.setHintingShapes([myShape])\n * editor.setHintingShapes([myShape.id])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setHintingShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setHintingShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setHoveredShape:member(1)", - "docComment": "/**\n * Set the editor's current hovered shape.\n *\n * @param shapes - The shape (or shape id) to set as hovered.\n *\n * @example\n * ```ts\n * editor.setHoveredShape(myShape)\n * editor.setHoveredShape(myShape.id)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setHoveredShape(shape: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setHoveredShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setOpacityForNextShapes:member(1)", - "docComment": "/**\n * Set the opacity for the next shapes. This will effect subsequently created shapes.\n *\n * @param opacity - The opacity to set. Must be a number between 0 and 1 inclusive.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setOpacityForNextShapes(0.5)\n * editor.setOpacityForNextShapes(0.5, { squashing: true })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setOpacityForNextShapes(opacity: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opacity", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setOpacityForNextShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setOpacityForSelectedShapes:member(1)", - "docComment": "/**\n * Set the current opacity. This will effect any selected shapes.\n *\n * @param opacity - The opacity to set. Must be a number between 0 and 1 inclusive.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setOpacityForSelectedShapes(0.5)\n * editor.setOpacityForSelectedShapes(0.5, { squashing: true })\n * ```\n *\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setOpacityForSelectedShapes(opacity: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opacity", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setOpacityForSelectedShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setSelectedShapes:member(1)", - "docComment": "/**\n * Select one or more shapes.\n *\n * @param ids - The ids to select.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setSelectedShapes(['id1'])\n * editor.setSelectedShapes(['id1', 'id2'])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setSelectedShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setSelectedShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setStyleForNextShapes:member(1)", - "docComment": "/**\n * Set the value of a {@link @tldraw/tlschema#StyleProp} for the next shapes. This change will be applied to subsequently created shapes.\n *\n * @param style - The style to set.\n *\n * @param value - The value to set.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setStyleForNextShapes(DefaultColorStyle, 'red')\n * editor.setStyleForNextShapes(DefaultColorStyle, 'red', { ephemeral: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setStyleForNextShapes(style: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", value: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setStyleForNextShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#setStyleForSelectedShapes:member(1)", - "docComment": "/**\n * Set the value of a {@link @tldraw/tlschema#StyleProp}. This change will be applied to the currently selected shapes.\n *\n * @param style - The style to set.\n *\n * @param value - The value to set.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.setStyleForSelectedShapes(DefaultColorStyle, 'red')\n * editor.setStyleForSelectedShapes(DefaultColorStyle, 'red', { ephemeral: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "setStyleForSelectedShapes" - }, - { - "kind": "Content", - "text": ">(style: " - }, - { - "kind": "Content", - "text": "S" - }, - { - "kind": "Content", - "text": ", value: " - }, - { - "kind": "Reference", - "text": "StylePropValue", - "canonicalReference": "@tldraw/tlschema!StylePropValue:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "S", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "style", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setStyleForSelectedShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#shapeUtils:member", - "docComment": "/**\n * A map of shape utility classes (TLShapeUtils) by shape type.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeUtils: " - }, - { - "kind": "Content", - "text": "{\n readonly [K in string]?: " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeUtils", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#sideEffects:member", - "docComment": "/**\n * A manager for side effects and correct state enforcement.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly sideEffects: " - }, - { - "kind": "Reference", - "text": "SideEffectManager", - "canonicalReference": "@tldraw/editor!~SideEffectManager:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "sideEffects", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#slideCamera:member(1)", - "docComment": "/**\n * Slide the camera in a certain direction.\n *\n * @param opts - Options for the slide\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "slideCamera(opts?: " - }, - { - "kind": "Content", - "text": "{\n speed: number;\n direction: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n friction: number;\n speedThreshold?: number | undefined;\n }" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "slideCamera" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#snaps:member", - "docComment": "/**\n * A manager for the app's snapping feature.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly snaps: " - }, - { - "kind": "Reference", - "text": "SnapManager", - "canonicalReference": "@tldraw/editor!SnapManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "snaps", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stackShapes:member(1)", - "docComment": "/**\n * Stack shape.\n *\n * @param shapes - The shapes (or shape ids) to stack.\n *\n * @param operation - Whether to stack horizontally or vertically.\n *\n * @param gap - The gap to leave between shapes.\n *\n * @example\n * ```ts\n * editor.stackShapes([box1, box2], 'horizontal', 32)\n * editor.stackShapes(editor.getSelectedShapeIds(), 'horizontal', 32)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stackShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": ", gap: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "gap", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "stackShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#startFollowingUser:member(1)", - "docComment": "/**\n * Start viewport-following a user.\n *\n * @param userId - The id of the user to follow.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "startFollowingUser(userId: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "userId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "startFollowingUser" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stopCameraAnimation:member(1)", - "docComment": "/**\n * Stop the current camera animation, if any.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stopCameraAnimation(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "stopCameraAnimation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stopFollowingUser:member(1)", - "docComment": "/**\n * Stop viewport-following a user.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stopFollowingUser(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "stopFollowingUser" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#store:member", - "docComment": "/**\n * The editor's store\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "store", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#stretchShapes:member(1)", - "docComment": "/**\n * Stretch shape sizes and positions to fill their common bounding box.\n *\n * @param shapes - The shapes (or shape ids) to stretch.\n *\n * @param operation - Whether to stretch shapes horizontally or vertically.\n *\n * @example\n * ```ts\n * editor.stretchShapes([box1, box2], 'horizontal')\n * editor.stretchShapes(editor.getSelectedShapeIds(), 'horizontal')\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stretchShapes(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", operation: " - }, - { - "kind": "Content", - "text": "'horizontal' | 'vertical'" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "operation", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "stretchShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#styleProps:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "styleProps: " - }, - { - "kind": "Content", - "text": "{\n [key: string]: " - }, - { - "kind": "Reference", - "text": "Map", - "canonicalReference": "!Map:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", string>;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "styleProps", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#textMeasure:member", - "docComment": "/**\n * A helper for measuring text.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly textMeasure: " - }, - { - "kind": "Reference", - "text": "TextManager", - "canonicalReference": "@tldraw/editor!~TextManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "textMeasure", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#toggleLock:member(1)", - "docComment": "/**\n * Toggle the lock state of one or more shapes. If there is a mix of locked and unlocked shapes, all shapes will be locked.\n *\n * @param shapes - The shapes (or shape ids) to toggle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "toggleLock(shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[] | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toggleLock" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#undo:member(1)", - "docComment": "/**\n * Undo to the last mark.\n *\n * @example\n * ```ts\n * editor.undo()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "undo(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "undo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#ungroupShapes:member(1)", - "docComment": "/**\n * Ungroup some shapes.\n *\n * @param ids - Ids of the shapes to ungroup. Defaults to the selected shapes.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "ungroupShapes(ids: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ungroupShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#ungroupShapes:member(2)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ungroupShapes(ids: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 2, - "parameters": [ - { - "parameterName": "ids", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ungroupShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateAssets:member(1)", - "docComment": "/**\n * Update one or more assets.\n *\n * @param assets - The assets to update.\n *\n * @example\n * ```ts\n * editor.updateAssets([{ id: 'asset1', name: 'New name' }])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateAssets(assets: " - }, - { - "kind": "Reference", - "text": "TLAssetPartial", - "canonicalReference": "@tldraw/tlschema!TLAssetPartial:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "assets", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateAssets" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateCurrentPageState:member(1)", - "docComment": "/**\n * Update this instance's page state.\n *\n * @param partial - The partial of the page state object containing the changes.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updateCurrentPageState({ id: 'page1', editingShapeId: 'shape:123' })\n * editor.updateCurrentPageState({ id: 'page1', editingShapeId: 'shape:123' }, { ephemeral: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateCurrentPageState(partial: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstancePageState", - "canonicalReference": "@tldraw/tlschema!TLInstancePageState:interface" - }, - { - "kind": "Content", - "text": ", 'editingShapeId' | 'focusedGroupId' | 'pageId' | 'selectedShapeIds'>>" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateCurrentPageState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateDocumentSettings:member(1)", - "docComment": "/**\n * Update the global document settings that apply to all users.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateDocumentSettings(settings: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLDocument", - "canonicalReference": "@tldraw/tlschema!TLDocument:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "settings", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateDocumentSettings" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateInstanceState:member(1)", - "docComment": "/**\n * Update the instance's state.\n *\n * @param partial - A partial object to update the instance state with.\n *\n * @param historyOptions - The history options for the change.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateInstanceState(partial: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLInstance", - "canonicalReference": "@tldraw/tlschema!TLInstance:interface" - }, - { - "kind": "Content", - "text": ", 'currentPageId'>>" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateInstanceState" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updatePage:member(1)", - "docComment": "/**\n * Update a page.\n *\n * @param partial - The partial of the shape to update.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updatePage({ id: 'page2', name: 'Page 2' })\n * editor.updatePage({ id: 'page2', name: 'Page 2' }, { squashing: true })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updatePage(partial: " - }, - { - "kind": "Reference", - "text": "RequiredKeys", - "canonicalReference": "@tldraw/editor!RequiredKeys:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": ", 'id'>" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updatePage" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateShape:member(1)", - "docComment": "/**\n * Update a shape using a partial of the shape.\n *\n * @param partial - The shape partial to update.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updateShape({ id: 'box1', type: 'geo', props: { w: 100, h: 100 } })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateShape(partial: " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partial", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateShape" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateShapes:member(1)", - "docComment": "/**\n * Update shapes using partials of each shape.\n *\n * @param partials - The shape partials to update.\n *\n * @param historyOptions - The history options for the change.\n *\n * @example\n * ```ts\n * editor.updateShapes([{ id: 'box1', type: 'geo', props: { w: 100, h: 100 } }])\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateShapes(partials: " - }, - { - "kind": "Content", - "text": "(null | " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | undefined)[]" - }, - { - "kind": "Content", - "text": ", historyOptions?: " - }, - { - "kind": "Reference", - "text": "TLCommandHistoryOptions", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "partials", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "historyOptions", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#updateViewportScreenBounds:member(1)", - "docComment": "/**\n * Update the viewport. The viewport will measure the size and screen position of its container element. This should be done whenever the container's position on the screen changes.\n *\n * @param center - Whether to preserve the viewport page center as the viewport changes.\n *\n * @example\n * ```ts\n * editor.updateViewportScreenBounds()\n * editor.updateViewportScreenBounds(true)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "updateViewportScreenBounds(screenBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", center?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "screenBounds", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "center", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "updateViewportScreenBounds" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Editor#user:member", - "docComment": "/**\n * A manager for the user and their preferences.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly user: " - }, - { - "kind": "Reference", - "text": "UserPreferencesManager", - "canonicalReference": "@tldraw/editor!~UserPreferencesManager:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "user", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#visitDescendants:member(1)", - "docComment": "/**\n * Run a visitor function for all descendants of a shape.\n *\n * @param parentId - The id of the parent shape.\n *\n * @param visitor - The visitor function.\n *\n * @example\n * ```ts\n * editor.visitDescendants('frame1', myCallback)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "visitDescendants(parent: " - }, - { - "kind": "Reference", - "text": "TLPage", - "canonicalReference": "@tldraw/tlschema!TLPage:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLParentId", - "canonicalReference": "@tldraw/tlschema!TLParentId:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ", visitor: " - }, - { - "kind": "Content", - "text": "(id: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ") => false | void" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "visitor", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 10 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "visitDescendants" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomIn:member(1)", - "docComment": "/**\n * Zoom the camera in.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomIn()\n * editor.zoomIn(editor.getViewportScreenCenter(), { duration: 120 })\n * editor.zoomIn(editor.inputs.currentScreenPoint, { duration: 120 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomIn(point?: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomIn" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomOut:member(1)", - "docComment": "/**\n * Zoom the camera out.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomOut()\n * editor.zoomOut(editor.getViewportScreenCenter(), { duration: 120 })\n * editor.zoomOut(editor.inputs.currentScreenPoint, { duration: 120 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomOut(point?: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomOut" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToBounds:member(1)", - "docComment": "/**\n * Zoom the camera to fit a bounding box (in the current page space).\n *\n * @param bounds - The bounding box.\n *\n * @param options - The options for an animation, target zoom, or custom inset amount.\n *\n * @example\n * ```ts\n * editor.zoomToBounds(myBounds)\n * editor.zoomToBounds(myBounds)\n * editor.zoomToBounds(myBounds, { duration: 100 })\n * editor.zoomToBounds(myBounds, { inset: 0, targetZoom: 1 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToBounds(bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Content", - "text": "{\n targetZoom?: number;\n inset?: number;\n } & " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "bounds", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomToBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToContent:member(1)", - "docComment": "/**\n * Move the camera to the nearest content.\n *\n * @param opts - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomToContent()\n * editor.zoomToContent({ duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToContent(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "zoomToContent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToFit:member(1)", - "docComment": "/**\n * Zoom the camera to fit the current page's content in the viewport.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomToFit()\n * editor.zoomToFit({ duration: 200 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToFit(animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomToFit" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Editor#zoomToSelection:member(1)", - "docComment": "/**\n * Zoom the camera to fit the current selection in the viewport.\n *\n * @param animation - The options for an animation.\n *\n * @example\n * ```ts\n * editor.zoomToSelection()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "zoomToSelection(animation?: " - }, - { - "kind": "Reference", - "text": "TLAnimationOptions", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "animation", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "zoomToSelection" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Ellipse2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Ellipse2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Ellipse2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Ellipse2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#_edges:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_edges?: " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_edges", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Ellipse2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Ellipse2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#edges:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get edges(): " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "edges", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Content", - "text": "any[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Ellipse2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Ellipse2d#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!ErrorBoundary:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ErrorBoundary extends " - }, - { - "kind": "Reference", - "text": "React.Component", - "canonicalReference": "@types/react!React.Component:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "React.PropsWithRef", - "canonicalReference": "@types/react!React.PropsWithRef:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "React.PropsWithChildren", - "canonicalReference": "@types/react!React.PropsWithChildren:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLErrorBoundaryProps", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps:interface" - }, - { - "kind": "Content", - "text": ">>, " - }, - { - "kind": "Reference", - "text": "TLErrorBoundaryState", - "canonicalReference": "@tldraw/editor!~TLErrorBoundaryState:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/components/ErrorBoundary.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "ErrorBoundary", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ErrorBoundary#componentDidCatch:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "componentDidCatch(error: " - }, - { - "kind": "Content", - "text": "unknown" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "error", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "componentDidCatch" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ErrorBoundary.getDerivedStateFromError:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static getDerivedStateFromError(error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "error", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getDerivedStateFromError" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ErrorBoundary#render:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "render(): " - }, - { - "kind": "Content", - "text": "boolean | import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "Iterable", - "canonicalReference": "!Iterable:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": "> | null | number | string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "render" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ErrorBoundary#state:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "state: " - }, - { - "kind": "Reference", - "text": "TLErrorBoundaryState", - "canonicalReference": "@tldraw/editor!~TLErrorBoundaryState:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "state", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 11 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!ErrorScreen:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function ErrorScreen({ children }: " - }, - { - "kind": "Content", - "text": "{\n children: " - }, - { - "kind": "Reference", - "text": "ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "ErrorScreen" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!EVENT_NAME_MAP:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "EVENT_NAME_MAP: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventName", - "canonicalReference": "@tldraw/editor!TLEventName:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLPinchEventName", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type" - }, - { - "kind": "Content", - "text": ">, keyof " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "EVENT_NAME_MAP", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 11 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!GapsSnapIndicator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type GapsSnapIndicator = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n type: 'gaps';\n direction: 'horizontal' | 'vertical';\n gaps: " - }, - { - "kind": "Reference", - "text": "Array", - "canonicalReference": "!Array:interface" - }, - { - "kind": "Content", - "text": "<{\n startEdge: [" - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "];\n endEdge: [" - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "];\n }>;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "name": "GapsSnapIndicator", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Geometry2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class Geometry2d " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Geometry2d.ts", - "releaseTag": "Public", - "isAbstract": true, - "name": "Geometry2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Geometry2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Geometry2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(opts: " - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#area:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get area(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "area", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#bounds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get bounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "bounds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get center(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#debugColor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "debugColor?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "debugColor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#distanceToLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#distanceToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", hitInside?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#getArea:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArea(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getArea" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": true, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", distance?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "distance", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#hitTestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", hitInside?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#ignore:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ignore?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "ignore", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#isClosed:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isClosed: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isClosed", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#isFilled:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isFilled: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isFilled", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#isLabel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isLabel: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isLabel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#isPointInBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isPointInBounds(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "isPointInBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "nearestPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#nearestPointOnLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPointOnLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPointOnLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Geometry2d#toSimpleSvgPath:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSimpleSvgPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toSimpleSvgPath" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Geometry2d#vertices:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get vertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "vertices", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getArcMeasure:function(1)", - "docComment": "/**\n * Get the measure of an arc.\n *\n * @param A - The angle from center to arc's start point (A) on the circle\n *\n * @param B - The angle from center to arc's end point (B) on the circle\n *\n * @param sweepFlag - 1 if the arc is clockwise, 0 if counter-clockwise\n *\n * @param largeArcFlag - 1 if the arc is greater than 180 degrees, 0 if less than 180 degrees\n *\n * @returns The measure of the arc, negative if counter-clockwise\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getArcMeasure(A: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", sweepFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", largeArcFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "sweepFlag", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "largeArcFlag", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "getArcMeasure" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getArrowTerminalsInArrowSpace:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getArrowTerminalsInArrowSpace(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", shape: " - }, - { - "kind": "Reference", - "text": "TLArrowShape", - "canonicalReference": "@tldraw/tlschema!TLArrowShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n start: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/shared.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getArrowTerminalsInArrowSpace" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getCursor:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getCursor(cursor: " - }, - { - "kind": "Reference", - "text": "TLCursorType", - "canonicalReference": "@tldraw/tlschema!TLCursorType:type" - }, - { - "kind": "Content", - "text": ", rotation?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", color?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useCursor.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "cursor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "rotation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "color", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "name": "getCursor" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getFreshUserPreferences:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getFreshUserPreferences(): " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "getFreshUserPreferences" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getIncrementedName:function(1)", - "docComment": "/**\n * Get an incremented name (e.g. New page (2)) from a name (e.g. New page), based on an array of existing names.\n *\n * @param name - The name to increment.\n *\n * @param others - The array of existing names.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getIncrementedName(name: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", others: " - }, - { - "kind": "Content", - "text": "string[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/getIncrementedName.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "name", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "others", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getIncrementedName" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPointerInfo:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPointerInfo(e: " - }, - { - "kind": "Reference", - "text": "PointerEvent", - "canonicalReference": "!PointerEvent:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n point: {\n x: number;\n y: number;\n z: number;\n };\n shiftKey: boolean;\n altKey: boolean;\n ctrlKey: boolean;\n pointerId: number;\n button: number;\n isPen: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/.tsbuild-api/lib/utils/getPointerInfo.d.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "e", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "getPointerInfo" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPointInArcT:function(1)", - "docComment": "/**\n * Returns the t value of the point on the arc.\n *\n * @param mAB - The measure of the arc from A to B, negative if counter-clockwise\n *\n * @param A - The angle from center to arc's start point (A) on the circle\n *\n * @param B - The angle from center to arc's end point (B) on the circle\n *\n * @param P - The angle on the circle (P) to find the t value for\n *\n * @returns The t value of the point on the arc, with 0 being the start and 1 being the end\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPointInArcT(mAB: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", A: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "mAB", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "getPointInArcT" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPointOnCircle:function(1)", - "docComment": "/**\n * Get a point on the perimeter of a circle.\n *\n * @param center - The center of the circle.\n *\n * @param r - The radius of the circle.\n *\n * @param a - The angle in radians.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPointOnCircle(center: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "center", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "getPointOnCircle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getPolygonVertices:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getPolygonVertices(width: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", height: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", sides: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "width", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "height", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "sides", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "getPolygonVertices" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getSvgPathFromPoints:function(1)", - "docComment": "/**\n * Turn an array of points into a path of quadradic curves.\n *\n * @param points - The points returned from perfect-freehand\n *\n * @param closed - Whether the stroke is closed\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getSvgPathFromPoints(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", closed?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/getSvgPathFromPoints.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "closed", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": true - } - ], - "name": "getSvgPathFromPoints" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!getUserPreferences:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function getUserPreferences(): " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "getUserPreferences" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!GRID_STEPS:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "GRID_STEPS: " - }, - { - "kind": "Content", - "text": "{\n min: number;\n mid: number;\n step: number;\n}[]" - } - ], - "fileUrlPath": "packages/editor/src/lib/constants.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "GRID_STEPS", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Group2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Group2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Group2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Group2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Group2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Group2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n children: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Group2d#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#distanceToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", hitInside?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#getArea:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getArea(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getArea" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#hitTestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", hitInside: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "hitInside", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Group2d#ignoredChildren:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ignoredChildren: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ignoredChildren", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Group2d#toSimpleSvgPath:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSimpleSvgPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toSimpleSvgPath" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!GroupShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class GroupShapeUtil extends " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/group/GroupShapeUtil.tsx", - "releaseTag": "Public", - "isAbstract": false, - "name": "GroupShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#canBind:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#component:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component(shape: " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "component" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#getDefaultProps:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getDefaultProps(): " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#getGeometry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getGeometry(shape: " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#hideSelectionBoundsFg:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Content", - "text": "() => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#indicator:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "indicator(shape: " - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/store\")." - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil#onChildrenChange:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onChildrenChange: " - }, - { - "kind": "Reference", - "text": "TLOnChildrenChangeHandler", - "canonicalReference": "@tldraw/editor!TLOnChildrenChangeHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onChildrenChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props: " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "ShapeProps", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGroupShape", - "canonicalReference": "@tldraw/tlschema!TLGroupShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!GroupShapeUtil.type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "\"group\"" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!HALF_PI:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "HALF_PI: " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "HALF_PI", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface", - "docComment": "/**\n * When dragging a handle, users can snap the handle to key geometry on other nearby shapes. Customize how handles snap to a shape by returning this from {@link ShapeUtil.getHandleSnapGeometry}.\n *\n * Any co-ordinates here should be in the shape's local space.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface HandleSnapGeometry " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/HandleSnaps.ts", - "releaseTag": "Public", - "name": "HandleSnapGeometry", - "preserveMemberOrder": false, - "members": [ - { - "kind": "MethodSignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#getSelfSnapOutline:member(1)", - "docComment": "/**\n * By default, handles can't snap to their own shape because moving the handle might change the snapping location which can cause feedback loops. You can override this by returning a version of `outline` that won't be affected by the current handle's position to use for self-snapping.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelfSnapOutline?(handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isOptional": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getSelfSnapOutline" - }, - { - "kind": "MethodSignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#getSelfSnapPoints:member(1)", - "docComment": "/**\n * By default, handles can't snap to their own shape because moving the handle might change the snapping location which can cause feedback loops. You can override this by returning a version of `points` that won't be affected by the current handle's position to use for self-snapping.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSelfSnapPoints?(handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isOptional": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "getSelfSnapPoints" - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#outline:member", - "docComment": "/**\n * A `Geometry2d` that describe the outline of the shape that the handle will snap to - fills are ignored. By default, this is the same geometry returned by {@link ShapeUtil.getGeometry}. Set this to `null` to disable handle snapping to this shape's outline.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "outline?: " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "outline", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry#points:member", - "docComment": "/**\n * Key points on the shape that the handle will snap to. For example, the corners of a rectangle, or the centroid of a triangle. By default, no points are used.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "points?: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!hardReset:function(1)", - "docComment": "/**\n * Clear the database of all data associated with tldraw.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function hardReset({ shouldReload }?: " - }, - { - "kind": "Content", - "text": "{\n shouldReload?: boolean | undefined;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/sync/hardReset.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ shouldReload }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - } - ], - "name": "hardReset" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!hardResetEditor:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function hardResetEditor(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/hardResetEditor.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "hardResetEditor" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!HIT_TEST_MARGIN:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "HIT_TEST_MARGIN = " - }, - { - "kind": "Content", - "text": "8" - } - ], - "fileUrlPath": "packages/editor/src/lib/constants.ts", - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isReadonly": true, - "releaseTag": "Public", - "name": "HIT_TEST_MARGIN", - "variableTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!HTMLContainer:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function HTMLContainer({ children, className, ...rest }: " - }, - { - "kind": "Reference", - "text": "HTMLContainerProps", - "canonicalReference": "@tldraw/editor!HTMLContainerProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/HTMLContainer.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, className, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "HTMLContainer" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!HTMLContainerProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type HTMLContainerProps = " - }, - { - "kind": "Reference", - "text": "React.HTMLAttributes", - "canonicalReference": "@types/react!React.HTMLAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLDivElement", - "canonicalReference": "!HTMLDivElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/HTMLContainer.tsx", - "releaseTag": "Public", - "name": "HTMLContainerProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectCircleCircle:function(1)", - "docComment": "/**\n * Find the intersections between a circle and a circle.\n *\n * @param c1 - The first circle's center.\n *\n * @param r1 - The first circle's radius.\n *\n * @param c2 - The second circle's center.\n *\n * @param r2 - The second circle's radius.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectCircleCircle(c1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", c2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r2: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "c1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "c2", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "r2", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "intersectCircleCircle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectCirclePolygon:function(1)", - "docComment": "/**\n * Find the intersections between a circle and a bounding box.\n *\n * @param c - The circle's center.\n *\n * @param r - The circle's radius.\n *\n * @param points - The points in the polygon.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectCirclePolygon(c: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectCirclePolygon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectCirclePolyline:function(1)", - "docComment": "/**\n * Find the intersections between a circle and a bounding box.\n *\n * @param c - The circle's center.\n *\n * @param r - The circle's radius.\n *\n * @param points - The points in the polyline.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectCirclePolyline(c: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectCirclePolyline" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentCircle:function(1)", - "docComment": "/**\n * Find the intersections between a line segment and a circle.\n *\n * @param a1 - The segment's first point.\n *\n * @param a2 - The segment's second point.\n *\n * @param c - The circle's center.\n *\n * @param r - The circle's radius.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentCircle(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", c: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 12 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentCircle" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentLineSegment:function(1)", - "docComment": "/**\n * Find the intersection between a line segment and a line segment.\n *\n * @param a1 - The first segment's first point.\n *\n * @param a2 - The first segment's second point.\n *\n * @param b1 - The second segment's first point.\n *\n * @param b2 - The second segment's second point.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentLineSegment(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", b1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", b2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "b1", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "b2", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentLineSegment" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentPolygon:function(1)", - "docComment": "/**\n * Find the intersections between a line segment and a closed polygon.\n *\n * @param a1 - The segment's first point.\n *\n * @param a2 - The segment's second point.\n *\n * @param points - The points in the polygon.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentPolygon(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentPolygon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectLineSegmentPolyline:function(1)", - "docComment": "/**\n * Find the intersections between a line segment and a polyline.\n *\n * @param a1 - The segment's first point.\n *\n * @param a2 - The segment's second point.\n *\n * @param points - The points in the polyline.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectLineSegmentPolyline(a1: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", a2: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "intersectLineSegmentPolyline" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectPolygonBounds:function(1)", - "docComment": "/**\n * Find the intersections between a polygon and a bounding box.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectPolygonBounds(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 9 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "bounds", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "intersectPolygonBounds" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!intersectPolygonPolygon:function(1)", - "docComment": "/**\n * Create a new convex polygon as the intersection of two convex polygons.\n *\n * @param polygonA - An array of points representing the first polygon.\n *\n * @param polygonB - An array of points representing the second polygon.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function intersectPolygonPolygon(polygonA: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", polygonB: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "polygonA", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "polygonB", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "intersectPolygonPolygon" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!isSafeFloat:function(1)", - "docComment": "/**\n * Check if a float is safe to use. ie: Not too big or small.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isSafeFloat: (n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "boolean" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "isSafeFloat" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!linesIntersect:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function linesIntersect(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", D: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "D", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "linesIntersect" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!LoadingScreen:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function LoadingScreen({ children }: " - }, - { - "kind": "Content", - "text": "{\n children: " - }, - { - "kind": "Reference", - "text": "ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "LoadingScreen" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!loadSessionStateSnapshotIntoStore:function(1)", - "docComment": "/**\n * Loads a snapshot of the editor's instance state into the store of a new editor instance.\n *\n * @param store - The store to load the instance state into\n *\n * @param snapshot - The instance state snapshot to load\n *\n * @returns \n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function loadSessionStateSnapshotIntoStore(store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ", snapshot: " - }, - { - "kind": "Reference", - "text": "TLSessionStateSnapshot", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "store", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "snapshot", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "loadSessionStateSnapshotIntoStore" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!loopToHtmlElement:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function loopToHtmlElement(elm: " - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "elm", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "loopToHtmlElement" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Mat:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Mat " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Mat.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Mat", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Mat:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Mat` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", c: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", e: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", f: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "c", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "d", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - }, - { - "parameterName": "e", - "parameterTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "isOptional": false - }, - { - "parameterName": "f", - "parameterTypeTokenRange": { - "startIndex": 11, - "endIndex": 12 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#a:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "a", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Absolute:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Absolute(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Absolute" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToBounds(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", box: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "box", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToBounds" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#applyToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "applyToPoint(point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToPoint(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "point", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#applyToPoints:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "applyToPoints(points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoints" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToPoints:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToPoints(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToPoints" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.applyToXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static applyToXY(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "applyToXY" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#b:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "b", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#c:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "c: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "c", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Cast:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cast(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cast" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#clone:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Compose:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Compose(...matrices: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "matrices", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Compose" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#decompose:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "decompose(): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n scaleX: number;\n scaleY: number;\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "decompose" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Decompose:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Decompose(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n scaleX: number;\n scaleY: number;\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Decompose" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#decomposed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "decomposed(): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n scaleX: number;\n scaleY: number;\n rotation: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "decomposed" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#e:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "e: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "e", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(m: " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat#f:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "f: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "f", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.From:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static From(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "From" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#identity:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "identity(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "identity" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Identity:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Identity(): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "Identity" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Inverse:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Inverse(m: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Inverse" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#invert:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "invert(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "invert" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#multiply:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "multiply(m: " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "multiply" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Multiply:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Multiply(m1: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ", m2: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m1", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "m2", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Multiply" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#point:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "point(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "point" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Point:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Point(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Point" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#rotate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotate(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cx?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cy?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "cx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "cy", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rotate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Rotate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rotate(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cx?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", cy?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "cx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "cy", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rotate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#rotation:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotation(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "rotation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Rotation:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rotation(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rotation" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#scale:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "scale(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "scale" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Mat.Scale:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Scale: " - }, - { - "kind": "Content", - "text": "{\n (x: number, y: number): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";\n (x: number, y: number, cx: number, cy: number): " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "Scale", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#setTo:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setTo(model: " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "model", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setTo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Smooth:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Smooth(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ", precision?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "precision", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Smooth" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#toCssString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toCssString(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toCssString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.toCssString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static toCssString(m: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "m", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "toCssString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat#translate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "translate(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "translate" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Mat.Translate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Translate(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Translate" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!MatLike:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type MatLike = " - }, - { - "kind": "Reference", - "text": "Mat", - "canonicalReference": "@tldraw/editor!Mat:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "MatModel", - "canonicalReference": "@tldraw/editor!MatModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Mat.ts", - "releaseTag": "Public", - "name": "MatLike", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!MatModel:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface MatModel " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Mat.ts", - "releaseTag": "Public", - "name": "MatModel", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#a:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "a: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "a", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#b:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "b: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "b", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#c:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "c: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "c", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#d:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "d: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "d", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#e:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "e: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "e", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!MatModel#f:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "f: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "f", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!moveCameraWhenCloseToEdge:function(1)", - "docComment": "/**\n * Moves the camera when the mouse is close to the edge of the screen.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function moveCameraWhenCloseToEdge(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/edgeScrolling.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "moveCameraWhenCloseToEdge" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!openWindow:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function openWindow(url: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ", target?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/window-open.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "url", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "target", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "name": "openWindow" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!perimeterOfEllipse:function(1)", - "docComment": "/**\n * Find the approximate perimeter of an ellipse.\n *\n * @param rx - The ellipse's x radius.\n *\n * @param ry - The ellipse's y radius.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function perimeterOfEllipse(rx: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", ry: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "rx", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ry", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "perimeterOfEllipse" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!PI:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "PI: " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "PI", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!PI2:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "PI2: " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "PI2", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Point2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Point2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Point2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Point2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Point2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Point2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n margin: number;\n point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Point2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Point2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", margin: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "margin", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Point2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Point2d#point:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "point: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "point", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!pointInPolygon:function(1)", - "docComment": "/**\n * Get whether a point is inside of a polygon.\n * ```ts\n * const result = pointInPolygon(myPoint, myPoints)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function pointInPolygon(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "points", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "pointInPolygon" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!PointsSnapIndicator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type PointsSnapIndicator = " - }, - { - "kind": "Content", - "text": "{\n id: string;\n type: 'points';\n points: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "name": "PointsSnapIndicator", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Polygon2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Polygon2d extends " - }, - { - "kind": "Reference", - "text": "Polyline2d", - "canonicalReference": "@tldraw/editor!Polyline2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Polygon2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Polygon2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Polygon2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Polygon2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!polygonsIntersect:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function polygonsIntersect(a: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ", b: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/intersect.ts", - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - }, - { - "parameterName": "b", - "parameterTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "isOptional": false - } - ], - "name": "polygonsIntersect" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Polyline2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Polyline2d extends " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Polyline2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Polyline2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#_length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#_segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_segments?: " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "_segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Polyline2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Polyline2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed' | 'isFilled'> & {\n points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[];\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Polyline2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Polyline2d#hitTestLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "hitTestLineSegment(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", zoom: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "zoom", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "hitTestLineSegment" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get length(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Polyline2d#nearestPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nearestPoint(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nearestPoint" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#points:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "points: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "points", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Polyline2d#segments:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get segments(): " - }, - { - "kind": "Reference", - "text": "Edge2d", - "canonicalReference": "@tldraw/editor!Edge2d:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "segments", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!precise:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function precise(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "precise" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!preventDefault:function(1)", - "docComment": "/**\n * This function calls `event.preventDefault()` for you. Why is that useful?\n *\n * Beacuase if you enable `window.preventDefaultLogging = true` it'll log out a message when it happens. Because we use console.warn rather than (log) you'll get a stack trace in the inspector telling you exactly where it happened. This is important because `e.preventDefault()` is the source of many bugs, but unfortuantly it can't be avoided because it also stops a lot of default behaviour which doesn't make sense in our UI\n *\n * @param event - To prevent default on\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function preventDefault(event: " - }, - { - "kind": "Reference", - "text": "Event", - "canonicalReference": "!Event:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.BaseSyntheticEvent", - "canonicalReference": "@types/react!React.BaseSyntheticEvent:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "event", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "preventDefault" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!radiansToDegrees:function(1)", - "docComment": "/**\n * Convert radians to degrees.\n *\n * @param r - The degree in radians.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function radiansToDegrees(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "radiansToDegrees" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!rangeIntersection:function(1)", - "docComment": "/**\n * Finds the intersection of two ranges.\n *\n * @param a0 - The start point in the A range\n *\n * @param a1 - The end point in the A range\n *\n * @param b0 - The start point in the B range\n *\n * @param b1 - The end point in the B range\n *\n * @returns The intersection of the ranges, or null if no intersection\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function rangeIntersection(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", b1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "[number, number] | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "b0", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "b1", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": false - } - ], - "name": "rangeIntersection" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class", - "docComment": "/**\n * A map of {@link @tldraw/tlschema#StyleProp | StyleProps} to their {@link SharedStyle} values. See {@link Editor.getSharedStyles}.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class ReadonlySharedStyleMap " - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/SharedStylesMap.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "ReadonlySharedStyleMap", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#[Symbol.iterator]:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "[" - }, - { - "kind": "Reference", - "text": "Symbol.iterator", - "canonicalReference": "!SymbolConstructor#iterator" - }, - { - "kind": "Content", - "text": "](): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "[Symbol.iterator]" - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ReadonlySharedStyleMap` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(entries?: " - }, - { - "kind": "Reference", - "text": "Iterable", - "canonicalReference": "!Iterable:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "entries", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#entries:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "entries(): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<[" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": "]>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "entries" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(other: " - }, - { - "kind": "Reference", - "text": "ReadonlySharedStyleMap", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "other", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#get:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get(prop: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "prop", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "get" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#getAsKnownValue:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getAsKnownValue(prop: " - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "prop", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getAsKnownValue" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#keys:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "keys(): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "StyleProp", - "canonicalReference": "@tldraw/tlschema!StyleProp:class" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "keys" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#size:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get size(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "size", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ReadonlySharedStyleMap#values:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "values(): " - }, - { - "kind": "Reference", - "text": "IterableIterator", - "canonicalReference": "!IterableIterator:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SharedStyle", - "canonicalReference": "@tldraw/editor!SharedStyle:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "values" - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Rectangle2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Rectangle2d extends " - }, - { - "kind": "Reference", - "text": "Polygon2d", - "canonicalReference": "@tldraw/editor!Polygon2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Rectangle2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Rectangle2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Rectangle2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Rectangle2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n x?: number;\n y?: number;\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Rectangle2d#getBounds:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBounds(): " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getBounds" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#h:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "h: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "h", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#w:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "w: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "w", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Rectangle2d#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!refreshPage:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function refreshPage(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/refreshPage.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "refreshPage" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!releasePointerCapture:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function releasePointerCapture(element: " - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ", event: " - }, - { - "kind": "Reference", - "text": "PointerEvent", - "canonicalReference": "!PointerEvent:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "element", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "event", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 9 - }, - "isOptional": false - } - ], - "name": "releasePointerCapture" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!RequiredKeys:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RequiredKeys = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "> & " - }, - { - "kind": "Reference", - "text": "Pick", - "canonicalReference": "!Pick:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/misc-types.ts", - "releaseTag": "Public", - "name": "RequiredKeys", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "K", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 9 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!resizeBox:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function resizeBox(shape: " - }, - { - "kind": "Reference", - "text": "TLBaseBoxShape", - "canonicalReference": "@tldraw/editor!TLBaseBoxShape:type" - }, - { - "kind": "Content", - "text": ", info: " - }, - { - "kind": "Content", - "text": "{\n newPoint: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLResizeHandle", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type" - }, - { - "kind": "Content", - "text": ";\n mode: " - }, - { - "kind": "Reference", - "text": "TLResizeMode", - "canonicalReference": "@tldraw/editor!TLResizeMode:type" - }, - { - "kind": "Content", - "text": ";\n scaleX: number;\n scaleY: number;\n initialBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n initialShape: " - }, - { - "kind": "Reference", - "text": "TLBaseBoxShape", - "canonicalReference": "@tldraw/editor!TLBaseBoxShape:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ", opts?: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n minWidth: number;\n maxWidth: number;\n minHeight: number;\n maxHeight: number;\n}>" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n props: {\n w: number;\n h: number;\n };\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/resizeBox.ts", - "returnTypeTokenRange": { - "startIndex": 18, - "endIndex": 19 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "info", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 14 - }, - "isOptional": false - }, - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 15, - "endIndex": 17 - }, - "isOptional": true - } - ], - "name": "resizeBox" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!ResizeBoxOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type ResizeBoxOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n minWidth: number;\n maxWidth: number;\n minHeight: number;\n maxHeight: number;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/resizeBox.ts", - "releaseTag": "Public", - "name": "ResizeBoxOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!ROTATE_CORNER_TO_SELECTION_CORNER:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "ROTATE_CORNER_TO_SELECTION_CORNER: " - }, - { - "kind": "Content", - "text": "{\n readonly top_left_rotate: \"top_left\";\n readonly top_right_rotate: \"top_right\";\n readonly bottom_right_rotate: \"bottom_right\";\n readonly bottom_left_rotate: \"bottom_left\";\n readonly mobile_rotate: \"top_left\";\n}" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "ROTATE_CORNER_TO_SELECTION_CORNER", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!RotateCorner:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type RotateCorner = " - }, - { - "kind": "Content", - "text": "'bottom_left_rotate' | 'bottom_right_rotate' | 'mobile_rotate' | 'top_left_rotate' | 'top_right_rotate'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "RotateCorner", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!rotateSelectionHandle:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function rotateSelectionHandle(handle: " - }, - { - "kind": "Reference", - "text": "SelectionHandle", - "canonicalReference": "@tldraw/editor!SelectionHandle:type" - }, - { - "kind": "Content", - "text": ", rotation: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "SelectionHandle", - "canonicalReference": "@tldraw/editor!SelectionHandle:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "rotation", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "rotateSelectionHandle" - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!runtime:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "runtime: " - }, - { - "kind": "Content", - "text": "{\n openWindow: (url: string, target: string) => void;\n refreshPage: () => void;\n hardReset: () => void;\n}" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/runtime.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "runtime", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SelectionCorner:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SelectionCorner = " - }, - { - "kind": "Content", - "text": "'bottom_left' | 'bottom_right' | 'top_left' | 'top_right'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "SelectionCorner", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SelectionEdge:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SelectionEdge = " - }, - { - "kind": "Content", - "text": "'bottom' | 'left' | 'right' | 'top'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "SelectionEdge", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SelectionHandle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SelectionHandle = " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Box.ts", - "releaseTag": "Public", - "name": "SelectionHandle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!setPointerCapture:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setPointerCapture(element: " - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ", event: " - }, - { - "kind": "Reference", - "text": "PointerEvent", - "canonicalReference": "!PointerEvent:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "element", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "event", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 9 - }, - "isOptional": false - } - ], - "name": "setPointerCapture" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!setRuntimeOverrides:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setRuntimeOverrides(input: " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/runtime.ts", - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "input", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ], - "name": "setRuntimeOverrides" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!setUserPreferences:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function setUserPreferences(user: " - }, - { - "kind": "Reference", - "text": "TLUserPreferences", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "user", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "setUserPreferences" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!ShapeUtil:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class ShapeUtil " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "Shape", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "isAbstract": true, - "name": "ShapeUtil", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!ShapeUtil:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `ShapeUtil` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canBind:member", - "docComment": "/**\n * Whether the shape can be bound to by an arrow.\n *\n * @param _otherShape - The other shape attempting to bind to this shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canBind: " - }, - { - "kind": "Content", - "text": "(_shape: Shape, _otherShape?: K | undefined) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canBind", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canCrop:member", - "docComment": "/**\n * Whether the shape can be cropped.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canCrop: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canCrop", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#canDropShapes:member(1)", - "docComment": "/**\n * Get whether the shape can receive children of a given type.\n *\n * @param shape - The shape type.\n *\n * @param shapes - The shapes that are being dropped.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canDropShapes(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "shapes", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "canDropShapes" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canEdit:member", - "docComment": "/**\n * Whether the shape can be double clicked to edit.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEdit: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEdit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canEditInReadOnly:member", - "docComment": "/**\n * Whether the shape can be edited in read-only mode.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canEditInReadOnly: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canEditInReadOnly", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#canReceiveNewChildrenOfType:member(1)", - "docComment": "/**\n * Get whether the shape can receive children of a given type.\n *\n * @param type - The shape type.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canReceiveNewChildrenOfType(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", type: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "['type']" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 6, - "endIndex": 7 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "type", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "canReceiveNewChildrenOfType" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canResize:member", - "docComment": "/**\n * Whether the shape can be resized.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canResize: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canScroll:member", - "docComment": "/**\n * Whether the shape can be scrolled while editing.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canScroll: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canScroll", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canSnap:member", - "docComment": "/**\n * Whether the shape can be snapped to by another shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canSnap: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canSnap", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#canUnmount:member", - "docComment": "/**\n * Whether the shape should unmount when not visible in the editor. Consider keeping this to false if the shape's `component` has local state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "canUnmount: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "canUnmount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#component:member(1)", - "docComment": "/**\n * Get a JSX element for the shape (as an HTML element).\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract component(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "component" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#editor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "editor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getBoundsSnapGeometry:member(1)", - "docComment": "/**\n * Get the geometry to use when snapping to this this shape in translate/resize operations. See {@link BoundsSnapGeometry} for details.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getBoundsSnapGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "BoundsSnapGeometry", - "canonicalReference": "@tldraw/editor!BoundsSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getBoundsSnapGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getCanvasSvgDefs:member(1)", - "docComment": "/**\n * Return elements to be added to the \\ section of the canvases SVG context. This can be used to define SVG content (e.g. patterns & masks) that can be referred to by ID from svg elements returned by `component`.\n *\n * Each def should have a unique `key`. If multiple defs from different shapes all have the same key, only one will be used.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCanvasSvgDefs(): " - }, - { - "kind": "Reference", - "text": "TLShapeUtilCanvasSvgDef", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCanvasSvgDefs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getDefaultProps:member(1)", - "docComment": "/**\n * Get the default props for a shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract getDefaultProps(): " - }, - { - "kind": "Content", - "text": "Shape['props']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": true, - "name": "getDefaultProps" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getGeometry:member(1)", - "docComment": "/**\n * Get the shape's geometry.\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract getGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Geometry2d", - "canonicalReference": "@tldraw/editor!Geometry2d:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "getGeometry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getHandles:member(1)", - "docComment": "/**\n * Get an array of handle models for the shape. This is an optional method.\n *\n * @param shape - The shape.\n *\n * @example\n * ```ts\n * util.getHandles?.(myShape)\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandles?(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": true, - "isAbstract": false, - "name": "getHandles" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#getHandleSnapGeometry:member(1)", - "docComment": "/**\n * Get the geometry to use when snapping handles to this shape. See {@link HandleSnapGeometry} for details.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getHandleSnapGeometry(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "HandleSnapGeometry", - "canonicalReference": "@tldraw/editor!HandleSnapGeometry:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "getHandleSnapGeometry" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideResizeHandles:member", - "docComment": "/**\n * Whether the shape should hide its resize handles when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideResizeHandles: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideResizeHandles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideRotateHandle:member", - "docComment": "/**\n * Whether the shape should hide its rotation handles when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideRotateHandle: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideRotateHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideSelectionBoundsBg:member", - "docComment": "/**\n * Whether the shape should hide its selection bounds background when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsBg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsBg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#hideSelectionBoundsFg:member", - "docComment": "/**\n * Whether the shape should hide its selection bounds foreground when selected.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "hideSelectionBoundsFg: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "hideSelectionBoundsFg", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#indicator:member(1)", - "docComment": "/**\n * Get JSX describing the shape's indicator (as an SVG element).\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "abstract indicator(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": true, - "name": "indicator" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#isAspectRatioLocked:member", - "docComment": "/**\n * Whether the shape's aspect ratio is locked.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "isAspectRatioLocked: " - }, - { - "kind": "Reference", - "text": "TLShapeUtilFlag", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isAspectRatioLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil.migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static migrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onBeforeCreate:member", - "docComment": "/**\n * A callback called just before a shape is created. This method provides a last chance to modify the created shape.\n *\n * @param next - The next shape.\n *\n * @returns The next shape or void.\n *\n * @example\n * ```ts\n * onBeforeCreate = (next) => {\n * \treturn { ...next, x: next.x + 1 }\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeCreate?: " - }, - { - "kind": "Reference", - "text": "TLOnBeforeCreateHandler", - "canonicalReference": "@tldraw/editor!TLOnBeforeCreateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeCreate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onBeforeUpdate:member", - "docComment": "/**\n * A callback called just before a shape is updated. This method provides a last chance to modify the updated shape.\n *\n * @param prev - The previous shape.\n *\n * @param next - The next shape.\n *\n * @returns The next shape or void.\n *\n * @example\n * ```ts\n * onBeforeUpdate = (prev, next) => {\n * \tif (prev.x === next.x) {\n * \t\treturn { ...next, x: next.x + 1 }\n * \t}\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onBeforeUpdate?: " - }, - { - "kind": "Reference", - "text": "TLOnBeforeUpdateHandler", - "canonicalReference": "@tldraw/editor!TLOnBeforeUpdateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onBeforeUpdate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onChildrenChange:member", - "docComment": "/**\n * A callback called when a shape's children change.\n *\n * @param shape - The shape.\n *\n * @returns An array of shape updates, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onChildrenChange?: " - }, - { - "kind": "Reference", - "text": "TLOnChildrenChangeHandler", - "canonicalReference": "@tldraw/editor!TLOnChildrenChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onChildrenChange", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onClick:member", - "docComment": "/**\n * A callback called when a shape is clicked.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onClick?: " - }, - { - "kind": "Reference", - "text": "TLOnClickHandler", - "canonicalReference": "@tldraw/editor!TLOnClickHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDoubleClick:member", - "docComment": "/**\n * A callback called when a shape is double clicked.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick?: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDoubleClickEdge:member", - "docComment": "/**\n * A callback called when a shape's edge is double clicked.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickEdge?: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClickEdge", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDoubleClickHandle:member", - "docComment": "/**\n * A callback called when a shape's handle is double clicked.\n *\n * @param shape - The shape.\n *\n * @param handle - The handle that is double-clicked.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClickHandle?: " - }, - { - "kind": "Reference", - "text": "TLOnDoubleClickHandleHandler", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandleHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClickHandle", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDragShapesOut:member", - "docComment": "/**\n * A callback called when some other shapes are dragged out of this one.\n *\n * @param shape - The shape.\n *\n * @param shapes - The shapes that are being dragged out.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDragShapesOut?: " - }, - { - "kind": "Reference", - "text": "TLOnDragHandler", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDragShapesOut", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDragShapesOver:member", - "docComment": "/**\n * A callback called when some other shapes are dragged over this one.\n *\n * @param shape - The shape.\n *\n * @param shapes - The shapes that are being dragged over this one.\n *\n * @returns An object specifying whether the shape should hint that it can receive the dragged shapes.\n *\n * @example\n * ```ts\n * onDragShapesOver = (shape, shapes) => {\n * \treturn { shouldHint: true }\n * }\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDragShapesOver?: " - }, - { - "kind": "Reference", - "text": "TLOnDragHandler", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDragShapesOver", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onDropShapesOver:member", - "docComment": "/**\n * A callback called when some other shapes are dropped over this one.\n *\n * @param shape - The shape.\n *\n * @param shapes - The shapes that are being dropped over this one.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDropShapesOver?: " - }, - { - "kind": "Reference", - "text": "TLOnDragHandler", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDropShapesOver", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onEditEnd:member", - "docComment": "/**\n * A callback called when a shape finishes being editing.\n *\n * @param shape - The shape.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEditEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnEditEndHandler", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onEditEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onHandleDrag:member", - "docComment": "/**\n * A callback called when a shape's handle changes.\n *\n * @param shape - The current shape.\n *\n * @param info - An object containing the handle and whether the handle is 'precise' or not.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onHandleDrag?: " - }, - { - "kind": "Reference", - "text": "TLOnHandleDragHandler", - "canonicalReference": "@tldraw/editor!TLOnHandleDragHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onHandleDrag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onResize:member", - "docComment": "/**\n * A callback called when a shape changes from a resize.\n *\n * @param shape - The shape at the start of the resize.\n *\n * @param info - Info about the resize.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResize?: " - }, - { - "kind": "Reference", - "text": "TLOnResizeHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onResize", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onResizeEnd:member", - "docComment": "/**\n * A callback called when a shape finishes resizing.\n *\n * @param initial - The shape at the start of the resize.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResizeEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnResizeEndHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onResizeEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onResizeStart:member", - "docComment": "/**\n * A callback called when a shape starts being resized.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onResizeStart?: " - }, - { - "kind": "Reference", - "text": "TLOnResizeStartHandler", - "canonicalReference": "@tldraw/editor!TLOnResizeStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onResizeStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onRotate:member", - "docComment": "/**\n * A callback called when a shape changes from a rotation.\n *\n * @param initial - The shape at the start of the rotation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRotate?: " - }, - { - "kind": "Reference", - "text": "TLOnRotateHandler", - "canonicalReference": "@tldraw/editor!TLOnRotateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRotate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onRotateEnd:member", - "docComment": "/**\n * A callback called when a shape finishes rotating.\n *\n * @param initial - The shape at the start of the rotation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRotateEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnRotateEndHandler", - "canonicalReference": "@tldraw/editor!TLOnRotateEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRotateEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onRotateStart:member", - "docComment": "/**\n * A callback called when a shape starts being rotated.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRotateStart?: " - }, - { - "kind": "Reference", - "text": "TLOnRotateStartHandler", - "canonicalReference": "@tldraw/editor!TLOnRotateStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRotateStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onTranslate:member", - "docComment": "/**\n * A callback called when a shape changes from a translation.\n *\n * @param initial - The shape at the start of the translation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslate?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslate", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onTranslateEnd:member", - "docComment": "/**\n * A callback called when a shape finishes translating.\n *\n * @param initial - The shape at the start of the translation.\n *\n * @param current - The current shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslateEnd?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateEndHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateEndHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslateEnd", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil#onTranslateStart:member", - "docComment": "/**\n * A callback called when a shape starts being translated.\n *\n * @param shape - The shape.\n *\n * @returns A change to apply to the shape, or void.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTranslateStart?: " - }, - { - "kind": "Reference", - "text": "TLOnTranslateStartHandler", - "canonicalReference": "@tldraw/editor!TLOnTranslateStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTranslateStart", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil.props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static props?: " - }, - { - "kind": "Reference", - "text": "ShapeProps", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#toBackgroundSvg:member(1)", - "docComment": "/**\n * Get the shape's background layer as an SVG object.\n *\n * @param shape - The shape.\n *\n * @param ctx - ctx - The export context for the SVG - used for adding e.g. \\s\n *\n * @returns An SVG element.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "toBackgroundSvg?(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "null | " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "> | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 11 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": true, - "isAbstract": false, - "name": "toBackgroundSvg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!ShapeUtil#toSvg:member(1)", - "docComment": "/**\n * Get the shape as an SVG object.\n *\n * @param shape - The shape.\n *\n * @param ctx - The export context for the SVG - used for adding e.g. \\s\n *\n * @returns An SVG element.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "toSvg?(shape: " - }, - { - "kind": "Content", - "text": "Shape" - }, - { - "kind": "Content", - "text": ", ctx: " - }, - { - "kind": "Reference", - "text": "SvgExportContext", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "> | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shape", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "ctx", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": true, - "isAbstract": false, - "name": "toSvg" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!ShapeUtil.type:member", - "docComment": "/**\n * The type of the shape util, which should match the shape's type.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static type: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SharedStyle:type", - "docComment": "/**\n * The value of a particular {@link @tldraw/tlschema#StyleProp}.\n *\n * A `mixed` style means that in the current selection, there are lots of different values for the same style prop - e.g. a red and a blue shape are selected.\n *\n * A `shared` style means that all shapes in the selection share the same value for this style prop.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SharedStyle = " - }, - { - "kind": "Content", - "text": "{\n readonly type: 'mixed';\n} | {\n readonly type: 'shared';\n readonly value: T;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/SharedStylesMap.ts", - "releaseTag": "Public", - "name": "SharedStyle", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!shortAngleDist:function(1)", - "docComment": "/**\n * Get the short angle distance between two angles.\n *\n * @param a0 - The first angle.\n *\n * @param a1 - The second angle.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function shortAngleDist(a0: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", a1: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "a0", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "a1", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "shortAngleDist" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!SIN:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "SIN: (x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "number" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "SIN" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!snapAngle:function(1)", - "docComment": "/**\n * Clamp rotation to even segments.\n *\n * @param r - The rotation in radians.\n *\n * @param segments - The number of segments.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function snapAngle(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", segments: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "segments", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "name": "snapAngle" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SnapIndicator:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SnapIndicator = " - }, - { - "kind": "Reference", - "text": "GapsSnapIndicator", - "canonicalReference": "@tldraw/editor!GapsSnapIndicator:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "PointsSnapIndicator", - "canonicalReference": "@tldraw/editor!PointsSnapIndicator:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "name": "SnapIndicator", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!SnapManager:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class SnapManager " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SnapManager/SnapManager.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "SnapManager", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!SnapManager:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `SnapManager` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#clearIndicators:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clearIndicators(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clearIndicators" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!SnapManager#editor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "editor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getCurrentCommonAncestor:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentCommonAncestor(): " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentCommonAncestor" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getIndicators:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getIndicators(): " - }, - { - "kind": "Reference", - "text": "SnapIndicator", - "canonicalReference": "@tldraw/editor!SnapIndicator:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getIndicators" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getSnappableShapes:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSnappableShapes(): " - }, - { - "kind": "Reference", - "text": "Set", - "canonicalReference": "!Set:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSnappableShapes" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#getSnapThreshold:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getSnapThreshold(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getSnapThreshold" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!SnapManager#handles:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly handles: " - }, - { - "kind": "Reference", - "text": "HandleSnaps", - "canonicalReference": "@tldraw/editor!~HandleSnaps:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "handles", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!SnapManager#setIndicators:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setIndicators(indicators: " - }, - { - "kind": "Reference", - "text": "SnapIndicator", - "canonicalReference": "@tldraw/editor!SnapIndicator:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "indicators", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setIndicators" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!SnapManager#shapeBounds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly shapeBounds: " - }, - { - "kind": "Reference", - "text": "BoundsSnaps", - "canonicalReference": "@tldraw/editor!~BoundsSnaps:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeBounds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Stadium2d:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Stadium2d extends " - }, - { - "kind": "Reference", - "text": "Ellipse2d", - "canonicalReference": "@tldraw/editor!Ellipse2d:class" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/geometry/Stadium2d.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Stadium2d", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Stadium2d:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Stadium2d` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "config", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isOptional": false - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Stadium2d#config:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "config: " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Geometry2dOptions", - "canonicalReference": "@tldraw/editor!~Geometry2dOptions:interface" - }, - { - "kind": "Content", - "text": ", 'isClosed'> & {\n width: number;\n height: number;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "config", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Stadium2d#getVertices:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getVertices(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getVertices" - } - ], - "extendsTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "implementsTokenRanges": [] - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!StateNode:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare abstract class StateNode implements " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": " " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/tools/StateNode.ts", - "releaseTag": "Public", - "isAbstract": true, - "name": "StateNode", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#_currentToolIdMask:member", - "docComment": "/**\n * This is a hack / escape hatch that will tell the editor to report a different state as active (in `getCurrentToolId()`) when this state is active. This is usually used when a tool transitions to a child of a different state for a certain interaction and then returns to the original tool when that interaction completes; and where we would want to show the original tool as active in the UI.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "_currentToolIdMask: " - }, - { - "kind": "Reference", - "text": "Atom", - "canonicalReference": "@tldraw/state!Atom:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_currentToolIdMask", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#_path:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "_path: " - }, - { - "kind": "Reference", - "text": "Computed", - "canonicalReference": "@tldraw/state!Computed:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_path", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!StateNode:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `StateNode` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", parent?: " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ] - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Reference", - "text": "Record", - "canonicalReference": "!Record:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode.children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static children?: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#editor:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "editor", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#enter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "enter: " - }, - { - "kind": "Content", - "text": "(info: any, from: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "enter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#exit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "exit: " - }, - { - "kind": "Content", - "text": "(info: any, from: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "exit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getCurrent:member(1)", - "docComment": "/**\n * This node's current active child node, if any.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrent(): " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": " | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrent" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getCurrentToolIdMask:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getCurrentToolIdMask(): " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getCurrentToolIdMask" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getIsActive:member(1)", - "docComment": "/**\n * Whether this node is active.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getIsActive(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getIsActive" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#getPath:member(1)", - "docComment": "/**\n * This node's path of active state nodes\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getPath(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "getPath" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#handleEvent:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "handleEvent: " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "Exclude", - "canonicalReference": "!Exclude:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLEventInfo", - "canonicalReference": "@tldraw/editor!TLEventInfo:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLPinchEventInfo", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type" - }, - { - "kind": "Content", - "text": ">) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "handleEvent", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 8 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode.id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "initial?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode.initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static initial?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": true, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onCancel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCancel?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onCancel']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onCancel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onComplete:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onComplete?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onComplete']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onComplete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onDoubleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onEnter:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onEnter?: " - }, - { - "kind": "Reference", - "text": "TLEnterEventHandler", - "canonicalReference": "@tldraw/editor!TLEnterEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onEnter", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onExit:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onExit?: " - }, - { - "kind": "Reference", - "text": "TLExitEventHandler", - "canonicalReference": "@tldraw/editor!TLExitEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onExit", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onInterrupt:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onInterrupt?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onInterrupt']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onInterrupt", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onKeyDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyDown?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onKeyDown']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onKeyDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onKeyRepeat:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyRepeat?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onKeyRepeat']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onKeyRepeat", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onKeyUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyUp?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onKeyUp']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onKeyUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onMiddleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onMiddleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onMiddleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onMiddleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onPointerDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerDown?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onPointerDown']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onPointerDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onPointerMove:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerMove?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onPointerMove']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onPointerMove", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onPointerUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerUp?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onPointerUp']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onPointerUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onQuadrupleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onQuadrupleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onQuadrupleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onQuadrupleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onRightClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRightClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onRightClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onRightClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onTick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTick?: " - }, - { - "kind": "Reference", - "text": "TLTickEventHandler", - "canonicalReference": "@tldraw/editor!TLTickEventHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onTripleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTripleClick?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onTripleClick']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onTripleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#onWheel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onWheel?: " - }, - { - "kind": "Reference", - "text": "TLEventHandlers", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface" - }, - { - "kind": "Content", - "text": "['onWheel']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onWheel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#parent:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "parent: " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "parent", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!StateNode#setCurrentToolIdMask:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setCurrentToolIdMask(id: " - }, - { - "kind": "Content", - "text": "string | undefined" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "id", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setCurrentToolIdMask" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#shapeType:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeType?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "shapeType", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#transition:member", - "docComment": "/**\n * Transition to a new active child state node.\n *\n * @param id - The id of the child state node to transition to.\n *\n * @param info - Any data to pass to the `onEnter` and `onExit` handlers.\n *\n * @example\n * ```ts\n * parentState.transition('childStateA')\n * parentState.transition('childStateB', { myData: 4 })\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "transition: " - }, - { - "kind": "Content", - "text": "(id: string, info?: any) => this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "transition", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!StateNode#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Reference", - "text": "TLStateNodeType", - "canonicalReference": "@tldraw/editor!~TLStateNodeType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [ - { - "startIndex": 1, - "endIndex": 5 - } - ] - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!stopEventPropagation:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "stopEventPropagation: (e: " - }, - { - "kind": "Content", - "text": "any" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Content", - "text": "any" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/dom.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "e", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "stopEventPropagation" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!SVGContainer:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function SVGContainer({ children, className, ...rest }: " - }, - { - "kind": "Reference", - "text": "SVGContainerProps", - "canonicalReference": "@tldraw/editor!SVGContainerProps:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"react/jsx-runtime\")." - }, - { - "kind": "Reference", - "text": "JSX.Element", - "canonicalReference": "@types/react!JSX.Element:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/SVGContainer.tsx", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ children, className, ...rest }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "SVGContainer" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!SVGContainerProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type SVGContainerProps = " - }, - { - "kind": "Reference", - "text": "React.HTMLAttributes", - "canonicalReference": "@types/react!React.HTMLAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/SVGContainer.tsx", - "releaseTag": "Public", - "name": "SVGContainerProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!SvgExportContext:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface SvgExportContext " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/SvgExportContext.tsx", - "releaseTag": "Public", - "name": "SvgExportContext", - "preserveMemberOrder": false, - "members": [ - { - "kind": "MethodSignature", - "canonicalReference": "@tldraw/editor!SvgExportContext#addExportDef:member(1)", - "docComment": "/**\n * Add contents to the `` section of the export SVG. Each export def should have a unique key. If multiple defs come with the same key, only one will be added.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "addExportDef(def: " - }, - { - "kind": "Reference", - "text": "SvgExportDef", - "canonicalReference": "@tldraw/editor!SvgExportDef:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isOptional": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "def", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "addExportDef" - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!SvgExportContext#isDarkMode:member", - "docComment": "/**\n * Whether the export should be in dark mode.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "readonly isDarkMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "isDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!SvgExportDef:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface SvgExportDef " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/SvgExportContext.tsx", - "releaseTag": "Public", - "name": "SvgExportDef", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!SvgExportDef#getElement:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "getElement: " - }, - { - "kind": "Content", - "text": "() => null | " - }, - { - "kind": "Reference", - "text": "Promise", - "canonicalReference": "!Promise:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getElement", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!SvgExportDef#key:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "key: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "key", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!TAB_ID:var", - "docComment": "/**\n * A string that is unique per browser tab\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TAB_ID: " - }, - { - "kind": "Content", - "text": "string" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "isReadonly": true, - "releaseTag": "Public", - "name": "TAB_ID", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAfterChangeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAfterChangeHandler = " - }, - { - "kind": "Content", - "text": "(prev: R, next: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLAfterChangeHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAfterCreateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAfterCreateHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLAfterCreateHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAfterDeleteHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAfterDeleteHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLAfterDeleteHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAnimationOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAnimationOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n duration: number;\n easing: (t: number) => number;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "name": "TLAnimationOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLAnyShapeUtilConstructor = " - }, - { - "kind": "Reference", - "text": "TLShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/defaultShapes.ts", - "releaseTag": "Public", - "name": "TLAnyShapeUtilConstructor", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLArcInfo:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLArcInfo " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/arrow-types.ts", - "releaseTag": "Public", - "name": "TLArcInfo", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#center:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "center: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "center", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#largeArcFlag:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "largeArcFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "largeArcFlag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#length:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "length: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "length", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#radius:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "radius: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "radius", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#size:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "size: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "size", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLArcInfo#sweepFlag:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "sweepFlag: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "sweepFlag", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLArrowInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowInfo = " - }, - { - "kind": "Content", - "text": "{\n isStraight: false;\n start: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n middle: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n handleArc: " - }, - { - "kind": "Reference", - "text": "TLArcInfo", - "canonicalReference": "@tldraw/editor!TLArcInfo:interface" - }, - { - "kind": "Content", - "text": ";\n bodyArc: " - }, - { - "kind": "Reference", - "text": "TLArcInfo", - "canonicalReference": "@tldraw/editor!TLArcInfo:interface" - }, - { - "kind": "Content", - "text": ";\n isValid: boolean;\n} | {\n isStraight: true;\n start: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n end: " - }, - { - "kind": "Reference", - "text": "TLArrowPoint", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type" - }, - { - "kind": "Content", - "text": ";\n middle: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n isValid: boolean;\n length: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/arrow-types.ts", - "releaseTag": "Public", - "name": "TLArrowInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 18 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLArrowPoint:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLArrowPoint = " - }, - { - "kind": "Content", - "text": "{\n handle: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n arrowhead: " - }, - { - "kind": "Reference", - "text": "TLArrowShapeArrowheadStyle", - "canonicalReference": "@tldraw/tlschema!TLArrowShapeArrowheadStyle:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/shared/arrow/arrow-types.ts", - "releaseTag": "Public", - "name": "TLArrowPoint", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBaseBoxShape:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBaseBoxShape = " - }, - { - "kind": "Reference", - "text": "TLBaseShape", - "canonicalReference": "@tldraw/tlschema!TLBaseShape:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/BaseBoxShapeUtil.tsx", - "releaseTag": "Public", - "name": "TLBaseBoxShape", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLBaseEventInfo " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLBaseEventInfo", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#altKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "altKey: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "altKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#ctrlKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "ctrlKey: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "ctrlKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#shiftKey:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shiftKey: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shiftKey", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Reference", - "text": "UiEventType", - "canonicalReference": "@tldraw/editor!UiEventType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBatchCompleteHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBatchCompleteHandler = " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBatchCompleteHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBeforeChangeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBeforeChangeHandler = " - }, - { - "kind": "Content", - "text": "(prev: R, next: R, source: 'remote' | 'user') => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBeforeChangeHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBeforeCreateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBeforeCreateHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBeforeCreateHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBeforeDeleteHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBeforeDeleteHandler = " - }, - { - "kind": "Content", - "text": "(record: R, source: 'remote' | 'user') => false | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/managers/SideEffectManager.ts", - "releaseTag": "Public", - "name": "TLBeforeDeleteHandler", - "typeParameters": [ - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLBrushProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLBrushProps = " - }, - { - "kind": "Content", - "text": "{\n brush: " - }, - { - "kind": "Reference", - "text": "BoxModel", - "canonicalReference": "@tldraw/tlschema!BoxModel:interface" - }, - { - "kind": "Content", - "text": ";\n color?: string;\n opacity?: number;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultBrush.tsx", - "releaseTag": "Public", - "name": "TLBrushProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCancelEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCancelEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLCancelEventInfo", - "canonicalReference": "@tldraw/editor!TLCancelEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCancelEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCancelEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCancelEventInfo = " - }, - { - "kind": "Content", - "text": "{\n type: 'misc';\n name: 'cancel';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCancelEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLClickEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLClickEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLClickEventInfo", - "canonicalReference": "@tldraw/editor!TLClickEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLClickEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLClickEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLClickEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'click';\n name: " - }, - { - "kind": "Reference", - "text": "TLCLickEventName", - "canonicalReference": "@tldraw/editor!TLCLickEventName:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n pointerId: number;\n button: number;\n phase: 'down' | 'settle' | 'up';\n} & " - }, - { - "kind": "Reference", - "text": "TLPointerEventTarget", - "canonicalReference": "@tldraw/editor!TLPointerEventTarget:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLClickEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCLickEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCLickEventName = " - }, - { - "kind": "Content", - "text": "'double_click' | 'quadruple_click' | 'triple_click'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCLickEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCollaboratorHintProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCollaboratorHintProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n point: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n viewport: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n opacity?: number;\n color: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCollaboratorHint.tsx", - "releaseTag": "Public", - "name": "TLCollaboratorHintProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCommand:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCommand = " - }, - { - "kind": "Content", - "text": "{\n type: 'command';\n id: string;\n data: Data;\n name: Name;\n preservesRedoStack?: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLCommand", - "typeParameters": [ - { - "typeParameterName": "Name", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "typeParameterName": "Data", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - } - } - ], - "typeTokenRange": { - "startIndex": 7, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCommandHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCommandHandler = " - }, - { - "kind": "Content", - "text": "{\n do: (data: Data) => void;\n undo: (data: Data) => void;\n redo?: (data: Data) => void;\n squash?: (prevData: Data, nextData: Data) => Data;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLCommandHandler", - "typeParameters": [ - { - "typeParameterName": "Data", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCommandHistoryOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCommandHistoryOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n squashing: boolean;\n ephemeral: boolean;\n preservesRedoStack: boolean;\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLCommandHistoryOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCompleteEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCompleteEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLCompleteEventInfo", - "canonicalReference": "@tldraw/editor!TLCompleteEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCompleteEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCompleteEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCompleteEventInfo = " - }, - { - "kind": "Content", - "text": "{\n type: 'misc';\n name: 'complete';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLCompleteEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLContent:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLContent " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/clipboard-types.ts", - "releaseTag": "Public", - "name": "TLContent", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#assets:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "assets: " - }, - { - "kind": "Reference", - "text": "TLAsset", - "canonicalReference": "@tldraw/tlschema!TLAsset:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "assets", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#rootShapeIds:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rootShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "rootShapeIds", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#schema:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "schema: " - }, - { - "kind": "Reference", - "text": "SerializedSchema", - "canonicalReference": "@tldraw/store!SerializedSchema:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "schema", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLContent#shapes:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapes", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLCursorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLCursorProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n point: null | " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n color?: string;\n name: null | string;\n chatMessage: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultCursor.tsx", - "releaseTag": "Public", - "name": "TLCursorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Variable", - "canonicalReference": "@tldraw/editor!TldrawEditor:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "TldrawEditor: " - }, - { - "kind": "Reference", - "text": "React.NamedExoticComponent", - "canonicalReference": "@types/react!React.NamedExoticComponent:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawEditorProps", - "canonicalReference": "@tldraw/editor!TldrawEditorProps:type" - }, - { - "kind": "Content", - "text": ">" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "isReadonly": true, - "releaseTag": "Public", - "name": "TldrawEditor", - "variableTypeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps:interface", - "docComment": "/**\n * Base props for the {@link tldraw#Tldraw} and {@link TldrawEditor} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TldrawEditorBaseProps " - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "releaseTag": "Public", - "name": "TldrawEditorBaseProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#autoFocus:member", - "docComment": "/**\n * Whether to automatically focus the editor when it mounts.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "autoFocus?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "autoFocus", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#children:member", - "docComment": "/**\n * The component's children.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Reference", - "text": "ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#className:member", - "docComment": "/**\n * A classname to pass to the editor's container.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "className?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "className", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#components:member", - "docComment": "/**\n * Overrides for the editor's components, such as handles, collaborator cursors, etc.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "components?: " - }, - { - "kind": "Reference", - "text": "TLEditorComponents", - "canonicalReference": "@tldraw/editor!TLEditorComponents:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "components", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#inferDarkMode:member", - "docComment": "/**\n * Whether to infer dark mode from the user's OS. Defaults to false.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "inferDarkMode?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "inferDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#initialState:member", - "docComment": "/**\n * The editor's initial state (usually the id of the first active tool).\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "initialState?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initialState", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#onMount:member", - "docComment": "/**\n * Called when the editor has mounted.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "onMount?: " - }, - { - "kind": "Reference", - "text": "TLOnMountHandler", - "canonicalReference": "@tldraw/editor!TLOnMountHandler:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onMount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#shapeUtils:member", - "docComment": "/**\n * An array of shape utils to use in the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeUtils?: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "shapeUtils", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#tools:member", - "docComment": "/**\n * An array of tools to add to the editor's state chart.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "tools?: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "tools", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps#user:member", - "docComment": "/**\n * The user interacting with the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "user?: " - }, - { - "kind": "Reference", - "text": "TLUser", - "canonicalReference": "@tldraw/editor!~TLUser:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "user", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TldrawEditorProps:type", - "docComment": "/**\n * Props for the {@link tldraw#Tldraw} and {@link TldrawEditor} components.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TldrawEditorProps = " - }, - { - "kind": "Reference", - "text": "Expand", - "canonicalReference": "@tldraw/utils!Expand:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TldrawEditorBaseProps", - "canonicalReference": "@tldraw/editor!TldrawEditorBaseProps:interface" - }, - { - "kind": "Content", - "text": " & ({\n store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLStoreWithStatus", - "canonicalReference": "@tldraw/editor!TLStoreWithStatus:type" - }, - { - "kind": "Content", - "text": ";\n} | {\n store?: undefined;\n snapshot?: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n initialData?: " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n persistenceKey?: string;\n sessionId?: string;\n defaultName?: string;\n})>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "releaseTag": "Public", - "name": "TldrawEditorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 17 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEditorComponents:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEditorComponents = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n [K in keyof " - }, - { - "kind": "Reference", - "text": "BaseEditorComponents", - "canonicalReference": "@tldraw/editor!~BaseEditorComponents:interface" - }, - { - "kind": "Content", - "text": "]: " - }, - { - "kind": "Reference", - "text": "BaseEditorComponents", - "canonicalReference": "@tldraw/editor!~BaseEditorComponents:interface" - }, - { - "kind": "Content", - "text": "[K] | null;\n} & " - }, - { - "kind": "Reference", - "text": "ErrorComponents", - "canonicalReference": "@tldraw/editor!~ErrorComponents:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useEditorComponents.tsx", - "releaseTag": "Public", - "name": "TLEditorComponents", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLEditorOptions:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLEditorOptions " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "name": "TLEditorOptions", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#getContainer:member", - "docComment": "/**\n * Should return a containing html element which has all the styles applied to the editor. If not given, the body element will be used.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "getContainer: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "getContainer", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#inferDarkMode:member", - "docComment": "/**\n * Whether to infer dark mode from the user's system preferences. Defaults to false.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "inferDarkMode?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "inferDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#initialState:member", - "docComment": "/**\n * The editor's initial active tool (or other state node id).\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "initialState?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initialState", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#shapeUtils:member", - "docComment": "/**\n * An array of shapes to use in the editor. These will be used to create and manage shapes in the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "shapeUtils: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLUnknownShape", - "canonicalReference": "@tldraw/tlschema!TLUnknownShape:type" - }, - { - "kind": "Content", - "text": ">[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "shapeUtils", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#store:member", - "docComment": "/**\n * The Store instance to use for keeping the app's data. This may be prepopulated, e.g. by loading from a server or database.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "store", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#tools:member", - "docComment": "/**\n * An array of tools to use in the editor. These will be used to handle events and manage user interactions in the editor.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "tools: " - }, - { - "kind": "Content", - "text": "readonly " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "tools", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEditorOptions#user:member", - "docComment": "/**\n * A user defined externally to replace the default user.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "user?: " - }, - { - "kind": "Reference", - "text": "TLUser", - "canonicalReference": "@tldraw/editor!~TLUser:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "user", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEnterEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEnterEventHandler = " - }, - { - "kind": "Content", - "text": "(info: any, from: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEnterEventHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLErrorBoundaryProps " - } - ], - "fileUrlPath": "packages/editor/src/lib/components/ErrorBoundary.tsx", - "releaseTag": "Public", - "name": "TLErrorBoundaryProps", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children: " - }, - { - "kind": "Reference", - "text": "React.ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps#fallback:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "fallback: " - }, - { - "kind": "Reference", - "text": "TLErrorFallbackComponent", - "canonicalReference": "@tldraw/editor!~TLErrorFallbackComponent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "fallback", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLErrorBoundaryProps#onError:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onError?: " - }, - { - "kind": "Content", - "text": "((error: unknown) => void) | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "onError", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLEventHandlers:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLEventHandlers " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEventHandlers", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onCancel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onCancel: " - }, - { - "kind": "Reference", - "text": "TLCancelEvent", - "canonicalReference": "@tldraw/editor!TLCancelEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onCancel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onComplete:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onComplete: " - }, - { - "kind": "Reference", - "text": "TLCompleteEvent", - "canonicalReference": "@tldraw/editor!TLCompleteEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onComplete", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onDoubleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onDoubleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onDoubleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onInterrupt:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onInterrupt: " - }, - { - "kind": "Reference", - "text": "TLInterruptEvent", - "canonicalReference": "@tldraw/editor!TLInterruptEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onInterrupt", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onKeyDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyDown: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onKeyRepeat:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyRepeat: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyRepeat", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onKeyUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onKeyUp: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onKeyUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onMiddleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onMiddleClick: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onMiddleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onPointerDown:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerDown: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onPointerDown", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onPointerMove:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerMove: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onPointerMove", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onPointerUp:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onPointerUp: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onPointerUp", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onQuadrupleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onQuadrupleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onQuadrupleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onRightClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onRightClick: " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onRightClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onTripleClick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onTripleClick: " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onTripleClick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventHandlers#onWheel:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "onWheel: " - }, - { - "kind": "Reference", - "text": "TLWheelEvent", - "canonicalReference": "@tldraw/editor!TLWheelEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "onWheel", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEventInfo = " - }, - { - "kind": "Reference", - "text": "TLCancelEventInfo", - "canonicalReference": "@tldraw/editor!TLCancelEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLClickEventInfo", - "canonicalReference": "@tldraw/editor!TLClickEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLCompleteEventInfo", - "canonicalReference": "@tldraw/editor!TLCompleteEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLInterruptEventInfo", - "canonicalReference": "@tldraw/editor!TLInterruptEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventInfo", - "canonicalReference": "@tldraw/editor!TLKeyboardEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPinchEventInfo", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointerEventInfo", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLWheelEventInfo", - "canonicalReference": "@tldraw/editor!TLWheelEventInfo:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 16 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLEventMap:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLEventMap " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/emit-types.ts", - "releaseTag": "Public", - "name": "TLEventMap", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"change-history\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'change-history': " - }, - { - "kind": "Content", - "text": "[{\n reason: 'bail';\n markId?: string;\n } | {\n reason: 'push' | 'redo' | 'undo';\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"change-history\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"mark-history\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'mark-history': " - }, - { - "kind": "Content", - "text": "[{\n id: string;\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"mark-history\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"max-shapes\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'max-shapes': " - }, - { - "kind": "Content", - "text": "[{\n name: string;\n pageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";\n count: number;\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"max-shapes\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"stop-camera-animation\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stop-camera-animation': " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stop-camera-animation\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#\"stop-following\":member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "'stop-following': " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "\"stop-following\"", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#change:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "change: " - }, - { - "kind": "Content", - "text": "[" - }, - { - "kind": "Reference", - "text": "HistoryEntry", - "canonicalReference": "@tldraw/store!HistoryEntry:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "change", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#crash:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "crash: " - }, - { - "kind": "Content", - "text": "[{\n error: unknown;\n }]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "crash", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#event:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "event: " - }, - { - "kind": "Content", - "text": "[" - }, - { - "kind": "Reference", - "text": "TLEventInfo", - "canonicalReference": "@tldraw/editor!TLEventInfo:type" - }, - { - "kind": "Content", - "text": "]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "event", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#frame:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "frame: " - }, - { - "kind": "Content", - "text": "[number]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "frame", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#mount:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "mount: " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "mount", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#tick:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "tick: " - }, - { - "kind": "Content", - "text": "[number]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "tick", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLEventMap#update:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "update: " - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "update", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEventMapHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEventMapHandler = " - }, - { - "kind": "Content", - "text": "(...args: " - }, - { - "kind": "Reference", - "text": "TLEventMap", - "canonicalReference": "@tldraw/editor!TLEventMap:interface" - }, - { - "kind": "Content", - "text": "[T]) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/emit-types.ts", - "releaseTag": "Public", - "name": "TLEventMapHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 4, - "endIndex": 7 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLEventName = " - }, - { - "kind": "Content", - "text": "'cancel' | 'complete' | 'interrupt' | 'wheel' | " - }, - { - "kind": "Reference", - "text": "TLCLickEventName", - "canonicalReference": "@tldraw/editor!TLCLickEventName:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventName", - "canonicalReference": "@tldraw/editor!TLKeyboardEventName:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPinchEventName", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointerEventName", - "canonicalReference": "@tldraw/editor!TLPointerEventName:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExitEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExitEventHandler = " - }, - { - "kind": "Content", - "text": "(info: any, to: string) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLExitEventHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExternalAssetContent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExternalAssetContent = " - }, - { - "kind": "Content", - "text": "{\n type: 'file';\n file: " - }, - { - "kind": "Reference", - "text": "File", - "canonicalReference": "!File:interface" - }, - { - "kind": "Content", - "text": ";\n} | {\n type: 'url';\n url: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/external-content.ts", - "releaseTag": "Public", - "name": "TLExternalAssetContent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExternalContent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExternalContent = " - }, - { - "kind": "Content", - "text": "{\n sources?: " - }, - { - "kind": "Reference", - "text": "TLExternalContentSource", - "canonicalReference": "@tldraw/editor!TLExternalContentSource:type" - }, - { - "kind": "Content", - "text": "[];\n point?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n} & ({\n type: 'embed';\n url: string;\n embed: " - }, - { - "kind": "Reference", - "text": "EmbedDefinition", - "canonicalReference": "@tldraw/tlschema!EmbedDefinition:type" - }, - { - "kind": "Content", - "text": ";\n} | {\n type: 'files';\n files: " - }, - { - "kind": "Reference", - "text": "File", - "canonicalReference": "!File:interface" - }, - { - "kind": "Content", - "text": "[];\n ignoreParent: boolean;\n} | {\n type: 'svg-text';\n text: string;\n} | {\n type: 'text';\n text: string;\n} | {\n type: 'url';\n url: string;\n})" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/external-content.ts", - "releaseTag": "Public", - "name": "TLExternalContent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLExternalContentSource:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLExternalContentSource = " - }, - { - "kind": "Content", - "text": "{\n type: 'error';\n data: null | string;\n reason: string;\n} | {\n type: 'excalidraw';\n data: any;\n} | {\n type: 'text';\n data: string;\n subtype: 'html' | 'json' | 'text' | 'url';\n} | {\n type: 'tldraw';\n data: " - }, - { - "kind": "Reference", - "text": "TLContent", - "canonicalReference": "@tldraw/editor!TLContent:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/external-content.ts", - "releaseTag": "Public", - "name": "TLExternalContentSource", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLGridProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLGridProps = " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number;\n size: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultGrid.tsx", - "releaseTag": "Public", - "name": "TLGridProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHandleProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHandleProps = " - }, - { - "kind": "Content", - "text": "{\n shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n isCoarse: boolean;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandle.tsx", - "releaseTag": "Public", - "name": "TLHandleProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHandlesProps = " - }, - { - "kind": "Content", - "text": "{\n children: " - }, - { - "kind": "Reference", - "text": "ReactNode", - "canonicalReference": "@types/react!React.ReactNode:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHandles.tsx", - "releaseTag": "Public", - "name": "TLHandlesProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHistoryEntry:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHistoryEntry = " - }, - { - "kind": "Reference", - "text": "TLCommand", - "canonicalReference": "@tldraw/editor!TLCommand:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLHistoryMark", - "canonicalReference": "@tldraw/editor!TLHistoryMark:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLHistoryEntry", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHistoryMark:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHistoryMark = " - }, - { - "kind": "Content", - "text": "{\n type: 'STOP';\n id: string;\n onUndo: boolean;\n onRedo: boolean;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/history-types.ts", - "releaseTag": "Public", - "name": "TLHistoryMark", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLHoveredShapeIndicatorProps = " - }, - { - "kind": "Content", - "text": "{\n shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultHoveredShapeIndicator.tsx", - "releaseTag": "Public", - "name": "TLHoveredShapeIndicatorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLInterruptEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLInterruptEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLInterruptEventInfo", - "canonicalReference": "@tldraw/editor!TLInterruptEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLInterruptEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLInterruptEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLInterruptEventInfo = " - }, - { - "kind": "Content", - "text": "{\n type: 'misc';\n name: 'interrupt';\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLInterruptEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLKeyboardEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventInfo", - "canonicalReference": "@tldraw/editor!TLKeyboardEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLKeyboardEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLKeyboardEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLKeyboardEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'keyboard';\n name: " - }, - { - "kind": "Reference", - "text": "TLKeyboardEventName", - "canonicalReference": "@tldraw/editor!TLKeyboardEventName:type" - }, - { - "kind": "Content", - "text": ";\n key: string;\n code: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLKeyboardEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLKeyboardEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLKeyboardEventName = " - }, - { - "kind": "Content", - "text": "'key_down' | 'key_repeat' | 'key_up'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLKeyboardEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnBeforeCreateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnBeforeCreateHandler = " - }, - { - "kind": "Content", - "text": "(next: T) => T | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnBeforeCreateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnBeforeUpdateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnBeforeUpdateHandler = " - }, - { - "kind": "Content", - "text": "(prev: T, next: T) => T | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnBeforeUpdateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnChildrenChangeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnChildrenChangeHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": "[] | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnChildrenChangeHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnClickHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnClickHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnClickHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandleHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnDoubleClickHandleHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnDoubleClickHandleHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnDoubleClickHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnDoubleClickHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnDoubleClickHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 6 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnDragHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnDragHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, shapes: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": "[]) => R" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnDragHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "R", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - } - ], - "typeTokenRange": { - "startIndex": 5, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnEditEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnEditEndHandler = " - }, - { - "kind": "Content", - "text": "(shape: T) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnEditEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnHandleDragHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnHandleDragHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, info: {\n handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ";\n timeInBoundShape: number;\n}) => " - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": " | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnHandleDragHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnMountHandler:type", - "docComment": "/**\n * Called when the editor has mounted.\n *\n * @param editor - The editor instance.\n *\n * @example\n * ```ts\n * editor.selectAll()} />\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnMountHandler = " - }, - { - "kind": "Content", - "text": "(editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ") => (() => undefined | void) | undefined | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/TldrawEditor.tsx", - "releaseTag": "Public", - "name": "TLOnMountHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnResizeEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnResizeEndHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnResizeEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnResizeHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnResizeHandler = " - }, - { - "kind": "Content", - "text": "(shape: T, info: " - }, - { - "kind": "Reference", - "text": "TLResizeInfo", - "canonicalReference": "@tldraw/editor!TLResizeInfo:type" - }, - { - "kind": "Content", - "text": ") => " - }, - { - "kind": "Reference", - "text": "Omit", - "canonicalReference": "!Omit:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapePartial", - "canonicalReference": "@tldraw/tlschema!TLShapePartial:type" - }, - { - "kind": "Content", - "text": ", 'id' | 'type'> | undefined | void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnResizeHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnResizeStartHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnResizeStartHandler = " - }, - { - "kind": "Reference", - "text": "TLEventStartHandler", - "canonicalReference": "@tldraw/editor!~TLEventStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnResizeStartHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnRotateEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnRotateEndHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnRotateEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnRotateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnRotateHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnRotateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnRotateStartHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnRotateStartHandler = " - }, - { - "kind": "Reference", - "text": "TLEventStartHandler", - "canonicalReference": "@tldraw/editor!~TLEventStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnRotateStartHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnTranslateEndHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnTranslateEndHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnTranslateEndHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnTranslateHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnTranslateHandler = " - }, - { - "kind": "Reference", - "text": "TLEventChangeHandler", - "canonicalReference": "@tldraw/editor!~TLEventChangeHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnTranslateHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLOnTranslateStartHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLOnTranslateStartHandler = " - }, - { - "kind": "Reference", - "text": "TLEventStartHandler", - "canonicalReference": "@tldraw/editor!~TLEventStartHandler:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLOnTranslateStartHandler", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPinchEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPinchEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLPinchEventInfo", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPinchEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPinchEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPinchEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'pinch';\n name: " - }, - { - "kind": "Reference", - "text": "TLPinchEventName", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n delta: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPinchEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPinchEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPinchEventName = " - }, - { - "kind": "Content", - "text": "'pinch_end' | 'pinch_start' | 'pinch'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPinchEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLPointerEventInfo", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'pointer';\n name: " - }, - { - "kind": "Reference", - "text": "TLPointerEventName", - "canonicalReference": "@tldraw/editor!TLPointerEventName:type" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n pointerId: number;\n button: number;\n isPen: boolean;\n} & " - }, - { - "kind": "Reference", - "text": "TLPointerEventTarget", - "canonicalReference": "@tldraw/editor!TLPointerEventTarget:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEventName:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEventName = " - }, - { - "kind": "Content", - "text": "'middle_click' | 'pointer_down' | 'pointer_move' | 'pointer_up' | 'right_click'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEventName", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLPointerEventTarget:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLPointerEventTarget = " - }, - { - "kind": "Content", - "text": "{\n target: 'canvas';\n shape?: undefined;\n} | {\n target: 'handle';\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLHandle", - "canonicalReference": "@tldraw/tlschema!TLHandle:interface" - }, - { - "kind": "Content", - "text": ";\n} | {\n target: 'selection';\n handle?: " - }, - { - "kind": "Reference", - "text": "TLSelectionHandle", - "canonicalReference": "@tldraw/editor!TLSelectionHandle:type" - }, - { - "kind": "Content", - "text": ";\n shape?: undefined;\n} | {\n target: 'shape';\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLPointerEventTarget", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeHandle = " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/selection-types.ts", - "releaseTag": "Public", - "name": "TLResizeHandle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeInfo:type", - "docComment": "/**\n * Info about a resize.\n *\n * @param newPoint - The new local position of the shape.\n *\n * @param handle - The handle being dragged.\n *\n * @param mode - The type of resize.\n *\n * @param scaleX - The scale in the x-axis.\n *\n * @param scaleY - The scale in the y-axis.\n *\n * @param initialBounds - The bounds of the shape at the start of the resize.\n *\n * @param initialShape - The shape at the start of the resize.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeInfo = " - }, - { - "kind": "Content", - "text": "{\n newPoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n handle: " - }, - { - "kind": "Reference", - "text": "TLResizeHandle", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type" - }, - { - "kind": "Content", - "text": ";\n mode: " - }, - { - "kind": "Reference", - "text": "TLResizeMode", - "canonicalReference": "@tldraw/editor!TLResizeMode:type" - }, - { - "kind": "Content", - "text": ";\n scaleX: number;\n scaleY: number;\n initialBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n initialShape: T;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLResizeInfo", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 3, - "endIndex": 12 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeMode:type", - "docComment": "/**\n * The type of resize.\n *\n * 'scale_shape' - The shape is being scaled, usually as part of a larger selection.\n *\n * 'resize_bounds' - The user is directly manipulating an individual shape's bounds using a resize handle. It is up to shape util implementers to decide how they want to handle the two situations.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeMode = " - }, - { - "kind": "Content", - "text": "'resize_bounds' | 'scale_shape'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLResizeMode", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLResizeShapeOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLResizeShapeOptions = " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n initialBounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n scaleOrigin: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ";\n scaleAxisRotation: number;\n initialShape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n initialPageTransform: " - }, - { - "kind": "Reference", - "text": "MatLike", - "canonicalReference": "@tldraw/editor!MatLike:type" - }, - { - "kind": "Content", - "text": ";\n dragHandle: " - }, - { - "kind": "Reference", - "text": "TLResizeHandle", - "canonicalReference": "@tldraw/editor!TLResizeHandle:type" - }, - { - "kind": "Content", - "text": ";\n mode: " - }, - { - "kind": "Reference", - "text": "TLResizeMode", - "canonicalReference": "@tldraw/editor!TLResizeMode:type" - }, - { - "kind": "Content", - "text": ";\n}>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/Editor.ts", - "releaseTag": "Public", - "name": "TLResizeShapeOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 15 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLRotationSnapshot:type", - "docComment": "/**\n * Info about a rotation that can be applied to the editor's selected shapes.\n *\n * @param selectionPageCenter - The center of the selection in page coordinates\n *\n * @param initialCursorAngle - The angle of the cursor relative to the selection center when the rotation started\n *\n * @param initialSelectionRotation - The rotation of the selection when the rotation started\n *\n * @param shapeSnapshots - Info about each shape that is being rotated\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLRotationSnapshot = " - }, - { - "kind": "Content", - "text": "{\n selectionPageCenter: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n initialCursorAngle: number;\n initialSelectionRotation: number;\n shapeSnapshots: {\n shape: " - }, - { - "kind": "Reference", - "text": "TLShape", - "canonicalReference": "@tldraw/tlschema!TLShape:type" - }, - { - "kind": "Content", - "text": ";\n initialPagePoint: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";\n }[];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/rotation.ts", - "releaseTag": "Public", - "name": "TLRotationSnapshot", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLScribbleProps = " - }, - { - "kind": "Content", - "text": "{\n scribble: " - }, - { - "kind": "Reference", - "text": "TLScribble", - "canonicalReference": "@tldraw/tlschema!TLScribble:type" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n color?: string;\n opacity?: number;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultScribble.tsx", - "releaseTag": "Public", - "name": "TLScribbleProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSelectionBackgroundProps = " - }, - { - "kind": "Content", - "text": "{\n bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n rotation: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionBackground.tsx", - "releaseTag": "Public", - "name": "TLSelectionBackgroundProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSelectionForegroundProps = " - }, - { - "kind": "Content", - "text": "{\n bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n rotation: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSelectionForeground.tsx", - "releaseTag": "Public", - "name": "TLSelectionForegroundProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSelectionHandle:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSelectionHandle = " - }, - { - "kind": "Reference", - "text": "RotateCorner", - "canonicalReference": "@tldraw/editor!RotateCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionCorner", - "canonicalReference": "@tldraw/editor!SelectionCorner:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SelectionEdge", - "canonicalReference": "@tldraw/editor!SelectionEdge:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/selection-types.ts", - "releaseTag": "Public", - "name": "TLSelectionHandle", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 6 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot:interface", - "docComment": "/**\n * The state of the editor instance, not including any document state.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLSessionStateSnapshot " - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLSessionStateSnapshot.ts", - "releaseTag": "Public", - "name": "TLSessionStateSnapshot", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#currentPageId:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "currentPageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "currentPageId", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#exportBackground:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "exportBackground: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "exportBackground", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isDebugMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isDebugMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isDebugMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isFocusMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isFocusMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isFocusMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isGridMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isGridMode: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isGridMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#isToolLocked:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isToolLocked: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "isToolLocked", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#pageStates:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "pageStates: " - }, - { - "kind": "Reference", - "text": "Array", - "canonicalReference": "!Array:interface" - }, - { - "kind": "Content", - "text": "<{\n pageId: " - }, - { - "kind": "Reference", - "text": "TLPageId", - "canonicalReference": "@tldraw/tlschema!TLPageId:type" - }, - { - "kind": "Content", - "text": ";\n camera: {\n x: number;\n y: number;\n z: number;\n };\n selectedShapeIds: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "[];\n focusedGroupId: null | " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n }>" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "pageStates", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 9 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLSessionStateSnapshot#version:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "version: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "version", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeIndicatorProps = " - }, - { - "kind": "Content", - "text": "{\n shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": ";\n color?: string | undefined;\n opacity?: number;\n className?: string;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultShapeIndicator.tsx", - "releaseTag": "Public", - "name": "TLShapeIndicatorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLShapeUtilCanvasSvgDef " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLShapeUtilCanvasSvgDef", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef#component:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "component: " - }, - { - "kind": "Reference", - "text": "React.ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "component", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilCanvasSvgDef#key:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "key: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "key", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLShapeUtilConstructor" - }, - { - "kind": "Content", - "text": " = " - }, - { - "kind": "Reference", - "text": "ShapeUtil", - "canonicalReference": "@tldraw/editor!ShapeUtil:class" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": "> " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "U", - "constraintTokenRange": { - "startIndex": 3, - "endIndex": 5 - }, - "defaultTypeTokenRange": { - "startIndex": 6, - "endIndex": 8 - } - } - ], - "name": "TLShapeUtilConstructor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "ConstructSignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor:new(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "new (editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "U" - }, - { - "kind": "Content", - "text": ";" - } - ], - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ] - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor#migrations:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "migrations?: " - }, - { - "kind": "Reference", - "text": "Migrations", - "canonicalReference": "@tldraw/store!Migrations:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "migrations", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor#props:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "props?: " - }, - { - "kind": "Reference", - "text": "ShapeProps", - "canonicalReference": "@tldraw/tlschema!ShapeProps:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "props", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLShapeUtilConstructor#type:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "type: " - }, - { - "kind": "Content", - "text": "T['type']" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "type", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLShapeUtilFlag:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLShapeUtilFlag = " - }, - { - "kind": "Content", - "text": "(shape: T) => boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/shapes/ShapeUtil.ts", - "releaseTag": "Public", - "name": "TLShapeUtilFlag", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSnapIndicatorProps:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSnapIndicatorProps = " - }, - { - "kind": "Content", - "text": "{\n className?: string;\n line: " - }, - { - "kind": "Reference", - "text": "SnapIndicator", - "canonicalReference": "@tldraw/editor!SnapIndicator:type" - }, - { - "kind": "Content", - "text": ";\n zoom: number;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/components/default-components/DefaultSnapIndictor.tsx", - "releaseTag": "Public", - "name": "TLSnapIndicatorProps", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLStateNodeConstructor " - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/tools/StateNode.ts", - "releaseTag": "Public", - "name": "TLStateNodeConstructor", - "preserveMemberOrder": false, - "members": [ - { - "kind": "ConstructSignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:new(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "new (editor: " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ", parent?: " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "StateNode", - "canonicalReference": "@tldraw/editor!StateNode:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "editor", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "parent", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ] - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor#children:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "children?: " - }, - { - "kind": "Content", - "text": "() => " - }, - { - "kind": "Reference", - "text": "TLStateNodeConstructor", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor:interface" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "children", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLStateNodeConstructor#initial:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "initial?: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "initial", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLStoreEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreEventInfo = " - }, - { - "kind": "Reference", - "text": "HistoryEntry", - "canonicalReference": "@tldraw/store!HistoryEntry:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLStore.ts", - "releaseTag": "Public", - "name": "TLStoreEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 5 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLStoreOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreOptions = " - }, - { - "kind": "Content", - "text": "{\n initialData?: " - }, - { - "kind": "Reference", - "text": "SerializedStore", - "canonicalReference": "@tldraw/store!SerializedStore:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n defaultName?: string;\n} & ({\n schema?: " - }, - { - "kind": "Reference", - "text": "StoreSchema", - "canonicalReference": "@tldraw/store!StoreSchema:class" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ", " - }, - { - "kind": "Reference", - "text": "TLStoreProps", - "canonicalReference": "@tldraw/tlschema!TLStoreProps:type" - }, - { - "kind": "Content", - "text": ">;\n} | {\n shapeUtils?: readonly " - }, - { - "kind": "Reference", - "text": "TLAnyShapeUtilConstructor", - "canonicalReference": "@tldraw/editor!TLAnyShapeUtilConstructor:type" - }, - { - "kind": "Content", - "text": "[];\n})" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/config/createTLStore.ts", - "releaseTag": "Public", - "name": "TLStoreOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 14 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLStoreWithStatus:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLStoreWithStatus = " - }, - { - "kind": "Content", - "text": "{\n readonly status: 'error';\n readonly store?: undefined;\n readonly error: " - }, - { - "kind": "Reference", - "text": "Error", - "canonicalReference": "!Error:interface" - }, - { - "kind": "Content", - "text": ";\n} | {\n readonly status: 'loading';\n readonly store?: undefined;\n readonly error?: undefined;\n} | {\n readonly status: 'not-synced';\n readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";\n readonly error?: undefined;\n} | {\n readonly status: 'synced-local';\n readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";\n readonly error?: undefined;\n} | {\n readonly status: 'synced-remote';\n readonly connectionStatus: 'offline' | 'online';\n readonly store: " - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";\n readonly error?: undefined;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/sync/StoreWithStatus.ts", - "releaseTag": "Public", - "name": "TLStoreWithStatus", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 10 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLSvgOptions:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLSvgOptions = " - }, - { - "kind": "Content", - "text": "{\n bounds: " - }, - { - "kind": "Reference", - "text": "Box", - "canonicalReference": "@tldraw/editor!Box:class" - }, - { - "kind": "Content", - "text": ";\n scale: number;\n background: boolean;\n padding: number;\n darkMode?: boolean;\n preserveAspectRatio: " - }, - { - "kind": "Reference", - "text": "React.SVGAttributes", - "canonicalReference": "@types/react!React.SVGAttributes:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "SVGSVGElement", - "canonicalReference": "!SVGSVGElement:interface" - }, - { - "kind": "Content", - "text": ">['preserveAspectRatio'];\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/misc-types.ts", - "releaseTag": "Public", - "name": "TLSvgOptions", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 8 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLTickEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLTickEvent = " - }, - { - "kind": "Content", - "text": "(elapsed: number) => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLTickEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLTickEventHandler:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLTickEventHandler = " - }, - { - "kind": "Content", - "text": "() => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLTickEventHandler", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Interface", - "canonicalReference": "@tldraw/editor!TLUserPreferences:interface", - "docComment": "/**\n * A user of tldraw\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface TLUserPreferences " - } - ], - "fileUrlPath": "packages/editor/src/lib/config/TLUserPreferences.ts", - "releaseTag": "Public", - "name": "TLUserPreferences", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#animationSpeed:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "animationSpeed?: " - }, - { - "kind": "Content", - "text": "null | number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "animationSpeed", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#color:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "color?: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "color", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#edgeScrollSpeed:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "edgeScrollSpeed?: " - }, - { - "kind": "Content", - "text": "null | number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "edgeScrollSpeed", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#id:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "id: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "id", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#isDarkMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isDarkMode?: " - }, - { - "kind": "Content", - "text": "boolean | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "isDarkMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#isSnapMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isSnapMode?: " - }, - { - "kind": "Content", - "text": "boolean | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "isSnapMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#isWrapMode:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "isWrapMode?: " - }, - { - "kind": "Content", - "text": "boolean | null" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "isWrapMode", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#locale:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "locale?: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "locale", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "PropertySignature", - "canonicalReference": "@tldraw/editor!TLUserPreferences#name:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "name?: " - }, - { - "kind": "Content", - "text": "null | string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": true, - "releaseTag": "Public", - "name": "name", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLWheelEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLWheelEvent = " - }, - { - "kind": "Content", - "text": "(info: " - }, - { - "kind": "Reference", - "text": "TLWheelEventInfo", - "canonicalReference": "@tldraw/editor!TLWheelEventInfo:type" - }, - { - "kind": "Content", - "text": ") => void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLWheelEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!TLWheelEventInfo:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type TLWheelEventInfo = " - }, - { - "kind": "Reference", - "text": "TLBaseEventInfo", - "canonicalReference": "@tldraw/editor!TLBaseEventInfo:interface" - }, - { - "kind": "Content", - "text": " & {\n type: 'wheel';\n name: 'wheel';\n delta: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n point: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "TLWheelEventInfo", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 7 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!toDomPrecision:function(1)", - "docComment": "/**\n * The DOM likes values to be fixed to 3 decimal places\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toDomPrecision(v: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "v", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "toDomPrecision" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!toFixed:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toFixed(v: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "v", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "toFixed" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!toPrecision:function(1)", - "docComment": "/**\n * Get a number to a precision.\n *\n * @param n - The number.\n *\n * @param precision - The precision.\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function toPrecision(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", precision?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/utils.ts", - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "precision", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "name": "toPrecision" - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!UiEvent:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type UiEvent = " - }, - { - "kind": "Reference", - "text": "TLCancelEvent", - "canonicalReference": "@tldraw/editor!TLCancelEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLClickEvent", - "canonicalReference": "@tldraw/editor!TLClickEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLCompleteEvent", - "canonicalReference": "@tldraw/editor!TLCompleteEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLKeyboardEvent", - "canonicalReference": "@tldraw/editor!TLKeyboardEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPinchEvent", - "canonicalReference": "@tldraw/editor!TLPinchEvent:type" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "TLPointerEvent", - "canonicalReference": "@tldraw/editor!TLPointerEvent:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "UiEvent", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 12 - } - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!UiEventType:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type UiEventType = " - }, - { - "kind": "Content", - "text": "'click' | 'keyboard' | 'pinch' | 'pointer' | 'wheel' | 'zoom'" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/editor/types/event-types.ts", - "releaseTag": "Public", - "name": "UiEventType", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!uniq:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function uniq(array: " - }, - { - "kind": "Content", - "text": "{\n readonly length: number;\n readonly [n: number]: T;\n} | null | undefined" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "T[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/uniq.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "array", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "name": "uniq" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!uniqueId:function(1)", - "docComment": "/**\n * Generate a unique id.\n *\n * @example\n * ```ts\n * const id = uniqueId()\n * ```\n *\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function uniqueId(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/uniqueId.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "uniqueId" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useContainer:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useContainer(): " - }, - { - "kind": "Reference", - "text": "HTMLDivElement", - "canonicalReference": "!HTMLDivElement:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useContainer.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useContainer" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useEditor:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useEditor(): " - }, - { - "kind": "Reference", - "text": "Editor", - "canonicalReference": "@tldraw/editor!Editor:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useEditor.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useEditor" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useEditorComponents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useEditorComponents(): " - }, - { - "kind": "Reference", - "text": "Partial", - "canonicalReference": "!Partial:type" - }, - { - "kind": "Content", - "text": "<{\n Background: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n SvgDefs: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n Brush: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n ZoomBrush: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n ShapeIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Cursor: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursorProps", - "canonicalReference": "@tldraw/editor!TLCursorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Canvas: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCanvasComponentProps", - "canonicalReference": "@tldraw/editor!~TLCanvasComponentProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorBrush: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLBrushProps", - "canonicalReference": "@tldraw/editor!TLBrushProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorCursor: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCursorProps", - "canonicalReference": "@tldraw/editor!TLCursorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorHint: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLCollaboratorHintProps", - "canonicalReference": "@tldraw/editor!TLCollaboratorHintProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorShapeIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Grid: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLGridProps", - "canonicalReference": "@tldraw/editor!TLGridProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Scribble: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n CollaboratorScribble: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLScribbleProps", - "canonicalReference": "@tldraw/editor!TLScribbleProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n SnapIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSnapIndicatorProps", - "canonicalReference": "@tldraw/editor!TLSnapIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Handles: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHandlesProps", - "canonicalReference": "@tldraw/editor!TLHandlesProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Handle: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHandleProps", - "canonicalReference": "@tldraw/editor!TLHandleProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n Spinner: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n SelectionForeground: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSelectionForegroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionForegroundProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n SelectionBackground: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLSelectionBackgroundProps", - "canonicalReference": "@tldraw/editor!TLSelectionBackgroundProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n HoveredShapeIndicator: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLHoveredShapeIndicatorProps", - "canonicalReference": "@tldraw/editor!TLHoveredShapeIndicatorProps:type" - }, - { - "kind": "Content", - "text": "> | null;\n OnTheCanvas: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n InFrontOfTheCanvas: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n LoadingScreen: " - }, - { - "kind": "Reference", - "text": "ComponentType", - "canonicalReference": "@types/react!React.ComponentType:type" - }, - { - "kind": "Content", - "text": " | null;\n} & " - }, - { - "kind": "Reference", - "text": "ErrorComponents", - "canonicalReference": "@tldraw/editor!~ErrorComponents:type" - }, - { - "kind": "Content", - "text": "> & " - }, - { - "kind": "Reference", - "text": "ErrorComponents", - "canonicalReference": "@tldraw/editor!~ErrorComponents:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useEditorComponents.tsx", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 90 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useEditorComponents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useIsCropping:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useIsCropping(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useIsCropping.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "useIsCropping" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useIsDarkMode:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useIsDarkMode(): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useIsDarkMode.ts", - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [], - "name": "useIsDarkMode" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useIsEditing:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useIsEditing(shapeId: " - }, - { - "kind": "Reference", - "text": "TLShapeId", - "canonicalReference": "@tldraw/tlschema!TLShapeId:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useIsEditing.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "shapeId", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "useIsEditing" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useSelectionEvents:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useSelectionEvents(handle: " - }, - { - "kind": "Reference", - "text": "TLSelectionHandle", - "canonicalReference": "@tldraw/editor!TLSelectionHandle:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n onPointerDown: import(\"react\")." - }, - { - "kind": "Reference", - "text": "PointerEventHandler", - "canonicalReference": "@types/react!React.PointerEventHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">;\n onPointerMove: (e: " - }, - { - "kind": "Reference", - "text": "React.PointerEvent", - "canonicalReference": "@types/react!React.PointerEvent:interface" - }, - { - "kind": "Content", - "text": ") => void;\n onPointerUp: import(\"react\")." - }, - { - "kind": "Reference", - "text": "PointerEventHandler", - "canonicalReference": "@types/react!React.PointerEventHandler:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "Element", - "canonicalReference": "!Element:interface" - }, - { - "kind": "Content", - "text": ">;\n}" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useSelectionEvents.ts", - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 14 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "handle", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "name": "useSelectionEvents" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useTLStore:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTLStore(opts: " - }, - { - "kind": "Reference", - "text": "TLStoreOptions", - "canonicalReference": "@tldraw/editor!TLStoreOptions:type" - }, - { - "kind": "Content", - "text": " & {\n snapshot?: " - }, - { - "kind": "Reference", - "text": "StoreSnapshot", - "canonicalReference": "@tldraw/store!StoreSnapshot:type" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "TLRecord", - "canonicalReference": "@tldraw/tlschema!TLRecord:type" - }, - { - "kind": "Content", - "text": ">;\n}" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "import(\"@tldraw/tlschema\")." - }, - { - "kind": "Reference", - "text": "TLStore", - "canonicalReference": "@tldraw/tlschema!TLStore:type" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useTLStore.ts", - "returnTypeTokenRange": { - "startIndex": 8, - "endIndex": 10 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "opts", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - } - ], - "name": "useTLStore" - }, - { - "kind": "Function", - "canonicalReference": "@tldraw/editor!useTransform:function(1)", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare function useTransform(ref: " - }, - { - "kind": "Reference", - "text": "React.RefObject", - "canonicalReference": "@types/react!React.RefObject:interface" - }, - { - "kind": "Content", - "text": "<" - }, - { - "kind": "Reference", - "text": "HTMLElement", - "canonicalReference": "!HTMLElement:interface" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "SVGElement", - "canonicalReference": "!SVGElement:interface" - }, - { - "kind": "Content", - "text": ">" - }, - { - "kind": "Content", - "text": ", x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", scale?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", rotate?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", additionalOffset?: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/hooks/useTransform.ts", - "returnTypeTokenRange": { - "startIndex": 18, - "endIndex": 19 - }, - "releaseTag": "Public", - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "ref", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 7 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 8, - "endIndex": 9 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 10, - "endIndex": 11 - }, - "isOptional": true - }, - { - "parameterName": "scale", - "parameterTypeTokenRange": { - "startIndex": 12, - "endIndex": 13 - }, - "isOptional": true - }, - { - "parameterName": "rotate", - "parameterTypeTokenRange": { - "startIndex": 14, - "endIndex": 15 - }, - "isOptional": true - }, - { - "parameterName": "additionalOffset", - "parameterTypeTokenRange": { - "startIndex": 16, - "endIndex": 17 - }, - "isOptional": true - } - ], - "name": "useTransform" - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!Vec:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class Vec " - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Vec.ts", - "releaseTag": "Public", - "isAbstract": false, - "name": "Vec", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Constructor", - "canonicalReference": "@tldraw/editor!Vec:constructor(1)", - "docComment": "/**\n * Constructs a new instance of the `Vec` class\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "constructor(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", z?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ");" - } - ], - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "z", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ] - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#abs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "abs(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "abs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Abs:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Abs(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Abs" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#add:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "add(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "add" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Add:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Add(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Add" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#addScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "addScalar(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "addScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.AddScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static AddScalar(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "AddScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#addXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "addXY(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "addXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.AddXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static AddXY(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "AddXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#angle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "angle(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "angle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Angle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Angle(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Angle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Average:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Average(arr: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 4, - "endIndex": 5 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "arr", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Average" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Cast:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cast(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cast" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#clamp:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clamp(min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", max?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "max", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "clamp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Clamp:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Clamp(A: " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ", min: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", max?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "min", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "max", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Clamp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Clockwise:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Clockwise(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Clockwise" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#clone:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "clone(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "clone" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#cpr:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cpr(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "cpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Cpr:member(1)", - "docComment": "/**\n * Cross product of two vectors which is used to calculate the area of a parallelogram.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cpr(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#cross:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "cross(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "cross" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Cross:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Cross(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Cross" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#dist:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "dist(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "dist" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Dist:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Dist(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Dist" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Dist2:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Dist2(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Dist2" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#distanceToLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "distanceToLineSegment(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "distanceToLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.DistanceToLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static DistanceToLineSegment(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", clamp?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "clamp", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "DistanceToLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.DistanceToLineThroughPoint:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static DistanceToLineThroughPoint(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", u: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "u", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "DistanceToLineThroughPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#div:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "div(t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "div" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Div:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Div(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Div" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#divV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "divV(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "divV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.DivV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static DivV(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "DivV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#dpr:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "dpr(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "dpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Dpr:member(1)", - "docComment": "/**\n * Dot product of two vectors which is used to calculate the angle between them.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Dpr(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Dpr" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equals(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Equals:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Equals(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Equals" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#equalsXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "equalsXY(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "equalsXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.EqualsXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static EqualsXY(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "EqualsXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.From:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static From({ x, y, z }: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ x, y, z }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "From" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.FromAngle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromAngle(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", length?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "length", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromAngle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.FromArray:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static FromArray(v: " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "v", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "FromArray" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.IsNaN:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static IsNaN(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "IsNaN" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#len:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "len(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "len" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Len:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Len(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Len" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#len2:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "len2(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "len2" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Len2:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Len2(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Len2" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#lrp:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "lrp(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "lrp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Lrp:member(1)", - "docComment": "/**\n * Linearly interpolate between two points.\n *\n * @param A - The first point.\n *\n * @param B - The second point.\n *\n * @param t - The interpolation value between 0 and 1.\n *\n * @returns The interpolated point.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Lrp(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Lrp" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Max:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Max(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Max" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Med:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Med(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Med" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Min:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Min(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Min" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#mul:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "mul(t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "mul" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Mul:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Mul(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", t: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "t", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Mul" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#mulV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "mulV(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "mulV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.MulV:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static MulV(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "MulV" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.NearestPointOnLineSegment:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static NearestPointOnLineSegment(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", clamp?: " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 9, - "endIndex": 10 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - }, - { - "parameterName": "clamp", - "parameterTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "NearestPointOnLineSegment" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.NearestPointOnLineThroughPoint:member(1)", - "docComment": "/**\n * Get the nearest point on a line with a known unit vector that passes through point A\n * ```ts\n * Vec.nearestPointOnLineThroughPoint(A, u, Point)\n * ```\n *\n * @param A - Any point on the line\n *\n * @param u - The unit vector for the line.\n *\n * @param P - A point not on the line to test.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static NearestPointOnLineThroughPoint(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", u: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", P: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "u", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "P", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "NearestPointOnLineThroughPoint" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#neg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "neg(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "neg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Neg:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Neg(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Neg" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#norm:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "norm(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "norm" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#nudge:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "nudge(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", distance: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "distance", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "nudge" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Nudge:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Nudge(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", distance: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "distance", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Nudge" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#per:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "per(): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "per" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Per:member(1)", - "docComment": "/**\n * Get the perpendicular vector to A.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Per(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Per" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.PointsBetween:member(1)", - "docComment": "/**\n * Get an array of points (with simulated pressure) between two points.\n *\n * @param A - The first point.\n *\n * @param B - The second point.\n *\n * @param steps - The number of points to return.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static PointsBetween(A: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ", steps?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": "[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "steps", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "PointsBetween" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#pressure:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get pressure(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": true, - "isOptional": false, - "releaseTag": "Public", - "name": "pressure", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#pry:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "pry(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "pry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Pry:member(1)", - "docComment": "/**\n * Get the projection of A onto B.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Pry(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Pry" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Rescale:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rescale(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rescale" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#rot:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rot(r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rot" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Rot:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Rot(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Rot" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#rotWith:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "rotWith(C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "rotWith" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.RotWith:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static RotWith(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", C: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", r: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "C", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "r", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "RotWith" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ScaleWithOrigin:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ScaleWithOrigin(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", scale: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", origin: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "scale", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "origin", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ScaleWithOrigin" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#set:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "set(x?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", z?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": true - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - }, - { - "parameterName": "z", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "set" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#setTo:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "setTo({ x, y, z }: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "{ x, y, z }", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "setTo" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#slope:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "slope(B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "slope" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Slope:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Slope(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Slope" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Snap:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Snap(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", step?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "step", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Snap" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#snapToGrid:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "snapToGrid(gridSize: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "gridSize", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "snapToGrid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.SnapToGrid:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static SnapToGrid(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", gridSize?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "gridSize", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "SnapToGrid" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#sub:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "sub(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "sub" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Sub:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Sub(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Sub" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#subScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "subScalar(n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "subScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.SubScalar:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static SubScalar(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "SubScalar" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#subXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "subXY(x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "this" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "subXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.SubXY:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static SubXY(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ", y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 8 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "x", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "y", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "SubXY" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#tan:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "tan(V: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "V", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "tan" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Tan:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Tan(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", B: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "B", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Tan" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toAngle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toAngle(): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toAngle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToAngle:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToAngle(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToAngle" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toArray:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toArray(): " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toArray" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToArray:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToArray(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "number[]" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToArray" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toFixed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toFixed(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toFixed" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToFixed:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToFixed(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": ", n?: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "n", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": true - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToFixed" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toJson:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toJson(): " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toJson" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToJson:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToJson(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "{\n x: number;\n y: number;\n z: number | undefined;\n }" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToJson" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#toString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "toString(): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "toString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.ToString:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "static ToString(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "ToString" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec#uni:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "uni(): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "uni" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!Vec.Uni:member(1)", - "docComment": "/**\n * Get the unit vector of A.\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "static Uni(A: " - }, - { - "kind": "Reference", - "text": "VecLike", - "canonicalReference": "@tldraw/editor!VecLike:type" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": true, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "A", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "Uni" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#x:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "x: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "x", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#y:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "y: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "y", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!Vec#z:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "z: " - }, - { - "kind": "Content", - "text": "number" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "z", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - } - ], - "implementsTokenRanges": [] - }, - { - "kind": "TypeAlias", - "canonicalReference": "@tldraw/editor!VecLike:type", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export type VecLike = " - }, - { - "kind": "Reference", - "text": "Vec", - "canonicalReference": "@tldraw/editor!Vec:class" - }, - { - "kind": "Content", - "text": " | " - }, - { - "kind": "Reference", - "text": "VecModel", - "canonicalReference": "@tldraw/tlschema!VecModel:interface" - }, - { - "kind": "Content", - "text": ";" - } - ], - "fileUrlPath": "packages/editor/src/lib/primitives/Vec.ts", - "releaseTag": "Public", - "name": "VecLike", - "typeTokenRange": { - "startIndex": 1, - "endIndex": 4 - } - }, - { - "kind": "Class", - "canonicalReference": "@tldraw/editor!WeakMapCache:class", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export declare class WeakMapCache " - } - ], - "fileUrlPath": "packages/editor/src/lib/utils/WeakMapCache.ts", - "releaseTag": "Public", - "typeParameters": [ - { - "typeParameterName": "T", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, - { - "typeParameterName": "K", - "constraintTokenRange": { - "startIndex": 0, - "endIndex": 0 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isAbstract": false, - "name": "WeakMapCache", - "preserveMemberOrder": false, - "members": [ - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#access:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "access(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "K | undefined" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "access" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#bust:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "bust(): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [], - "isOptional": false, - "isAbstract": false, - "name": "bust" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#get:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "get

(item: " - }, - { - "kind": "Content", - "text": "P" - }, - { - "kind": "Content", - "text": ", cb: " - }, - { - "kind": "Content", - "text": "(item: P) => K" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Reference", - "text": "NonNullable", - "canonicalReference": "!NonNullable:type" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "typeParameters": [ - { - "typeParameterName": "P", - "constraintTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "defaultTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 7, - "endIndex": 9 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - }, - { - "parameterName": "cb", - "parameterTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "get" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#has:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "has(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "boolean" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "has" - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#invalidate:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "invalidate(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "invalidate" - }, - { - "kind": "Property", - "canonicalReference": "@tldraw/editor!WeakMapCache#items:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "items: " - }, - { - "kind": "Reference", - "text": "WeakMap", - "canonicalReference": "!WeakMap:interface" - }, - { - "kind": "Content", - "text": "" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "items", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 3 - }, - "isStatic": false, - "isProtected": false, - "isAbstract": false - }, - { - "kind": "Method", - "canonicalReference": "@tldraw/editor!WeakMapCache#set:member(1)", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "set(item: " - }, - { - "kind": "Content", - "text": "T" - }, - { - "kind": "Content", - "text": ", value: " - }, - { - "kind": "Content", - "text": "K" - }, - { - "kind": "Content", - "text": "): " - }, - { - "kind": "Content", - "text": "void" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isStatic": false, - "returnTypeTokenRange": { - "startIndex": 5, - "endIndex": 6 - }, - "releaseTag": "Public", - "isProtected": false, - "overloadIndex": 1, - "parameters": [ - { - "parameterName": "item", - "parameterTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isOptional": false - }, - { - "parameterName": "value", - "parameterTypeTokenRange": { - "startIndex": 3, - "endIndex": 4 - }, - "isOptional": false - } - ], - "isOptional": false, - "isAbstract": false, - "name": "set" - } - ], - "implementsTokenRanges": [] - } - ] - } - ] -} diff --git a/packages/editor/editor.css b/packages/editor/editor.css index 78730becc..296047e99 100644 --- a/packages/editor/editor.css +++ b/packages/editor/editor.css @@ -24,10 +24,18 @@ /* Z Index */ --layer-background: 100; --layer-grid: 150; + --layer-culled-shapes: 175; --layer-canvas: 200; --layer-shapes: 300; --layer-overlays: 400; --layer-following-indicator: 1000; + --layer-blocker: 10000; + + /* z index for text editors */ + --layer-text-container: 1; + --layer-text-content: 3; + --layer-text-editor: 4; + /* Misc */ --tl-zoom: 1; @@ -124,6 +132,10 @@ --color-text-3: hsl(220, 2%, 65%); --color-text-shadow: hsl(0, 0%, 100%); --color-primary: hsl(214, 84%, 56%); + --color-success: hsl(123, 46%, 34%); + --color-info: hsl(201, 98%, 41%); + --color-warning: hsl(27, 98%, 47%); + --color-error: hsl(0, 65%, 51%); --color-warn: hsl(0, 90%, 43%); --color-text: hsl(0, 0%, 0%); --color-laser: hsl(0, 100%, 50%); @@ -139,11 +151,11 @@ .tl-theme__dark { --color-accent: hsl(0, 76%, 60%); - --color-background: hsl(240, 5%, 8%); + --color-background: hsl(240, 5%, 6.5%); --color-brush-fill: hsl(0, 0%, 71%, 5.1%); --color-brush-stroke: hsl(0, 0%, 71%, 25.1%); - --color-grid: hsl(0, 0%, 56%); - --color-low: hsl(260, 5%, 12.5%); + --color-grid: hsl(0, 0%, 40%); + --color-low: hsl(260, 4.5%, 10.5%); --color-low-border: hsl(207, 10%, 10%); --color-culled: hsl(210, 11%, 19%); --color-muted-none: hsl(0, 0%, 100%, 0%); @@ -152,10 +164,10 @@ --color-muted-2: hsl(0, 0%, 100%, 5%); --color-hint: hsl(0, 0%, 100%, 7%); --color-overlay: hsl(0, 0%, 0%, 50%); - --color-divider: hsl(240, 9%, 25%); - --color-panel-contrast: hsl(240, 13%, 22%); - --color-panel: hsl(220, 8%, 15%); - --color-panel-overlay: hsl(210, 11%, 24%, 82%); + --color-divider: hsl(240, 9%, 22%); + --color-panel-contrast: hsl(245, 12%, 23%); + --color-panel: hsl(235, 6.8%, 13.5%); + --color-panel-overlay: hsl(210, 10%, 24%, 82%); --color-focus: hsl(217, 76%, 80%); --color-selected: hsl(217, 89%, 61%); --color-selected-contrast: hsl(0, 0%, 100%); @@ -166,6 +178,10 @@ --color-text-3: hsl(210, 6%, 45%); --color-text-shadow: hsl(210, 13%, 18%); --color-primary: hsl(214, 84%, 56%); + --color-success: hsl(123, 38%, 57%); + --color-info: hsl(199, 92%, 56%); + --color-warning: hsl(36, 100%, 57%); + --color-error: hsl(4, 90%, 58%); --color-warn: hsl(0, 81%, 66%); --color-text: hsl(210, 17%, 98%); --color-laser: hsl(0, 100%, 50%); @@ -228,6 +244,20 @@ input, contain: strict; } +.tl-culled-shapes { + width: 100%; + height: 100%; + z-index: var(--layer-culled-shapes); + position: absolute; + pointer-events: none; + contain: size layout; +} + +.tl-culled-shapes__canvas { + width: 100%; + height: 100%; +} + .tl-shapes { position: relative; z-index: var(--layer-shapes); @@ -256,18 +286,25 @@ input, position: absolute; top: 0px; left: 0px; + width: 100%; + height: 100%; pointer-events: none; } /* ------------------- Background ------------------- */ -.tl-background { +.tl-background__wrapper { + z-index: var(--layer-background); position: absolute; - background-color: var(--color-background); inset: 0px; height: 100%; width: 100%; - z-index: var(--layer-background); +} + +.tl-background { + background-color: var(--color-background); + width: 100%; + height: 100%; } /* --------------------- Grid Layer --------------------- */ @@ -330,8 +367,13 @@ input, } .tl-shape__culled { - position: relative; + position: absolute; + pointer-events: none; + overflow: visible; + transform-origin: top left; + contain: size layout; background-color: var(--color-culled); + z-index: 0; } /* ---------------- Shape Containers ---------------- */ @@ -429,7 +471,7 @@ input, transform-origin: top left; fill: none; stroke-width: calc(1.5px * var(--tl-scale)); - contain: size; + contain: size layout; } /* ------------------ SelectionBox ------------------ */ @@ -513,19 +555,16 @@ input, .tl-handle__create { opacity: 0; } -.tl-handle__create:hover { - opacity: 1; + +.tl-handle__clone > .tl-handle__fg { + fill: var(--color-selection-stroke); + stroke: none; } .tl-handle__bg:active { fill: none; } -.tl-handle__bg:hover { - cursor: var(--tl-cursor-grab); - fill: var(--color-selection-fill); -} - @media (pointer: coarse) { .tl-handle__bg:active { fill: var(--color-selection-fill); @@ -680,14 +719,15 @@ input, /* ------------------- Text Shape ------------------- */ -.tl-text-shape__wrapper { +.tl-text-shape-label { position: relative; font-weight: normal; min-width: 1px; padding: 0px; margin: 0px; border: none; - height: 100%; + width: fit-content; + height: fit-content; font-variant: normal; font-style: normal; pointer-events: all; @@ -696,35 +736,38 @@ input, text-shadow: var(--tl-text-outline); } -.tl-text-shape__wrapper[data-align='start'] { - text-align: left; -} - -.tl-text-shape__wrapper[data-align='middle'] { - text-align: center; -} - -.tl-text-shape__wrapper[data-align='end'] { - text-align: right; -} - -.tl-text-shape__wrapper[data-font='draw'] { +.tl-text-wrapper[data-font='draw'] { font-family: var(--tl-font-draw); } -.tl-text-shape__wrapper[data-font='sans'] { +.tl-text-wrapper[data-font='sans'] { font-family: var(--tl-font-sans); } -.tl-text-shape__wrapper[data-font='serif'] { +.tl-text-wrapper[data-font='serif'] { font-family: var(--tl-font-serif); } -.tl-text-shape__wrapper[data-font='mono'] { +.tl-text-wrapper[data-font='mono'] { font-family: var(--tl-font-mono); } -.tl-text-shape__wrapper[data-isediting='true'] .tl-text-content { +.tl-text-wrapper[data-align='start'], +.tl-text-wrapper[data-align='start-legacy'] { + text-align: left; +} + +.tl-text-wrapper[data-align='middle'], +.tl-text-wrapper[data-align='middle-legacy'] { + text-align: center; +} + +.tl-text-wrapper[data-align='end'], +.tl-text-wrapper[data-align='end-legacy'] { + text-align: right; +} + +.tl-text-wrapper[data-isediting='true'] .tl-text-content { opacity: 0; } @@ -750,7 +793,6 @@ input, white-space: pre-wrap; word-wrap: break-word; overflow-wrap: break-word; - pointer-events: all; text-rendering: auto; text-transform: none; text-indent: 0px; @@ -793,6 +835,17 @@ input, outline: none; } +.tl-text-content__wrapper { + position: relative; + width: fit-content; + height: fit-content; + display: flex; + align-items: center; + justify-content: center; + pointer-events: none; + min-height: auto; +} + .tl-text-content { pointer-events: none; } @@ -805,6 +858,12 @@ input, cursor: var(--tl-cursor-text); } +.tl-text-wrapper[data-isediting='false'] .tl-text-input, +.tl-arrow-label[data-isediting='false'] .tl-text-input { + opacity: 0; + cursor: var(--tl-cursor-default); +} + .tl-text-input::selection { background: var(--color-selected); color: var(--color-selected-contrast); @@ -916,10 +975,6 @@ input, cursor: var(--tl-cursor-pointer); } -.tl-bookmark__link:hover { - color: var(--color-selected); -} - /* ---------------- Hyperlink Button ---------------- */ .tl-hyperlink-button { @@ -958,10 +1013,6 @@ input, pointer-events: none; } -.tl-hyperlink-button:hover { - color: var(--color-selected); -} - .tl-hyperlink-button:focus-visible { color: var(--color-selected); } @@ -993,10 +1044,6 @@ input, z-index: 10; } -.tl-text-label[data-isediting='true'] .tl-text-content { - opacity: 0; -} - .tl-text-label[data-hastext='false'][data-isediting='false'] > .tl-text-label__inner { width: 40px; height: 40px; @@ -1006,15 +1053,9 @@ input, pointer-events: all; } -.tl-text-label__inner { - position: relative; - width: fit-content; - height: fit-content; - display: flex; - align-items: center; - justify-content: center; - pointer-events: none; - min-height: auto; +.tl-text-wrapper .tl-text-content { + pointer-events: all; + z-index: var(--layer-text-content); } .tl-text-label__inner > .tl-text-content { @@ -1026,7 +1067,6 @@ input, width: fit-content; border-radius: var(--radius-1); max-width: 100%; - z-index: 3; } .tl-text-label__inner > .tl-text-input { @@ -1035,7 +1075,27 @@ input, height: 100%; width: 100%; padding: 16px; - z-index: 4; +} + +.tl-text-wrapper[data-isselected='true'] .tl-text-input { + z-index: var(--layer-text-editor); + pointer-events: all; +} + +/* This part of the rule helps preserve the occlusion rules for the shapes so we + * don't click on shapes that are behind other shapes. + * One extra nuance is we don't use this behavior for: + * - arrows which have weird geometry and just gets in the way. + * - draw/line shapes, because it feels restrictive to have them be 'in the way' of clicking on a textfield + */ +.tl-canvas[data-iseditinganything='true'] + .tl-shape:not( + [data-shape-type='arrow'], + [data-shape-type='draw'], + [data-shape-type='line'], + [data-shape-type='highlight'] + ) { + pointer-events: all; } .tl-text-label[data-textwrap='true'] > .tl-text-label__inner { @@ -1051,21 +1111,6 @@ input, opacity: 0; } -.tl-text-label[data-align='start'], -.tl-text-label[data-align='start-legacy'] { - text-align: left; -} - -.tl-text-label[data-align='middle'], -.tl-text-label[data-align='middle-legacy'] { - text-align: center; -} - -.tl-text-label[data-align='end'], -.tl-text-label[data-align='end-legacy'] { - text-align: right; -} - .tl-arrow-hint { stroke: var(--color-text-1); fill: none; @@ -1073,26 +1118,6 @@ input, overflow: visible; } -.tl-arrow-label[data-font='draw'], -.tl-text-label[data-font='draw'] { - font-family: var(--tl-font-draw); -} - -.tl-arrow-label[data-font='sans'], -.tl-text-label[data-font='sans'] { - font-family: var(--tl-font-sans); -} - -.tl-arrow-label[data-font='serif'], -.tl-text-label[data-font='serif'] { - font-family: var(--tl-font-serif); -} - -.tl-arrow-label[data-font='mono'], -.tl-text-label[data-font='mono'] { - font-family: var(--tl-font-mono); -} - /* ------------------- Arrow Shape ------------------ */ .tl-arrow-label { @@ -1105,6 +1130,7 @@ input, display: flex; justify-content: center; align-items: center; + text-align: center; color: var(--color-text); text-shadow: var(--tl-text-outline); } @@ -1123,66 +1149,21 @@ input, position: relative; height: max-content; width: max-content; - pointer-events: all; + pointer-events: none; display: flex; justify-content: center; align-items: center; } -.tl-arrow-label p, -.tl-arrow-label textarea { - margin: 0px; - padding: 0px; - border: 0px; - color: inherit; - caret-color: var(--color-text); - background: none; - border-image: none; - font-size: inherit; - font-family: inherit; - font-weight: inherit; - line-height: inherit; - font-variant: inherit; - font-style: inherit; - text-align: inherit; - letter-spacing: inherit; - text-shadow: inherit; - outline: none; - white-space: pre-wrap; - word-wrap: break-word; - overflow-wrap: break-word; - pointer-events: all; - text-rendering: auto; - text-transform: none; - text-indent: 0px; - display: inline-block; - appearance: auto; - column-count: initial !important; - writing-mode: horizontal-tb !important; - word-spacing: 0px; -} - -.tl-arrow-label p { +.tl-arrow-label .tl-arrow { position: relative; height: max-content; - z-index: 2; padding: 4px; overflow: visible; } .tl-arrow-label textarea { - z-index: 3; - margin: 0px; padding: 4px; - height: 100%; - width: 100%; - position: absolute; - resize: none; - border: 0px; - user-select: all; - -webkit-user-select: text; - caret-color: var(--color-text); - border-image: none; /* Don't allow textarea to be zero width */ min-width: 4px; } @@ -1193,27 +1174,18 @@ input, position: relative; width: 100%; height: 100%; - border-radius: var(--radius-2); - box-shadow: var(--shadow-1); - overflow: hidden; - border-color: currentColor; - border-style: solid; - border-width: 1px; + pointer-events: all; + opacity: 1; + z-index: var(--layer-text-container); + border-radius: 1px; } -.tl-note__container .tl-text-label { +.tl-note__container > .tl-text-label { text-shadow: none; + color: currentColor; } -.tl-note__scrim { - position: absolute; - z-index: 1; - inset: 0px; - height: 100%; - width: 100%; - background-color: var(--color-background); - opacity: 0.28; -} +/* --------------------- Loading -------------------- */ .tl-loading { background-color: var(--color-background); @@ -1481,18 +1453,12 @@ it from receiving any pointer events or affecting the cursor. */ color: inherit; background-color: transparent; } -.tl-error-boundary__content button:hover { - background-color: var(--color-low); -} .tl-error-boundary__content a { color: var(--color-text-1); font-weight: 500; text-decoration: none; } -.tl-error-boundary__content a:hover { - color: var(--color-text-1); -} .tl-error-boundary__content__error { position: relative; @@ -1527,11 +1493,6 @@ it from receiving any pointer events or affecting the cursor. */ background-color: var(--color-primary); color: var(--color-selected-contrast); } -.tl-error-boundary__content .tl-error-boundary__refresh:hover { - background-color: var(--color-primary); - opacity: 0.9; -} - /* --------------------- Coarse --------------------- */ .tl-hidden { @@ -1547,3 +1508,55 @@ it from receiving any pointer events or affecting the cursor. */ font-size: 12px; font-family: monospace; } + +/* ---------------- Hit test blocker ---------------- */ + +.tl-hit-test-blocker { + position: absolute; + z-index: var(--layer-blocker); + inset: 0px; + width: 100%; + height: 100%; + pointer-events: all; +} + +.tl-hit-test-blocker__hidden { + display: none; +} + +@media (hover: hover) { + .tl-handle__create:hover { + opacity: 1; + } + + .tl-handle__bg:hover { + cursor: var(--tl-cursor-grab); + fill: var(--color-selection-fill); + } + + .tl-bookmark__link:hover { + color: var(--color-selected); + } + + .tl-hyperlink-button:hover { + color: var(--color-selected); + } + + .tl-error-boundary__content button:hover { + background-color: var(--color-low); + } + .tl-error-boundary__content a:hover { + color: var(--color-text-1); + } + .tl-error-boundary__content .tl-error-boundary__refresh:hover { + background-color: var(--color-primary); + opacity: 0.9; + } + + /* These three rules help preserve clicking into specific points in text areas *while* + * already in edit mode when jumping from shape to shape. */ + .tl-canvas[data-iseditinganything='true'] .tl-text-wrapper:hover .tl-text-input { + z-index: var(--layer-text-editor); + pointer-events: all; + } +} diff --git a/packages/editor/package.json b/packages/editor/package.json index 92395c174..2bfdcb167 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,7 +1,7 @@ { "name": "@tldraw/editor", "description": "A tiny little drawing app (editor).", - "version": "2.0.0", + "version": "2.1.0", "author": { "name": "tldraw Inc.", "email": "hello@tldraw.com" @@ -84,7 +84,7 @@ }, "jest": { "preset": "config/jest/node", - "testEnvironment": "jsdom", + "testEnvironment": "../../../packages/utils/patchedJestJsDom.js", "fakeTimers": { "enableGlobally": true }, diff --git a/packages/editor/setupTests.js b/packages/editor/setupTests.js index 50569abdc..9e66dcb03 100644 --- a/packages/editor/setupTests.js +++ b/packages/editor/setupTests.js @@ -13,3 +13,6 @@ document.fonts = { forEach: () => {}, [Symbol.iterator]: () => [][Symbol.iterator](), } + +global.TextEncoder = require('util').TextEncoder +global.TextDecoder = require('util').TextDecoder diff --git a/packages/editor/src/index.ts b/packages/editor/src/index.ts index a273b3a73..d89708f3e 100644 --- a/packages/editor/src/index.ts +++ b/packages/editor/src/index.ts @@ -17,7 +17,6 @@ export { type Atom, type Signal, } from '@tldraw/state' -export type { TLCommandHistoryOptions } from './lib/editor/types/history-types' // eslint-disable-next-line local/no-export-star export * from '@tldraw/store' // eslint-disable-next-line local/no-export-star @@ -62,10 +61,6 @@ export { DefaultHandles, type TLHandlesProps, } from './lib/components/default-components/DefaultHandles' -export { - DefaultHoveredShapeIndicator, - type TLHoveredShapeIndicatorProps, -} from './lib/components/default-components/DefaultHoveredShapeIndicator' export { DefaultScribble, type TLScribbleProps, @@ -125,6 +120,7 @@ export { MAX_ZOOM, MIN_ZOOM, MULTI_CLICK_DURATION, + SIDES, SVG_PADDING, ZOOMS, } from './lib/constants' @@ -134,7 +130,9 @@ export { type TLEditorOptions, type TLResizeShapeOptions, } from './lib/editor/Editor' +export { HistoryManager } from './lib/editor/managers/HistoryManager' export type { + SideEffectManager, TLAfterChangeHandler, TLAfterCreateHandler, TLAfterDeleteHandler, @@ -192,7 +190,11 @@ export { getArrowTerminalsInArrowSpace } from './lib/editor/shapes/shared/arrow/ export { resizeBox, type ResizeBoxOptions } from './lib/editor/shapes/shared/resizeBox' export { BaseBoxShapeTool } from './lib/editor/tools/BaseBoxShapeTool/BaseBoxShapeTool' export { StateNode, type TLStateNodeConstructor } from './lib/editor/tools/StateNode' -export { type SvgExportContext, type SvgExportDef } from './lib/editor/types/SvgExportContext' +export { + useSvgExportContext, + type SvgExportContext, + type SvgExportDef, +} from './lib/editor/types/SvgExportContext' export { type TLContent } from './lib/editor/types/clipboard-types' export { type TLEventMap, type TLEventMapHandler } from './lib/editor/types/emit-types' export { @@ -223,7 +225,6 @@ export { type TLPointerEventName, type TLPointerEventTarget, type TLTickEvent, - type TLTickEventHandler, type TLWheelEvent, type TLWheelEventInfo, type UiEvent, @@ -234,12 +235,6 @@ export { type TLExternalContent, type TLExternalContentSource, } from './lib/editor/types/external-content' -export { - type TLCommand, - type TLCommandHandler, - type TLHistoryEntry, - type TLHistoryMark, -} from './lib/editor/types/history-types' export { type RequiredKeys, type TLSvgOptions } from './lib/editor/types/misc-types' export { type TLResizeHandle, type TLSelectionHandle } from './lib/editor/types/selection-types' export { ContainerProvider, useContainer } from './lib/hooks/useContainer' @@ -247,6 +242,7 @@ export { getCursor } from './lib/hooks/useCursor' export { EditorContext, useEditor } from './lib/hooks/useEditor' export { useEditorComponents } from './lib/hooks/useEditorComponents' export type { TLEditorComponents } from './lib/hooks/useEditorComponents' +export { useEvent } from './lib/hooks/useEvent' export { useShallowArrayIdentity, useShallowObjectIdentity } from './lib/hooks/useIdentity' export { useIsCropping } from './lib/hooks/useIsCropping' export { useIsDarkMode } from './lib/hooks/useIsDarkMode' @@ -254,6 +250,7 @@ export { useIsEditing } from './lib/hooks/useIsEditing' export { useLocalStore } from './lib/hooks/useLocalStore' export { usePeerIds } from './lib/hooks/usePeerIds' export { usePresence } from './lib/hooks/usePresence' +export { useSafeId } from './lib/hooks/useSafeId' export { useSelectionEvents } from './lib/hooks/useSelectionEvents' export { useTLStore } from './lib/hooks/useTLStore' export { useTransform } from './lib/hooks/useTransform' @@ -294,6 +291,7 @@ export { intersectPolygonBounds, intersectPolygonPolygon, linesIntersect, + polygonIntersectsPolyline, polygonsIntersect, } from './lib/primitives/intersect' export { diff --git a/packages/editor/src/lib/TldrawEditor.tsx b/packages/editor/src/lib/TldrawEditor.tsx index 976415fa5..87ea9b1fe 100644 --- a/packages/editor/src/lib/TldrawEditor.tsx +++ b/packages/editor/src/lib/TldrawEditor.tsx @@ -1,4 +1,4 @@ -import { SerializedStore, Store, StoreSnapshot } from '@tldraw/store' +import { MigrationSequence, SerializedStore, Store, StoreSnapshot } from '@tldraw/store' import { TLRecord, TLStore } from '@tldraw/tlschema' import { Expand, Required, annotateError } from '@tldraw/utils' import React, { @@ -49,6 +49,7 @@ export type TldrawEditorProps = Expand< } | { store?: undefined + migrations?: readonly MigrationSequence[] snapshot?: StoreSnapshot initialData?: SerializedStore persistenceKey?: string @@ -379,8 +380,11 @@ function useOnMount(onMount?: TLOnMountHandler) { const editor = useEditor() const onMountEvent = useEvent((editor: Editor) => { - const teardown = onMount?.(editor) - editor.emit('mount') + let teardown: (() => void) | void = undefined + editor.history.ignore(() => { + teardown = onMount?.(editor) + editor.emit('mount') + }) window.tldrawReady = true return teardown }) diff --git a/packages/editor/src/lib/components/HTMLContainer.tsx b/packages/editor/src/lib/components/HTMLContainer.tsx index db65dffae..d66c3304e 100644 --- a/packages/editor/src/lib/components/HTMLContainer.tsx +++ b/packages/editor/src/lib/components/HTMLContainer.tsx @@ -1,3 +1,4 @@ +import classNames from 'classnames' import * as React from 'react' /** @public */ @@ -6,7 +7,7 @@ export type HTMLContainerProps = React.HTMLAttributes /** @public */ export function HTMLContainer({ children, className = '', ...rest }: HTMLContainerProps) { return ( -

+
{children}
) diff --git a/packages/editor/src/lib/components/SVGContainer.tsx b/packages/editor/src/lib/components/SVGContainer.tsx index 59cfec11a..0bfa163db 100644 --- a/packages/editor/src/lib/components/SVGContainer.tsx +++ b/packages/editor/src/lib/components/SVGContainer.tsx @@ -1,3 +1,4 @@ +import classNames from 'classnames' import * as React from 'react' /** @public */ @@ -6,7 +7,7 @@ export type SVGContainerProps = React.HTMLAttributes /** @public */ export function SVGContainer({ children, className = '', ...rest }: SVGContainerProps) { return ( - + {children} ) diff --git a/packages/editor/src/lib/components/Shape.tsx b/packages/editor/src/lib/components/Shape.tsx index 675519583..909d51885 100644 --- a/packages/editor/src/lib/components/Shape.tsx +++ b/packages/editor/src/lib/components/Shape.tsx @@ -1,33 +1,32 @@ -import { track, useQuickReactor, useStateTracking } from '@tldraw/state' +import { useQuickReactor, useStateTracking } from '@tldraw/state' import { TLShape, TLShapeId } from '@tldraw/tlschema' -import * as React from 'react' +import { memo, useCallback, useRef } from 'react' import { ShapeUtil } from '../editor/shapes/ShapeUtil' import { useEditor } from '../hooks/useEditor' import { useEditorComponents } from '../hooks/useEditorComponents' import { Mat } from '../primitives/Mat' -import { toDomPrecision } from '../primitives/utils' -import { nearestMultiple } from '../utils/nearestMultiple' +import { setStyleProperty } from '../utils/dom' import { OptionalErrorBoundary } from './ErrorBoundary' /* This component renders shapes on the canvas. There are two stages: positioning and styling the shape's container using CSS, and then rendering the shape's JSX using its shape util's render method. Rendering the "inside" of a shape is -more expensive than positioning it or changing its color, so we use React.memo +more expensive than positioning it or changing its color, so we use memo to wrap the inner shape and only re-render it when the shape's props change. The shape also receives props for its index and opacity. The index is used to determine the z-index of the shape, and the opacity is used to set the shape's opacity based on its own opacity and that of its parent's. */ -export const Shape = track(function Shape({ +export const Shape = memo(function Shape({ id, shape, util, index, backgroundIndex, opacity, - isCulled, + dprMultiple, }: { id: TLShapeId shape: TLShape @@ -35,79 +34,109 @@ export const Shape = track(function Shape({ index: number backgroundIndex: number opacity: number - isCulled: boolean + dprMultiple: number }) { const editor = useEditor() const { ShapeErrorFallback } = useEditorComponents() - const containerRef = React.useRef(null) - const backgroundContainerRef = React.useRef(null) + const containerRef = useRef(null) + const bgContainerRef = useRef(null) - const setProperty = React.useCallback((property: string, value: string) => { - containerRef.current?.style.setProperty(property, value) - backgroundContainerRef.current?.style.setProperty(property, value) - }, []) + const memoizedStuffRef = useRef({ + transform: '', + clipPath: 'none', + width: 0, + height: 0, + x: 0, + y: 0, + isCulled: false, + }) useQuickReactor( - 'set shape container transform position', + 'set shape stuff', () => { const shape = editor.getShape(id) if (!shape) return // probably the shape was just deleted + const prev = memoizedStuffRef.current + + // Clip path + const clipPath = editor.getShapeClipPath(id) ?? 'none' + if (clipPath !== prev.clipPath) { + setStyleProperty(containerRef.current, 'clip-path', clipPath) + setStyleProperty(bgContainerRef.current, 'clip-path', clipPath) + prev.clipPath = clipPath + } + + // Page transform const pageTransform = editor.getShapePageTransform(id) const transform = Mat.toCssString(pageTransform) - setProperty('transform', transform) - }, - [editor, setProperty] - ) - - useQuickReactor( - 'set shape container clip path', - () => { - const shape = editor.getShape(id) - if (!shape) return null - - const clipPath = editor.getShapeClipPath(id) - setProperty('clip-path', clipPath ?? 'none') - }, - [editor, setProperty] - ) - - useQuickReactor( - 'set shape height and width', - () => { - const shape = editor.getShape(id) - if (!shape) return null - const bounds = editor.getShapeGeometry(shape).bounds - const dpr = Math.floor(editor.getInstanceState().devicePixelRatio * 100) / 100 - // dprMultiple is the smallest number we can multiply dpr by to get an integer - // it's usually 1, 2, or 4 (for e.g. dpr of 2, 2.5 and 2.25 respectively) - const dprMultiple = nearestMultiple(dpr) - // We round the shape width and height up to the nearest multiple of dprMultiple to avoid the browser - // making miscalculations when applying the transform. + + // Update if the tranform has changed + if (transform !== prev.transform) { + setStyleProperty(containerRef.current, 'transform', transform) + setStyleProperty(bgContainerRef.current, 'transform', transform) + prev.transform = transform + } + + // Width / Height + // We round the shape width and height up to the nearest multiple of dprMultiple + // to avoid the browser making miscalculations when applying the transform. const widthRemainder = bounds.w % dprMultiple - const width = widthRemainder === 0 ? bounds.w : bounds.w + (dprMultiple - widthRemainder) const heightRemainder = bounds.h % dprMultiple + const width = widthRemainder === 0 ? bounds.w : bounds.w + (dprMultiple - widthRemainder) const height = heightRemainder === 0 ? bounds.h : bounds.h + (dprMultiple - heightRemainder) - setProperty('width', Math.max(width, dprMultiple) + 'px') - setProperty('height', Math.max(height, dprMultiple) + 'px') + + if (width !== prev.width || height !== prev.height) { + setStyleProperty(containerRef.current, 'width', Math.max(width, dprMultiple) + 'px') + setStyleProperty(containerRef.current, 'height', Math.max(height, dprMultiple) + 'px') + setStyleProperty(bgContainerRef.current, 'width', Math.max(width, dprMultiple) + 'px') + setStyleProperty(bgContainerRef.current, 'height', Math.max(height, dprMultiple) + 'px') + prev.width = width + prev.height = height + } }, [editor] ) - // Set the opacity of the container when the opacity changes - React.useLayoutEffect(() => { - setProperty('opacity', opacity + '') - containerRef.current?.style.setProperty('z-index', index + '') - backgroundContainerRef.current?.style.setProperty('z-index', backgroundIndex + '') - }, [opacity, index, backgroundIndex, setProperty]) + // This stuff changes pretty infrequently, so we can change them together + useQuickReactor( + 'set opacity and z-index', + () => { + const container = containerRef.current + const bgContainer = bgContainerRef.current - const annotateError = React.useCallback( - (error: any) => { - editor.annotateError(error, { origin: 'react.shape', willCrashApp: false }) + // Opacity + setStyleProperty(container, 'opacity', opacity) + setStyleProperty(bgContainer, 'opacity', opacity) + + // Z-Index + setStyleProperty(container, 'z-index', index) + setStyleProperty(bgContainer, 'z-index', backgroundIndex) }, + [opacity, index, backgroundIndex] + ) + + useQuickReactor( + 'set display', + () => { + const shape = editor.getShape(id) + if (!shape) return // probably the shape was just deleted + + const culledShapes = editor.getCulledShapes() + const isCulled = culledShapes.has(id) + if (isCulled !== memoizedStuffRef.current.isCulled) { + setStyleProperty(containerRef.current, 'display', isCulled ? 'none' : 'block') + setStyleProperty(bgContainerRef.current, 'display', isCulled ? 'none' : 'block') + memoizedStuffRef.current.isCulled = isCulled + } + }, + [editor] + ) + const annotateError = useCallback( + (error: any) => editor.annotateError(error, { origin: 'shape', willCrashApp: false }), [editor] ) @@ -117,42 +146,33 @@ export const Shape = track(function Shape({ <> {util.backgroundComponent && (
- {!isCulled && ( - - - - )} + + +
)}
- {isCulled ? ( - - ) : ( - - - - )} + + +
) }) -const InnerShape = React.memo( +const InnerShape = memo( function InnerShape({ shape, util }: { shape: T; util: ShapeUtil }) { return useStateTracking('InnerShape:' + shape.type, () => util.component(shape)) }, - (prev, next) => - prev.shape.props === next.shape.props && - prev.shape.meta === next.shape.meta && - prev.util === next.util + (prev, next) => prev.shape.props === next.shape.props && prev.shape.meta === next.shape.meta ) -const InnerShapeBackground = React.memo( +const InnerShapeBackground = memo( function InnerShapeBackground({ shape, util, @@ -164,24 +184,3 @@ const InnerShapeBackground = React.memo( }, (prev, next) => prev.shape.props === next.shape.props && prev.shape.meta === next.shape.meta ) - -const CulledShape = React.memo( - function CulledShape({ shape }: { shape: T }) { - const editor = useEditor() - const bounds = editor.getShapeGeometry(shape).bounds - - return ( -
- ) - }, - () => true -) diff --git a/packages/editor/src/lib/components/default-components/DefaultCanvas.tsx b/packages/editor/src/lib/components/default-components/DefaultCanvas.tsx index 7d7215733..2c8f38f58 100644 --- a/packages/editor/src/lib/components/default-components/DefaultCanvas.tsx +++ b/packages/editor/src/lib/components/default-components/DefaultCanvas.tsx @@ -1,11 +1,12 @@ -import { react, track, useQuickReactor, useValue } from '@tldraw/state' +import { react, useQuickReactor, useValue } from '@tldraw/state' import { TLHandle, TLShapeId } from '@tldraw/tlschema' import { dedupe, modulate, objectMapValues } from '@tldraw/utils' import classNames from 'classnames' -import React from 'react' -import { COARSE_HANDLE_RADIUS, HANDLE_RADIUS } from '../../constants' +import { Fragment, JSX, useEffect, useRef, useState } from 'react' +import { COARSE_HANDLE_RADIUS, HANDLE_RADIUS, TEXT_SHADOW_LOD } from '../../constants' import { useCanvasEvents } from '../../hooks/useCanvasEvents' import { useCoarsePointer } from '../../hooks/useCoarsePointer' +import { useContainer } from '../../hooks/useContainer' import { useDocumentEvents } from '../../hooks/useDocumentEvents' import { useEditor } from '../../hooks/useEditor' import { useEditorComponents } from '../../hooks/useEditorComponents' @@ -13,10 +14,13 @@ import { useFixSafariDoubleTapZoomPencilEvents } from '../../hooks/useFixSafariD import { useGestureEvents } from '../../hooks/useGestureEvents' import { useHandleEvents } from '../../hooks/useHandleEvents' import { useScreenBounds } from '../../hooks/useScreenBounds' +import { Box } from '../../primitives/Box' import { Mat } from '../../primitives/Mat' import { Vec } from '../../primitives/Vec' import { toDomPrecision } from '../../primitives/utils' import { debugFlags } from '../../utils/debug-flags' +import { setStyleProperty } from '../../utils/dom' +import { nearestMultiple } from '../../utils/nearestMultiple' import { GeometryDebuggingView } from '../GeometryDebuggingView' import { LiveCollaborators } from '../LiveCollaborators' import { Shape } from '../Shape' @@ -30,9 +34,10 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) { const { Background, SvgDefs } = useEditorComponents() - const rCanvas = React.useRef(null) - const rHtmlLayer = React.useRef(null) - const rHtmlLayer2 = React.useRef(null) + const rCanvas = useRef(null) + const rHtmlLayer = useRef(null) + const rHtmlLayer2 = useRef(null) + const container = useContainer() useScreenBounds(rCanvas) useDocumentEvents() @@ -41,16 +46,37 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) { useGestureEvents(rCanvas) useFixSafariDoubleTapZoomPencilEvents(rCanvas) + const rMemoizedStuff = useRef({ lodDisableTextOutline: false, allowTextOutline: true }) + useQuickReactor( 'position layers', - () => { - const htmlElm = rHtmlLayer.current - if (!htmlElm) return - const htmlElm2 = rHtmlLayer2.current - if (!htmlElm2) return - + function positionLayersWhenCameraMoves() { const { x, y, z } = editor.getCamera() + // This should only run once on first load + if (rMemoizedStuff.current.allowTextOutline && editor.environment.isSafari) { + container.style.setProperty('--tl-text-outline', 'none') + rMemoizedStuff.current.allowTextOutline = false + } + + // And this should only run if we're not in Safari; + // If we're below the lod distance for text shadows, turn them off + if ( + rMemoizedStuff.current.allowTextOutline && + z < TEXT_SHADOW_LOD !== rMemoizedStuff.current.lodDisableTextOutline + ) { + const lodDisableTextOutline = z < TEXT_SHADOW_LOD + container.style.setProperty( + '--tl-text-outline', + lodDisableTextOutline + ? 'none' + : `0 var(--b) 0 var(--color-background), 0 var(--a) 0 var(--color-background), + var(--b) var(--b) 0 var(--color-background), var(--a) var(--b) 0 var(--color-background), + var(--a) var(--a) 0 var(--color-background), var(--b) var(--a) 0 var(--color-background)` + ) + rMemoizedStuff.current.lodDisableTextOutline = lodDisableTextOutline + } + // Because the html container has a width/height of 1px, we // need to create a small offset when zoomed to ensure that // the html container and svg container are lined up exactly. @@ -60,10 +86,10 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) { const transform = `scale(${toDomPrecision(z)}) translate(${toDomPrecision( x + offset )}px,${toDomPrecision(y + offset)}px)` - htmlElm.style.setProperty('transform', transform) - htmlElm2.style.setProperty('transform', transform) + setStyleProperty(rHtmlLayer.current, 'transform', transform) + setStyleProperty(rHtmlLayer2.current, 'transform', transform) }, - [editor] + [editor, container] ) const events = useCanvasEvents() @@ -71,7 +97,7 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) { const shapeSvgDefs = useValue( 'shapeSvgDefs', () => { - const shapeSvgDefsByKey = new Map() + const shapeSvgDefsByKey = new Map() for (const util of objectMapValues(editor.shapeUtils)) { if (!util) return const defs = util.getCanvasSvgDefs() @@ -90,11 +116,17 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) { const debugGeometry = useValue('debug_geometry', () => debugFlags.debugGeometry.get(), [ debugFlags, ]) + const isEditingAnything = useValue( + 'isEditingAnything', + () => editor.getEditingShapeId() !== null, + [editor] + ) return (
{shapeSvgDefs} - {Cursor && } - - - + + {SvgDefs && } - {Background && } + {Background && ( +
+ +
+ )} -
@@ -124,8 +157,7 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) { - - + @@ -133,6 +165,7 @@ export function DefaultCanvas({ className }: TLCanvasComponentProps) {
+
) } @@ -210,6 +243,33 @@ function SnapIndicatorWrapper() { function HandlesWrapper() { const editor = useEditor() + + // We don't want this to update every time the shape changes + const shapeIdWithHandles = useValue( + 'handles shapeIdWithHandles', + () => { + const { isReadonly, isChangingStyle } = editor.getInstanceState() + if (isReadonly || isChangingStyle) return false + + const onlySelectedShape = editor.getOnlySelectedShape() + if (!onlySelectedShape) return false + + // slightly redundant but saves us from updating the handles every time the shape changes + const handles = editor.getShapeHandles(onlySelectedShape) + if (!handles) return false + + return onlySelectedShape.id + }, + [editor] + ) + + if (!shapeIdWithHandles) return null + + return +} + +function HandlesWrapperInner({ shapeId }: { shapeId: TLShapeId }) { + const editor = useEditor() const { Handles } = useEditorComponents() const zoomLevel = useValue('zoomLevel', () => editor.getZoomLevel(), [editor]) @@ -218,36 +278,15 @@ function HandlesWrapper() { editor, ]) - const isReadonly = useValue('isChangingStyle', () => editor.getInstanceState().isReadonly, [ + const transform = useValue('handles transform', () => editor.getShapePageTransform(shapeId), [ editor, + shapeId, ]) - const isChangingStyle = useValue( - 'isChangingStyle', - () => editor.getInstanceState().isChangingStyle, - [editor] - ) - - const onlySelectedShape = useValue('onlySelectedShape', () => editor.getOnlySelectedShape(), [ - editor, - ]) - - const transform = useValue( - 'transform', - () => { - if (!onlySelectedShape) return null - - return editor.getShapePageTransform(onlySelectedShape) - }, - [editor, onlySelectedShape] - ) - const handles = useValue( 'handles', () => { - if (!onlySelectedShape) return null - - const handles = editor.getShapeHandles(onlySelectedShape) + const handles = editor.getShapeHandles(shapeId) if (!handles) return null const minDistBetweenVirtualHandlesAndRegularHandles = @@ -274,10 +313,10 @@ function HandlesWrapper() { .sort((a) => (a.type === 'vertex' ? 1 : -1)) ) }, - [editor, onlySelectedShape, zoomLevel, isCoarse] + [editor, zoomLevel, isCoarse, shapeId] ) - if (!Handles || !onlySelectedShape || isChangingStyle || isReadonly || !handles || !transform) { + if (!Handles || !handles || !transform) { return null } @@ -288,7 +327,7 @@ function HandlesWrapper() { return ( editor.getRenderingShapes(), [editor]) + const dprMultiple = useValue( + 'dpr multiple', + () => + // dprMultiple is the smallest number we can multiply dpr by to get an integer + // it's usually 1, 2, or 4 (for e.g. dpr of 2, 2.5 and 2.25 respectively) + nearestMultiple(Math.floor(editor.getInstanceState().devicePixelRatio * 100) / 100), + [editor] + ) + return ( <> {renderingShapes.map((result) => ( - - + + - + ))} ) } +function ReflowIfNeeded() { + const editor = useEditor() + const culledShapesRef = useRef>(new Set()) + useQuickReactor( + 'reflow for culled shapes', + () => { + const culledShapes = editor.getCulledShapes() + if ( + culledShapesRef.current.size === culledShapes.size && + [...culledShapes].every((id) => culledShapesRef.current.has(id)) + ) + return + + culledShapesRef.current = culledShapes + const canvas = document.getElementsByClassName('tl-canvas') + if (canvas.length === 0) return + // This causes a reflow + // https://gist.github.com/paulirish/5d52fb081b3570c81e3a + const _height = (canvas[0] as HTMLDivElement).offsetHeight + }, + [editor] + ) + return null +} function ShapesToDisplay() { const editor = useEditor() const renderingShapes = useValue('rendering shapes', () => editor.getRenderingShapes(), [editor]) + const dprMultiple = useValue( + 'dpr multiple', + () => + // dprMultiple is the smallest number we can multiply dpr by to get an integer + // it's usually 1, 2, or 4 (for e.g. dpr of 2, 2.5 and 2.25 respectively) + nearestMultiple(Math.floor(editor.getInstanceState().devicePixelRatio * 100) / 100), + [editor] + ) + return ( <> {renderingShapes.map((result) => ( - + ))} + {editor.environment.isSafari && } ) } -function SelectedIdIndicators() { +function ShapeIndicators() { const editor = useEditor() - const selectedShapeIds = useValue('selectedShapeIds', () => editor.getSelectedShapeIds(), [ - editor, - ]) - const shouldDisplay = useValue( + const renderingShapes = useValue('rendering shapes', () => editor.getRenderingShapes(), [editor]) + const rPreviousSelectedShapeIds = useRef>(new Set()) + const idsToDisplay = useValue( 'should display selected ids', () => { - // todo: move to tldraw selected ids wrapper - return ( + // todo: move to tldraw selected ids wrappe + const prev = rPreviousSelectedShapeIds.current + const next = new Set() + if ( editor.isInAny( 'select.idle', 'select.brushing', @@ -372,57 +455,56 @@ function SelectedIdIndicators() { 'select.pointing_shape', 'select.pointing_selection', 'select.pointing_handle' - ) && !editor.getInstanceState().isChangingStyle - ) + ) && + !editor.getInstanceState().isChangingStyle + ) { + const selected = editor.getSelectedShapeIds() + for (const id of selected) { + next.add(id) + } + if (editor.isInAny('select.idle', 'select.editing_shape')) { + const instanceState = editor.getInstanceState() + if (instanceState.isHoveringCanvas && !instanceState.isCoarsePointer) { + const hovered = editor.getHoveredShapeId() + if (hovered) next.add(hovered) + } + } + } + + if (prev.size !== next.size) { + rPreviousSelectedShapeIds.current = next + return next + } + + for (const id of next) { + if (!prev.has(id)) { + rPreviousSelectedShapeIds.current = next + return next + } + } + + return prev }, [editor] ) const { ShapeIndicator } = useEditorComponents() - if (!ShapeIndicator) return null - if (!shouldDisplay) return null return ( <> - {selectedShapeIds.map((id) => ( - + {renderingShapes.map(({ id }) => ( +