tldraw 3.15.0-canary.d8a8ce37d604 → 3.15.0-canary.db14db4f5395

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist-cjs/index.d.ts +84 -77
  2. package/dist-cjs/index.js +30 -31
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +5 -5
  5. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  6. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +11 -5
  7. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  8. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +1 -11
  9. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  10. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +0 -1
  11. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  12. package/dist-cjs/lib/ui/components/menu-items.js +0 -16
  13. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  14. package/dist-cjs/lib/ui/context/actions.js +1 -28
  15. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  16. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  17. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +7 -24
  18. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +2 -2
  19. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +2 -2
  20. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
  21. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  22. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +0 -4
  23. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  24. package/dist-cjs/lib/ui/version.js +3 -3
  25. package/dist-cjs/lib/ui/version.js.map +1 -1
  26. package/dist-esm/index.d.mts +84 -77
  27. package/dist-esm/index.mjs +132 -134
  28. package/dist-esm/index.mjs.map +2 -2
  29. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +5 -5
  30. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  31. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +11 -5
  32. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  33. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +1 -11
  34. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  35. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +0 -2
  36. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  37. package/dist-esm/lib/ui/components/menu-items.mjs +0 -16
  38. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  39. package/dist-esm/lib/ui/context/actions.mjs +1 -28
  40. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  41. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  42. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +7 -24
  43. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +2 -2
  44. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +2 -2
  45. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
  46. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +0 -4
  47. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  48. package/dist-esm/lib/ui/version.mjs +3 -3
  49. package/dist-esm/lib/ui/version.mjs.map +1 -1
  50. package/package.json +3 -3
  51. package/src/index.ts +158 -159
  52. package/src/lib/shapes/frame/FrameShapeUtil.tsx +7 -5
  53. package/src/lib/shapes/text/TextShapeUtil.tsx +12 -5
  54. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +0 -8
  55. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +0 -2
  56. package/src/lib/ui/components/menu-items.tsx +0 -17
  57. package/src/lib/ui/context/actions.tsx +1 -29
  58. package/src/lib/ui/context/events.tsx +0 -2
  59. package/src/lib/ui/hooks/useClipboardEvents.ts +10 -31
  60. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +2 -3
  61. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +0 -4
  62. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +0 -4
  63. package/src/lib/ui/version.ts +3 -3
  64. package/src/test/Editor.test.tsx +1 -68
  65. package/src/test/commands/clipboard.test.ts +1 -1
  66. package/src/test/editor.test.ts +77 -0
@@ -1,3 +1,5 @@
1
+ /// <reference types="react" />
2
+
1
3
  import { Atom } from '@tldraw/editor';
2
4
  import { BaseBoxShapeTool } from '@tldraw/editor';
3
5
  import { BaseBoxShapeUtil } from '@tldraw/editor';
@@ -8,6 +10,7 @@ import { BindingOnShapeIsolateOptions } from '@tldraw/editor';
8
10
  import { BindingUtil } from '@tldraw/editor';
9
11
  import { Box } from '@tldraw/editor';
10
12
  import { Circle2d } from '@tldraw/editor';
13
+ import { ClipboardEvent as ClipboardEvent_2 } from 'react';
11
14
  import { ComponentType } from 'react';
12
15
  import { CSSProperties } from 'react';
13
16
  import { Editor } from '@tldraw/editor';
@@ -27,6 +30,7 @@ import { MigrationSequence } from '@tldraw/editor';
27
30
  import { NamedExoticComponent } from 'react';
28
31
  import { Node as Node_2 } from '@tiptap/pm/model';
29
32
  import { PerfectDashTerminal } from '@tldraw/editor';
33
+ import { PointerEvent as PointerEvent_2 } from 'react';
30
34
  import { Polygon2d } from '@tldraw/editor';
31
35
  import { Polyline2d } from '@tldraw/editor';
32
36
  import * as React_2 from 'react';
@@ -64,15 +68,12 @@ import { TLBookmarkShapeProps } from '@tldraw/editor';
64
68
  import { TLClickEventInfo } from '@tldraw/editor';
65
69
  import { TLContent } from '@tldraw/editor';
66
70
  import { TLCropInfo } from '@tldraw/editor';
67
- import { TLDefaultColorStyle } from '@tldraw/editor';
68
71
  import { TLDefaultColorTheme } from '@tldraw/editor';
69
72
  import { TLDefaultColorThemeColor } from '@tldraw/editor';
70
- import { TLDefaultDashStyle } from '@tldraw/editor';
71
73
  import { TLDefaultFillStyle } from '@tldraw/editor';
72
74
  import { TLDefaultFontStyle } from '@tldraw/editor';
73
75
  import { TLDefaultHorizontalAlignStyle } from '@tldraw/editor';
74
76
  import { TLDefaultSizeStyle } from '@tldraw/editor';
75
- import { TLDefaultTextAlignStyle } from '@tldraw/editor';
76
77
  import { TLDefaultVerticalAlignStyle } from '@tldraw/editor';
77
78
  import { TLDragShapesOutInfo } from '@tldraw/editor';
78
79
  import { TLDragShapesOverInfo } from '@tldraw/editor';
@@ -92,7 +93,6 @@ import { TLFrameShape } from '@tldraw/editor';
92
93
  import { TLFrameShapeProps } from '@tldraw/editor';
93
94
  import { TLGeometryOpts } from '@tldraw/editor';
94
95
  import { TLGeoShape } from '@tldraw/editor';
95
- import { TLGeoShapeGeoStyle } from '@tldraw/editor';
96
96
  import { TLGeoShapeProps } from '@tldraw/editor';
97
97
  import { TLHandle } from '@tldraw/editor';
98
98
  import { TLHandleDragInfo } from '@tldraw/editor';
@@ -106,10 +106,8 @@ import { TLImageShapeProps } from '@tldraw/editor';
106
106
  import { TLKeyboardEventInfo } from '@tldraw/editor';
107
107
  import { TLLineShape } from '@tldraw/editor';
108
108
  import { TLLineShapePoint } from '@tldraw/editor';
109
- import { TLLineShapeSplineStyle } from '@tldraw/editor';
110
109
  import { TLNoteShape } from '@tldraw/editor';
111
110
  import { TLNoteShapeProps } from '@tldraw/editor';
112
- import { TLOpacityType } from '@tldraw/editor';
113
111
  import { TLPageId } from '@tldraw/editor';
114
112
  import { TLParentId } from '@tldraw/editor';
115
113
  import { TLPointerEventInfo } from '@tldraw/editor';
@@ -405,7 +403,7 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
405
403
  index: IndexKey;
406
404
  isLocked: boolean;
407
405
  meta: JsonObject;
408
- opacity: TLOpacityType;
406
+ opacity: number;
409
407
  parentId: TLParentId;
410
408
  props: {
411
409
  assetId: null | TLAssetId;
@@ -424,7 +422,7 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
424
422
  index: IndexKey;
425
423
  isLocked: boolean;
426
424
  meta: JsonObject;
427
- opacity: TLOpacityType;
425
+ opacity: number;
428
426
  parentId: TLParentId;
429
427
  props: {
430
428
  assetId: null | TLAssetId;
@@ -1066,8 +1064,8 @@ export declare function DistributeMenuItems(): JSX_2.Element;
1066
1064
  * @public
1067
1065
  */
1068
1066
  export declare function downsizeImage(blob: Blob, width: number, height: number, opts?: {
1069
- quality?: number;
1070
- type?: string;
1067
+ quality?: number | undefined;
1068
+ type?: string | undefined;
1071
1069
  }): Promise<Blob>;
1072
1070
 
1073
1071
  /** @public */
@@ -1636,23 +1634,26 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1636
1634
  index: IndexKey;
1637
1635
  isLocked: boolean;
1638
1636
  meta: JsonObject;
1639
- opacity: TLOpacityType;
1637
+ opacity: number;
1640
1638
  parentId: TLParentId;
1641
1639
  props: {
1642
- align: TLDefaultHorizontalAlignStyle;
1643
- color: TLDefaultColorStyle;
1644
- dash: TLDefaultDashStyle;
1645
- fill: TLDefaultFillStyle;
1646
- font: TLDefaultFontStyle;
1647
- geo: TLGeoShapeGeoStyle;
1640
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
1641
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1642
+ dash: "dashed" | "dotted" | "draw" | "solid";
1643
+ fill: "fill" | "none" | "pattern" | "semi" | "solid";
1644
+ font: "draw" | "mono" | "sans" | "serif";
1645
+ geo: "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "check-box" | "cloud" | "diamond" | "ellipse" | "heart" | "hexagon" | "octagon" | "oval" | "pentagon" | "rectangle" | "rhombus-2" | "rhombus" | "star" | "trapezoid" | "triangle" | "x-box";
1648
1646
  growY: number;
1649
1647
  h: number;
1650
- labelColor: TLDefaultColorStyle;
1651
- richText: TLRichText;
1648
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1649
+ richText: {
1650
+ content: unknown[];
1651
+ type: string;
1652
+ };
1652
1653
  scale: number;
1653
- size: TLDefaultSizeStyle;
1654
+ size: "l" | "m" | "s" | "xl";
1654
1655
  url: string;
1655
- verticalAlign: TLDefaultVerticalAlignStyle;
1656
+ verticalAlign: "end" | "middle" | "start";
1656
1657
  w: number;
1657
1658
  };
1658
1659
  rotation: number;
@@ -1666,23 +1667,26 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1666
1667
  index: IndexKey;
1667
1668
  isLocked: boolean;
1668
1669
  meta: JsonObject;
1669
- opacity: TLOpacityType;
1670
+ opacity: number;
1670
1671
  parentId: TLParentId;
1671
1672
  props: {
1672
- align: TLDefaultHorizontalAlignStyle;
1673
- color: TLDefaultColorStyle;
1674
- dash: TLDefaultDashStyle;
1675
- fill: TLDefaultFillStyle;
1676
- font: TLDefaultFontStyle;
1677
- geo: TLGeoShapeGeoStyle;
1673
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
1674
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1675
+ dash: "dashed" | "dotted" | "draw" | "solid";
1676
+ fill: "fill" | "none" | "pattern" | "semi" | "solid";
1677
+ font: "draw" | "mono" | "sans" | "serif";
1678
+ geo: "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "check-box" | "cloud" | "diamond" | "ellipse" | "heart" | "hexagon" | "octagon" | "oval" | "pentagon" | "rectangle" | "rhombus-2" | "rhombus" | "star" | "trapezoid" | "triangle" | "x-box";
1678
1679
  growY: number;
1679
1680
  h: number;
1680
- labelColor: TLDefaultColorStyle;
1681
- richText: TLRichText;
1681
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1682
+ richText: {
1683
+ content: unknown[];
1684
+ type: string;
1685
+ };
1682
1686
  scale: number;
1683
- size: TLDefaultSizeStyle;
1687
+ size: "l" | "m" | "s" | "xl";
1684
1688
  url: string;
1685
- verticalAlign: TLDefaultVerticalAlignStyle;
1689
+ verticalAlign: "end" | "middle" | "start";
1686
1690
  w: number;
1687
1691
  };
1688
1692
  rotation: number;
@@ -1696,7 +1700,7 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1696
1700
  index: IndexKey;
1697
1701
  isLocked: boolean;
1698
1702
  meta: JsonObject;
1699
- opacity: TLOpacityType;
1703
+ opacity: number;
1700
1704
  parentId: TLParentId;
1701
1705
  props: {
1702
1706
  geo: "check-box";
@@ -1711,7 +1715,7 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1711
1715
  index: IndexKey;
1712
1716
  isLocked: boolean;
1713
1717
  meta: JsonObject;
1714
- opacity: TLOpacityType;
1718
+ opacity: number;
1715
1719
  parentId: TLParentId;
1716
1720
  props: {
1717
1721
  geo: "rectangle";
@@ -1929,11 +1933,11 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
1929
1933
  index: IndexKey;
1930
1934
  isLocked: boolean;
1931
1935
  meta: JsonObject;
1932
- opacity: TLOpacityType;
1936
+ opacity: number;
1933
1937
  parentId: TLParentId;
1934
1938
  props: {
1935
- color: TLDefaultColorStyle;
1936
- dash: TLDefaultDashStyle;
1939
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
1940
+ dash: "dashed" | "dotted" | "draw" | "solid";
1937
1941
  points: {
1938
1942
  [x: string]: {
1939
1943
  id: string;
@@ -1943,8 +1947,8 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
1943
1947
  } | TLLineShapePoint;
1944
1948
  };
1945
1949
  scale: number;
1946
- size: TLDefaultSizeStyle;
1947
- spline: TLLineShapeSplineStyle;
1950
+ size: "l" | "m" | "s" | "xl";
1951
+ spline: "cubic" | "line";
1948
1952
  };
1949
1953
  rotation: number;
1950
1954
  type: "line";
@@ -2022,20 +2026,23 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2022
2026
  index: IndexKey;
2023
2027
  isLocked: boolean;
2024
2028
  meta: JsonObject;
2025
- opacity: TLOpacityType;
2029
+ opacity: number;
2026
2030
  parentId: TLParentId;
2027
2031
  props: {
2028
- align: TLDefaultHorizontalAlignStyle;
2029
- color: TLDefaultColorStyle;
2030
- font: TLDefaultFontStyle;
2032
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
2033
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2034
+ font: "draw" | "mono" | "sans" | "serif";
2031
2035
  fontSizeAdjustment: number;
2032
2036
  growY: number;
2033
- labelColor: TLDefaultColorStyle;
2034
- richText: TLRichText;
2037
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2038
+ richText: {
2039
+ content: unknown[];
2040
+ type: string;
2041
+ };
2035
2042
  scale: number;
2036
- size: TLDefaultSizeStyle;
2043
+ size: "l" | "m" | "s" | "xl";
2037
2044
  url: string;
2038
- verticalAlign: TLDefaultVerticalAlignStyle;
2045
+ verticalAlign: "end" | "middle" | "start";
2039
2046
  };
2040
2047
  rotation: number;
2041
2048
  type: "note";
@@ -2048,20 +2055,23 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2048
2055
  index: IndexKey;
2049
2056
  isLocked: boolean;
2050
2057
  meta: JsonObject;
2051
- opacity: TLOpacityType;
2058
+ opacity: number;
2052
2059
  parentId: TLParentId;
2053
2060
  props: {
2054
- align: TLDefaultHorizontalAlignStyle;
2055
- color: TLDefaultColorStyle;
2056
- font: TLDefaultFontStyle;
2061
+ align: "end-legacy" | "end" | "middle-legacy" | "middle" | "start-legacy" | "start";
2062
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2063
+ font: "draw" | "mono" | "sans" | "serif";
2057
2064
  fontSizeAdjustment: number;
2058
2065
  growY: number;
2059
- labelColor: TLDefaultColorStyle;
2060
- richText: TLRichText;
2066
+ labelColor: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2067
+ richText: {
2068
+ content: unknown[];
2069
+ type: string;
2070
+ };
2061
2071
  scale: number;
2062
- size: TLDefaultSizeStyle;
2072
+ size: "l" | "m" | "s" | "xl";
2063
2073
  url: string;
2064
- verticalAlign: TLDefaultVerticalAlignStyle;
2074
+ verticalAlign: "end" | "middle" | "start";
2065
2075
  };
2066
2076
  rotation: number;
2067
2077
  type: "note";
@@ -2584,16 +2594,19 @@ export declare class TextShapeUtil extends ShapeUtil<TLTextShape> {
2584
2594
  index: IndexKey;
2585
2595
  isLocked: boolean;
2586
2596
  meta: JsonObject;
2587
- opacity: TLOpacityType;
2597
+ opacity: number;
2588
2598
  parentId: TLParentId;
2589
2599
  props: {
2590
2600
  autoSize: boolean;
2591
- color: TLDefaultColorStyle;
2592
- font: TLDefaultFontStyle;
2593
- richText: TLRichText;
2601
+ color: "black" | "blue" | "green" | "grey" | "light-blue" | "light-green" | "light-red" | "light-violet" | "orange" | "red" | "violet" | "white" | "yellow";
2602
+ font: "draw" | "mono" | "sans" | "serif";
2603
+ richText: {
2604
+ content: unknown[];
2605
+ type: string;
2606
+ };
2594
2607
  scale: number;
2595
- size: TLDefaultSizeStyle;
2596
- textAlign: TLDefaultTextAlignStyle;
2608
+ size: "l" | "m" | "s" | "xl";
2609
+ textAlign: "end" | "middle" | "start";
2597
2610
  w: number;
2598
2611
  };
2599
2612
  rotation: number;
@@ -3129,7 +3142,6 @@ export declare interface TLUiActionItem<TransationKey extends string = string, I
3129
3142
  } | TransationKey;
3130
3143
  readonlyOk?: boolean;
3131
3144
  checkbox?: boolean;
3132
- isRequiredA11yAction?: boolean;
3133
3145
  onSelect(source: TLUiEventSource): Promise<void> | void;
3134
3146
  }
3135
3147
 
@@ -3516,7 +3528,6 @@ export declare interface TLUiEventMap {
3516
3528
  'toggle-paste-at-cursor': null;
3517
3529
  'toggle-lock': null;
3518
3530
  'toggle-reduce-motion': null;
3519
- 'toggle-keyboard-shortcuts': null;
3520
3531
  'toggle-edge-scrolling': null;
3521
3532
  'color-scheme': {
3522
3533
  value: string;
@@ -3541,7 +3552,6 @@ export declare interface TLUiEventMap {
3541
3552
  'copy-link': null;
3542
3553
  'image-replace': null;
3543
3554
  'video-replace': null;
3544
- 'open-kbd-shortcuts': null;
3545
3555
  'rich-text': {
3546
3556
  operation: 'bold' | 'bulletList' | 'heading' | 'link-edit' | 'link-remove' | 'link-visit' | 'link' | 'strike';
3547
3557
  };
@@ -3920,7 +3930,7 @@ export declare interface TLUiTranslation {
3920
3930
  export declare type TLUiTranslationContextType = TLUiTranslation;
3921
3931
 
3922
3932
  /** @public */
3923
- export declare type TLUiTranslationKey = 'a11y.adjust-shape-styles' | 'a11y.enlarge-shape' | 'a11y.enter-leave-container' | 'a11y.move-shape-faster' | 'a11y.move-shape' | 'a11y.multiple-shapes' | 'a11y.open-context-menu' | 'a11y.open-keyboard-shortcuts' | 'a11y.pan-camera' | 'a11y.repeat-shape' | 'a11y.select-shape-direction' | 'a11y.select-shape' | 'a11y.shape-image' | 'a11y.shape-index' | 'a11y.shape-video' | 'a11y.shrink-shape' | 'a11y.skip-to-main-content' | 'a11y.status' | '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-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.download-original' | 'action.duplicate' | 'action.edit-link' | 'action.exit-pen-mode' | 'action.export-all-as-png.short' | 'action.export-all-as-png' | 'action.export-all-as-svg.short' | 'action.export-all-as-svg' | 'action.export-as-png.short' | 'action.export-as-png' | 'action.export-as-svg.short' | 'action.export-as-svg' | 'action.fit-frame-to-content' | 'action.flatten-to-image' | 'action.flip-horizontal.short' | 'action.flip-horizontal' | 'action.flip-vertical.short' | 'action.flip-vertical' | 'action.fork-project-on-tldraw' | '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.open-kbd-shortcuts' | 'action.pack' | 'action.paste-error-description' | 'action.paste-error-title' | '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-dynamic-size-mode.menu' | 'action.toggle-dynamic-size-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-keyboard-shortcuts.menu' | 'action.toggle-keyboard-shortcuts' | 'action.toggle-lock' | 'action.toggle-paste-at-cursor.menu' | 'action.toggle-paste-at-cursor' | '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.toggle-wrap-mode.menu' | 'action.toggle-wrap-mode' | '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' | 'app.loading' | 'arrow-kind-style.arc' | 'arrow-kind-style.elbow' | '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' | 'assets.files.amount-too-many' | 'assets.files.size-too-big' | 'assets.files.type-not-allowed' | 'assets.files.upload-failed' | 'assets.url.failed' | '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.white' | 'color-style.yellow' | 'context-menu.arrange' | 'context-menu.copy-as' | 'context-menu.edit' | 'context-menu.export-all-as' | 'context-menu.export-as' | 'context-menu.move-to-page' | 'context-menu.reorder' | 'context-menu.title' | 'context.pages.new-page' | 'cursor-chat.type-to-chat' | 'dash-style.dashed' | 'dash-style.dotted' | 'dash-style.draw' | 'dash-style.solid' | 'document-name-menu.copy-link' | 'document.default-name' | 'edit-link-dialog.cancel' | 'edit-link-dialog.clear' | 'edit-link-dialog.detail' | 'edit-link-dialog.external-link' | 'edit-link-dialog.invalid-url' | 'edit-link-dialog.save' | 'edit-link-dialog.title' | 'edit-link-dialog.url' | '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.fill' | '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.heart' | 'geo-style.hexagon' | 'geo-style.octagon' | 'geo-style.oval' | 'geo-style.pentagon' | 'geo-style.rectangle' | 'geo-style.rhombus' | 'geo-style.star' | 'geo-style.trapezoid' | 'geo-style.triangle' | 'geo-style.x-box' | 'handle.crop.bottom-left' | 'handle.crop.bottom-right' | 'handle.crop.bottom' | 'handle.crop.left' | 'handle.crop.right' | 'handle.crop.top-left' | 'handle.crop.top-right' | 'handle.crop.top' | 'handle.resize-bottom-left' | 'handle.resize-bottom-right' | 'handle.resize-bottom' | 'handle.resize-left' | 'handle.resize-right' | 'handle.resize-top-left' | 'handle.resize-top-right' | 'handle.resize-top' | 'handle.rotate.bottom_left_rotate' | 'handle.rotate.bottom_right_rotate' | 'handle.rotate.mobile_rotate' | 'handle.rotate.top_left_rotate' | 'handle.rotate.top_right_rotate' | 'help-menu.about' | 'help-menu.discord' | 'help-menu.github' | 'help-menu.import-tldr-file' | 'help-menu.keyboard-shortcuts' | 'help-menu.privacy' | 'help-menu.terms' | 'help-menu.title' | 'help-menu.twitter' | 'menu.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | 'menu.language' | 'menu.preferences' | 'menu.theme' | 'menu.title' | 'menu.view' | 'navigation-zone.minimap' | 'navigation-zone.title' | '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.anonymous-user' | 'people-menu.avatar-color' | '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' | 'share-menu.copied' | '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.creating-project' | 'share-menu.fork-note' | 'share-menu.offline-note' | 'share-menu.project-too-large' | '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.a11y' | 'shortcuts-dialog.collaboration' | 'shortcuts-dialog.edit' | 'shortcuts-dialog.file' | 'shortcuts-dialog.preferences' | 'shortcuts-dialog.text-formatting' | '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' | 'style-panel.align' | 'style-panel.arrow-kind' | '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.label-align' | 'style-panel.mixed' | 'style-panel.opacity' | 'style-panel.position' | 'style-panel.size' | 'style-panel.spline' | 'style-panel.title' | 'style-panel.vertical-align' | 'theme.dark' | 'theme.light' | 'theme.system' | 'toast.close' | 'toast.error.copy-fail.desc' | 'toast.error.copy-fail.title' | 'toast.error.export-fail.desc' | 'toast.error.export-fail.title' | 'toast.error' | 'toast.info' | 'toast.success' | 'toast.warning' | 'tool-panel.more' | 'tool-panel.title' | 'tool.arrow-down' | 'tool.arrow-left' | 'tool.arrow-right' | 'tool.arrow-up' | 'tool.arrow' | 'tool.aspect-ratio.circle' | 'tool.aspect-ratio.landscape' | 'tool.aspect-ratio.original' | 'tool.aspect-ratio.portrait' | 'tool.aspect-ratio.square' | 'tool.aspect-ratio.wide' | 'tool.aspect-ratio' | 'tool.bookmark' | 'tool.check-box' | 'tool.cloud' | 'tool.diamond' | 'tool.draw' | 'tool.ellipse' | 'tool.embed' | 'tool.eraser' | 'tool.flip-horz' | 'tool.flip-vert' | 'tool.frame' | 'tool.hand' | 'tool.heart' | 'tool.hexagon' | 'tool.highlight' | 'tool.image-crop' | 'tool.image-toolbar-title' | 'tool.image-zoom' | 'tool.laser' | 'tool.line' | 'tool.media-alt-text-confirm' | 'tool.media-alt-text-desc' | 'tool.media-alt-text' | 'tool.media' | 'tool.note' | 'tool.octagon' | 'tool.oval' | 'tool.pentagon' | 'tool.pointer-down' | 'tool.rectangle' | 'tool.replace-media' | 'tool.rhombus' | 'tool.rich-text-bold' | 'tool.rich-text-bulletList' | 'tool.rich-text-code' | 'tool.rich-text-header' | 'tool.rich-text-highlight' | 'tool.rich-text-italic' | 'tool.rich-text-link-remove' | 'tool.rich-text-link-visit' | 'tool.rich-text-link' | 'tool.rich-text-orderedList' | 'tool.rich-text-strikethrough' | 'tool.rich-text-toolbar-title' | 'tool.rotate-cw' | 'tool.select' | 'tool.star' | 'tool.text' | 'tool.trapezoid' | 'tool.triangle' | 'tool.x-box' | 'ui.checked' | 'ui.close' | 'ui.unchecked' | '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';
3933
+ export declare type TLUiTranslationKey = 'a11y.adjust-shape-styles' | 'a11y.enlarge-shape' | 'a11y.enter-leave-container' | 'a11y.move-shape-faster' | 'a11y.move-shape' | 'a11y.multiple-shapes' | 'a11y.open-context-menu' | 'a11y.pan-camera' | 'a11y.repeat-shape' | 'a11y.select-shape-direction' | 'a11y.select-shape' | 'a11y.shape-image' | 'a11y.shape-index' | 'a11y.shape-video' | 'a11y.shrink-shape' | 'a11y.skip-to-main-content' | 'a11y.status' | '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-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.download-original' | 'action.duplicate' | 'action.edit-link' | 'action.exit-pen-mode' | 'action.export-all-as-png.short' | 'action.export-all-as-png' | 'action.export-all-as-svg.short' | 'action.export-all-as-svg' | 'action.export-as-png.short' | 'action.export-as-png' | 'action.export-as-svg.short' | 'action.export-as-svg' | 'action.fit-frame-to-content' | 'action.flatten-to-image' | 'action.flip-horizontal.short' | 'action.flip-horizontal' | 'action.flip-vertical.short' | 'action.flip-vertical' | 'action.fork-project-on-tldraw' | '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-error-description' | 'action.paste-error-title' | '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-dynamic-size-mode.menu' | 'action.toggle-dynamic-size-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-paste-at-cursor.menu' | 'action.toggle-paste-at-cursor' | '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.toggle-wrap-mode.menu' | 'action.toggle-wrap-mode' | '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' | 'app.loading' | 'arrow-kind-style.arc' | 'arrow-kind-style.elbow' | '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' | 'assets.files.amount-too-many' | 'assets.files.size-too-big' | 'assets.files.type-not-allowed' | 'assets.files.upload-failed' | 'assets.url.failed' | '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.white' | 'color-style.yellow' | 'context-menu.arrange' | 'context-menu.copy-as' | 'context-menu.edit' | 'context-menu.export-all-as' | 'context-menu.export-as' | 'context-menu.move-to-page' | 'context-menu.reorder' | 'context-menu.title' | 'context.pages.new-page' | 'cursor-chat.type-to-chat' | 'dash-style.dashed' | 'dash-style.dotted' | 'dash-style.draw' | 'dash-style.solid' | 'document-name-menu.copy-link' | 'document.default-name' | 'edit-link-dialog.cancel' | 'edit-link-dialog.clear' | 'edit-link-dialog.detail' | 'edit-link-dialog.external-link' | 'edit-link-dialog.invalid-url' | 'edit-link-dialog.save' | 'edit-link-dialog.title' | 'edit-link-dialog.url' | '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.fill' | '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.heart' | 'geo-style.hexagon' | 'geo-style.octagon' | 'geo-style.oval' | 'geo-style.pentagon' | 'geo-style.rectangle' | 'geo-style.rhombus' | 'geo-style.star' | 'geo-style.trapezoid' | 'geo-style.triangle' | 'geo-style.x-box' | 'handle.crop.bottom-left' | 'handle.crop.bottom-right' | 'handle.crop.bottom' | 'handle.crop.left' | 'handle.crop.right' | 'handle.crop.top-left' | 'handle.crop.top-right' | 'handle.crop.top' | 'handle.resize-bottom-left' | 'handle.resize-bottom-right' | 'handle.resize-bottom' | 'handle.resize-left' | 'handle.resize-right' | 'handle.resize-top-left' | 'handle.resize-top-right' | 'handle.resize-top' | 'handle.rotate.bottom_left_rotate' | 'handle.rotate.bottom_right_rotate' | 'handle.rotate.mobile_rotate' | 'handle.rotate.top_left_rotate' | 'handle.rotate.top_right_rotate' | 'help-menu.about' | 'help-menu.discord' | 'help-menu.github' | 'help-menu.import-tldr-file' | 'help-menu.keyboard-shortcuts' | 'help-menu.privacy' | 'help-menu.terms' | 'help-menu.title' | 'help-menu.twitter' | 'menu.copy-as' | 'menu.edit' | 'menu.export-as' | 'menu.file' | 'menu.language' | 'menu.preferences' | 'menu.theme' | 'menu.title' | 'menu.view' | 'navigation-zone.minimap' | 'navigation-zone.title' | '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.anonymous-user' | 'people-menu.avatar-color' | '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' | 'share-menu.copied' | '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.creating-project' | 'share-menu.fork-note' | 'share-menu.offline-note' | 'share-menu.project-too-large' | '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.a11y' | 'shortcuts-dialog.collaboration' | 'shortcuts-dialog.edit' | 'shortcuts-dialog.file' | 'shortcuts-dialog.preferences' | 'shortcuts-dialog.text-formatting' | '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' | 'style-panel.align' | 'style-panel.arrow-kind' | '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.label-align' | 'style-panel.mixed' | 'style-panel.opacity' | 'style-panel.position' | 'style-panel.size' | 'style-panel.spline' | 'style-panel.title' | 'style-panel.vertical-align' | 'theme.dark' | 'theme.light' | 'theme.system' | 'toast.close' | 'toast.error.copy-fail.desc' | 'toast.error.copy-fail.title' | 'toast.error.export-fail.desc' | 'toast.error.export-fail.title' | 'toast.error' | 'toast.info' | 'toast.success' | 'toast.warning' | 'tool-panel.more' | 'tool-panel.title' | 'tool.arrow-down' | 'tool.arrow-left' | 'tool.arrow-right' | 'tool.arrow-up' | 'tool.arrow' | 'tool.aspect-ratio.circle' | 'tool.aspect-ratio.landscape' | 'tool.aspect-ratio.original' | 'tool.aspect-ratio.portrait' | 'tool.aspect-ratio.square' | 'tool.aspect-ratio.wide' | 'tool.aspect-ratio' | 'tool.bookmark' | 'tool.check-box' | 'tool.cloud' | 'tool.diamond' | 'tool.draw' | 'tool.ellipse' | 'tool.embed' | 'tool.eraser' | 'tool.flip-horz' | 'tool.flip-vert' | 'tool.frame' | 'tool.hand' | 'tool.heart' | 'tool.hexagon' | 'tool.highlight' | 'tool.image-crop' | 'tool.image-toolbar-title' | 'tool.image-zoom' | 'tool.laser' | 'tool.line' | 'tool.media-alt-text-confirm' | 'tool.media-alt-text-desc' | 'tool.media-alt-text' | 'tool.media' | 'tool.note' | 'tool.octagon' | 'tool.oval' | 'tool.pentagon' | 'tool.pointer-down' | 'tool.rectangle' | 'tool.replace-media' | 'tool.rhombus' | 'tool.rich-text-bold' | 'tool.rich-text-bulletList' | 'tool.rich-text-code' | 'tool.rich-text-header' | 'tool.rich-text-highlight' | 'tool.rich-text-italic' | 'tool.rich-text-link-remove' | 'tool.rich-text-link-visit' | 'tool.rich-text-link' | 'tool.rich-text-orderedList' | 'tool.rich-text-strikethrough' | 'tool.rich-text-toolbar-title' | 'tool.rotate-cw' | 'tool.select' | 'tool.star' | 'tool.text' | 'tool.trapezoid' | 'tool.triangle' | 'tool.x-box' | 'ui.checked' | 'ui.close' | 'ui.unchecked' | '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';
3924
3934
 
3925
3935
  /** @public */
3926
3936
  export declare interface TLUiTranslationProviderProps {
@@ -4032,9 +4042,6 @@ export declare function ToggleFocusModeItem(): JSX_2.Element;
4032
4042
  /** @public @react */
4033
4043
  export declare function ToggleGridItem(): JSX_2.Element;
4034
4044
 
4035
- /** @public @react */
4036
- export declare function ToggleKeyboardShortcutsItem(): JSX_2.Element;
4037
-
4038
4045
  /** @public @react */
4039
4046
  export declare function ToggleLockMenuItem(): JSX_2.Element | null;
4040
4047
 
@@ -4142,10 +4149,10 @@ export declare function useDefaultColorTheme(): {
4142
4149
  /** @public */
4143
4150
  export declare function useDefaultHelpers(): {
4144
4151
  addDialog: (dialog: Omit<TLUiDialog, "id"> & {
4145
- id?: string;
4152
+ id?: string | undefined;
4146
4153
  }) => string;
4147
4154
  addToast: (toast: Omit<TLUiToast, "id"> & {
4148
- id?: string;
4155
+ id?: string | undefined;
4149
4156
  }) => string;
4150
4157
  clearDialogs: () => void;
4151
4158
  clearToasts: () => void;
@@ -4156,11 +4163,11 @@ export declare function useDefaultHelpers(): {
4156
4163
  getEmbedDefinition: (url: string) => TLEmbedResult;
4157
4164
  insertMedia: () => Promise<void>;
4158
4165
  isMobile: boolean;
4159
- msg: (id?: Exclude<string, TLUiTranslationKey> | string) => string;
4160
- paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike) => Promise<void>;
4166
+ msg: (id?: string | undefined) => string;
4167
+ paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike | undefined) => Promise<void>;
4161
4168
  printSelectionOrPages: () => Promise<void>;
4162
4169
  removeDialog: (id: string) => string;
4163
- removeToast: (id: TLUiToast["id"]) => string;
4170
+ removeToast: (id: string) => string;
4164
4171
  replaceImage: () => Promise<void>;
4165
4172
  replaceVideo: () => Promise<void>;
4166
4173
  };
@@ -4176,7 +4183,7 @@ export declare function useEditablePlainText(shapeId: TLShapeId, type: string, t
4176
4183
  }) => void;
4177
4184
  handleDoubleClick: (e: any) => any;
4178
4185
  handleFocus: () => void;
4179
- handleInputPointerDown: (e: React_3.PointerEvent) => void;
4186
+ handleInputPointerDown: (e: React_3.PointerEvent<Element>) => void;
4180
4187
  handleKeyDown: (e: KeyboardEvent) => void;
4181
4188
  handlePaste: (e: ClipboardEvent | React_3.ClipboardEvent<HTMLTextAreaElement>) => void;
4182
4189
  isEditing: boolean;
@@ -4193,9 +4200,9 @@ export declare function useEditableRichText(shapeId: TLShapeId, type: string, ri
4193
4200
  }) => void;
4194
4201
  handleDoubleClick: (e: any) => any;
4195
4202
  handleFocus: () => void;
4196
- handleInputPointerDown: (e: React.PointerEvent) => void;
4203
+ handleInputPointerDown: (e: PointerEvent_2<Element>) => void;
4197
4204
  handleKeyDown: (e: KeyboardEvent) => void;
4198
- handlePaste: (e: ClipboardEvent | React.ClipboardEvent<HTMLTextAreaElement>) => void;
4205
+ handlePaste: (e: ClipboardEvent | ClipboardEvent_2<HTMLTextAreaElement>) => void;
4199
4206
  isEditing: boolean;
4200
4207
  isEmpty: boolean | undefined;
4201
4208
  isReadyForEditing: boolean;
@@ -4354,7 +4361,7 @@ export declare class ZoomTool extends StateNode {
4354
4361
  static children(): TLStateNodeConstructor[];
4355
4362
  static isLockable: boolean;
4356
4363
  info: TLPointerEventInfo & {
4357
- onInteractionEnd?: string;
4364
+ onInteractionEnd?: string | undefined;
4358
4365
  };
4359
4366
  onEnter(info: TLPointerEventInfo & {
4360
4367
  onInteractionEnd: string;
package/dist-cjs/index.js CHANGED
@@ -253,7 +253,6 @@ __export(index_exports, {
253
253
  ToggleEdgeScrollingItem: () => import_menu_items.ToggleEdgeScrollingItem,
254
254
  ToggleFocusModeItem: () => import_menu_items.ToggleFocusModeItem,
255
255
  ToggleGridItem: () => import_menu_items.ToggleGridItem,
256
- ToggleKeyboardShortcutsItem: () => import_menu_items.ToggleKeyboardShortcutsItem,
257
256
  ToggleLockMenuItem: () => import_menu_items.ToggleLockMenuItem,
258
257
  TogglePasteAtCursorItem: () => import_menu_items.TogglePasteAtCursorItem,
259
258
  ToggleReduceMotionItem: () => import_menu_items.ToggleReduceMotionItem,
@@ -371,12 +370,14 @@ var import_usePrefersReducedMotion = require("./lib/shapes/shared/usePrefersRedu
371
370
  var import_A11y = require("./lib/ui/components/A11y");
372
371
  var import_ColorSchemeMenu = require("./lib/ui/components/ColorSchemeMenu");
373
372
  var import_Dialogs = require("./lib/ui/components/Dialogs");
373
+ var import_Toasts = require("./lib/ui/components/Toasts");
374
374
  var import_TldrawUiMenuActionCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionCheckboxItem");
375
375
  var import_TldrawUiMenuActionItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuActionItem");
376
376
  var import_TldrawUiMenuToolItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuToolItem");
377
- var import_Toasts = require("./lib/ui/components/Toasts");
378
377
  var import_useTranslation = require("./lib/ui/hooks/useTranslation/useTranslation");
379
378
  __reExport(index_exports, require("@tldraw/editor"), module.exports);
379
+ var import_Tldraw = require("./lib/Tldraw");
380
+ var import_TldrawImage = require("./lib/TldrawImage");
380
381
  var import_ArrowBindingUtil = require("./lib/bindings/arrow/ArrowBindingUtil");
381
382
  var import_TldrawHandles = require("./lib/canvas/TldrawHandles");
382
383
  var import_TldrawOverlays = require("./lib/canvas/TldrawOverlays");
@@ -408,11 +409,11 @@ var import_LineShapeTool = require("./lib/shapes/line/LineShapeTool");
408
409
  var import_LineShapeUtil = require("./lib/shapes/line/LineShapeUtil");
409
410
  var import_NoteShapeTool = require("./lib/shapes/note/NoteShapeTool");
410
411
  var import_NoteShapeUtil = require("./lib/shapes/note/NoteShapeUtil");
412
+ var import_PlainTextLabel = require("./lib/shapes/shared/PlainTextLabel");
413
+ var import_RichTextLabel = require("./lib/shapes/shared/RichTextLabel");
411
414
  var import_crop = require("./lib/shapes/shared/crop");
412
415
  var import_default_shape_constants = require("./lib/shapes/shared/default-shape-constants");
413
416
  var import_defaultFonts = require("./lib/shapes/shared/defaultFonts");
414
- var import_PlainTextLabel = require("./lib/shapes/shared/PlainTextLabel");
415
- var import_RichTextLabel = require("./lib/shapes/shared/RichTextLabel");
416
417
  var import_useDefaultColorTheme = require("./lib/shapes/shared/useDefaultColorTheme");
417
418
  var import_useEditablePlainText = require("./lib/shapes/shared/useEditablePlainText");
418
419
  var import_useEditableRichText = require("./lib/shapes/shared/useEditableRichText");
@@ -422,13 +423,12 @@ var import_RichTextArea = require("./lib/shapes/text/RichTextArea");
422
423
  var import_TextShapeTool = require("./lib/shapes/text/TextShapeTool");
423
424
  var import_TextShapeUtil = require("./lib/shapes/text/TextShapeUtil");
424
425
  var import_VideoShapeUtil = require("./lib/shapes/video/VideoShapeUtil");
425
- var import_Tldraw = require("./lib/Tldraw");
426
- var import_TldrawImage = require("./lib/TldrawImage");
427
426
  var import_EraserTool = require("./lib/tools/EraserTool/EraserTool");
428
427
  var import_HandTool = require("./lib/tools/HandTool/HandTool");
429
428
  var import_LaserTool = require("./lib/tools/LaserTool/LaserTool");
430
429
  var import_SelectTool = require("./lib/tools/SelectTool/SelectTool");
431
430
  var import_ZoomTool = require("./lib/tools/ZoomTool/ZoomTool");
431
+ var import_TldrawUi = require("./lib/ui/TldrawUi");
432
432
  var import_assetUrls = require("./lib/ui/assetUrls");
433
433
  var import_DefaultActionsMenu = require("./lib/ui/components/ActionsMenu/DefaultActionsMenu");
434
434
  var import_DefaultActionsMenuContent = require("./lib/ui/components/ActionsMenu/DefaultActionsMenuContent");
@@ -437,16 +437,15 @@ var import_DefaultContextMenuContent = require("./lib/ui/components/ContextMenu/
437
437
  var import_DefaultDebugMenu = require("./lib/ui/components/DebugMenu/DefaultDebugMenu");
438
438
  var import_DefaultDebugMenuContent = require("./lib/ui/components/DebugMenu/DefaultDebugMenuContent");
439
439
  var import_DefaultMenuPanel = require("./lib/ui/components/DefaultMenuPanel");
440
- var import_DefaultHelperButtons = require("./lib/ui/components/HelperButtons/DefaultHelperButtons");
441
- var import_DefaultHelperButtonsContent = require("./lib/ui/components/HelperButtons/DefaultHelperButtonsContent");
442
440
  var import_DefaultHelpMenu = require("./lib/ui/components/HelpMenu/DefaultHelpMenu");
443
441
  var import_DefaultHelpMenuContent = require("./lib/ui/components/HelpMenu/DefaultHelpMenuContent");
442
+ var import_DefaultHelperButtons = require("./lib/ui/components/HelperButtons/DefaultHelperButtons");
443
+ var import_DefaultHelperButtonsContent = require("./lib/ui/components/HelperButtons/DefaultHelperButtonsContent");
444
444
  var import_DefaultKeyboardShortcutsDialog = require("./lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog");
445
445
  var import_DefaultKeyboardShortcutsDialogContent = require("./lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent");
446
446
  var import_LanguageMenu = require("./lib/ui/components/LanguageMenu");
447
447
  var import_DefaultMainMenu = require("./lib/ui/components/MainMenu/DefaultMainMenu");
448
448
  var import_DefaultMainMenuContent = require("./lib/ui/components/MainMenu/DefaultMainMenuContent");
449
- var import_menu_items = require("./lib/ui/components/menu-items");
450
449
  var import_DefaultMinimap = require("./lib/ui/components/Minimap/DefaultMinimap");
451
450
  var import_MobileStylePanel = require("./lib/ui/components/MobileStylePanel");
452
451
  var import_DefaultNavigationPanel = require("./lib/ui/components/NavigationPanel/DefaultNavigationPanel");
@@ -454,25 +453,6 @@ var import_OfflineIndicator = require("./lib/ui/components/OfflineIndicator/Offl
454
453
  var import_DefaultPageMenu = require("./lib/ui/components/PageMenu/DefaultPageMenu");
455
454
  var import_PageItemInput = require("./lib/ui/components/PageMenu/PageItemInput");
456
455
  var import_PageItemSubmenu = require("./lib/ui/components/PageMenu/PageItemSubmenu");
457
- var import_TldrawUiButton = require("./lib/ui/components/primitives/Button/TldrawUiButton");
458
- var import_TldrawUiButtonCheck = require("./lib/ui/components/primitives/Button/TldrawUiButtonCheck");
459
- var import_TldrawUiButtonIcon = require("./lib/ui/components/primitives/Button/TldrawUiButtonIcon");
460
- var import_TldrawUiButtonLabel = require("./lib/ui/components/primitives/Button/TldrawUiButtonLabel");
461
- var import_TldrawUiMenuCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem");
462
- var import_TldrawUiMenuContext = require("./lib/ui/components/primitives/menus/TldrawUiMenuContext");
463
- var import_TldrawUiMenuGroup = require("./lib/ui/components/primitives/menus/TldrawUiMenuGroup");
464
- var import_TldrawUiMenuItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuItem");
465
- var import_TldrawUiMenuSubmenu = require("./lib/ui/components/primitives/menus/TldrawUiMenuSubmenu");
466
- var import_TldrawUiButtonPicker = require("./lib/ui/components/primitives/TldrawUiButtonPicker");
467
- var import_TldrawUiContextualToolbar = require("./lib/ui/components/primitives/TldrawUiContextualToolbar");
468
- var import_TldrawUiDialog = require("./lib/ui/components/primitives/TldrawUiDialog");
469
- var import_TldrawUiDropdownMenu = require("./lib/ui/components/primitives/TldrawUiDropdownMenu");
470
- var import_TldrawUiIcon = require("./lib/ui/components/primitives/TldrawUiIcon");
471
- var import_TldrawUiInput = require("./lib/ui/components/primitives/TldrawUiInput");
472
- var import_TldrawUiKbd = require("./lib/ui/components/primitives/TldrawUiKbd");
473
- var import_TldrawUiPopover = require("./lib/ui/components/primitives/TldrawUiPopover");
474
- var import_TldrawUiSlider = require("./lib/ui/components/primitives/TldrawUiSlider");
475
- var import_TldrawUiToolbar = require("./lib/ui/components/primitives/TldrawUiToolbar");
476
456
  var import_DefaultQuickActions = require("./lib/ui/components/QuickActions/DefaultQuickActions");
477
457
  var import_DefaultQuickActionsContent = require("./lib/ui/components/QuickActions/DefaultQuickActionsContent");
478
458
  var import_DefaultSharePanel = require("./lib/ui/components/SharePanel/DefaultSharePanel");
@@ -493,7 +473,28 @@ var import_CenteredTopPanelContainer = require("./lib/ui/components/TopPanel/Cen
493
473
  var import_DefaultTopPanel = require("./lib/ui/components/TopPanel/DefaultTopPanel");
494
474
  var import_DefaultZoomMenu = require("./lib/ui/components/ZoomMenu/DefaultZoomMenu");
495
475
  var import_DefaultZoomMenuContent = require("./lib/ui/components/ZoomMenu/DefaultZoomMenuContent");
476
+ var import_menu_items = require("./lib/ui/components/menu-items");
477
+ var import_TldrawUiButton = require("./lib/ui/components/primitives/Button/TldrawUiButton");
478
+ var import_TldrawUiButtonCheck = require("./lib/ui/components/primitives/Button/TldrawUiButtonCheck");
479
+ var import_TldrawUiButtonIcon = require("./lib/ui/components/primitives/Button/TldrawUiButtonIcon");
480
+ var import_TldrawUiButtonLabel = require("./lib/ui/components/primitives/Button/TldrawUiButtonLabel");
481
+ var import_TldrawUiButtonPicker = require("./lib/ui/components/primitives/TldrawUiButtonPicker");
482
+ var import_TldrawUiContextualToolbar = require("./lib/ui/components/primitives/TldrawUiContextualToolbar");
483
+ var import_TldrawUiDialog = require("./lib/ui/components/primitives/TldrawUiDialog");
484
+ var import_TldrawUiDropdownMenu = require("./lib/ui/components/primitives/TldrawUiDropdownMenu");
485
+ var import_TldrawUiIcon = require("./lib/ui/components/primitives/TldrawUiIcon");
486
+ var import_TldrawUiInput = require("./lib/ui/components/primitives/TldrawUiInput");
487
+ var import_TldrawUiKbd = require("./lib/ui/components/primitives/TldrawUiKbd");
488
+ var import_TldrawUiPopover = require("./lib/ui/components/primitives/TldrawUiPopover");
489
+ var import_TldrawUiSlider = require("./lib/ui/components/primitives/TldrawUiSlider");
490
+ var import_TldrawUiToolbar = require("./lib/ui/components/primitives/TldrawUiToolbar");
491
+ var import_TldrawUiMenuCheckboxItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem");
492
+ var import_TldrawUiMenuContext = require("./lib/ui/components/primitives/menus/TldrawUiMenuContext");
493
+ var import_TldrawUiMenuGroup = require("./lib/ui/components/primitives/menus/TldrawUiMenuGroup");
494
+ var import_TldrawUiMenuItem = require("./lib/ui/components/primitives/menus/TldrawUiMenuItem");
495
+ var import_TldrawUiMenuSubmenu = require("./lib/ui/components/primitives/menus/TldrawUiMenuSubmenu");
496
496
  var import_constants = require("./lib/ui/constants");
497
+ var import_TldrawUiContextProvider = require("./lib/ui/context/TldrawUiContextProvider");
497
498
  var import_a11y = require("./lib/ui/context/a11y");
498
499
  var import_actions = require("./lib/ui/context/actions");
499
500
  var import_asset_urls = require("./lib/ui/context/asset-urls");
@@ -501,7 +502,6 @@ var import_breakpoints = require("./lib/ui/context/breakpoints");
501
502
  var import_components = require("./lib/ui/context/components");
502
503
  var import_dialogs = require("./lib/ui/context/dialogs");
503
504
  var import_events = require("./lib/ui/context/events");
504
- var import_TldrawUiContextProvider = require("./lib/ui/context/TldrawUiContextProvider");
505
505
  var import_toasts = require("./lib/ui/context/toasts");
506
506
  var import_menu_hooks = require("./lib/ui/hooks/menu-hooks");
507
507
  var import_useClipboardEvents = require("./lib/ui/hooks/useClipboardEvents");
@@ -516,7 +516,6 @@ var import_useRelevantStyles = require("./lib/ui/hooks/useRelevantStyles");
516
516
  var import_useTools = require("./lib/ui/hooks/useTools");
517
517
  var import_useTranslation2 = require("./lib/ui/hooks/useTranslation/useTranslation");
518
518
  var import_overrides = require("./lib/ui/overrides");
519
- var import_TldrawUi = require("./lib/ui/TldrawUi");
520
519
  var import_assets = require("./lib/utils/assets/assets");
521
520
  var import_preload_font = require("./lib/utils/assets/preload-font");
522
521
  var import_embeds = require("./lib/utils/embeds/embeds");
@@ -533,7 +532,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
533
532
  var import_file = require("./lib/utils/tldr/file");
534
533
  (0, import_editor.registerTldrawLibraryVersion)(
535
534
  "tldraw",
536
- "3.15.0-canary.d8a8ce37d604",
535
+ "3.15.0-canary.db14db4f5395",
537
536
  "cjs"
538
537
  );
539
538
  //# sourceMappingURL=index.js.map