tldraw 3.15.0-canary.db14db4f5395 → 3.15.0-next.d30ed5ad740e

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 +77 -84
  2. package/dist-cjs/index.js +31 -30
  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 +5 -11
  7. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  8. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +11 -1
  9. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  10. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +1 -0
  11. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  12. package/dist-cjs/lib/ui/components/menu-items.js +16 -0
  13. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  14. package/dist-cjs/lib/ui/context/actions.js +28 -1
  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 +24 -7
  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 +4 -0
  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 +77 -84
  27. package/dist-esm/index.mjs +134 -132
  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 +5 -11
  32. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  33. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +11 -1
  34. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  35. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +2 -0
  36. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  37. package/dist-esm/lib/ui/components/menu-items.mjs +16 -0
  38. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  39. package/dist-esm/lib/ui/context/actions.mjs +28 -1
  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 +24 -7
  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 +4 -0
  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 +159 -158
  52. package/src/lib/shapes/frame/FrameShapeUtil.tsx +5 -7
  53. package/src/lib/shapes/text/TextShapeUtil.tsx +5 -12
  54. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +8 -0
  55. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +2 -0
  56. package/src/lib/ui/components/menu-items.tsx +17 -0
  57. package/src/lib/ui/context/actions.tsx +29 -1
  58. package/src/lib/ui/context/events.tsx +2 -0
  59. package/src/lib/ui/hooks/useClipboardEvents.ts +31 -10
  60. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +3 -2
  61. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +4 -0
  62. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +4 -0
  63. package/src/lib/ui/version.ts +3 -3
  64. package/src/test/Editor.test.tsx +68 -1
  65. package/src/test/commands/clipboard.test.ts +1 -1
  66. package/src/test/editor.test.ts +0 -77
@@ -1,5 +1,3 @@
1
- /// <reference types="react" />
2
-
3
1
  import { Atom } from '@tldraw/editor';
4
2
  import { BaseBoxShapeTool } from '@tldraw/editor';
5
3
  import { BaseBoxShapeUtil } from '@tldraw/editor';
@@ -10,7 +8,6 @@ import { BindingOnShapeIsolateOptions } from '@tldraw/editor';
10
8
  import { BindingUtil } from '@tldraw/editor';
11
9
  import { Box } from '@tldraw/editor';
12
10
  import { Circle2d } from '@tldraw/editor';
13
- import { ClipboardEvent as ClipboardEvent_2 } from 'react';
14
11
  import { ComponentType } from 'react';
15
12
  import { CSSProperties } from 'react';
16
13
  import { Editor } from '@tldraw/editor';
@@ -30,7 +27,6 @@ import { MigrationSequence } from '@tldraw/editor';
30
27
  import { NamedExoticComponent } from 'react';
31
28
  import { Node as Node_2 } from '@tiptap/pm/model';
32
29
  import { PerfectDashTerminal } from '@tldraw/editor';
33
- import { PointerEvent as PointerEvent_2 } from 'react';
34
30
  import { Polygon2d } from '@tldraw/editor';
35
31
  import { Polyline2d } from '@tldraw/editor';
36
32
  import * as React_2 from 'react';
@@ -68,12 +64,15 @@ import { TLBookmarkShapeProps } from '@tldraw/editor';
68
64
  import { TLClickEventInfo } from '@tldraw/editor';
69
65
  import { TLContent } from '@tldraw/editor';
70
66
  import { TLCropInfo } from '@tldraw/editor';
67
+ import { TLDefaultColorStyle } from '@tldraw/editor';
71
68
  import { TLDefaultColorTheme } from '@tldraw/editor';
72
69
  import { TLDefaultColorThemeColor } from '@tldraw/editor';
70
+ import { TLDefaultDashStyle } from '@tldraw/editor';
73
71
  import { TLDefaultFillStyle } from '@tldraw/editor';
74
72
  import { TLDefaultFontStyle } from '@tldraw/editor';
75
73
  import { TLDefaultHorizontalAlignStyle } from '@tldraw/editor';
76
74
  import { TLDefaultSizeStyle } from '@tldraw/editor';
75
+ import { TLDefaultTextAlignStyle } from '@tldraw/editor';
77
76
  import { TLDefaultVerticalAlignStyle } from '@tldraw/editor';
78
77
  import { TLDragShapesOutInfo } from '@tldraw/editor';
79
78
  import { TLDragShapesOverInfo } from '@tldraw/editor';
@@ -93,6 +92,7 @@ import { TLFrameShape } from '@tldraw/editor';
93
92
  import { TLFrameShapeProps } from '@tldraw/editor';
94
93
  import { TLGeometryOpts } from '@tldraw/editor';
95
94
  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,8 +106,10 @@ 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';
109
110
  import { TLNoteShape } from '@tldraw/editor';
110
111
  import { TLNoteShapeProps } from '@tldraw/editor';
112
+ import { TLOpacityType } from '@tldraw/editor';
111
113
  import { TLPageId } from '@tldraw/editor';
112
114
  import { TLParentId } from '@tldraw/editor';
113
115
  import { TLPointerEventInfo } from '@tldraw/editor';
@@ -403,7 +405,7 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
403
405
  index: IndexKey;
404
406
  isLocked: boolean;
405
407
  meta: JsonObject;
406
- opacity: number;
408
+ opacity: TLOpacityType;
407
409
  parentId: TLParentId;
408
410
  props: {
409
411
  assetId: null | TLAssetId;
@@ -422,7 +424,7 @@ export declare class BookmarkShapeUtil extends BaseBoxShapeUtil<TLBookmarkShape>
422
424
  index: IndexKey;
423
425
  isLocked: boolean;
424
426
  meta: JsonObject;
425
- opacity: number;
427
+ opacity: TLOpacityType;
426
428
  parentId: TLParentId;
427
429
  props: {
428
430
  assetId: null | TLAssetId;
@@ -1064,8 +1066,8 @@ export declare function DistributeMenuItems(): JSX_2.Element;
1064
1066
  * @public
1065
1067
  */
1066
1068
  export declare function downsizeImage(blob: Blob, width: number, height: number, opts?: {
1067
- quality?: number | undefined;
1068
- type?: string | undefined;
1069
+ quality?: number;
1070
+ type?: string;
1069
1071
  }): Promise<Blob>;
1070
1072
 
1071
1073
  /** @public */
@@ -1634,26 +1636,23 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1634
1636
  index: IndexKey;
1635
1637
  isLocked: boolean;
1636
1638
  meta: JsonObject;
1637
- opacity: number;
1639
+ opacity: TLOpacityType;
1638
1640
  parentId: TLParentId;
1639
1641
  props: {
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";
1642
+ align: TLDefaultHorizontalAlignStyle;
1643
+ color: TLDefaultColorStyle;
1644
+ dash: TLDefaultDashStyle;
1645
+ fill: TLDefaultFillStyle;
1646
+ font: TLDefaultFontStyle;
1647
+ geo: TLGeoShapeGeoStyle;
1646
1648
  growY: number;
1647
1649
  h: number;
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
- };
1650
+ labelColor: TLDefaultColorStyle;
1651
+ richText: TLRichText;
1653
1652
  scale: number;
1654
- size: "l" | "m" | "s" | "xl";
1653
+ size: TLDefaultSizeStyle;
1655
1654
  url: string;
1656
- verticalAlign: "end" | "middle" | "start";
1655
+ verticalAlign: TLDefaultVerticalAlignStyle;
1657
1656
  w: number;
1658
1657
  };
1659
1658
  rotation: number;
@@ -1667,26 +1666,23 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1667
1666
  index: IndexKey;
1668
1667
  isLocked: boolean;
1669
1668
  meta: JsonObject;
1670
- opacity: number;
1669
+ opacity: TLOpacityType;
1671
1670
  parentId: TLParentId;
1672
1671
  props: {
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";
1672
+ align: TLDefaultHorizontalAlignStyle;
1673
+ color: TLDefaultColorStyle;
1674
+ dash: TLDefaultDashStyle;
1675
+ fill: TLDefaultFillStyle;
1676
+ font: TLDefaultFontStyle;
1677
+ geo: TLGeoShapeGeoStyle;
1679
1678
  growY: number;
1680
1679
  h: number;
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
- };
1680
+ labelColor: TLDefaultColorStyle;
1681
+ richText: TLRichText;
1686
1682
  scale: number;
1687
- size: "l" | "m" | "s" | "xl";
1683
+ size: TLDefaultSizeStyle;
1688
1684
  url: string;
1689
- verticalAlign: "end" | "middle" | "start";
1685
+ verticalAlign: TLDefaultVerticalAlignStyle;
1690
1686
  w: number;
1691
1687
  };
1692
1688
  rotation: number;
@@ -1700,7 +1696,7 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1700
1696
  index: IndexKey;
1701
1697
  isLocked: boolean;
1702
1698
  meta: JsonObject;
1703
- opacity: number;
1699
+ opacity: TLOpacityType;
1704
1700
  parentId: TLParentId;
1705
1701
  props: {
1706
1702
  geo: "check-box";
@@ -1715,7 +1711,7 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1715
1711
  index: IndexKey;
1716
1712
  isLocked: boolean;
1717
1713
  meta: JsonObject;
1718
- opacity: number;
1714
+ opacity: TLOpacityType;
1719
1715
  parentId: TLParentId;
1720
1716
  props: {
1721
1717
  geo: "rectangle";
@@ -1933,11 +1929,11 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
1933
1929
  index: IndexKey;
1934
1930
  isLocked: boolean;
1935
1931
  meta: JsonObject;
1936
- opacity: number;
1932
+ opacity: TLOpacityType;
1937
1933
  parentId: TLParentId;
1938
1934
  props: {
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";
1935
+ color: TLDefaultColorStyle;
1936
+ dash: TLDefaultDashStyle;
1941
1937
  points: {
1942
1938
  [x: string]: {
1943
1939
  id: string;
@@ -1947,8 +1943,8 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
1947
1943
  } | TLLineShapePoint;
1948
1944
  };
1949
1945
  scale: number;
1950
- size: "l" | "m" | "s" | "xl";
1951
- spline: "cubic" | "line";
1946
+ size: TLDefaultSizeStyle;
1947
+ spline: TLLineShapeSplineStyle;
1952
1948
  };
1953
1949
  rotation: number;
1954
1950
  type: "line";
@@ -2026,23 +2022,20 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2026
2022
  index: IndexKey;
2027
2023
  isLocked: boolean;
2028
2024
  meta: JsonObject;
2029
- opacity: number;
2025
+ opacity: TLOpacityType;
2030
2026
  parentId: TLParentId;
2031
2027
  props: {
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";
2028
+ align: TLDefaultHorizontalAlignStyle;
2029
+ color: TLDefaultColorStyle;
2030
+ font: TLDefaultFontStyle;
2035
2031
  fontSizeAdjustment: number;
2036
2032
  growY: number;
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
- };
2033
+ labelColor: TLDefaultColorStyle;
2034
+ richText: TLRichText;
2042
2035
  scale: number;
2043
- size: "l" | "m" | "s" | "xl";
2036
+ size: TLDefaultSizeStyle;
2044
2037
  url: string;
2045
- verticalAlign: "end" | "middle" | "start";
2038
+ verticalAlign: TLDefaultVerticalAlignStyle;
2046
2039
  };
2047
2040
  rotation: number;
2048
2041
  type: "note";
@@ -2055,23 +2048,20 @@ export declare class NoteShapeUtil extends ShapeUtil<TLNoteShape> {
2055
2048
  index: IndexKey;
2056
2049
  isLocked: boolean;
2057
2050
  meta: JsonObject;
2058
- opacity: number;
2051
+ opacity: TLOpacityType;
2059
2052
  parentId: TLParentId;
2060
2053
  props: {
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";
2054
+ align: TLDefaultHorizontalAlignStyle;
2055
+ color: TLDefaultColorStyle;
2056
+ font: TLDefaultFontStyle;
2064
2057
  fontSizeAdjustment: number;
2065
2058
  growY: number;
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
- };
2059
+ labelColor: TLDefaultColorStyle;
2060
+ richText: TLRichText;
2071
2061
  scale: number;
2072
- size: "l" | "m" | "s" | "xl";
2062
+ size: TLDefaultSizeStyle;
2073
2063
  url: string;
2074
- verticalAlign: "end" | "middle" | "start";
2064
+ verticalAlign: TLDefaultVerticalAlignStyle;
2075
2065
  };
2076
2066
  rotation: number;
2077
2067
  type: "note";
@@ -2594,19 +2584,16 @@ export declare class TextShapeUtil extends ShapeUtil<TLTextShape> {
2594
2584
  index: IndexKey;
2595
2585
  isLocked: boolean;
2596
2586
  meta: JsonObject;
2597
- opacity: number;
2587
+ opacity: TLOpacityType;
2598
2588
  parentId: TLParentId;
2599
2589
  props: {
2600
2590
  autoSize: boolean;
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
- };
2591
+ color: TLDefaultColorStyle;
2592
+ font: TLDefaultFontStyle;
2593
+ richText: TLRichText;
2607
2594
  scale: number;
2608
- size: "l" | "m" | "s" | "xl";
2609
- textAlign: "end" | "middle" | "start";
2595
+ size: TLDefaultSizeStyle;
2596
+ textAlign: TLDefaultTextAlignStyle;
2610
2597
  w: number;
2611
2598
  };
2612
2599
  rotation: number;
@@ -3142,6 +3129,7 @@ export declare interface TLUiActionItem<TransationKey extends string = string, I
3142
3129
  } | TransationKey;
3143
3130
  readonlyOk?: boolean;
3144
3131
  checkbox?: boolean;
3132
+ isRequiredA11yAction?: boolean;
3145
3133
  onSelect(source: TLUiEventSource): Promise<void> | void;
3146
3134
  }
3147
3135
 
@@ -3528,6 +3516,7 @@ export declare interface TLUiEventMap {
3528
3516
  'toggle-paste-at-cursor': null;
3529
3517
  'toggle-lock': null;
3530
3518
  'toggle-reduce-motion': null;
3519
+ 'toggle-keyboard-shortcuts': null;
3531
3520
  'toggle-edge-scrolling': null;
3532
3521
  'color-scheme': {
3533
3522
  value: string;
@@ -3552,6 +3541,7 @@ export declare interface TLUiEventMap {
3552
3541
  'copy-link': null;
3553
3542
  'image-replace': null;
3554
3543
  'video-replace': null;
3544
+ 'open-kbd-shortcuts': null;
3555
3545
  'rich-text': {
3556
3546
  operation: 'bold' | 'bulletList' | 'heading' | 'link-edit' | 'link-remove' | 'link-visit' | 'link' | 'strike';
3557
3547
  };
@@ -3930,7 +3920,7 @@ export declare interface TLUiTranslation {
3930
3920
  export declare type TLUiTranslationContextType = TLUiTranslation;
3931
3921
 
3932
3922
  /** @public */
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';
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';
3934
3924
 
3935
3925
  /** @public */
3936
3926
  export declare interface TLUiTranslationProviderProps {
@@ -4042,6 +4032,9 @@ export declare function ToggleFocusModeItem(): JSX_2.Element;
4042
4032
  /** @public @react */
4043
4033
  export declare function ToggleGridItem(): JSX_2.Element;
4044
4034
 
4035
+ /** @public @react */
4036
+ export declare function ToggleKeyboardShortcutsItem(): JSX_2.Element;
4037
+
4045
4038
  /** @public @react */
4046
4039
  export declare function ToggleLockMenuItem(): JSX_2.Element | null;
4047
4040
 
@@ -4149,10 +4142,10 @@ export declare function useDefaultColorTheme(): {
4149
4142
  /** @public */
4150
4143
  export declare function useDefaultHelpers(): {
4151
4144
  addDialog: (dialog: Omit<TLUiDialog, "id"> & {
4152
- id?: string | undefined;
4145
+ id?: string;
4153
4146
  }) => string;
4154
4147
  addToast: (toast: Omit<TLUiToast, "id"> & {
4155
- id?: string | undefined;
4148
+ id?: string;
4156
4149
  }) => string;
4157
4150
  clearDialogs: () => void;
4158
4151
  clearToasts: () => void;
@@ -4163,11 +4156,11 @@ export declare function useDefaultHelpers(): {
4163
4156
  getEmbedDefinition: (url: string) => TLEmbedResult;
4164
4157
  insertMedia: () => Promise<void>;
4165
4158
  isMobile: boolean;
4166
- msg: (id?: string | undefined) => string;
4167
- paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike | undefined) => Promise<void>;
4159
+ msg: (id?: Exclude<string, TLUiTranslationKey> | string) => string;
4160
+ paste: (data: ClipboardItem[] | DataTransfer, source: TLUiEventSource, point?: VecLike) => Promise<void>;
4168
4161
  printSelectionOrPages: () => Promise<void>;
4169
4162
  removeDialog: (id: string) => string;
4170
- removeToast: (id: string) => string;
4163
+ removeToast: (id: TLUiToast["id"]) => string;
4171
4164
  replaceImage: () => Promise<void>;
4172
4165
  replaceVideo: () => Promise<void>;
4173
4166
  };
@@ -4183,7 +4176,7 @@ export declare function useEditablePlainText(shapeId: TLShapeId, type: string, t
4183
4176
  }) => void;
4184
4177
  handleDoubleClick: (e: any) => any;
4185
4178
  handleFocus: () => void;
4186
- handleInputPointerDown: (e: React_3.PointerEvent<Element>) => void;
4179
+ handleInputPointerDown: (e: React_3.PointerEvent) => void;
4187
4180
  handleKeyDown: (e: KeyboardEvent) => void;
4188
4181
  handlePaste: (e: ClipboardEvent | React_3.ClipboardEvent<HTMLTextAreaElement>) => void;
4189
4182
  isEditing: boolean;
@@ -4200,9 +4193,9 @@ export declare function useEditableRichText(shapeId: TLShapeId, type: string, ri
4200
4193
  }) => void;
4201
4194
  handleDoubleClick: (e: any) => any;
4202
4195
  handleFocus: () => void;
4203
- handleInputPointerDown: (e: PointerEvent_2<Element>) => void;
4196
+ handleInputPointerDown: (e: React.PointerEvent) => void;
4204
4197
  handleKeyDown: (e: KeyboardEvent) => void;
4205
- handlePaste: (e: ClipboardEvent | ClipboardEvent_2<HTMLTextAreaElement>) => void;
4198
+ handlePaste: (e: ClipboardEvent | React.ClipboardEvent<HTMLTextAreaElement>) => void;
4206
4199
  isEditing: boolean;
4207
4200
  isEmpty: boolean | undefined;
4208
4201
  isReadyForEditing: boolean;
@@ -4361,7 +4354,7 @@ export declare class ZoomTool extends StateNode {
4361
4354
  static children(): TLStateNodeConstructor[];
4362
4355
  static isLockable: boolean;
4363
4356
  info: TLPointerEventInfo & {
4364
- onInteractionEnd?: string | undefined;
4357
+ onInteractionEnd?: string;
4365
4358
  };
4366
4359
  onEnter(info: TLPointerEventInfo & {
4367
4360
  onInteractionEnd: string;
package/dist-cjs/index.js CHANGED
@@ -253,6 +253,7 @@ __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,
256
257
  ToggleLockMenuItem: () => import_menu_items.ToggleLockMenuItem,
257
258
  TogglePasteAtCursorItem: () => import_menu_items.TogglePasteAtCursorItem,
258
259
  ToggleReduceMotionItem: () => import_menu_items.ToggleReduceMotionItem,
@@ -370,14 +371,12 @@ var import_usePrefersReducedMotion = require("./lib/shapes/shared/usePrefersRedu
370
371
  var import_A11y = require("./lib/ui/components/A11y");
371
372
  var import_ColorSchemeMenu = require("./lib/ui/components/ColorSchemeMenu");
372
373
  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");
377
378
  var import_useTranslation = require("./lib/ui/hooks/useTranslation/useTranslation");
378
379
  __reExport(index_exports, require("@tldraw/editor"), module.exports);
379
- var import_Tldraw = require("./lib/Tldraw");
380
- var import_TldrawImage = require("./lib/TldrawImage");
381
380
  var import_ArrowBindingUtil = require("./lib/bindings/arrow/ArrowBindingUtil");
382
381
  var import_TldrawHandles = require("./lib/canvas/TldrawHandles");
383
382
  var import_TldrawOverlays = require("./lib/canvas/TldrawOverlays");
@@ -409,11 +408,11 @@ var import_LineShapeTool = require("./lib/shapes/line/LineShapeTool");
409
408
  var import_LineShapeUtil = require("./lib/shapes/line/LineShapeUtil");
410
409
  var import_NoteShapeTool = require("./lib/shapes/note/NoteShapeTool");
411
410
  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");
414
411
  var import_crop = require("./lib/shapes/shared/crop");
415
412
  var import_default_shape_constants = require("./lib/shapes/shared/default-shape-constants");
416
413
  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");
417
416
  var import_useDefaultColorTheme = require("./lib/shapes/shared/useDefaultColorTheme");
418
417
  var import_useEditablePlainText = require("./lib/shapes/shared/useEditablePlainText");
419
418
  var import_useEditableRichText = require("./lib/shapes/shared/useEditableRichText");
@@ -423,12 +422,13 @@ var import_RichTextArea = require("./lib/shapes/text/RichTextArea");
423
422
  var import_TextShapeTool = require("./lib/shapes/text/TextShapeTool");
424
423
  var import_TextShapeUtil = require("./lib/shapes/text/TextShapeUtil");
425
424
  var import_VideoShapeUtil = require("./lib/shapes/video/VideoShapeUtil");
425
+ var import_Tldraw = require("./lib/Tldraw");
426
+ var import_TldrawImage = require("./lib/TldrawImage");
426
427
  var import_EraserTool = require("./lib/tools/EraserTool/EraserTool");
427
428
  var import_HandTool = require("./lib/tools/HandTool/HandTool");
428
429
  var import_LaserTool = require("./lib/tools/LaserTool/LaserTool");
429
430
  var import_SelectTool = require("./lib/tools/SelectTool/SelectTool");
430
431
  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,15 +437,16 @@ 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_DefaultHelpMenu = require("./lib/ui/components/HelpMenu/DefaultHelpMenu");
441
- var import_DefaultHelpMenuContent = require("./lib/ui/components/HelpMenu/DefaultHelpMenuContent");
442
440
  var import_DefaultHelperButtons = require("./lib/ui/components/HelperButtons/DefaultHelperButtons");
443
441
  var import_DefaultHelperButtonsContent = require("./lib/ui/components/HelperButtons/DefaultHelperButtonsContent");
442
+ var import_DefaultHelpMenu = require("./lib/ui/components/HelpMenu/DefaultHelpMenu");
443
+ var import_DefaultHelpMenuContent = require("./lib/ui/components/HelpMenu/DefaultHelpMenuContent");
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");
449
450
  var import_DefaultMinimap = require("./lib/ui/components/Minimap/DefaultMinimap");
450
451
  var import_MobileStylePanel = require("./lib/ui/components/MobileStylePanel");
451
452
  var import_DefaultNavigationPanel = require("./lib/ui/components/NavigationPanel/DefaultNavigationPanel");
@@ -453,6 +454,25 @@ var import_OfflineIndicator = require("./lib/ui/components/OfflineIndicator/Offl
453
454
  var import_DefaultPageMenu = require("./lib/ui/components/PageMenu/DefaultPageMenu");
454
455
  var import_PageItemInput = require("./lib/ui/components/PageMenu/PageItemInput");
455
456
  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");
456
476
  var import_DefaultQuickActions = require("./lib/ui/components/QuickActions/DefaultQuickActions");
457
477
  var import_DefaultQuickActionsContent = require("./lib/ui/components/QuickActions/DefaultQuickActionsContent");
458
478
  var import_DefaultSharePanel = require("./lib/ui/components/SharePanel/DefaultSharePanel");
@@ -473,28 +493,7 @@ var import_CenteredTopPanelContainer = require("./lib/ui/components/TopPanel/Cen
473
493
  var import_DefaultTopPanel = require("./lib/ui/components/TopPanel/DefaultTopPanel");
474
494
  var import_DefaultZoomMenu = require("./lib/ui/components/ZoomMenu/DefaultZoomMenu");
475
495
  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");
498
497
  var import_a11y = require("./lib/ui/context/a11y");
499
498
  var import_actions = require("./lib/ui/context/actions");
500
499
  var import_asset_urls = require("./lib/ui/context/asset-urls");
@@ -502,6 +501,7 @@ var import_breakpoints = require("./lib/ui/context/breakpoints");
502
501
  var import_components = require("./lib/ui/context/components");
503
502
  var import_dialogs = require("./lib/ui/context/dialogs");
504
503
  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,6 +516,7 @@ 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");
519
520
  var import_assets = require("./lib/utils/assets/assets");
520
521
  var import_preload_font = require("./lib/utils/assets/preload-font");
521
522
  var import_embeds = require("./lib/utils/embeds/embeds");
@@ -532,7 +533,7 @@ var import_buildFromV1Document = require("./lib/utils/tldr/buildFromV1Document")
532
533
  var import_file = require("./lib/utils/tldr/file");
533
534
  (0, import_editor.registerTldrawLibraryVersion)(
534
535
  "tldraw",
535
- "3.15.0-canary.db14db4f5395",
536
+ "3.15.0-next.d30ed5ad740e",
536
537
  "cjs"
537
538
  );
538
539
  //# sourceMappingURL=index.js.map