tldraw 3.15.0-next.f1dfcef63951 → 3.15.0

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 (162) hide show
  1. package/dist-cjs/index.d.ts +93 -92
  2. package/dist-cjs/index.js +32 -30
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawImage.js +5 -2
  5. package/dist-cjs/lib/TldrawImage.js.map +3 -3
  6. package/dist-cjs/lib/canvas/TldrawCropHandles.js +1 -1
  7. package/dist-cjs/lib/canvas/TldrawCropHandles.js.map +2 -2
  8. package/dist-cjs/lib/canvas/TldrawHandles.js +1 -1
  9. package/dist-cjs/lib/canvas/TldrawHandles.js.map +2 -2
  10. package/dist-cjs/lib/canvas/TldrawOverlays.js +1 -1
  11. package/dist-cjs/lib/canvas/TldrawOverlays.js.map +2 -2
  12. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +279 -271
  13. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +2 -2
  14. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +5 -5
  15. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  16. package/dist-cjs/lib/shapes/shared/PathBuilder.js +21 -3
  17. package/dist-cjs/lib/shapes/shared/PathBuilder.js.map +2 -2
  18. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -0
  19. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  20. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +1 -0
  21. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  22. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +5 -11
  23. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  24. package/dist-cjs/lib/styles.js.map +2 -2
  25. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +11 -1
  26. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  27. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +1 -0
  28. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  29. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +3 -4
  30. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  31. package/dist-cjs/lib/ui/components/Spinner.js +2 -25
  32. package/dist-cjs/lib/ui/components/Spinner.js.map +2 -2
  33. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +2 -1
  34. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  35. package/dist-cjs/lib/ui/components/menu-items.js +16 -0
  36. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  37. package/dist-cjs/lib/ui/components/primitives/Button/TldrawUiButtonIcon.js.map +2 -2
  38. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js +1 -1
  39. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js.map +2 -2
  40. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js +35 -1
  41. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js.map +2 -2
  42. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +5 -2
  43. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  44. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +1 -0
  45. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  46. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js.map +2 -2
  47. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +0 -2
  48. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  49. package/dist-cjs/lib/ui/context/actions.js +28 -1
  50. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  51. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  52. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +24 -7
  53. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js.map +2 -2
  54. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +2 -2
  55. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
  56. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  57. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  58. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +4 -0
  59. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  60. package/dist-cjs/lib/ui/version.js +3 -3
  61. package/dist-cjs/lib/ui/version.js.map +1 -1
  62. package/dist-esm/index.d.mts +93 -92
  63. package/dist-esm/index.mjs +139 -133
  64. package/dist-esm/index.mjs.map +2 -2
  65. package/dist-esm/lib/TldrawImage.mjs +5 -2
  66. package/dist-esm/lib/TldrawImage.mjs.map +2 -2
  67. package/dist-esm/lib/canvas/TldrawCropHandles.mjs +1 -1
  68. package/dist-esm/lib/canvas/TldrawCropHandles.mjs.map +2 -2
  69. package/dist-esm/lib/canvas/TldrawHandles.mjs +1 -1
  70. package/dist-esm/lib/canvas/TldrawHandles.mjs.map +2 -2
  71. package/dist-esm/lib/canvas/TldrawOverlays.mjs +1 -1
  72. package/dist-esm/lib/canvas/TldrawOverlays.mjs.map +2 -2
  73. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +279 -271
  74. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +2 -2
  75. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +5 -5
  76. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  77. package/dist-esm/lib/shapes/shared/PathBuilder.mjs +22 -3
  78. package/dist-esm/lib/shapes/shared/PathBuilder.mjs.map +2 -2
  79. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +1 -0
  80. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  81. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +1 -0
  82. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  83. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +5 -11
  84. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  85. package/dist-esm/lib/styles.mjs.map +2 -2
  86. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +11 -1
  87. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  88. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +2 -0
  89. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  90. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +3 -4
  91. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  92. package/dist-esm/lib/ui/components/Spinner.mjs +3 -26
  93. package/dist-esm/lib/ui/components/Spinner.mjs.map +2 -2
  94. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +2 -1
  95. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  96. package/dist-esm/lib/ui/components/menu-items.mjs +16 -0
  97. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  98. package/dist-esm/lib/ui/components/primitives/Button/TldrawUiButtonIcon.mjs.map +2 -2
  99. package/dist-esm/lib/ui/components/primitives/TldrawUiDialog.mjs +1 -1
  100. package/dist-esm/lib/ui/components/primitives/TldrawUiDialog.mjs.map +2 -2
  101. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs +36 -2
  102. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs.map +2 -2
  103. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +5 -2
  104. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  105. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +1 -0
  106. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  107. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs.map +2 -2
  108. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +0 -2
  109. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  110. package/dist-esm/lib/ui/context/actions.mjs +28 -1
  111. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  112. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  113. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs +24 -7
  114. package/dist-esm/lib/ui/hooks/useClipboardEvents.mjs.map +2 -2
  115. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +2 -2
  116. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
  117. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  118. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +4 -0
  119. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  120. package/dist-esm/lib/ui/version.mjs +3 -3
  121. package/dist-esm/lib/ui/version.mjs.map +1 -1
  122. package/package.json +4 -3
  123. package/src/index.ts +165 -159
  124. package/src/lib/TldrawImage.tsx +6 -2
  125. package/src/lib/canvas/TldrawCropHandles.tsx +1 -1
  126. package/src/lib/canvas/TldrawHandles.tsx +5 -1
  127. package/src/lib/canvas/TldrawOverlays.tsx +1 -1
  128. package/src/lib/canvas/TldrawSelectionForeground.tsx +5 -1
  129. package/src/lib/shapes/frame/FrameShapeUtil.tsx +5 -7
  130. package/src/lib/shapes/shared/PathBuilder.test.tsx +1 -1
  131. package/src/lib/shapes/shared/PathBuilder.tsx +35 -1
  132. package/src/lib/shapes/shared/PlainTextLabel.tsx +1 -0
  133. package/src/lib/shapes/shared/RichTextLabel.tsx +1 -0
  134. package/src/lib/shapes/text/TextShapeUtil.tsx +5 -12
  135. package/src/lib/styles.tsx +3 -1
  136. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +8 -0
  137. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +2 -0
  138. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +3 -4
  139. package/src/lib/ui/components/Spinner.tsx +2 -24
  140. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +1 -0
  141. package/src/lib/ui/components/menu-items.tsx +17 -0
  142. package/src/lib/ui/components/primitives/Button/TldrawUiButtonIcon.tsx +2 -2
  143. package/src/lib/ui/components/primitives/TldrawUiDialog.tsx +1 -1
  144. package/src/lib/ui/components/primitives/TldrawUiIcon.tsx +41 -3
  145. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +5 -1
  146. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +4 -0
  147. package/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx +2 -2
  148. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +3 -4
  149. package/src/lib/ui/context/actions.tsx +30 -2
  150. package/src/lib/ui/context/events.tsx +2 -0
  151. package/src/lib/ui/hooks/useClipboardEvents.ts +31 -10
  152. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +3 -2
  153. package/src/lib/ui/hooks/useTools.tsx +2 -1
  154. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +4 -0
  155. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +4 -0
  156. package/src/lib/ui/version.ts +3 -3
  157. package/src/lib/ui.css +8 -22
  158. package/src/test/Editor.test.tsx +68 -1
  159. package/src/test/commands/clipboard.test.ts +1 -1
  160. package/src/test/navigation.test.ts +254 -0
  161. package/tldraw.css +25 -26
  162. package/src/test/editor.test.ts +0 -77
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tldraw",
3
3
  "description": "A tiny little drawing editor.",
4
- "version": "3.15.0-next.f1dfcef63951",
4
+ "version": "3.15.0",
5
5
  "author": {
6
6
  "name": "tldraw Inc.",
7
7
  "email": "hello@tldraw.com"
@@ -17,6 +17,7 @@
17
17
  },
18
18
  "keywords": [
19
19
  "tldraw",
20
+ "sdk",
20
21
  "drawing",
21
22
  "app",
22
23
  "development",
@@ -53,8 +54,8 @@
53
54
  "@tiptap/pm": "^2.9.1",
54
55
  "@tiptap/react": "^2.9.1",
55
56
  "@tiptap/starter-kit": "^2.9.1",
56
- "@tldraw/editor": "3.15.0-next.f1dfcef63951",
57
- "@tldraw/store": "3.15.0-next.f1dfcef63951",
57
+ "@tldraw/editor": "3.15.0",
58
+ "@tldraw/store": "3.15.0",
58
59
  "classnames": "^2.5.1",
59
60
  "hotkeys-js": "^3.13.9",
60
61
  "idb": "^7.1.1",
package/src/index.ts CHANGED
@@ -24,7 +24,6 @@ export { usePrefersReducedMotion } from './lib/shapes/shared/usePrefersReducedMo
24
24
  export { DefaultA11yAnnouncer, useSelectedShapesAnnouncer } from './lib/ui/components/A11y'
25
25
  export { ColorSchemeMenu } from './lib/ui/components/ColorSchemeMenu'
26
26
  export { DefaultDialogs } from './lib/ui/components/Dialogs'
27
- export { DefaultToasts } from './lib/ui/components/Toasts'
28
27
  export {
29
28
  TldrawUiMenuActionCheckboxItem,
30
29
  type TLUiMenuActionCheckboxItemProps,
@@ -37,11 +36,10 @@ export {
37
36
  TldrawUiMenuToolItem,
38
37
  type TLUiMenuToolItemProps,
39
38
  } from './lib/ui/components/primitives/menus/TldrawUiMenuToolItem'
39
+ export { DefaultToasts } from './lib/ui/components/Toasts'
40
40
  export { TldrawUiTranslationProvider } from './lib/ui/hooks/useTranslation/useTranslation'
41
41
  // eslint-disable-next-line local/no-export-star
42
42
  export * from '@tldraw/editor'
43
- export { Tldraw, type TLComponents, type TldrawBaseProps, type TldrawProps } from './lib/Tldraw'
44
- export { TldrawImage, type TldrawImageProps } from './lib/TldrawImage'
45
43
  export { ArrowBindingUtil } from './lib/bindings/arrow/ArrowBindingUtil'
46
44
  export { TldrawHandles } from './lib/canvas/TldrawHandles'
47
45
  export { TldrawArrowHints, TldrawOverlays } from './lib/canvas/TldrawOverlays'
@@ -59,11 +57,11 @@ export {
59
57
  type TLEmbedShapePermissions,
60
58
  } from './lib/defaultEmbedDefinitions'
61
59
  export {
62
- DEFAULT_MAX_ASSET_SIZE,
63
- DEFAULT_MAX_IMAGE_DIMENSION,
64
60
  centerSelectionAroundPoint,
65
61
  createEmptyBookmarkShape,
66
62
  createShapesForAssets,
63
+ DEFAULT_MAX_ASSET_SIZE,
64
+ DEFAULT_MAX_IMAGE_DIMENSION,
67
65
  defaultHandleExternalEmbedContent,
68
66
  defaultHandleExternalExcalidrawContent,
69
67
  defaultHandleExternalFileAsset,
@@ -82,8 +80,6 @@ export { defaultShapeTools } from './lib/defaultShapeTools'
82
80
  export { defaultShapeUtils } from './lib/defaultShapeUtils'
83
81
  export { registerDefaultSideEffects } from './lib/defaultSideEffects'
84
82
  export { defaultTools } from './lib/defaultTools'
85
- export { ArrowShapeTool } from './lib/shapes/arrow/ArrowShapeTool'
86
- export { ArrowShapeUtil } from './lib/shapes/arrow/ArrowShapeUtil'
87
83
  export {
88
84
  type ArrowShapeOptions,
89
85
  type TLArcArrowInfo,
@@ -93,6 +89,8 @@ export {
93
89
  type TLElbowArrowInfo,
94
90
  type TLStraightArrowInfo,
95
91
  } from './lib/shapes/arrow/arrow-types'
92
+ export { ArrowShapeTool } from './lib/shapes/arrow/ArrowShapeTool'
93
+ export { ArrowShapeUtil } from './lib/shapes/arrow/ArrowShapeUtil'
96
94
  export {
97
95
  type ElbowArrowBox,
98
96
  type ElbowArrowBoxEdges,
@@ -132,17 +130,6 @@ export { LineShapeTool } from './lib/shapes/line/LineShapeTool'
132
130
  export { LineShapeUtil } from './lib/shapes/line/LineShapeUtil'
133
131
  export { NoteShapeTool } from './lib/shapes/note/NoteShapeTool'
134
132
  export { NoteShapeUtil, type NoteShapeOptions } from './lib/shapes/note/NoteShapeUtil'
135
- export {
136
- PlainTextLabel,
137
- TextLabel,
138
- type PlainTextLabelProps,
139
- } from './lib/shapes/shared/PlainTextLabel'
140
- export {
141
- RichTextLabel,
142
- RichTextSVG,
143
- type RichTextLabelProps,
144
- type RichTextSVGProps,
145
- } from './lib/shapes/shared/RichTextLabel'
146
133
  export {
147
134
  ASPECT_RATIO_OPTIONS,
148
135
  ASPECT_RATIO_TO_VALUE,
@@ -161,11 +148,22 @@ export {
161
148
  TEXT_PROPS,
162
149
  } from './lib/shapes/shared/default-shape-constants'
163
150
  export {
164
- DefaultFontFaces,
165
151
  allDefaultFontFaces,
152
+ DefaultFontFaces,
166
153
  type TLDefaultFont,
167
154
  type TLDefaultFonts,
168
155
  } from './lib/shapes/shared/defaultFonts'
156
+ export {
157
+ PlainTextLabel,
158
+ TextLabel,
159
+ type PlainTextLabelProps,
160
+ } from './lib/shapes/shared/PlainTextLabel'
161
+ export {
162
+ RichTextLabel,
163
+ RichTextSVG,
164
+ type RichTextLabelProps,
165
+ type RichTextSVGProps,
166
+ } from './lib/shapes/shared/RichTextLabel'
169
167
  export { useDefaultColorTheme } from './lib/shapes/shared/useDefaultColorTheme'
170
168
  export { useEditablePlainText, useEditableText } from './lib/shapes/shared/useEditablePlainText'
171
169
  export { useEditableRichText } from './lib/shapes/shared/useEditableRichText'
@@ -180,12 +178,13 @@ export { TextShapeTool } from './lib/shapes/text/TextShapeTool'
180
178
  export { TextShapeUtil, type TextShapeOptions } from './lib/shapes/text/TextShapeUtil'
181
179
  export { VideoShapeUtil, type VideoShapeOptions } from './lib/shapes/video/VideoShapeUtil'
182
180
  export { type StyleValuesForUi } from './lib/styles'
181
+ export { Tldraw, type TLComponents, type TldrawBaseProps, type TldrawProps } from './lib/Tldraw'
182
+ export { TldrawImage, type TldrawImageProps } from './lib/TldrawImage'
183
183
  export { EraserTool } from './lib/tools/EraserTool/EraserTool'
184
184
  export { HandTool } from './lib/tools/HandTool/HandTool'
185
185
  export { LaserTool } from './lib/tools/LaserTool/LaserTool'
186
186
  export { SelectTool } from './lib/tools/SelectTool/SelectTool'
187
187
  export { ZoomTool } from './lib/tools/ZoomTool/ZoomTool'
188
- export { TldrawUi, type TldrawUiProps } from './lib/ui/TldrawUi'
189
188
  export {
190
189
  setDefaultUiAssetUrls,
191
190
  type TLUiAssetUrlOverrides,
@@ -223,6 +222,11 @@ export {
223
222
  type ExampleDialogProps,
224
223
  } from './lib/ui/components/DebugMenu/DefaultDebugMenuContent'
225
224
  export { DefaultMenuPanel } from './lib/ui/components/DefaultMenuPanel'
225
+ export {
226
+ DefaultHelperButtons,
227
+ type TLUiHelperButtonsProps,
228
+ } from './lib/ui/components/HelperButtons/DefaultHelperButtons'
229
+ export { DefaultHelperButtonsContent } from './lib/ui/components/HelperButtons/DefaultHelperButtonsContent'
226
230
  export {
227
231
  DefaultHelpMenu,
228
232
  type TLUiHelpMenuProps,
@@ -231,11 +235,6 @@ export {
231
235
  DefaultHelpMenuContent,
232
236
  KeyboardShortcutsMenuItem,
233
237
  } from './lib/ui/components/HelpMenu/DefaultHelpMenuContent'
234
- export {
235
- DefaultHelperButtons,
236
- type TLUiHelperButtonsProps,
237
- } from './lib/ui/components/HelperButtons/DefaultHelperButtons'
238
- export { DefaultHelperButtonsContent } from './lib/ui/components/HelperButtons/DefaultHelperButtonsContent'
239
238
  export {
240
239
  DefaultKeyboardShortcutsDialog,
241
240
  type TLUiKeyboardShortcutsDialogProps,
@@ -256,116 +255,6 @@ export {
256
255
  UndoRedoGroup,
257
256
  ViewSubmenu,
258
257
  } from './lib/ui/components/MainMenu/DefaultMainMenuContent'
259
- export { DefaultMinimap } from './lib/ui/components/Minimap/DefaultMinimap'
260
- export { MobileStylePanel } from './lib/ui/components/MobileStylePanel'
261
- export { DefaultNavigationPanel } from './lib/ui/components/NavigationPanel/DefaultNavigationPanel'
262
- export { OfflineIndicator } from './lib/ui/components/OfflineIndicator/OfflineIndicator'
263
- export { DefaultPageMenu } from './lib/ui/components/PageMenu/DefaultPageMenu'
264
- export { PageItemInput, type PageItemInputProps } from './lib/ui/components/PageMenu/PageItemInput'
265
- export {
266
- PageItemSubmenu,
267
- type PageItemSubmenuProps,
268
- } from './lib/ui/components/PageMenu/PageItemSubmenu'
269
- export {
270
- DefaultQuickActions,
271
- type TLUiQuickActionsProps,
272
- } from './lib/ui/components/QuickActions/DefaultQuickActions'
273
- export { DefaultQuickActionsContent } from './lib/ui/components/QuickActions/DefaultQuickActionsContent'
274
- export { DefaultSharePanel } from './lib/ui/components/SharePanel/DefaultSharePanel'
275
- export { PeopleMenu, type PeopleMenuProps } from './lib/ui/components/SharePanel/PeopleMenu'
276
- export { Spinner } from './lib/ui/components/Spinner'
277
- export {
278
- DefaultStylePanel,
279
- type TLUiStylePanelProps,
280
- } from './lib/ui/components/StylePanel/DefaultStylePanel'
281
- export {
282
- ArrowheadStylePickerSet,
283
- CommonStylePickerSet,
284
- DefaultStylePanelContent,
285
- GeoStylePickerSet,
286
- OpacitySlider,
287
- SplineStylePickerSet,
288
- TextStylePickerSet,
289
- type StylePickerSetProps,
290
- type TLUiStylePanelContentProps,
291
- type ThemeStylePickerSetProps,
292
- } from './lib/ui/components/StylePanel/DefaultStylePanelContent'
293
- export {
294
- DefaultImageToolbar,
295
- type TLUiImageToolbarProps,
296
- } from './lib/ui/components/Toolbar/DefaultImageToolbar'
297
- export {
298
- DefaultImageToolbarContent,
299
- type DefaultImageToolbarContentProps,
300
- } from './lib/ui/components/Toolbar/DefaultImageToolbarContent'
301
- export {
302
- DefaultRichTextToolbar,
303
- type TLUiRichTextToolbarProps,
304
- } from './lib/ui/components/Toolbar/DefaultRichTextToolbar'
305
- export {
306
- DefaultRichTextToolbarContent,
307
- type DefaultRichTextToolbarContentProps,
308
- } from './lib/ui/components/Toolbar/DefaultRichTextToolbarContent'
309
- export {
310
- DefaultToolbar,
311
- type DefaultToolbarProps,
312
- } from './lib/ui/components/Toolbar/DefaultToolbar'
313
- export {
314
- ArrowDownToolbarItem,
315
- ArrowLeftToolbarItem,
316
- ArrowRightToolbarItem,
317
- ArrowToolbarItem,
318
- ArrowUpToolbarItem,
319
- AssetToolbarItem,
320
- CheckBoxToolbarItem,
321
- CloudToolbarItem,
322
- DefaultToolbarContent,
323
- DiamondToolbarItem,
324
- DrawToolbarItem,
325
- EllipseToolbarItem,
326
- EraserToolbarItem,
327
- FrameToolbarItem,
328
- HandToolbarItem,
329
- HexagonToolbarItem,
330
- HighlightToolbarItem,
331
- LaserToolbarItem,
332
- LineToolbarItem,
333
- NoteToolbarItem,
334
- OvalToolbarItem,
335
- RectangleToolbarItem,
336
- RhombusToolbarItem,
337
- SelectToolbarItem,
338
- StarToolbarItem,
339
- TextToolbarItem,
340
- ToolbarItem,
341
- TrapezoidToolbarItem,
342
- TriangleToolbarItem,
343
- XBoxToolbarItem,
344
- useIsToolSelected,
345
- type ToolbarItemProps,
346
- } from './lib/ui/components/Toolbar/DefaultToolbarContent'
347
- export {
348
- DefaultVideoToolbar,
349
- type TLUiVideoToolbarProps,
350
- } from './lib/ui/components/Toolbar/DefaultVideoToolbar'
351
- export {
352
- DefaultVideoToolbarContent,
353
- type DefaultVideoToolbarContentProps,
354
- } from './lib/ui/components/Toolbar/DefaultVideoToolbarContent'
355
- export {
356
- OverflowingToolbar,
357
- type OverflowingToolbarProps,
358
- } from './lib/ui/components/Toolbar/OverflowingToolbar'
359
- export {
360
- CenteredTopPanelContainer,
361
- type CenteredTopPanelContainerProps,
362
- } from './lib/ui/components/TopPanel/CenteredTopPanelContainer'
363
- export { DefaultTopPanel } from './lib/ui/components/TopPanel/DefaultTopPanel'
364
- export {
365
- DefaultZoomMenu,
366
- type TLUiZoomMenuProps,
367
- } from './lib/ui/components/ZoomMenu/DefaultZoomMenu'
368
- export { DefaultZoomMenuContent } from './lib/ui/components/ZoomMenu/DefaultZoomMenuContent'
369
258
  export {
370
259
  ArrangeMenuSubmenu,
371
260
  ClipboardMenuGroup,
@@ -394,6 +283,7 @@ export {
394
283
  ToggleEdgeScrollingItem,
395
284
  ToggleFocusModeItem,
396
285
  ToggleGridItem,
286
+ ToggleKeyboardShortcutsItem,
397
287
  ToggleLockMenuItem,
398
288
  TogglePasteAtCursorItem,
399
289
  ToggleReduceMotionItem,
@@ -407,6 +297,16 @@ export {
407
297
  ZoomToFitMenuItem,
408
298
  ZoomToSelectionMenuItem,
409
299
  } from './lib/ui/components/menu-items'
300
+ export { DefaultMinimap } from './lib/ui/components/Minimap/DefaultMinimap'
301
+ export { MobileStylePanel } from './lib/ui/components/MobileStylePanel'
302
+ export { DefaultNavigationPanel } from './lib/ui/components/NavigationPanel/DefaultNavigationPanel'
303
+ export { OfflineIndicator } from './lib/ui/components/OfflineIndicator/OfflineIndicator'
304
+ export { DefaultPageMenu } from './lib/ui/components/PageMenu/DefaultPageMenu'
305
+ export { PageItemInput, type PageItemInputProps } from './lib/ui/components/PageMenu/PageItemInput'
306
+ export {
307
+ PageItemSubmenu,
308
+ type PageItemSubmenuProps,
309
+ } from './lib/ui/components/PageMenu/PageItemSubmenu'
410
310
  export {
411
311
  TldrawUiButton,
412
312
  type TLUiButtonProps,
@@ -423,6 +323,27 @@ export {
423
323
  TldrawUiButtonLabel,
424
324
  type TLUiButtonLabelProps,
425
325
  } from './lib/ui/components/primitives/Button/TldrawUiButtonLabel'
326
+ export {
327
+ TldrawUiMenuCheckboxItem,
328
+ type TLUiMenuCheckboxItemProps,
329
+ } from './lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem'
330
+ export {
331
+ TldrawUiMenuContextProvider,
332
+ type TLUiMenuContextProviderProps,
333
+ type TLUiMenuContextType,
334
+ } from './lib/ui/components/primitives/menus/TldrawUiMenuContext'
335
+ export {
336
+ TldrawUiMenuGroup,
337
+ type TLUiMenuGroupProps,
338
+ } from './lib/ui/components/primitives/menus/TldrawUiMenuGroup'
339
+ export {
340
+ TldrawUiMenuItem,
341
+ type TLUiMenuItemProps,
342
+ } from './lib/ui/components/primitives/menus/TldrawUiMenuItem'
343
+ export {
344
+ TldrawUiMenuSubmenu,
345
+ type TLUiMenuSubmenuProps,
346
+ } from './lib/ui/components/primitives/menus/TldrawUiMenuSubmenu'
426
347
  export {
427
348
  TldrawUiButtonPicker,
428
349
  type TLUiButtonPickerProps,
@@ -461,7 +382,11 @@ export {
461
382
  type TLUiDropdownMenuSubTriggerProps,
462
383
  type TLUiDropdownMenuTriggerProps,
463
384
  } from './lib/ui/components/primitives/TldrawUiDropdownMenu'
464
- export { TldrawUiIcon, type TLUiIconProps } from './lib/ui/components/primitives/TldrawUiIcon'
385
+ export {
386
+ TldrawUiIcon,
387
+ type TLUiIconJsx,
388
+ type TLUiIconProps,
389
+ } from './lib/ui/components/primitives/TldrawUiIcon'
465
390
  export { TldrawUiInput, type TLUiInputProps } from './lib/ui/components/primitives/TldrawUiInput'
466
391
  export { TldrawUiKbd, type TLUiKbdProps } from './lib/ui/components/primitives/TldrawUiKbd'
467
392
  export {
@@ -484,31 +409,107 @@ export {
484
409
  type TLUiToolbarToggleItemProps,
485
410
  } from './lib/ui/components/primitives/TldrawUiToolbar'
486
411
  export {
487
- TldrawUiMenuCheckboxItem,
488
- type TLUiMenuCheckboxItemProps,
489
- } from './lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem'
412
+ DefaultQuickActions,
413
+ type TLUiQuickActionsProps,
414
+ } from './lib/ui/components/QuickActions/DefaultQuickActions'
415
+ export { DefaultQuickActionsContent } from './lib/ui/components/QuickActions/DefaultQuickActionsContent'
416
+ export { DefaultSharePanel } from './lib/ui/components/SharePanel/DefaultSharePanel'
417
+ export { PeopleMenu, type PeopleMenuProps } from './lib/ui/components/SharePanel/PeopleMenu'
418
+ export { Spinner } from './lib/ui/components/Spinner'
490
419
  export {
491
- TldrawUiMenuContextProvider,
492
- type TLUiMenuContextProviderProps,
493
- type TLUiMenuContextType,
494
- } from './lib/ui/components/primitives/menus/TldrawUiMenuContext'
420
+ DefaultStylePanel,
421
+ type TLUiStylePanelProps,
422
+ } from './lib/ui/components/StylePanel/DefaultStylePanel'
495
423
  export {
496
- TldrawUiMenuGroup,
497
- type TLUiMenuGroupProps,
498
- } from './lib/ui/components/primitives/menus/TldrawUiMenuGroup'
424
+ ArrowheadStylePickerSet,
425
+ CommonStylePickerSet,
426
+ DefaultStylePanelContent,
427
+ GeoStylePickerSet,
428
+ OpacitySlider,
429
+ SplineStylePickerSet,
430
+ TextStylePickerSet,
431
+ type StylePickerSetProps,
432
+ type ThemeStylePickerSetProps,
433
+ type TLUiStylePanelContentProps,
434
+ } from './lib/ui/components/StylePanel/DefaultStylePanelContent'
499
435
  export {
500
- TldrawUiMenuItem,
501
- type TLUiMenuItemProps,
502
- } from './lib/ui/components/primitives/menus/TldrawUiMenuItem'
436
+ DefaultImageToolbar,
437
+ type TLUiImageToolbarProps,
438
+ } from './lib/ui/components/Toolbar/DefaultImageToolbar'
503
439
  export {
504
- TldrawUiMenuSubmenu,
505
- type TLUiMenuSubmenuProps,
506
- } from './lib/ui/components/primitives/menus/TldrawUiMenuSubmenu'
507
- export { PORTRAIT_BREAKPOINT } from './lib/ui/constants'
440
+ DefaultImageToolbarContent,
441
+ type DefaultImageToolbarContentProps,
442
+ } from './lib/ui/components/Toolbar/DefaultImageToolbarContent'
508
443
  export {
509
- TldrawUiContextProvider,
510
- type TLUiContextProviderProps,
511
- } from './lib/ui/context/TldrawUiContextProvider'
444
+ DefaultRichTextToolbar,
445
+ type TLUiRichTextToolbarProps,
446
+ } from './lib/ui/components/Toolbar/DefaultRichTextToolbar'
447
+ export {
448
+ DefaultRichTextToolbarContent,
449
+ type DefaultRichTextToolbarContentProps,
450
+ } from './lib/ui/components/Toolbar/DefaultRichTextToolbarContent'
451
+ export {
452
+ DefaultToolbar,
453
+ type DefaultToolbarProps,
454
+ } from './lib/ui/components/Toolbar/DefaultToolbar'
455
+ export {
456
+ ArrowDownToolbarItem,
457
+ ArrowLeftToolbarItem,
458
+ ArrowRightToolbarItem,
459
+ ArrowToolbarItem,
460
+ ArrowUpToolbarItem,
461
+ AssetToolbarItem,
462
+ CheckBoxToolbarItem,
463
+ CloudToolbarItem,
464
+ DefaultToolbarContent,
465
+ DiamondToolbarItem,
466
+ DrawToolbarItem,
467
+ EllipseToolbarItem,
468
+ EraserToolbarItem,
469
+ FrameToolbarItem,
470
+ HandToolbarItem,
471
+ HeartToolbarItem,
472
+ HexagonToolbarItem,
473
+ HighlightToolbarItem,
474
+ LaserToolbarItem,
475
+ LineToolbarItem,
476
+ NoteToolbarItem,
477
+ OvalToolbarItem,
478
+ RectangleToolbarItem,
479
+ RhombusToolbarItem,
480
+ SelectToolbarItem,
481
+ StarToolbarItem,
482
+ TextToolbarItem,
483
+ ToolbarItem,
484
+ TrapezoidToolbarItem,
485
+ TriangleToolbarItem,
486
+ useIsToolSelected,
487
+ XBoxToolbarItem,
488
+ type ToolbarItemProps,
489
+ } from './lib/ui/components/Toolbar/DefaultToolbarContent'
490
+ export {
491
+ DefaultVideoToolbar,
492
+ type TLUiVideoToolbarProps,
493
+ } from './lib/ui/components/Toolbar/DefaultVideoToolbar'
494
+ export {
495
+ DefaultVideoToolbarContent,
496
+ type DefaultVideoToolbarContentProps,
497
+ } from './lib/ui/components/Toolbar/DefaultVideoToolbarContent'
498
+ export {
499
+ OverflowingToolbar,
500
+ type OverflowingToolbarProps,
501
+ } from './lib/ui/components/Toolbar/OverflowingToolbar'
502
+ export {
503
+ CenteredTopPanelContainer,
504
+ type CenteredTopPanelContainerProps,
505
+ } from './lib/ui/components/TopPanel/CenteredTopPanelContainer'
506
+ export { DefaultTopPanel } from './lib/ui/components/TopPanel/DefaultTopPanel'
507
+ export {
508
+ DefaultZoomMenu,
509
+ type TLUiZoomMenuProps,
510
+ } from './lib/ui/components/ZoomMenu/DefaultZoomMenu'
511
+ export { DefaultZoomMenuContent } from './lib/ui/components/ZoomMenu/DefaultZoomMenuContent'
512
+ export { PORTRAIT_BREAKPOINT } from './lib/ui/constants'
512
513
  export {
513
514
  TldrawUiA11yProvider,
514
515
  useA11y,
@@ -554,6 +555,10 @@ export {
554
555
  type TLUiEventMap,
555
556
  type TLUiEventSource,
556
557
  } from './lib/ui/context/events'
558
+ export {
559
+ TldrawUiContextProvider,
560
+ type TLUiContextProviderProps,
561
+ } from './lib/ui/context/TldrawUiContextProvider'
557
562
  export {
558
563
  TldrawUiToastsProvider,
559
564
  useToasts,
@@ -592,6 +597,7 @@ export {
592
597
  } from './lib/ui/hooks/useTranslation/useTranslation'
593
598
  export { type TLUiIconType } from './lib/ui/icon-types'
594
599
  export { useDefaultHelpers, type TLUiOverrideHelpers, type TLUiOverrides } from './lib/ui/overrides'
600
+ export { TldrawUi, type TldrawUiProps } from './lib/ui/TldrawUi'
595
601
  export { containBoxSize, downsizeImage, type BoxWidthHeight } from './lib/utils/assets/assets'
596
602
  export { preloadFont, type TLTypeFace } from './lib/utils/assets/preload-font'
597
603
  export { getEmbedInfo, type TLEmbedResult } from './lib/utils/embeds/embeds'
@@ -606,8 +612,8 @@ export {
606
612
  type TLEditorAssetUrls,
607
613
  } from './lib/utils/static-assets/assetUrls'
608
614
  export {
609
- KeyboardShiftEnterTweakExtension,
610
615
  defaultAddFontsFromNode,
616
+ KeyboardShiftEnterTweakExtension,
611
617
  renderHtmlFromRichText,
612
618
  renderHtmlFromRichTextForMeasurement,
613
619
  renderPlaintextFromRichText,
@@ -617,6 +623,7 @@ export {
617
623
  export { truncateStringWithEllipsis } from './lib/utils/text/text'
618
624
  export { TextDirection } from './lib/utils/text/textDirection'
619
625
  export {
626
+ buildFromV1Document,
620
627
  TLV1AlignStyle,
621
628
  TLV1AssetType,
622
629
  TLV1ColorStyle,
@@ -625,7 +632,6 @@ export {
625
632
  TLV1FontStyle,
626
633
  TLV1ShapeType,
627
634
  TLV1SizeStyle,
628
- buildFromV1Document,
629
635
  type TLV1ArrowBinding,
630
636
  type TLV1ArrowShape,
631
637
  type TLV1Asset,
@@ -653,11 +659,11 @@ export {
653
659
  type TLV1VideoShape,
654
660
  } from './lib/utils/tldr/buildFromV1Document'
655
661
  export {
656
- TLDRAW_FILE_EXTENSION,
657
662
  parseAndLoadDocument,
658
663
  parseTldrawJsonFile,
659
664
  serializeTldrawJson,
660
665
  serializeTldrawJsonBlob,
666
+ TLDRAW_FILE_EXTENSION,
661
667
  type TldrawFile,
662
668
  type TldrawFileParseError,
663
669
  } from './lib/utils/tldr/file'
@@ -15,6 +15,7 @@ import { memo, useEffect, useLayoutEffect, useMemo, useState } from 'react'
15
15
  import { defaultBindingUtils } from './defaultBindingUtils'
16
16
  import { defaultShapeUtils } from './defaultShapeUtils'
17
17
  import { TLUiAssetUrlOverrides } from './ui/assetUrls'
18
+ import { useDefaultEditorAssetsWithOverrides } from './utils/static-assets/assetUrls'
18
19
  import { defaultAddFontsFromNode, tipTapDefaultExtensions } from './utils/text/richText'
19
20
 
20
21
  /** @public */
@@ -111,6 +112,7 @@ export const TldrawImage = memo(function TldrawImage(props: TldrawImageProps) {
111
112
  assetUrls,
112
113
  textOptions = defaultTextOptions,
113
114
  } = props
115
+ const assetUrlsWithOverrides = useDefaultEditorAssetsWithOverrides(assetUrls)
114
116
 
115
117
  useLayoutEffect(() => {
116
118
  if (!container) return
@@ -129,7 +131,7 @@ export const TldrawImage = memo(function TldrawImage(props: TldrawImageProps) {
129
131
  tools: [],
130
132
  getContainer: () => tempElm,
131
133
  licenseKey,
132
- fontAssetUrls: assetUrls?.fonts,
134
+ fontAssetUrls: assetUrlsWithOverrides.fonts,
133
135
  textOptions,
134
136
  })
135
137
 
@@ -138,6 +140,8 @@ export const TldrawImage = memo(function TldrawImage(props: TldrawImageProps) {
138
140
  const shapeIds = editor.getCurrentPageShapeIds()
139
141
 
140
142
  async function setSvg() {
143
+ // We have to wait for the fonts to load so that we can correctly measure text sizes
144
+ await editor.fonts.loadRequiredFontsForCurrentPage(editor.options.maxFontsToLoadBeforeRender)
141
145
  const imageResult = await editor.toImage([...shapeIds], {
142
146
  bounds,
143
147
  scale,
@@ -175,7 +179,7 @@ export const TldrawImage = memo(function TldrawImage(props: TldrawImageProps) {
175
179
  preserveAspectRatio,
176
180
  licenseKey,
177
181
  pixelRatio,
178
- assetUrls,
182
+ assetUrlsWithOverrides,
179
183
  textOptions,
180
184
  ])
181
185
 
@@ -20,7 +20,7 @@ export function TldrawCropHandles({
20
20
  const msg = useTranslation()
21
21
 
22
22
  return (
23
- <svg className="tl-overlays__item">
23
+ <svg className="tl-overlays__item" aria-hidden="true">
24
24
  {/* Top left */}
25
25
  <polyline
26
26
  className="tl-corner-crop-handle"
@@ -23,5 +23,9 @@ export function TldrawHandles({ children }: TLHandlesProps) {
23
23
 
24
24
  if (!shouldDisplayHandles) return null
25
25
 
26
- return <svg className="tl-user-handles tl-overlays__item">{children}</svg>
26
+ return (
27
+ <svg className="tl-user-handles tl-overlays__item" aria-hidden="true">
28
+ {children}
29
+ </svg>
30
+ )
27
31
  }
@@ -60,7 +60,7 @@ export function TldrawArrowHints() {
60
60
  {ShapeIndicator && <ShapeIndicator shapeId={targetInfo.target.id} />}
61
61
 
62
62
  {showEdgeHints && (
63
- <svg className="tl-overlays__item">
63
+ <svg className="tl-overlays__item" aria-hidden="true">
64
64
  <circle
65
65
  cx={anchorInPageSpace.x}
66
66
  cy={anchorInPageSpace.y}
@@ -192,7 +192,11 @@ export const TldrawSelectionForeground = track(function TldrawSelectionForegroun
192
192
  textHandleHeight * zoom >= 4
193
193
 
194
194
  return (
195
- <svg className="tl-overlays__item tl-selection__fg" data-testid="selection-foreground">
195
+ <svg
196
+ className="tl-overlays__item tl-selection__fg"
197
+ data-testid="selection-foreground"
198
+ aria-hidden="true"
199
+ >
196
200
  <g ref={rSvg}>
197
201
  {shouldDisplayBox && (
198
202
  <rect
@@ -219,9 +219,6 @@ export class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
219
219
  [shape.id]
220
220
  )
221
221
 
222
- // eslint-disable-next-line react-hooks/rules-of-hooks
223
- const zoomLevel = useValue('zoom level', () => this.editor.getZoomLevel(), [this.editor])
224
-
225
222
  const showFrameColors = this.options.showColors
226
223
 
227
224
  const color = theme[shape.props.color]
@@ -236,12 +233,13 @@ export class FrameShapeUtil extends BaseBoxShapeUtil<TLFrameShape> {
236
233
  <SVGContainer>
237
234
  <rect
238
235
  className={classNames('tl-frame__body', { 'tl-frame__creating': isCreating })}
239
- width={shape.props.w + 1 / zoomLevel}
240
- height={shape.props.h + 1 / zoomLevel}
241
236
  fill={frameFill}
242
237
  stroke={frameStroke}
243
- y={-0.5 / zoomLevel}
244
- x={-0.5 / zoomLevel}
238
+ style={{
239
+ width: `calc(${shape.props.w}px + 1px / var(--tl-zoom))`,
240
+ height: `calc(${shape.props.h}px + 1px / var(--tl-zoom))`,
241
+ transform: `translate(calc(-0.5px / var(--tl-zoom)), calc(-0.5px / var(--tl-zoom)))`,
242
+ }}
245
243
  />
246
244
  </SVGContainer>
247
245
  {isCreating ? null : (
@@ -138,7 +138,7 @@ describe('PathBuilder', () => {
138
138
  .toGeometry()
139
139
 
140
140
  expect(geometry?.toSimpleSvgPath()).toMatchInlineSnapshot(
141
- `"M0,0L100,100L100,0L91.23532468849007,-7.455843959357096L81.64709960511827,-13.25483368860933L71.44121219537817,-17.39696918901332L60.82354990476352,-19.882250461825734L50.000000178767834,-20.71067750830319L39.17645046288481,-19.882250329702327L28.558788202608024,-17.396968927279783L18.35290084343114,-13.254833302292194L8.764675830847777,-7.455843455996203L6.103515630684342e-7,6.103515559630068e-7L-7.4558434559962,8.764675830847771L-13.254833302292194,18.35290084343114L-17.396968927279772,28.55878820260801L-19.882250329702327,39.17645046288479L-20.710677508303192,50.00000017876782L-19.88225046182574,60.823549904763496L-17.39696918901333,71.44121219537817L-13.254833688609331,81.64709960511824L-7.455843959357106,91.23532468849007L-1.4210854715202004e-14,99.99999999999999L0,0Z"`
141
+ `"M0,0L100,100L100,0L84.92197106154207,-11.50593202657044L67.93757691512266,-18.409491194065584L50.000000178767834,-20.71067750830319L32.06242347050369,-18.409490975101022L15.078029408356239,-11.505931600276853L6.103515630684342e-7,6.103515559630068e-7L-11.505931600276849,15.078029408356231L-18.409490975101022,32.062423470503674L-20.710677508303192,50.00000017876782L-18.409491194065588,67.93757691512262L-11.50593202657045,84.92197106154204L-1.4210854715202004e-14,99.99999999999999L0,0Z"`
142
142
  )
143
143
  })
144
144
  })