tldraw 3.16.0-canary.6074088f67bd → 3.16.0-canary.62bc202550a3

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 (144) hide show
  1. package/dist-cjs/index.d.ts +132 -101
  2. package/dist-cjs/index.js +25 -14
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -3
  5. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  6. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js +0 -2
  7. package/dist-cjs/lib/shapes/shared/useEditablePlainText.js.map +2 -2
  8. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js +0 -2
  9. package/dist-cjs/lib/shapes/shared/useImageOrVideoAsset.js.map +2 -2
  10. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +9 -4
  11. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  12. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +255 -316
  13. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  14. package/dist-cjs/lib/ui/components/{primitives/TldrawUiButtonPicker.js → StylePanel/StylePanelButtonPicker.js} +52 -45
  15. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js.map +7 -0
  16. package/dist-cjs/lib/ui/components/StylePanel/StylePanelContext.js +68 -0
  17. package/dist-cjs/lib/ui/components/StylePanel/StylePanelContext.js.map +7 -0
  18. package/dist-cjs/lib/ui/components/StylePanel/{DoubleDropdownPicker.js → StylePanelDoubleDropdownPicker.js} +23 -22
  19. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.js.map +7 -0
  20. package/dist-cjs/lib/ui/components/StylePanel/{DropdownPicker.js → StylePanelDropdownPicker.js} +23 -20
  21. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js.map +7 -0
  22. package/dist-cjs/lib/ui/components/StylePanel/StylePanelSubheading.js +28 -0
  23. package/dist-cjs/lib/ui/components/StylePanel/StylePanelSubheading.js.map +7 -0
  24. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js +3 -2
  25. package/dist-cjs/lib/ui/components/Toolbar/AltTextEditor.js.map +2 -2
  26. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +38 -9
  27. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  28. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js +15 -3
  29. package/dist-cjs/lib/ui/components/Toolbar/DefaultVideoToolbarContent.js.map +2 -2
  30. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js +3 -3
  31. package/dist-cjs/lib/ui/components/Toolbar/LinkEditor.js.map +2 -2
  32. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +10 -1
  33. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  34. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +17 -4
  35. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  36. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +2 -0
  37. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  38. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +7 -0
  39. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +2 -2
  40. package/dist-cjs/lib/ui/context/actions.js +7 -8
  41. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  42. package/dist-cjs/lib/ui/hooks/useExportAs.js +3 -2
  43. package/dist-cjs/lib/ui/hooks/useExportAs.js.map +2 -2
  44. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  45. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +1 -0
  46. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  47. package/dist-cjs/lib/ui/version.js +3 -3
  48. package/dist-cjs/lib/ui/version.js.map +1 -1
  49. package/dist-cjs/lib/utils/export/copyAs.js +1 -2
  50. package/dist-cjs/lib/utils/export/copyAs.js.map +2 -2
  51. package/dist-cjs/lib/utils/export/export.js +0 -20
  52. package/dist-cjs/lib/utils/export/export.js.map +2 -2
  53. package/dist-cjs/lib/utils/export/exportAs.js +1 -2
  54. package/dist-cjs/lib/utils/export/exportAs.js.map +2 -2
  55. package/dist-esm/index.d.mts +132 -101
  56. package/dist-esm/index.mjs +51 -28
  57. package/dist-esm/index.mjs.map +2 -2
  58. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +1 -3
  59. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  60. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs +0 -2
  61. package/dist-esm/lib/shapes/shared/useEditablePlainText.mjs.map +2 -2
  62. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs +0 -2
  63. package/dist-esm/lib/shapes/shared/useImageOrVideoAsset.mjs.map +2 -2
  64. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +14 -5
  65. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  66. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +257 -320
  67. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  68. package/dist-esm/lib/ui/components/{primitives/TldrawUiButtonPicker.mjs → StylePanel/StylePanelButtonPicker.mjs} +54 -43
  69. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs.map +7 -0
  70. package/dist-esm/lib/ui/components/StylePanel/StylePanelContext.mjs +48 -0
  71. package/dist-esm/lib/ui/components/StylePanel/StylePanelContext.mjs.map +7 -0
  72. package/dist-esm/lib/ui/components/StylePanel/{DoubleDropdownPicker.mjs → StylePanelDoubleDropdownPicker.mjs} +20 -19
  73. package/dist-esm/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.mjs.map +7 -0
  74. package/dist-esm/lib/ui/components/StylePanel/{DropdownPicker.mjs → StylePanelDropdownPicker.mjs} +20 -17
  75. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs.map +7 -0
  76. package/dist-esm/lib/ui/components/StylePanel/StylePanelSubheading.mjs +8 -0
  77. package/dist-esm/lib/ui/components/StylePanel/StylePanelSubheading.mjs.map +7 -0
  78. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs +3 -2
  79. package/dist-esm/lib/ui/components/Toolbar/AltTextEditor.mjs.map +2 -2
  80. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +38 -9
  81. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  82. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs +15 -3
  83. package/dist-esm/lib/ui/components/Toolbar/DefaultVideoToolbarContent.mjs.map +2 -2
  84. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs +3 -3
  85. package/dist-esm/lib/ui/components/Toolbar/LinkEditor.mjs.map +2 -2
  86. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +10 -1
  87. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  88. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +17 -4
  89. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  90. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +2 -0
  91. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  92. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +7 -0
  93. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +2 -2
  94. package/dist-esm/lib/ui/context/actions.mjs +7 -8
  95. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  96. package/dist-esm/lib/ui/hooks/useExportAs.mjs +3 -2
  97. package/dist-esm/lib/ui/hooks/useExportAs.mjs.map +2 -2
  98. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +1 -0
  99. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  100. package/dist-esm/lib/ui/version.mjs +3 -3
  101. package/dist-esm/lib/ui/version.mjs.map +1 -1
  102. package/dist-esm/lib/utils/export/copyAs.mjs +1 -2
  103. package/dist-esm/lib/utils/export/copyAs.mjs.map +2 -2
  104. package/dist-esm/lib/utils/export/export.mjs +0 -20
  105. package/dist-esm/lib/utils/export/export.mjs.map +2 -2
  106. package/dist-esm/lib/utils/export/exportAs.mjs +1 -2
  107. package/dist-esm/lib/utils/export/exportAs.mjs.map +2 -2
  108. package/package.json +3 -3
  109. package/src/index.ts +38 -21
  110. package/src/lib/shapes/shared/PlainTextLabel.tsx +0 -6
  111. package/src/lib/shapes/shared/useEditablePlainText.ts +0 -6
  112. package/src/lib/shapes/shared/useImageOrVideoAsset.ts +0 -7
  113. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +27 -13
  114. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +260 -381
  115. package/src/lib/ui/components/{primitives/TldrawUiButtonPicker.tsx → StylePanel/StylePanelButtonPicker.tsx} +63 -50
  116. package/src/lib/ui/components/StylePanel/StylePanelContext.tsx +63 -0
  117. package/src/lib/ui/components/StylePanel/{DoubleDropdownPicker.tsx → StylePanelDoubleDropdownPicker.tsx} +28 -19
  118. package/src/lib/ui/components/StylePanel/StylePanelDropdownPicker.tsx +119 -0
  119. package/src/lib/ui/components/StylePanel/StylePanelSubheading.tsx +9 -0
  120. package/src/lib/ui/components/Toolbar/AltTextEditor.tsx +4 -3
  121. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +32 -15
  122. package/src/lib/ui/components/Toolbar/DefaultVideoToolbarContent.tsx +12 -4
  123. package/src/lib/ui/components/Toolbar/LinkEditor.tsx +5 -5
  124. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +6 -1
  125. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +50 -30
  126. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +3 -0
  127. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +10 -0
  128. package/src/lib/ui/context/actions.tsx +7 -8
  129. package/src/lib/ui/hooks/useExportAs.ts +3 -2
  130. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +1 -0
  131. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +1 -0
  132. package/src/lib/ui/version.ts +3 -3
  133. package/src/lib/ui.css +16 -2
  134. package/src/lib/utils/export/copyAs.ts +1 -24
  135. package/src/lib/utils/export/export.ts +0 -36
  136. package/src/lib/utils/export/exportAs.ts +1 -32
  137. package/tldraw.css +16 -2
  138. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +0 -7
  139. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +0 -7
  140. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +0 -7
  141. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +0 -7
  142. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +0 -7
  143. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +0 -7
  144. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +0 -110
@@ -68,7 +68,6 @@ import { TLClickEventInfo } from '@tldraw/editor';
68
68
  import { TLContent } from '@tldraw/editor';
69
69
  import { TLCropInfo } from '@tldraw/editor';
70
70
  import { TLDefaultColorStyle } from '@tldraw/editor';
71
- import { TLDefaultColorTheme } from '@tldraw/editor';
72
71
  import { TLDefaultColorThemeColor } from '@tldraw/editor';
73
72
  import { TLDefaultDashStyle } from '@tldraw/editor';
74
73
  import { TLDefaultFillStyle } from '@tldraw/editor';
@@ -193,9 +192,6 @@ export declare class ArrowBindingUtil extends BindingUtil<TLArrowBinding> {
193
192
  /** @public @react */
194
193
  export declare function ArrowDownToolbarItem(): JSX_2.Element;
195
194
 
196
- /** @public @react */
197
- export declare function ArrowheadStylePickerSet({ styles }: StylePickerSetProps): JSX_2.Element | null;
198
-
199
195
  /** @public @react */
200
196
  export declare function ArrowLeftToolbarItem(): JSX_2.Element;
201
197
 
@@ -500,9 +496,6 @@ export declare function CloudToolbarItem(): JSX_2.Element;
500
496
  /** @public @react */
501
497
  export declare function ColorSchemeMenu(): JSX_2.Element;
502
498
 
503
- /** @public @react */
504
- export declare function CommonStylePickerSet({ styles, theme }: ThemeStylePickerSetProps): JSX_2.Element;
505
-
506
499
  /**
507
500
  * Contains the size within the given box size
508
501
  *
@@ -534,14 +527,6 @@ export declare function ConvertToEmbedMenuItem(): JSX_2.Element | null;
534
527
  */
535
528
  export declare function copyAs(editor: Editor, ids: TLShapeId[], opts: CopyAsOptions): Promise<void>;
536
529
 
537
- /**
538
- * @deprecated The format parameter is now part of the opts object.
539
- * @public
540
- */
541
- export declare function copyAs(editor: Editor, ids: TLShapeId[], format: TLCopyType, opts?: TLImageExportOptions & {
542
- format?: undefined;
543
- }): Promise<void>;
544
-
545
530
  /** @public @react */
546
531
  export declare function CopyAsMenuGroup(): JSX_2.Element;
547
532
 
@@ -999,7 +984,7 @@ export declare function DefaultSharePanel(): JSX_2.Element;
999
984
  export declare const DefaultStylePanel: NamedExoticComponent<TLUiStylePanelProps>;
1000
985
 
1001
986
  /** @public @react */
1002
- export declare function DefaultStylePanelContent({ styles }: TLUiStylePanelContentProps): JSX_2.Element | null;
987
+ export declare function DefaultStylePanelContent(): JSX_2.Element;
1003
988
 
1004
989
  /** @public @react */
1005
990
  export declare const DefaultToasts: NamedExoticComponent<object>;
@@ -1492,12 +1477,6 @@ export declare interface ExampleDialogProps {
1492
1477
  */
1493
1478
  export declare function exportAs(editor: Editor, ids: TLShapeId[], opts: ExportAsOptions): Promise<void>;
1494
1479
 
1495
- /**
1496
- * @deprecated The format & name parameters are now part of the opts object.
1497
- * @public
1498
- */
1499
- export declare function exportAs(editor: Editor, ids: TLShapeId[], format?: TLExportType, name?: string, opts?: TLImageExportOptions): Promise<void>;
1500
-
1501
1480
  /** @public */
1502
1481
  export declare interface ExportAsOptions extends TLImageExportOptions {
1503
1482
  /** {@inheritdoc @tldraw/editor#TLImageExportOptions.format} */
@@ -1509,23 +1488,6 @@ export declare interface ExportAsOptions extends TLImageExportOptions {
1509
1488
  /** @public @react */
1510
1489
  export declare function ExportFileContentSubMenu(): JSX_2.Element;
1511
1490
 
1512
- /**
1513
- * Export the given shapes as a blob.
1514
- * @param editor - The editor instance.
1515
- * @param ids - The ids of the shapes to export.
1516
- * @param format - The format to export as.
1517
- * @param opts - Rendering options.
1518
- * @returns A promise that resolves to a blob.
1519
- * @deprecated Use {@link @tldraw/editor#Editor.toImage} instead.
1520
- * @public
1521
- */
1522
- export declare function exportToBlob({ editor, ids, format, opts, }: {
1523
- editor: Editor;
1524
- format: TLExportType;
1525
- ids: TLShapeId[];
1526
- opts?: TLImageExportOptions;
1527
- }): Promise<Blob>;
1528
-
1529
1491
  /** @public @react */
1530
1492
  export declare function ExtrasGroup(): JSX_2.Element;
1531
1493
 
@@ -1740,9 +1702,6 @@ export declare class GeoShapeUtil extends BaseBoxShapeUtil<TLGeoShape> {
1740
1702
  getInterpolatedProps(startShape: TLGeoShape, endShape: TLGeoShape, t: number): TLGeoShapeProps;
1741
1703
  }
1742
1704
 
1743
- /** @public @react */
1744
- export declare function GeoStylePickerSet({ styles }: StylePickerSetProps): JSX_2.Element | null;
1745
-
1746
1705
  /** @public */
1747
1706
  export declare function getArrowBindings(editor: Editor, shape: TLArrowShape): TLArrowBindings;
1748
1707
 
@@ -2190,9 +2149,6 @@ export declare interface OnDragFromToolbarToCreateShapesOpts {
2190
2149
  onDragEnd?(id: TLShapeId): void;
2191
2150
  }
2192
2151
 
2193
- /** @public @react */
2194
- export declare function OpacitySlider(): JSX_2.Element | null;
2195
-
2196
2152
  /** @public @react */
2197
2153
  export declare function OvalToolbarItem(): JSX_2.Element;
2198
2154
 
@@ -2584,9 +2540,6 @@ export declare interface SolidPathBuilderOpts extends BasePathBuilderOpts {
2584
2540
 
2585
2541
  /* Excluded from this release type: Spinner */
2586
2542
 
2587
- /** @public @react */
2588
- export declare function SplineStylePickerSet({ styles }: StylePickerSetProps): JSX_2.Element | null;
2589
-
2590
2543
  /** @public @react */
2591
2544
  export declare function StackMenuItems(): JSX_2.Element;
2592
2545
 
@@ -2644,11 +2597,124 @@ export declare interface StrokePoint {
2644
2597
  radius: number;
2645
2598
  }
2646
2599
 
2600
+ /** @public @react */
2601
+ export declare function StylePanelArrowheadPicker(): JSX_2.Element | null;
2602
+
2603
+ /** @public @react */
2604
+ export declare function StylePanelArrowKindPicker(): JSX_2.Element | null;
2605
+
2647
2606
  /** @public */
2648
- export declare interface StylePickerSetProps {
2607
+ export declare const StylePanelButtonPicker: <T extends string>(props: StylePanelButtonPickerProps<T>) => ReactElement;
2608
+
2609
+ /** @public */
2610
+ export declare interface StylePanelButtonPickerProps<T extends string> {
2611
+ title: string;
2612
+ uiType: string;
2613
+ style: StyleProp<T>;
2614
+ value: SharedStyle<T>;
2615
+ items: StyleValuesForUi<T>;
2616
+ onValueChange?(style: StyleProp<T>, value: T): void;
2617
+ onHistoryMark?(id: string): void;
2618
+ }
2619
+
2620
+ /** @public @react */
2621
+ export declare function StylePanelColorPicker(): JSX_2.Element | null;
2622
+
2623
+ /** @public */
2624
+ export declare interface StylePanelContext {
2625
+ styles: ReadonlySharedStyleMap;
2626
+ showUiLabels: boolean;
2627
+ onHistoryMark(id: string): void;
2628
+ onValueChange<T>(style: StyleProp<T>, value: T): void;
2629
+ }
2630
+
2631
+ /** @public @react */
2632
+ export declare function StylePanelContextProvider({ children, styles }: StylePanelContextProviderProps): JSX_2.Element;
2633
+
2634
+ /** @public */
2635
+ export declare interface StylePanelContextProviderProps {
2636
+ children: React.ReactNode;
2649
2637
  styles: ReadonlySharedStyleMap;
2650
2638
  }
2651
2639
 
2640
+ /** @public @react */
2641
+ export declare function StylePanelDashPicker(): JSX_2.Element | null;
2642
+
2643
+ /** @public @react */
2644
+ export declare const StylePanelDoubleDropdownPicker: <T extends string>(props: StylePanelDoubleDropdownPickerProps<T>) => React_2.JSX.Element;
2645
+
2646
+ /** @public */
2647
+ export declare interface StylePanelDoubleDropdownPickerProps<T extends string> {
2648
+ uiTypeA: string;
2649
+ uiTypeB: string;
2650
+ label: Exclude<string, TLUiTranslationKey> | TLUiTranslationKey;
2651
+ labelA: Exclude<string, TLUiTranslationKey> | TLUiTranslationKey;
2652
+ labelB: Exclude<string, TLUiTranslationKey> | TLUiTranslationKey;
2653
+ itemsA: StyleValuesForUi<T>;
2654
+ itemsB: StyleValuesForUi<T>;
2655
+ styleA: StyleProp<T>;
2656
+ styleB: StyleProp<T>;
2657
+ valueA: SharedStyle<T>;
2658
+ valueB: SharedStyle<T>;
2659
+ onValueChange?(style: StyleProp<T>, value: T): void;
2660
+ }
2661
+
2662
+ /** @public @react */
2663
+ export declare const StylePanelDropdownPicker: <T extends string>(props: StylePanelDropdownPickerProps<T>) => React_2.JSX.Element;
2664
+
2665
+ /** @public */
2666
+ export declare interface StylePanelDropdownPickerProps<T extends string> {
2667
+ id: string;
2668
+ label?: Exclude<string, TLUiTranslationKey> | TLUiTranslationKey;
2669
+ uiType: string;
2670
+ stylePanelType: string;
2671
+ style: StyleProp<T>;
2672
+ value: SharedStyle<T>;
2673
+ items: StyleValuesForUi<T>;
2674
+ type: 'icon' | 'menu' | 'tool';
2675
+ onValueChange?(style: StyleProp<T>, value: T): void;
2676
+ }
2677
+
2678
+ /** @public @react */
2679
+ export declare function StylePanelFillPicker(): JSX_2.Element | null;
2680
+
2681
+ /** @public @react */
2682
+ export declare function StylePanelFontPicker(): JSX_2.Element | null;
2683
+
2684
+ /** @public @react */
2685
+ export declare function StylePanelGeoShapePicker(): JSX_2.Element | null;
2686
+
2687
+ /** @public @react */
2688
+ export declare function StylePanelLabelAlignPicker(): JSX_2.Element | null;
2689
+
2690
+ /** @public @react */
2691
+ export declare function StylePanelOpacityPicker(): JSX_2.Element | null;
2692
+
2693
+ /** @public @react */
2694
+ export declare function StylePanelSection({ children }: StylePanelSectionProps): JSX_2.Element;
2695
+
2696
+ /** @public */
2697
+ export declare interface StylePanelSectionProps {
2698
+ children: React_3.ReactNode;
2699
+ }
2700
+
2701
+ /** @public @react */
2702
+ export declare function StylePanelSizePicker(): JSX_2.Element | null;
2703
+
2704
+ /** @public @react */
2705
+ export declare function StylePanelSplinePicker(): JSX_2.Element | null;
2706
+
2707
+ /** @public @react */
2708
+ export declare function StylePanelSubheading({ children }: StylePanelSubheadingProps): JSX_2.Element;
2709
+
2710
+ /** @public */
2711
+ export declare interface StylePanelSubheadingProps {
2712
+ children: React.ReactNode;
2713
+ }
2714
+
2715
+ /** @public @react */
2716
+ export declare function StylePanelTextAlignPicker(): JSX_2.Element | null;
2717
+
2652
2718
  /** @public */
2653
2719
  export declare type StyleValuesForUi<T> = readonly {
2654
2720
  readonly icon: string | TLUiIconJsx;
@@ -2688,12 +2754,6 @@ export declare interface TextAreaProps {
2688
2754
  */
2689
2755
  export declare const TextDirection: Extension<any, any>;
2690
2756
 
2691
- /**
2692
- * @deprecated Use `PlainTextLabel` instead.
2693
- * @public
2694
- */
2695
- export declare const TextLabel: React_3.NamedExoticComponent<PlainTextLabelProps>;
2696
-
2697
2757
  /** @public */
2698
2758
  export declare interface TextShapeOptions {
2699
2759
  /** How much addition padding should be added to the horizontal geometry of the shape when binding to an arrow? */
@@ -2771,18 +2831,9 @@ export declare class TextShapeUtil extends ShapeUtil<TLTextShape> {
2771
2831
  } | undefined;
2772
2832
  }
2773
2833
 
2774
- /** @public @react */
2775
- export declare function TextStylePickerSet({ theme, styles }: ThemeStylePickerSetProps): JSX_2.Element | null;
2776
-
2777
2834
  /** @public @react */
2778
2835
  export declare function TextToolbarItem(): JSX_2.Element;
2779
2836
 
2780
- /** @public */
2781
- export declare interface ThemeStylePickerSetProps {
2782
- styles: ReadonlySharedStyleMap;
2783
- theme: TLDefaultColorTheme;
2784
- }
2785
-
2786
2837
  /**
2787
2838
  * Default extensions for the TipTap editor.
2788
2839
  *
@@ -3039,9 +3090,6 @@ export declare function TldrawUiButtonIcon({ icon, small, invertIcon }: TLUiButt
3039
3090
  /** @public @react */
3040
3091
  export declare function TldrawUiButtonLabel({ children }: TLUiButtonLabelProps): JSX_2.Element;
3041
3092
 
3042
- /** @public */
3043
- export declare const TldrawUiButtonPicker: <T extends string>(props: TLUiButtonPickerProps<T>) => ReactElement;
3044
-
3045
3093
  /**
3046
3094
  * A column, usually of UI controls like buttons, select dropdown, checkboxes, etc.
3047
3095
  *
@@ -3221,7 +3269,7 @@ export declare const TldrawUiToolbar: React_3.ForwardRefExoticComponent<TLUiTool
3221
3269
  export declare const TldrawUiToolbarButton: React_3.ForwardRefExoticComponent<TLUiToolbarButtonProps & React_3.RefAttributes<HTMLButtonElement>>;
3222
3270
 
3223
3271
  /** @public @react */
3224
- export declare const TldrawUiToolbarToggleGroup: ({ children, className, type, ...props }: TLUiToolbarToggleGroupProps) => JSX_2.Element;
3272
+ export declare const TldrawUiToolbarToggleGroup: ({ children, className, type, asChild, ...props }: TLUiToolbarToggleGroupProps) => JSX_2.Element;
3225
3273
 
3226
3274
  /** @public @react */
3227
3275
  export declare const TldrawUiToolbarToggleItem: ({ children, className, type, value, tooltip, ...props }: TLUiToolbarToggleItemProps) => JSX_2.Element;
@@ -3408,18 +3456,6 @@ export declare interface TLUiButtonLabelProps {
3408
3456
  children?: ReactNode;
3409
3457
  }
3410
3458
 
3411
- /** @public */
3412
- export declare interface TLUiButtonPickerProps<T extends string> {
3413
- title: string;
3414
- uiType: string;
3415
- style: StyleProp<T>;
3416
- value: SharedStyle<T>;
3417
- items: StyleValuesForUi<T>;
3418
- theme: TLDefaultColorTheme;
3419
- onValueChange(style: StyleProp<T>, value: T): void;
3420
- onHistoryMark?(id: string): void;
3421
- }
3422
-
3423
3459
  /** @public */
3424
3460
  export declare interface TLUiButtonProps extends React_2.HTMLAttributes<HTMLButtonElement> {
3425
3461
  disabled?: boolean;
@@ -4060,14 +4096,10 @@ export declare interface TLUiSliderProps {
4060
4096
  ariaValueModifier?: number;
4061
4097
  }
4062
4098
 
4063
- /** @public */
4064
- export declare interface TLUiStylePanelContentProps {
4065
- styles: ReturnType<typeof useRelevantStyles>;
4066
- }
4067
-
4068
4099
  /** @public */
4069
4100
  export declare interface TLUiStylePanelProps {
4070
4101
  isMobile?: boolean;
4102
+ styles?: null | ReadonlySharedStyleMap;
4071
4103
  children?: ReactNode;
4072
4104
  }
4073
4105
 
@@ -4136,6 +4168,7 @@ export declare interface TLUiToolbarToggleGroupProps extends React_3.HTMLAttribu
4136
4168
  value: any;
4137
4169
  defaultValue?: any;
4138
4170
  type: 'multiple' | 'single';
4171
+ asChild?: boolean;
4139
4172
  }
4140
4173
 
4141
4174
  /** @public */
@@ -4190,7 +4223,7 @@ export declare interface TLUiTranslation {
4190
4223
  export declare type TLUiTranslationContextType = TLUiTranslation;
4191
4224
 
4192
4225
  /** @public */
4193
- 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.rotate-shape-ccw-fine' | 'a11y.rotate-shape-ccw' | 'a11y.rotate-shape-cw-fine' | 'a11y.rotate-shape-cw' | '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-ui-labels.menu' | 'action.toggle-ui-labels' | '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-2' | '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.accessibility' | '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';
4226
+ 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.rotate-shape-ccw-fine' | 'a11y.rotate-shape-ccw' | 'a11y.rotate-shape-cw-fine' | 'a11y.rotate-shape-cw' | '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-ui-labels.menu' | 'action.toggle-ui-labels' | '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-2' | '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.accessibility' | '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-confirm' | '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';
4194
4227
 
4195
4228
  /** @public */
4196
4229
  export declare interface TLUiTranslationProviderProps {
@@ -4372,13 +4405,6 @@ export declare function useA11y(): TLUiA11yContextType;
4372
4405
  /** @public */
4373
4406
  export declare function useActions(): TLUiActionsContextType;
4374
4407
 
4375
- /**
4376
- * @deprecated Use {@link useImageOrVideoAsset} instead.
4377
- *
4378
- * @public
4379
- */
4380
- export declare const useAsset: typeof useImageOrVideoAsset;
4381
-
4382
4408
  /* Excluded from this release type: useAssetUrls */
4383
4409
 
4384
4410
  /** @public */
@@ -4433,7 +4459,11 @@ export declare function useDefaultHelpers(): {
4433
4459
  copy: (source: TLUiEventSource) => Promise<void>;
4434
4460
  copyAs: (ids: TLShapeId[], format?: TLCopyType) => void;
4435
4461
  cut: (source: TLUiEventSource) => Promise<void>;
4436
- exportAs: (ids: TLShapeId[], format: TLExportType | undefined, name: string | undefined) => void;
4462
+ exportAs: (ids: TLShapeId[], opts?: {
4463
+ format?: TLExportType;
4464
+ name?: string;
4465
+ scale?: number;
4466
+ }) => void;
4437
4467
  getEmbedDefinition: (url: string) => TLEmbedResult;
4438
4468
  insertMedia: () => Promise<void>;
4439
4469
  isMobile: boolean;
@@ -4483,14 +4513,12 @@ export declare function useEditableRichText(shapeId: TLShapeId, type: string, ri
4483
4513
  rInput: RefObject<HTMLDivElement>;
4484
4514
  };
4485
4515
 
4486
- /**
4487
- * @deprecated Use `useEditablePlainText` instead.
4488
- * @public
4489
- */
4490
- export declare const useEditableText: typeof useEditablePlainText;
4491
-
4492
4516
  /** @public */
4493
- export declare function useExportAs(): (ids: TLShapeId[], format: TLExportType | undefined, name: string | undefined) => void;
4517
+ export declare function useExportAs(): (ids: TLShapeId[], opts?: {
4518
+ format?: TLExportType;
4519
+ name?: string;
4520
+ scale?: number;
4521
+ }) => void;
4494
4522
 
4495
4523
  /**
4496
4524
  * This is a handy helper hook that resolves an asset to an optimized URL for a given shape, or its
@@ -4564,6 +4592,9 @@ export declare const useSelectedShapesAnnouncer: () => void;
4564
4592
  /** @public */
4565
4593
  export declare function useShowCollaborationUi(): boolean;
4566
4594
 
4595
+ /** @public */
4596
+ export declare function useStylePanelContext(): StylePanelContext;
4597
+
4567
4598
  /** @public */
4568
4599
  export declare function useTldrawUiComponents(): TLUiComponents;
4569
4600
 
@@ -109,19 +109,15 @@ import {
109
109
  } from "./lib/shapes/shared/defaultFonts.mjs";
110
110
  import { getStrokePoints } from "./lib/shapes/shared/freehand/getStrokePoints.mjs";
111
111
  import { getSvgPathFromStrokePoints } from "./lib/shapes/shared/freehand/svg.mjs";
112
- import {
113
- PlainTextLabel,
114
- TextLabel
115
- } from "./lib/shapes/shared/PlainTextLabel.mjs";
112
+ import { PlainTextLabel } from "./lib/shapes/shared/PlainTextLabel.mjs";
116
113
  import {
117
114
  RichTextLabel,
118
115
  RichTextSVG
119
116
  } from "./lib/shapes/shared/RichTextLabel.mjs";
120
117
  import { useDefaultColorTheme } from "./lib/shapes/shared/useDefaultColorTheme.mjs";
121
- import { useEditablePlainText, useEditableText } from "./lib/shapes/shared/useEditablePlainText.mjs";
118
+ import { useEditablePlainText } from "./lib/shapes/shared/useEditablePlainText.mjs";
122
119
  import { useEditableRichText } from "./lib/shapes/shared/useEditableRichText.mjs";
123
120
  import {
124
- useAsset,
125
121
  useImageOrVideoAsset
126
122
  } from "./lib/shapes/shared/useImageOrVideoAsset.mjs";
127
123
  import { PlainTextArea } from "./lib/shapes/text/PlainTextArea.mjs";
@@ -277,9 +273,6 @@ import {
277
273
  import {
278
274
  TldrawUiMenuSubmenu
279
275
  } from "./lib/ui/components/primitives/menus/TldrawUiMenuSubmenu.mjs";
280
- import {
281
- TldrawUiButtonPicker
282
- } from "./lib/ui/components/primitives/TldrawUiButtonPicker.mjs";
283
276
  import {
284
277
  TldrawUiContextualToolbar
285
278
  } from "./lib/ui/components/primitives/TldrawUiContextualToolbar.mjs";
@@ -333,14 +326,37 @@ import {
333
326
  DefaultStylePanel
334
327
  } from "./lib/ui/components/StylePanel/DefaultStylePanel.mjs";
335
328
  import {
336
- ArrowheadStylePickerSet,
337
- CommonStylePickerSet,
338
329
  DefaultStylePanelContent,
339
- GeoStylePickerSet,
340
- OpacitySlider,
341
- SplineStylePickerSet,
342
- TextStylePickerSet
330
+ StylePanelArrowheadPicker,
331
+ StylePanelArrowKindPicker,
332
+ StylePanelColorPicker,
333
+ StylePanelDashPicker,
334
+ StylePanelFillPicker,
335
+ StylePanelFontPicker,
336
+ StylePanelGeoShapePicker,
337
+ StylePanelLabelAlignPicker,
338
+ StylePanelOpacityPicker,
339
+ StylePanelSection,
340
+ StylePanelSizePicker,
341
+ StylePanelSplinePicker,
342
+ StylePanelTextAlignPicker
343
343
  } from "./lib/ui/components/StylePanel/DefaultStylePanelContent.mjs";
344
+ import {
345
+ StylePanelButtonPicker
346
+ } from "./lib/ui/components/StylePanel/StylePanelButtonPicker.mjs";
347
+ import {
348
+ StylePanelContextProvider,
349
+ useStylePanelContext
350
+ } from "./lib/ui/components/StylePanel/StylePanelContext.mjs";
351
+ import {
352
+ StylePanelDoubleDropdownPicker
353
+ } from "./lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.mjs";
354
+ import {
355
+ StylePanelDropdownPicker
356
+ } from "./lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs";
357
+ import {
358
+ StylePanelSubheading
359
+ } from "./lib/ui/components/StylePanel/StylePanelSubheading.mjs";
344
360
  import {
345
361
  DefaultImageToolbar
346
362
  } from "./lib/ui/components/Toolbar/DefaultImageToolbar.mjs";
@@ -471,7 +487,6 @@ import { preloadFont } from "./lib/utils/assets/preload-font.mjs";
471
487
  import { getEmbedInfo } from "./lib/utils/embeds/embeds.mjs";
472
488
  import { putExcalidrawContent } from "./lib/utils/excalidraw/putExcalidrawContent.mjs";
473
489
  import { copyAs } from "./lib/utils/export/copyAs.mjs";
474
- import { exportToBlob } from "./lib/utils/export/export.mjs";
475
490
  import { downloadFile, exportAs } from "./lib/utils/export/exportAs.mjs";
476
491
  import { fitFrameToContent, removeFrame } from "./lib/utils/frames/frames.mjs";
477
492
  import {
@@ -509,7 +524,7 @@ import {
509
524
  } from "./lib/utils/tldr/file.mjs";
510
525
  registerTldrawLibraryVersion(
511
526
  "tldraw",
512
- "3.16.0-canary.6074088f67bd",
527
+ "3.16.0-canary.62bc202550a3",
513
528
  "esm"
514
529
  );
515
530
  export {
@@ -527,7 +542,6 @@ export {
527
542
  ArrowShapeUtil,
528
543
  ArrowToolbarItem,
529
544
  ArrowUpToolbarItem,
530
- ArrowheadStylePickerSet,
531
545
  AssetToolbarItem,
532
546
  AssetUrlsProvider,
533
547
  BookmarkShapeUtil,
@@ -537,7 +551,6 @@ export {
537
551
  ClipboardMenuGroup,
538
552
  CloudToolbarItem,
539
553
  ColorSchemeMenu,
540
- CommonStylePickerSet,
541
554
  DefaultContextMenu as ContextMenu,
542
555
  ConversionsMenuGroup,
543
556
  ConvertToBookmarkMenuItem,
@@ -615,7 +628,6 @@ export {
615
628
  FrameToolbarItem,
616
629
  GeoShapeTool,
617
630
  GeoShapeUtil,
618
- GeoStylePickerSet,
619
631
  GroupMenuItem,
620
632
  GroupOrUngroupMenuItem,
621
633
  HandTool,
@@ -643,7 +655,6 @@ export {
643
655
  NoteShapeUtil,
644
656
  NoteToolbarItem,
645
657
  OfflineIndicator,
646
- OpacitySlider,
647
658
  OvalToolbarItem,
648
659
  OverflowingToolbar,
649
660
  PORTRAIT_BREAKPOINT,
@@ -671,9 +682,26 @@ export {
671
682
  SelectTool,
672
683
  SelectToolbarItem,
673
684
  Spinner,
674
- SplineStylePickerSet,
675
685
  StackMenuItems,
676
686
  StarToolbarItem,
687
+ StylePanelArrowKindPicker,
688
+ StylePanelArrowheadPicker,
689
+ StylePanelButtonPicker,
690
+ StylePanelColorPicker,
691
+ StylePanelContextProvider,
692
+ StylePanelDashPicker,
693
+ StylePanelDoubleDropdownPicker,
694
+ StylePanelDropdownPicker,
695
+ StylePanelFillPicker,
696
+ StylePanelFontPicker,
697
+ StylePanelGeoShapePicker,
698
+ StylePanelLabelAlignPicker,
699
+ StylePanelOpacityPicker,
700
+ StylePanelSection,
701
+ StylePanelSizePicker,
702
+ StylePanelSplinePicker,
703
+ StylePanelSubheading,
704
+ StylePanelTextAlignPicker,
677
705
  TEXT_PROPS,
678
706
  TLDRAW_FILE_EXTENSION,
679
707
  TLV1AlignStyle,
@@ -685,10 +713,8 @@ export {
685
713
  TLV1ShapeType,
686
714
  TLV1SizeStyle,
687
715
  TextDirection,
688
- TextLabel,
689
716
  TextShapeTool,
690
717
  TextShapeUtil,
691
- TextStylePickerSet,
692
718
  TextToolbarItem,
693
719
  Tldraw,
694
720
  TldrawArrowHints,
@@ -705,7 +731,6 @@ export {
705
731
  TldrawUiButtonCheck,
706
732
  TldrawUiButtonIcon,
707
733
  TldrawUiButtonLabel,
708
- TldrawUiButtonPicker,
709
734
  TldrawUiColumn,
710
735
  TldrawUiComponentsProvider,
711
736
  TldrawUiContextProvider,
@@ -809,7 +834,6 @@ export {
809
834
  downsizeImage,
810
835
  embedShapePermissionDefaults,
811
836
  exportAs,
812
- exportToBlob,
813
837
  fitFrameToContent,
814
838
  getArrowBindings,
815
839
  getArrowInfo,
@@ -845,7 +869,6 @@ export {
845
869
  unwrapLabel,
846
870
  useA11y,
847
871
  useActions,
848
- useAsset,
849
872
  useAssetUrls,
850
873
  useBreakpoint,
851
874
  useCanRedo,
@@ -858,7 +881,6 @@ export {
858
881
  useDialogs,
859
882
  useEditablePlainText,
860
883
  useEditableRichText,
861
- useEditableText,
862
884
  useExportAs,
863
885
  useImageOrVideoAsset,
864
886
  useIsToolSelected,
@@ -872,6 +894,7 @@ export {
872
894
  useRelevantStyles,
873
895
  useSelectedShapesAnnouncer,
874
896
  useShowCollaborationUi,
897
+ useStylePanelContext,
875
898
  useTldrawUiComponents,
876
899
  useTldrawUiOrientation,
877
900
  useToasts,