tldraw 3.16.0-internal.51e99e128bd4 → 3.16.0-internal.a478398270c6

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 (517) hide show
  1. package/dist-cjs/index.d.ts +23 -297
  2. package/dist-cjs/index.js +2 -30
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/TldrawImage.js +2 -5
  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/TldrawScribble.js +1 -1
  13. package/dist-cjs/lib/canvas/TldrawScribble.js.map +2 -2
  14. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +271 -279
  15. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js.map +2 -2
  16. package/dist-cjs/lib/defaultExternalContentHandlers.js +0 -1
  17. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  18. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +44 -27
  19. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  20. package/dist-cjs/lib/shapes/arrow/arrowLabel.js +4 -16
  21. package/dist-cjs/lib/shapes/arrow/arrowLabel.js.map +2 -2
  22. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js +1 -1
  23. package/dist-cjs/lib/shapes/arrow/arrowTargetState.js.map +2 -2
  24. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js +3 -3
  25. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js.map +1 -1
  26. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js +0 -3
  27. package/dist-cjs/lib/shapes/arrow/toolStates/Pointing.js.map +2 -2
  28. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js +6 -3
  29. package/dist-cjs/lib/shapes/draw/DrawShapeUtil.js.map +2 -2
  30. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -1
  31. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  32. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +17 -17
  33. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  34. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -1
  35. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +2 -2
  36. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js +2 -2
  37. package/dist-cjs/lib/shapes/geo/GeoShapeUtil.js.map +2 -2
  38. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js +1 -2
  39. package/dist-cjs/lib/shapes/geo/components/GeoShapeBody.js.map +2 -2
  40. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js +4 -5
  41. package/dist-cjs/lib/shapes/highlight/HighlightShapeUtil.js.map +2 -2
  42. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +3 -3
  43. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +1 -1
  44. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +5 -20
  45. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  46. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js +5 -6
  47. package/dist-cjs/lib/shapes/note/NoteShapeUtil.js.map +2 -2
  48. package/dist-cjs/lib/shapes/shared/PathBuilder.js +3 -21
  49. package/dist-cjs/lib/shapes/shared/PathBuilder.js.map +2 -2
  50. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +0 -1
  51. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js.map +2 -2
  52. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +2 -5
  53. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  54. package/dist-cjs/lib/shapes/shared/ShapeFill.js +4 -4
  55. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  56. package/dist-cjs/lib/shapes/shared/SvgTextLabel.js +3 -4
  57. package/dist-cjs/lib/shapes/shared/SvgTextLabel.js.map +2 -2
  58. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  59. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js +1 -10
  60. package/dist-cjs/lib/shapes/shared/usePrefersReducedMotion.js.map +2 -2
  61. package/dist-cjs/lib/shapes/text/TextShapeUtil.js +13 -7
  62. package/dist-cjs/lib/shapes/text/TextShapeUtil.js.map +2 -2
  63. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  64. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  65. package/dist-cjs/lib/styles.js.map +2 -2
  66. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +1 -25
  67. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  68. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +0 -12
  69. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  70. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js +1 -7
  71. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.js.map +2 -2
  72. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +22 -43
  73. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  74. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +15 -2
  75. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  76. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js +0 -5
  77. package/dist-cjs/lib/tools/SelectTool/childStates/PointingShape.js.map +2 -2
  78. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +0 -8
  79. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  80. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +0 -8
  81. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +2 -2
  82. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +0 -8
  83. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  84. package/dist-cjs/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.js.map +2 -2
  85. package/dist-cjs/lib/ui/TldrawUi.js +0 -14
  86. package/dist-cjs/lib/ui/TldrawUi.js.map +3 -3
  87. package/dist-cjs/lib/ui/components/A11y.js +12 -14
  88. package/dist-cjs/lib/ui/components/A11y.js.map +2 -2
  89. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js +3 -12
  90. package/dist-cjs/lib/ui/components/ActionsMenu/DefaultActionsMenu.js.map +2 -2
  91. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js +2 -3
  92. package/dist-cjs/lib/ui/components/DefaultMenuPanel.js.map +2 -2
  93. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +1 -51
  94. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +2 -2
  95. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js +2 -3
  96. package/dist-cjs/lib/ui/components/MainMenu/DefaultMainMenuContent.js.map +2 -2
  97. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  98. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  99. package/dist-cjs/lib/ui/components/MobileStylePanel.js +3 -5
  100. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  101. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js +5 -4
  102. package/dist-cjs/lib/ui/components/NavigationPanel/DefaultNavigationPanel.js.map +2 -2
  103. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js +1 -2
  104. package/dist-cjs/lib/ui/components/PageMenu/DefaultPageMenu.js.map +2 -2
  105. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js +2 -3
  106. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenuItem.js.map +2 -2
  107. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +2 -2
  108. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js.map +2 -2
  109. package/dist-cjs/lib/ui/components/Spinner.js +25 -2
  110. package/dist-cjs/lib/ui/components/Spinner.js.map +2 -2
  111. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +0 -2
  112. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js.map +2 -2
  113. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +139 -171
  114. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  115. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js +3 -3
  116. package/dist-cjs/lib/ui/components/StylePanel/DoubleDropdownPicker.js.map +2 -2
  117. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js +25 -26
  118. package/dist-cjs/lib/ui/components/StylePanel/DropdownPicker.js.map +3 -3
  119. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbar.js +7 -21
  120. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbar.js.map +3 -3
  121. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +1 -1
  122. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  123. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +21 -66
  124. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js.map +3 -3
  125. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +80 -189
  126. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js.map +3 -3
  127. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +4 -5
  128. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js.map +2 -2
  129. package/dist-cjs/lib/ui/components/menu-items.js +0 -22
  130. package/dist-cjs/lib/ui/components/menu-items.js.map +2 -2
  131. package/dist-cjs/lib/ui/components/primitives/Button/TldrawUiButtonIcon.js.map +2 -2
  132. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js +16 -7
  133. package/dist-cjs/lib/ui/components/primitives/TldrawUiButtonPicker.js.map +3 -3
  134. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  135. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js.map +2 -2
  136. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js +1 -1
  137. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js.map +2 -2
  138. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js +1 -35
  139. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js.map +2 -2
  140. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +2 -3
  141. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js.map +3 -3
  142. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +2 -6
  143. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js.map +2 -2
  144. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +7 -31
  145. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js.map +2 -2
  146. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.js.map +2 -2
  147. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  148. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +12 -25
  149. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  150. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +22 -154
  151. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  152. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js +2 -3
  153. package/dist-cjs/lib/ui/context/TldrawUiContextProvider.js.map +2 -2
  154. package/dist-cjs/lib/ui/context/actions.js +8 -57
  155. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  156. package/dist-cjs/lib/ui/context/events.js.map +2 -2
  157. package/dist-cjs/lib/ui/hooks/menu-hooks.js.map +2 -2
  158. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +2 -2
  159. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js.map +2 -2
  160. package/dist-cjs/lib/ui/hooks/useTools.js +9 -94
  161. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  162. package/dist-cjs/lib/ui/hooks/useTranslation/TLUiTranslationKey.js.map +1 -1
  163. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +0 -11
  164. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +2 -2
  165. package/dist-cjs/lib/ui/kbd-utils.js +1 -2
  166. package/dist-cjs/lib/ui/kbd-utils.js.map +2 -2
  167. package/dist-cjs/lib/ui/version.js +3 -3
  168. package/dist-cjs/lib/ui/version.js.map +1 -1
  169. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js +1 -1
  170. package/dist-cjs/lib/utils/excalidraw/putExcalidrawContent.js.map +2 -2
  171. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js +2 -3
  172. package/dist-cjs/lib/utils/tldr/buildFromV1Document.js.map +2 -2
  173. package/dist-esm/index.d.mts +23 -297
  174. package/dist-esm/index.mjs +4 -51
  175. package/dist-esm/index.mjs.map +2 -2
  176. package/dist-esm/lib/TldrawImage.mjs +2 -5
  177. package/dist-esm/lib/TldrawImage.mjs.map +2 -2
  178. package/dist-esm/lib/canvas/TldrawCropHandles.mjs +1 -1
  179. package/dist-esm/lib/canvas/TldrawCropHandles.mjs.map +2 -2
  180. package/dist-esm/lib/canvas/TldrawHandles.mjs +1 -1
  181. package/dist-esm/lib/canvas/TldrawHandles.mjs.map +2 -2
  182. package/dist-esm/lib/canvas/TldrawOverlays.mjs +1 -1
  183. package/dist-esm/lib/canvas/TldrawOverlays.mjs.map +2 -2
  184. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  185. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  186. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs +271 -279
  187. package/dist-esm/lib/canvas/TldrawSelectionForeground.mjs.map +2 -2
  188. package/dist-esm/lib/defaultExternalContentHandlers.mjs +0 -1
  189. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  190. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +44 -30
  191. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  192. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs +5 -19
  193. package/dist-esm/lib/shapes/arrow/arrowLabel.mjs.map +2 -2
  194. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs +1 -1
  195. package/dist-esm/lib/shapes/arrow/arrowTargetState.mjs.map +2 -2
  196. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  197. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  198. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs +0 -3
  199. package/dist-esm/lib/shapes/arrow/toolStates/Pointing.mjs.map +2 -2
  200. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs +6 -4
  201. package/dist-esm/lib/shapes/draw/DrawShapeUtil.mjs.map +2 -2
  202. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  203. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  204. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +17 -18
  205. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  206. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  207. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  208. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs +2 -3
  209. package/dist-esm/lib/shapes/geo/GeoShapeUtil.mjs.map +2 -2
  210. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs +1 -2
  211. package/dist-esm/lib/shapes/geo/components/GeoShapeBody.mjs.map +2 -2
  212. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs +4 -6
  213. package/dist-esm/lib/shapes/highlight/HighlightShapeUtil.mjs.map +2 -2
  214. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +3 -3
  215. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +1 -1
  216. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +5 -21
  217. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  218. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs +5 -7
  219. package/dist-esm/lib/shapes/note/NoteShapeUtil.mjs.map +2 -2
  220. package/dist-esm/lib/shapes/shared/PathBuilder.mjs +3 -22
  221. package/dist-esm/lib/shapes/shared/PathBuilder.mjs.map +2 -2
  222. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs +0 -1
  223. package/dist-esm/lib/shapes/shared/PlainTextLabel.mjs.map +2 -2
  224. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +2 -5
  225. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  226. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +4 -5
  227. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  228. package/dist-esm/lib/shapes/shared/SvgTextLabel.mjs +3 -4
  229. package/dist-esm/lib/shapes/shared/SvgTextLabel.mjs.map +2 -2
  230. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  231. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs +1 -10
  232. package/dist-esm/lib/shapes/shared/usePrefersReducedMotion.mjs.map +2 -2
  233. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs +13 -8
  234. package/dist-esm/lib/shapes/text/TextShapeUtil.mjs.map +2 -2
  235. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  236. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  237. package/dist-esm/lib/styles.mjs.map +2 -2
  238. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +1 -26
  239. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  240. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +0 -13
  241. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  242. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs +1 -7
  243. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.mjs.map +2 -2
  244. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +22 -43
  245. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  246. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +15 -2
  247. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  248. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs +0 -5
  249. package/dist-esm/lib/tools/SelectTool/childStates/PointingShape.mjs.map +2 -2
  250. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +0 -8
  251. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  252. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +0 -8
  253. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +2 -2
  254. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +0 -8
  255. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  256. package/dist-esm/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.mjs.map +2 -2
  257. package/dist-esm/lib/ui/TldrawUi.mjs +2 -16
  258. package/dist-esm/lib/ui/TldrawUi.mjs.map +3 -3
  259. package/dist-esm/lib/ui/components/A11y.mjs +12 -14
  260. package/dist-esm/lib/ui/components/A11y.mjs.map +2 -2
  261. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs +3 -12
  262. package/dist-esm/lib/ui/components/ActionsMenu/DefaultActionsMenu.mjs.map +2 -2
  263. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs +2 -3
  264. package/dist-esm/lib/ui/components/DefaultMenuPanel.mjs.map +2 -2
  265. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +1 -51
  266. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +2 -2
  267. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs +3 -3
  268. package/dist-esm/lib/ui/components/MainMenu/DefaultMainMenuContent.mjs.map +2 -2
  269. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  270. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  271. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +3 -6
  272. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  273. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs +5 -4
  274. package/dist-esm/lib/ui/components/NavigationPanel/DefaultNavigationPanel.mjs.map +2 -2
  275. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs +1 -2
  276. package/dist-esm/lib/ui/components/PageMenu/DefaultPageMenu.mjs.map +2 -2
  277. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs +2 -3
  278. package/dist-esm/lib/ui/components/SharePanel/PeopleMenuItem.mjs.map +2 -2
  279. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs +2 -2
  280. package/dist-esm/lib/ui/components/SharePanel/UserPresenceColorPicker.mjs.map +2 -2
  281. package/dist-esm/lib/ui/components/Spinner.mjs +26 -3
  282. package/dist-esm/lib/ui/components/Spinner.mjs.map +2 -2
  283. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs +1 -3
  284. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanel.mjs.map +2 -2
  285. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +139 -171
  286. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  287. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs +3 -3
  288. package/dist-esm/lib/ui/components/StylePanel/DoubleDropdownPicker.mjs.map +2 -2
  289. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs +25 -26
  290. package/dist-esm/lib/ui/components/StylePanel/DropdownPicker.mjs.map +2 -2
  291. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbar.mjs +9 -23
  292. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbar.mjs.map +3 -3
  293. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +1 -1
  294. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  295. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs +21 -56
  296. package/dist-esm/lib/ui/components/Toolbar/DefaultToolbar.mjs.map +2 -2
  297. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs +81 -192
  298. package/dist-esm/lib/ui/components/Toolbar/OverflowingToolbar.mjs.map +3 -3
  299. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs +4 -5
  300. package/dist-esm/lib/ui/components/Toolbar/ToggleToolLockedButton.mjs.map +2 -2
  301. package/dist-esm/lib/ui/components/menu-items.mjs +0 -22
  302. package/dist-esm/lib/ui/components/menu-items.mjs.map +2 -2
  303. package/dist-esm/lib/ui/components/primitives/Button/TldrawUiButtonIcon.mjs.map +2 -2
  304. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs +6 -8
  305. package/dist-esm/lib/ui/components/primitives/TldrawUiButtonPicker.mjs.map +2 -2
  306. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs +1 -1
  307. package/dist-esm/lib/ui/components/primitives/TldrawUiContextualToolbar.mjs.map +2 -2
  308. package/dist-esm/lib/ui/components/primitives/TldrawUiDialog.mjs +1 -1
  309. package/dist-esm/lib/ui/components/primitives/TldrawUiDialog.mjs.map +2 -2
  310. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs +2 -36
  311. package/dist-esm/lib/ui/components/primitives/TldrawUiIcon.mjs.map +2 -2
  312. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs +2 -3
  313. package/dist-esm/lib/ui/components/primitives/TldrawUiPopover.mjs.map +2 -2
  314. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs +2 -6
  315. package/dist-esm/lib/ui/components/primitives/TldrawUiSlider.mjs.map +2 -2
  316. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs +7 -31
  317. package/dist-esm/lib/ui/components/primitives/TldrawUiToolbar.mjs.map +2 -2
  318. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.mjs.map +2 -2
  319. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  320. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +12 -25
  321. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  322. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +24 -162
  323. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  324. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs +2 -3
  325. package/dist-esm/lib/ui/context/TldrawUiContextProvider.mjs.map +2 -2
  326. package/dist-esm/lib/ui/context/actions.mjs +8 -57
  327. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  328. package/dist-esm/lib/ui/context/events.mjs.map +2 -2
  329. package/dist-esm/lib/ui/hooks/menu-hooks.mjs.map +2 -2
  330. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs +2 -2
  331. package/dist-esm/lib/ui/hooks/useKeyboardShortcuts.mjs.map +2 -2
  332. package/dist-esm/lib/ui/hooks/useTools.mjs +10 -102
  333. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  334. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +0 -11
  335. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +2 -2
  336. package/dist-esm/lib/ui/kbd-utils.mjs +1 -2
  337. package/dist-esm/lib/ui/kbd-utils.mjs.map +2 -2
  338. package/dist-esm/lib/ui/version.mjs +3 -3
  339. package/dist-esm/lib/ui/version.mjs.map +1 -1
  340. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs +1 -1
  341. package/dist-esm/lib/utils/excalidraw/putExcalidrawContent.mjs.map +2 -2
  342. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs +2 -3
  343. package/dist-esm/lib/utils/tldr/buildFromV1Document.mjs.map +2 -2
  344. package/package.json +34 -12
  345. package/src/index.ts +2 -39
  346. package/src/lib/TldrawImage.tsx +2 -6
  347. package/src/lib/canvas/TldrawCropHandles.tsx +1 -3
  348. package/src/lib/canvas/TldrawHandles.tsx +1 -5
  349. package/src/lib/canvas/TldrawOverlays.tsx +1 -1
  350. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  351. package/src/lib/canvas/TldrawSelectionForeground.tsx +1 -5
  352. package/src/lib/defaultExternalContentHandlers.ts +1 -2
  353. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +1 -2
  354. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +3 -4
  355. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +11 -12
  356. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +46 -30
  357. package/src/lib/shapes/arrow/arrowLabel.ts +3 -23
  358. package/src/lib/shapes/arrow/arrowTargetState.ts +1 -2
  359. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  360. package/src/lib/shapes/arrow/toolStates/Pointing.tsx +0 -3
  361. package/src/lib/shapes/draw/DrawShapeTool.test.ts +5 -0
  362. package/src/lib/shapes/draw/DrawShapeUtil.tsx +7 -4
  363. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  364. package/src/lib/shapes/frame/FrameShapeUtil.tsx +21 -26
  365. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  366. package/src/lib/shapes/geo/GeoShapeUtil.tsx +2 -3
  367. package/src/lib/shapes/geo/components/GeoShapeBody.tsx +2 -2
  368. package/src/lib/shapes/highlight/HighlightShapeUtil.tsx +4 -7
  369. package/src/lib/shapes/image/ImageShapeUtil.tsx +3 -3
  370. package/src/lib/shapes/line/LineShapeUtil.test.tsx +3 -4
  371. package/src/lib/shapes/line/LineShapeUtil.tsx +6 -25
  372. package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.tsx.snap +2 -2
  373. package/src/lib/shapes/note/NoteShapeUtil.tsx +4 -10
  374. package/src/lib/shapes/shared/PathBuilder.test.tsx +1 -1
  375. package/src/lib/shapes/shared/PathBuilder.tsx +1 -35
  376. package/src/lib/shapes/shared/PlainTextLabel.tsx +0 -1
  377. package/src/lib/shapes/shared/RichTextLabel.tsx +0 -4
  378. package/src/lib/shapes/shared/ShapeFill.tsx +4 -5
  379. package/src/lib/shapes/shared/SvgTextLabel.tsx +2 -4
  380. package/src/lib/shapes/shared/freehand/svg.ts +0 -2
  381. package/src/lib/shapes/shared/usePrefersReducedMotion.tsx +1 -11
  382. package/src/lib/shapes/text/TextShapeTool.test.ts +5 -6
  383. package/src/lib/shapes/text/TextShapeUtil.tsx +14 -8
  384. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  385. package/src/lib/styles.tsx +1 -3
  386. package/src/lib/tools/EraserTool/childStates/Erasing.ts +1 -34
  387. package/src/lib/tools/EraserTool/childStates/Pointing.ts +0 -20
  388. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCrop.ts +1 -8
  389. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +30 -54
  390. package/src/lib/tools/SelectTool/childStates/Idle.ts +24 -2
  391. package/src/lib/tools/SelectTool/childStates/PointingShape.ts +0 -7
  392. package/src/lib/tools/SelectTool/childStates/Resizing.ts +1 -12
  393. package/src/lib/tools/SelectTool/childStates/Rotating.ts +0 -11
  394. package/src/lib/tools/SelectTool/childStates/Translating.ts +1 -11
  395. package/src/lib/tools/selection-logic/getHitShapeOnCanvasPointerDown.ts +0 -1
  396. package/src/lib/ui/TldrawUi.tsx +2 -17
  397. package/src/lib/ui/components/A11y.tsx +13 -15
  398. package/src/lib/ui/components/ActionsMenu/DefaultActionsMenu.tsx +3 -15
  399. package/src/lib/ui/components/DefaultMenuPanel.tsx +3 -4
  400. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +0 -40
  401. package/src/lib/ui/components/MainMenu/DefaultMainMenuContent.tsx +2 -4
  402. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  403. package/src/lib/ui/components/MobileStylePanel.tsx +6 -9
  404. package/src/lib/ui/components/NavigationPanel/DefaultNavigationPanel.tsx +5 -4
  405. package/src/lib/ui/components/PageMenu/DefaultPageMenu.tsx +2 -3
  406. package/src/lib/ui/components/SharePanel/PeopleMenuItem.tsx +3 -4
  407. package/src/lib/ui/components/SharePanel/UserPresenceColorPicker.tsx +3 -3
  408. package/src/lib/ui/components/Spinner.tsx +24 -2
  409. package/src/lib/ui/components/StylePanel/DefaultStylePanel.tsx +1 -3
  410. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +106 -146
  411. package/src/lib/ui/components/StylePanel/DoubleDropdownPicker.tsx +3 -3
  412. package/src/lib/ui/components/StylePanel/DropdownPicker.tsx +6 -7
  413. package/src/lib/ui/components/Toolbar/DefaultImageToolbar.tsx +9 -25
  414. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +1 -1
  415. package/src/lib/ui/components/Toolbar/DefaultToolbar.tsx +23 -55
  416. package/src/lib/ui/components/Toolbar/OverflowingToolbar.tsx +61 -212
  417. package/src/lib/ui/components/Toolbar/ToggleToolLockedButton.tsx +12 -17
  418. package/src/lib/ui/components/menu-items.tsx +0 -25
  419. package/src/lib/ui/components/primitives/Button/TldrawUiButtonIcon.tsx +2 -2
  420. package/src/lib/ui/components/primitives/TldrawUiButtonPicker.tsx +35 -40
  421. package/src/lib/ui/components/primitives/TldrawUiContextualToolbar.tsx +1 -1
  422. package/src/lib/ui/components/primitives/TldrawUiDialog.tsx +1 -1
  423. package/src/lib/ui/components/primitives/TldrawUiIcon.tsx +3 -41
  424. package/src/lib/ui/components/primitives/TldrawUiPopover.tsx +2 -4
  425. package/src/lib/ui/components/primitives/TldrawUiSlider.tsx +1 -6
  426. package/src/lib/ui/components/primitives/TldrawUiToolbar.tsx +12 -56
  427. package/src/lib/ui/components/primitives/menus/TldrawUiMenuCheckboxItem.tsx +2 -2
  428. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +1 -0
  429. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +16 -29
  430. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +23 -224
  431. package/src/lib/ui/context/TldrawUiContextProvider.tsx +20 -23
  432. package/src/lib/ui/context/actions.tsx +9 -59
  433. package/src/lib/ui/context/events.tsx +2 -6
  434. package/src/lib/ui/hooks/menu-hooks.ts +0 -1
  435. package/src/lib/ui/hooks/useKeyboardShortcuts.ts +2 -3
  436. package/src/lib/ui/hooks/useTools.tsx +11 -142
  437. package/src/lib/ui/hooks/useTranslation/TLUiTranslationKey.ts +0 -11
  438. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +0 -11
  439. package/src/lib/ui/kbd-utils.ts +1 -2
  440. package/src/lib/ui/version.ts +3 -3
  441. package/src/lib/ui.css +314 -414
  442. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +7 -21
  443. package/src/lib/utils/excalidraw/putExcalidrawContent.ts +1 -1
  444. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +7 -28
  445. package/src/lib/utils/tldr/buildFromV1Document.ts +1 -2
  446. package/src/test/A11y.test.tsx +2 -3
  447. package/src/test/ClickManager.test.ts +6 -7
  448. package/src/test/Editor.test.tsx +20 -21
  449. package/src/test/EraserTool.test.ts +13 -184
  450. package/src/test/HandTool.test.ts +9 -10
  451. package/src/test/HighlightShape.test.ts +1 -2
  452. package/src/test/SelectTool.test.ts +13 -40
  453. package/src/test/TLUserPreferences.test.ts +3 -4
  454. package/src/test/TestEditor.ts +15 -13
  455. package/src/test/TldrawEditor.test.tsx +10 -11
  456. package/src/test/ZoomTool.test.ts +6 -7
  457. package/src/test/__snapshots__/drawing.test.ts.snap +2 -2
  458. package/src/test/__snapshots__/groups.test.tsx.snap +6 -6
  459. package/src/test/__snapshots__/resizing.test.ts.snap +2 -2
  460. package/src/test/arrows-megabus.test.tsx +10 -17
  461. package/src/test/bindings.test.tsx +37 -24
  462. package/src/test/bookmark-shapes.test.ts +8 -1
  463. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +7 -23
  464. package/src/test/commands/__snapshots__/packShapes.test.ts.snap +8 -8
  465. package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +2 -2
  466. package/src/test/commands/alignShapes.test.tsx +24 -25
  467. package/src/test/commands/animationSpeed.test.ts +1 -2
  468. package/src/test/commands/centerOnPoint.test.ts +2 -3
  469. package/src/test/commands/clipboard.test.ts +2 -3
  470. package/src/test/commands/createShapes.test.ts +1 -2
  471. package/src/test/commands/deletePage.test.ts +1 -84
  472. package/src/test/commands/deleteShapes.test.ts +1 -2
  473. package/src/test/commands/distributeShapes.test.tsx +10 -11
  474. package/src/test/commands/getSvgString.test.ts +1 -2
  475. package/src/test/commands/packShapes.test.ts +4 -5
  476. package/src/test/commands/resizeShape.test.ts +1 -2
  477. package/src/test/commands/rotateShapes.test.ts +6 -7
  478. package/src/test/commands/setCamera.test.ts +3 -4
  479. package/src/test/commands/setCurrentPage.test.ts +2 -3
  480. package/src/test/commands/stackShapes.test.ts +10 -11
  481. package/src/test/commands/stretch.test.tsx +12 -13
  482. package/src/test/createDeepLink.test.tsx +1 -2
  483. package/src/test/cropping.test.ts +2 -3
  484. package/src/test/drawing.test.ts +1 -2
  485. package/src/test/flipShapes.test.ts +3 -4
  486. package/src/test/frames.test.ts +24 -25
  487. package/src/test/getCulledShapes.test.tsx +2 -3
  488. package/src/test/groups.test.tsx +2 -2
  489. package/src/test/handleDeepLink.test.tsx +1 -2
  490. package/src/test/maxShapes.test.ts +2 -3
  491. package/src/test/modifiers.test.ts +4 -5
  492. package/src/test/navigation.test.ts +9 -264
  493. package/src/test/panning.test.ts +1 -2
  494. package/src/test/perf/perf.test.ts +1 -2
  495. package/src/test/registerDeepLinkListener.test.tsx +9 -10
  496. package/src/test/resizing.test.ts +38 -39
  497. package/src/test/select.test.tsx +3 -4
  498. package/src/test/selection-omnibus.test.ts +10 -11
  499. package/src/test/shapeutils.test.ts +48 -398
  500. package/src/test/translating.test.ts +9 -10
  501. package/tldraw.css +627 -726
  502. package/dist-cjs/lib/ui/components/AccessibilityMenu.js +0 -35
  503. package/dist-cjs/lib/ui/components/AccessibilityMenu.js.map +0 -7
  504. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +0 -268
  505. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +0 -7
  506. package/dist-cjs/lib/ui/components/primitives/layout.js +0 -76
  507. package/dist-cjs/lib/ui/components/primitives/layout.js.map +0 -7
  508. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs +0 -19
  509. package/dist-esm/lib/ui/components/AccessibilityMenu.mjs.map +0 -7
  510. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +0 -245
  511. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +0 -7
  512. package/dist-esm/lib/ui/components/primitives/layout.mjs +0 -46
  513. package/dist-esm/lib/ui/components/primitives/layout.mjs.map +0 -7
  514. package/src/lib/ui/components/AccessibilityMenu.tsx +0 -20
  515. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +0 -327
  516. package/src/lib/ui/components/primitives/layout.tsx +0 -107
  517. package/src/test/inner-outer-margin.test.ts +0 -315
package/tldraw.css CHANGED
@@ -9,57 +9,57 @@
9
9
  height: 100%;
10
10
  font-size: 12px;
11
11
  /* Spacing */
12
- --tl-space-1: 2px;
13
- --tl-space-2: 4px;
14
- --tl-space-3: 8px;
15
- --tl-space-4: 12px;
16
- --tl-space-5: 16px;
17
- --tl-space-6: 20px;
18
- --tl-space-7: 28px;
19
- --tl-space-8: 32px;
20
- --tl-space-9: 64px;
21
- --tl-space-10: 72px;
12
+ --space-1: 2px;
13
+ --space-2: 4px;
14
+ --space-3: 8px;
15
+ --space-4: 12px;
16
+ --space-5: 16px;
17
+ --space-6: 20px;
18
+ --space-7: 28px;
19
+ --space-8: 32px;
20
+ --space-9: 64px;
21
+ --space-10: 72px;
22
22
  /* Radius */
23
- --tl-radius-0: 2px;
24
- --tl-radius-1: 4px;
25
- --tl-radius-2: 6px;
26
- --tl-radius-3: 9px;
27
- --tl-radius-4: 11px;
23
+ --radius-0: 2px;
24
+ --radius-1: 4px;
25
+ --radius-2: 6px;
26
+ --radius-3: 9px;
27
+ --radius-4: 11px;
28
28
 
29
29
  /* Canvas z-index */
30
- --tl-layer-canvas-hidden: -999999;
31
- --tl-layer-canvas-background: 100;
32
- --tl-layer-canvas-grid: 150;
33
- --tl-layer-watermark: 200;
34
- --tl-layer-canvas-shapes: 300;
35
- --tl-layer-canvas-overlays: 500;
36
- --tl-layer-canvas-blocker: 10000;
30
+ --layer-canvas-hidden: -999999;
31
+ --layer-canvas-background: 100;
32
+ --layer-canvas-grid: 150;
33
+ --layer-watermark: 200;
34
+ --layer-canvas-shapes: 300;
35
+ --layer-canvas-overlays: 500;
36
+ --layer-canvas-blocker: 10000;
37
37
 
38
38
  /* Canvas overlays z-index */
39
- --tl-layer-overlays-collaborator-scribble: 10;
40
- --tl-layer-overlays-collaborator-brush: 20;
41
- --tl-layer-overlays-collaborator-shape-indicator: 30;
42
- --tl-layer-overlays-user-scribble: 40;
43
- --tl-layer-overlays-user-brush: 50;
44
- --tl-layer-overlays-user-snapline: 90;
45
- --tl-layer-overlays-selection-fg: 100;
39
+ --layer-overlays-collaborator-scribble: 10;
40
+ --layer-overlays-collaborator-brush: 20;
41
+ --layer-overlays-collaborator-shape-indicator: 30;
42
+ --layer-overlays-user-scribble: 40;
43
+ --layer-overlays-user-brush: 50;
44
+ --layer-overlays-user-snapline: 90;
45
+ --layer-overlays-selection-fg: 100;
46
46
  /* User handles need to be above selection edges / corners, matters for sticky note clone handles */
47
- --tl-layer-overlays-user-handles: 105;
48
- --tl-layer-overlays-user-indicator-hint: 110;
49
- --tl-layer-overlays-custom: 115;
50
- --tl-layer-overlays-collaborator-cursor-hint: 120;
51
- --tl-layer-overlays-collaborator-cursor: 130;
47
+ --layer-overlays-user-handles: 105;
48
+ --layer-overlays-user-indicator-hint: 110;
49
+ --layer-overlays-custom: 115;
50
+ --layer-overlays-collaborator-cursor-hint: 120;
51
+ --layer-overlays-collaborator-cursor: 130;
52
52
 
53
53
  /* Text editor z-index */
54
- --tl-layer-text-container: 1;
55
- --tl-layer-text-content: 3;
56
- --tl-layer-text-editor: 4;
54
+ --layer-text-container: 1;
55
+ --layer-text-content: 3;
56
+ --layer-text-editor: 4;
57
57
 
58
58
  /* Error fallback z-index */
59
- --tl-layer-error-overlay: 1;
60
- --tl-layer-error-canvas: 2;
61
- --tl-layer-error-canvas-after: 3;
62
- --tl-layer-error-content: 4;
59
+ --layer-error-overlay: 1;
60
+ --layer-error-canvas: 2;
61
+ --layer-error-canvas-after: 3;
62
+ --layer-error-content: 4;
63
63
 
64
64
  /* Misc */
65
65
  --tl-zoom: 1;
@@ -124,15 +124,12 @@
124
124
  --tl-font-serif: 'tldraw_serif', serif;
125
125
  --tl-font-mono: 'tldraw_mono', monospace;
126
126
  /* text outline */
127
- --tl-text-outline-a: calc(min(0.5, 1 / var(--tl-zoom)) * 2px);
128
- --tl-text-outline-b: calc(min(0.5, 1 / var(--tl-zoom)) * -2px);
127
+ --a: calc(min(0.5, 1 / var(--tl-zoom)) * 2px);
128
+ --b: calc(min(0.5, 1 / var(--tl-zoom)) * -2px);
129
129
  --tl-text-outline-reference:
130
- 0 var(--tl-text-outline-b) 0 var(--tl-color-background),
131
- 0 var(--tl-text-outline-a) 0 var(--tl-color-background),
132
- var(--tl-text-outline-b) var(--tl-text-outline-b) 0 var(--tl-color-background),
133
- var(--tl-text-outline-a) var(--tl-text-outline-b) 0 var(--tl-color-background),
134
- var(--tl-text-outline-a) var(--tl-text-outline-a) 0 var(--tl-color-background),
135
- var(--tl-text-outline-b) var(--tl-text-outline-a) 0 var(--tl-color-background);
130
+ 0 var(--b) 0 var(--color-background), 0 var(--a) 0 var(--color-background),
131
+ var(--b) var(--b) 0 var(--color-background), var(--a) var(--b) 0 var(--color-background),
132
+ var(--a) var(--a) 0 var(--color-background), var(--b) var(--a) 0 var(--color-background);
136
133
  --tl-text-outline: var(--tl-text-outline-reference);
137
134
  /* own properties */
138
135
  position: relative;
@@ -140,118 +137,116 @@
140
137
  height: 100%;
141
138
  width: 100%;
142
139
  overflow: clip;
143
- color: var(--tl-color-text);
140
+ color: var(--color-text);
144
141
  }
145
142
 
146
143
  .tl-theme__light {
147
144
  /* Canvas */
148
- --tl-color-snap: hsl(0, 76%, 60%);
149
- --tl-color-selection-fill: hsl(210, 100%, 56%, 24%);
150
- --tl-color-selection-stroke: hsl(214, 84%, 56%);
151
- --tl-color-background: hsl(210, 20%, 98%);
152
- --tl-color-brush-fill: hsl(0, 0%, 56%, 10.2%);
153
- --tl-color-brush-stroke: hsl(0, 0%, 56%, 25.1%);
154
- --tl-color-grid: hsl(0, 0%, 43%);
145
+ --color-snap: hsl(0, 76%, 60%);
146
+ --color-selection-fill: hsl(210, 100%, 56%, 24%);
147
+ --color-selection-stroke: hsl(214, 84%, 56%);
148
+ --color-background: hsl(210, 20%, 98%);
149
+ --color-brush-fill: hsl(0, 0%, 56%, 10.2%);
150
+ --color-brush-stroke: hsl(0, 0%, 56%, 25.1%);
151
+ --color-grid: hsl(0, 0%, 43%);
155
152
  /* UI */
156
- --tl-color-low: hsl(204, 16%, 94%);
157
- --tl-color-low-border: hsl(204, 16%, 92%);
158
- --tl-color-culled: hsl(204, 14%, 93%);
159
- --tl-color-muted-none: hsl(0, 0%, 0%, 0%);
160
- --tl-color-muted-0: hsl(0, 0%, 0%, 2%);
161
- --tl-color-muted-1: hsl(0, 0%, 0%, 10%);
162
- --tl-color-muted-2: hsl(0, 0%, 0%, 4.3%);
163
- --tl-color-hint: hsl(0, 0%, 0%, 5.5%);
164
- --tl-color-overlay: hsl(0, 0%, 0%, 20%);
165
- --tl-color-divider: hsl(0, 0%, 91%);
166
- --tl-color-panel: hsl(0, 0%, 99%);
167
- --tl-color-panel-contrast: hsl(0, 0%, 100%);
168
- --tl-color-panel-overlay: hsl(0, 0%, 100%, 82%);
169
- --tl-color-panel-transparent: hsla(0, 0%, 99%, 0%);
170
- --tl-color-selected: hsl(214, 84%, 56%);
171
- --tl-color-selected-contrast: hsl(0, 0%, 100%);
172
- --tl-color-focus: hsl(219, 65%, 50%);
173
- --tl-color-tooltip: hsla(200, 14%, 4%, 1);
153
+ --color-low: hsl(204, 16%, 94%);
154
+ --color-low-border: hsl(204, 16%, 92%);
155
+ --color-culled: hsl(204, 14%, 93%);
156
+ --color-muted-none: hsl(0, 0%, 0%, 0%);
157
+ --color-muted-0: hsl(0, 0%, 0%, 2%);
158
+ --color-muted-1: hsl(0, 0%, 0%, 10%);
159
+ --color-muted-2: hsl(0, 0%, 0%, 4.3%);
160
+ --color-hint: hsl(0, 0%, 0%, 5.5%);
161
+ --color-overlay: hsl(0, 0%, 0%, 20%);
162
+ --color-divider: hsl(0, 0%, 91%);
163
+ --color-panel: hsl(0, 0%, 99%);
164
+ --color-panel-contrast: hsl(0, 0%, 100%);
165
+ --color-panel-overlay: hsl(0, 0%, 100%, 82%);
166
+ --color-panel-transparent: hsla(0, 0%, 99%, 0%);
167
+ --color-selected: hsl(214, 84%, 56%);
168
+ --color-selected-contrast: hsl(0, 0%, 100%);
169
+ --color-focus: hsl(219, 65%, 50%);
174
170
  /* Text */
175
- --tl-color-text: hsl(0, 0%, 0%);
176
- --tl-color-text-0: hsl(0, 0%, 11%);
177
- --tl-color-text-1: hsl(0, 0%, 18%);
178
- --tl-color-text-3: hsl(204, 4%, 45%);
179
- --tl-color-text-shadow: hsl(0, 0%, 100%);
180
- --tl-color-text-highlight: hsl(52, 100%, 50%);
181
- --tl-color-text-highlight-p3: color(display-p3 0.972 0.8205 0.05);
171
+ --color-text: hsl(0, 0%, 0%);
172
+ --color-text-0: hsl(0, 0%, 11%);
173
+ --color-text-1: hsl(0, 0%, 18%);
174
+ --color-text-3: hsl(220, 2%, 65%);
175
+ --color-text-shadow: hsl(0, 0%, 100%);
176
+ --color-text-highlight: hsl(52, 100%, 50%);
177
+ --color-text-highlight-p3: color(display-p3 0.972 0.8205 0.05);
182
178
  /* Named */
183
- --tl-color-primary: hsl(214, 84%, 56%);
184
- --tl-color-success: hsl(123, 46%, 34%);
185
- --tl-color-info: hsl(201, 98%, 41%);
186
- --tl-color-warning: hsl(27, 98%, 47%);
187
- --tl-color-danger: hsl(0, 90%, 43%);
188
- --tl-color-laser: hsl(0, 100%, 50%);
179
+ --color-primary: hsl(214, 84%, 56%);
180
+ --color-success: hsl(123, 46%, 34%);
181
+ --color-info: hsl(201, 98%, 41%);
182
+ --color-warning: hsl(27, 98%, 47%);
183
+ --color-danger: hsl(0, 90%, 43%);
184
+ --color-laser: hsl(0, 100%, 50%);
189
185
  /* Shadows */
190
- --tl-shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 25%), 0px 1px 3px hsl(0, 0%, 0%, 9%);
191
- --tl-shadow-2:
186
+ --shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 25%), 0px 1px 3px hsl(0, 0%, 0%, 9%);
187
+ --shadow-2:
192
188
  0px 0px 2px hsl(0, 0%, 0%, 16%), 0px 2px 3px hsl(0, 0%, 0%, 24%),
193
- 0px 2px 6px hsl(0, 0%, 0%, 0.1), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
194
- --tl-shadow-3:
189
+ 0px 2px 6px hsl(0, 0%, 0%, 0.1), inset 0px 0px 0px 1px var(--color-panel-contrast);
190
+ --shadow-3:
195
191
  0px 1px 2px hsl(0, 0%, 0%, 28%), 0px 2px 6px hsl(0, 0%, 0%, 14%),
196
- inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
197
- --tl-shadow-4:
192
+ inset 0px 0px 0px 1px var(--color-panel-contrast);
193
+ --shadow-4:
198
194
  0px 0px 3px hsl(0, 0%, 0%, 19%), 0px 5px 4px hsl(0, 0%, 0%, 16%),
199
- 0px 2px 16px hsl(0, 0%, 0%, 6%), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
195
+ 0px 2px 16px hsl(0, 0%, 0%, 6%), inset 0px 0px 0px 1px var(--color-panel-contrast);
200
196
  }
201
197
 
202
198
  .tl-theme__dark {
203
199
  /* Canvas */
204
- --tl-color-snap: hsl(0, 76%, 60%);
205
- --tl-color-selection-fill: hsl(209, 100%, 57%, 20%);
206
- --tl-color-selection-stroke: hsl(214, 84%, 56%);
207
- --tl-color-background: hsl(240, 5%, 6.5%);
208
- --tl-color-brush-fill: hsl(0, 0%, 71%, 5.1%);
209
- --tl-color-brush-stroke: hsl(0, 0%, 71%, 25.1%);
210
- --tl-color-grid: hsl(0, 0%, 40%);
200
+ --color-snap: hsl(0, 76%, 60%);
201
+ --color-selection-fill: hsl(209, 100%, 57%, 20%);
202
+ --color-selection-stroke: hsl(214, 84%, 56%);
203
+ --color-background: hsl(240, 5%, 6.5%);
204
+ --color-brush-fill: hsl(0, 0%, 71%, 5.1%);
205
+ --color-brush-stroke: hsl(0, 0%, 71%, 25.1%);
206
+ --color-grid: hsl(0, 0%, 40%);
211
207
  /* UI */
212
- --tl-color-low: hsl(260, 4.5%, 10.5%);
213
- --tl-color-low-border: hsl(207, 10%, 10%);
214
- --tl-color-culled: hsl(210, 11%, 19%);
215
- --tl-color-muted-none: hsl(0, 0%, 100%, 0%);
216
- --tl-color-muted-0: hsl(0, 0%, 100%, 2%);
217
- --tl-color-muted-1: hsl(0, 0%, 100%, 10%);
218
- --tl-color-muted-2: hsl(0, 0%, 100%, 5%);
219
- --tl-color-hint: hsl(0, 0%, 100%, 7%);
220
- --tl-color-overlay: hsl(0, 0%, 0%, 50%);
221
- --tl-color-divider: hsl(240, 9%, 22%);
222
- --tl-color-panel: hsl(235, 6.8%, 13.5%);
223
- --tl-color-panel-contrast: hsl(245, 12%, 23%);
224
- --tl-color-panel-overlay: hsl(210, 10%, 24%, 82%);
225
- --tl-color-panel-transparent: hsla(235, 6.8%, 13.5%, 0%);
226
- --tl-color-selected: hsl(217, 89%, 61%);
227
- --tl-color-selected-contrast: hsl(0, 0%, 100%);
228
- --tl-color-focus: hsl(217, 76%, 80%);
229
- --tl-color-tooltip: hsla(0, 0%, 100%, 1);
208
+ --color-low: hsl(260, 4.5%, 10.5%);
209
+ --color-low-border: hsl(207, 10%, 10%);
210
+ --color-culled: hsl(210, 11%, 19%);
211
+ --color-muted-none: hsl(0, 0%, 100%, 0%);
212
+ --color-muted-0: hsl(0, 0%, 100%, 2%);
213
+ --color-muted-1: hsl(0, 0%, 100%, 10%);
214
+ --color-muted-2: hsl(0, 0%, 100%, 5%);
215
+ --color-hint: hsl(0, 0%, 100%, 7%);
216
+ --color-overlay: hsl(0, 0%, 0%, 50%);
217
+ --color-divider: hsl(240, 9%, 22%);
218
+ --color-panel: hsl(235, 6.8%, 13.5%);
219
+ --color-panel-contrast: hsl(245, 12%, 23%);
220
+ --color-panel-overlay: hsl(210, 10%, 24%, 82%);
221
+ --color-panel-transparent: hsla(235, 6.8%, 13.5%, 0%);
222
+ --color-selected: hsl(217, 89%, 61%);
223
+ --color-selected-contrast: hsl(0, 0%, 100%);
224
+ --color-focus: hsl(217, 76%, 80%);
230
225
  /* Text */
231
- --tl-color-text: hsl(210, 17%, 98%);
232
- --tl-color-text-0: hsl(0, 9%, 94%);
233
- --tl-color-text-1: hsl(0, 0%, 85%);
234
- --tl-color-text-3: hsl(204, 4%, 75%);
235
- --tl-color-text-shadow: hsl(210, 13%, 18%);
236
- --tl-color-text-highlight: hsl(52, 100%, 41%);
237
- --tl-color-text-highlight-p3: color(display-p3 0.8078 0.6225 0.0312);
226
+ --color-text: hsl(210, 17%, 98%);
227
+ --color-text-0: hsl(0, 9%, 94%);
228
+ --color-text-1: hsl(0, 0%, 85%);
229
+ --color-text-3: hsl(210, 6%, 45%);
230
+ --color-text-shadow: hsl(210, 13%, 18%);
231
+ --color-text-highlight: hsl(52, 100%, 41%);
232
+ --color-text-highlight-p3: color(display-p3 0.8078 0.6225 0.0312);
238
233
  /* Named */
239
- --tl-color-primary: hsl(214, 84%, 56%);
240
- --tl-color-success: hsl(123, 38%, 57%);
241
- --tl-color-info: hsl(199, 92%, 56%);
242
- --tl-color-warning: hsl(36, 100%, 57%);
243
- --tl-color-danger: hsl(0, 82%, 66%);
244
- --tl-color-laser: hsl(0, 100%, 50%);
234
+ --color-primary: hsl(214, 84%, 56%);
235
+ --color-success: hsl(123, 38%, 57%);
236
+ --color-info: hsl(199, 92%, 56%);
237
+ --color-warning: hsl(36, 100%, 57%);
238
+ --color-danger: hsl(0, 82%, 66%);
239
+ --color-laser: hsl(0, 100%, 50%);
245
240
  /* Shadows */
246
- --tl-shadow-1:
241
+ --shadow-1:
247
242
  0px 1px 2px hsl(0, 0%, 0%, 16.1%), 0px 1px 3px hsl(0, 0%, 0%, 22%),
248
- inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
249
- --tl-shadow-2:
243
+ inset 0px 0px 0px 1px var(--color-panel-contrast);
244
+ --shadow-2:
250
245
  0px 1px 3px hsl(0, 0%, 0%, 66.6%), 0px 2px 6px hsl(0, 0%, 0%, 33%),
251
- inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
252
- --tl-shadow-3:
246
+ inset 0px 0px 0px 1px var(--color-panel-contrast);
247
+ --shadow-3:
253
248
  0px 1px 3px hsl(0, 0%, 0%, 50%), 0px 2px 12px hsl(0, 0%, 0%, 50%),
254
- inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
249
+ inset 0px 0px 0px 1px var(--color-panel-contrast);
255
250
  }
256
251
 
257
252
  .tl-counter-scaled {
@@ -277,7 +272,7 @@
277
272
  }
278
273
 
279
274
  .tl-container__focused {
280
- outline: 1px solid var(--tl-color-low);
275
+ outline: 1px solid var(--color-low);
281
276
  }
282
277
 
283
278
  input,
@@ -293,7 +288,7 @@ input,
293
288
  inset: 0px;
294
289
  height: 100%;
295
290
  width: 100%;
296
- color: var(--tl-color-text);
291
+ color: var(--color-text);
297
292
  cursor: var(--tl-cursor);
298
293
  overflow: clip;
299
294
  content-visibility: auto;
@@ -303,7 +298,7 @@ input,
303
298
 
304
299
  .tl-shapes {
305
300
  position: relative;
306
- z-index: var(--tl-layer-canvas-shapes);
301
+ z-index: var(--layer-canvas-shapes);
307
302
  }
308
303
 
309
304
  .tl-overlays {
@@ -314,7 +309,7 @@ input,
314
309
  width: 100%;
315
310
  contain: strict;
316
311
  pointer-events: none;
317
- z-index: var(--tl-layer-canvas-overlays);
312
+ z-index: var(--layer-canvas-overlays);
318
313
  }
319
314
 
320
315
  .tl-overlays__item {
@@ -338,7 +333,7 @@ input,
338
333
  /* ------------------- Background ------------------- */
339
334
 
340
335
  .tl-background__wrapper {
341
- z-index: var(--tl-layer-canvas-background);
336
+ z-index: var(--layer-canvas-background);
342
337
  position: absolute;
343
338
  inset: 0px;
344
339
  height: 100%;
@@ -346,7 +341,7 @@ input,
346
341
  }
347
342
 
348
343
  .tl-background {
349
- background-color: var(--tl-color-background);
344
+ background-color: var(--color-background);
350
345
  width: 100%;
351
346
  height: 100%;
352
347
  }
@@ -360,12 +355,12 @@ input,
360
355
  height: 100%;
361
356
  touch-action: none;
362
357
  pointer-events: none;
363
- z-index: var(--tl-layer-canvas-grid);
358
+ z-index: var(--layer-canvas-grid);
364
359
  contain: strict;
365
360
  }
366
361
 
367
362
  .tl-grid-dot {
368
- fill: var(--tl-color-grid);
363
+ fill: var(--color-grid);
369
364
  }
370
365
 
371
366
  /* --------------------- Layers --------------------- */
@@ -383,54 +378,54 @@ input,
383
378
 
384
379
  /* back of the stack, behind user's stuff */
385
380
  .tl-collaborator__scribble {
386
- z-index: var(--tl-layer-overlays-collaborator-scribble);
381
+ z-index: var(--layer-overlays-collaborator-scribble);
387
382
  }
388
383
 
389
384
  .tl-collaborator__brush {
390
- z-index: var(--tl-layer-overlays-collaborator-brush);
385
+ z-index: var(--layer-overlays-collaborator-brush);
391
386
  }
392
387
 
393
388
  .tl-collaborator__shape-indicator {
394
- z-index: var(--tl-layer-overlays-collaborator-shape-indicator);
389
+ z-index: var(--layer-overlays-collaborator-shape-indicator);
395
390
  }
396
391
 
397
392
  .tl-user-scribble {
398
- z-index: var(--tl-layer-overlays-user-scribble);
393
+ z-index: var(--layer-overlays-user-scribble);
399
394
  }
400
395
 
401
396
  .tl-user-brush {
402
- z-index: var(--tl-layer-overlays-user-brush);
397
+ z-index: var(--layer-overlays-user-brush);
403
398
  }
404
399
 
405
400
  .tl-user-handles {
406
- z-index: var(--tl-layer-overlays-user-handles);
401
+ z-index: var(--layer-overlays-user-handles);
407
402
  }
408
403
 
409
404
  .tl-user-snapline {
410
- z-index: var(--tl-layer-overlays-user-snapline);
405
+ z-index: var(--layer-overlays-user-snapline);
411
406
  }
412
407
 
413
408
  .tl-selection__fg {
414
409
  pointer-events: none;
415
- z-index: var(--tl-layer-overlays-selection-fg);
410
+ z-index: var(--layer-overlays-selection-fg);
416
411
  }
417
412
 
418
413
  .tl-user-indicator__hint {
419
- z-index: var(--tl-layer-overlays-user-indicator-hint);
414
+ z-index: var(--layer-overlays-user-indicator-hint);
420
415
  stroke-width: calc(2.5px * var(--tl-scale));
421
416
  }
422
417
 
423
418
  .tl-custom-overlays {
424
- z-index: var(--tl-layer-overlays-custom);
419
+ z-index: var(--layer-overlays-custom);
425
420
  }
426
421
 
427
422
  /* behind collaborator cursor */
428
423
  .tl-collaborator__cursor-hint {
429
- z-index: var(--tl-layer-overlays-collaborator-cursor-hint);
424
+ z-index: var(--layer-overlays-collaborator-cursor-hint);
430
425
  }
431
426
 
432
427
  .tl-collaborator__cursor {
433
- z-index: var(--tl-layer-overlays-collaborator-cursor);
428
+ z-index: var(--layer-overlays-collaborator-cursor);
434
429
  }
435
430
 
436
431
  .tl-cursor {
@@ -451,32 +446,32 @@ input,
451
446
  .tl-selection__fg__outline {
452
447
  fill: none;
453
448
  pointer-events: none;
454
- stroke: var(--tl-color-selection-stroke);
449
+ stroke: var(--color-selection-stroke);
455
450
  stroke-width: calc(1.5px * var(--tl-scale));
456
451
  }
457
452
 
458
453
  .tl-corner-handle {
459
454
  pointer-events: none;
460
- stroke: var(--tl-color-selection-stroke);
461
- fill: var(--tl-color-background);
455
+ stroke: var(--color-selection-stroke);
456
+ fill: var(--color-background);
462
457
  stroke-width: calc(1.5px * var(--tl-scale));
463
458
  }
464
459
 
465
460
  .tl-text-handle {
466
461
  pointer-events: none;
467
- fill: var(--tl-color-selection-stroke);
462
+ fill: var(--color-selection-stroke);
468
463
  }
469
464
 
470
465
  .tl-corner-crop-handle {
471
466
  pointer-events: none;
472
467
  fill: none;
473
- stroke: var(--tl-color-selection-stroke);
468
+ stroke: var(--color-selection-stroke);
474
469
  }
475
470
 
476
471
  .tl-corner-crop-edge-handle {
477
472
  pointer-events: none;
478
473
  fill: none;
479
- stroke: var(--tl-color-selection-stroke);
474
+ stroke: var(--color-selection-stroke);
480
475
  }
481
476
 
482
477
  .tl-mobile-rotate__bg {
@@ -486,8 +481,8 @@ input,
486
481
 
487
482
  .tl-mobile-rotate__fg {
488
483
  pointer-events: none;
489
- stroke: var(--tl-color-selection-stroke);
490
- fill: var(--tl-color-background);
484
+ stroke: var(--color-selection-stroke);
485
+ fill: var(--color-background);
491
486
  stroke-width: calc(1.5px * var(--tl-scale));
492
487
  }
493
488
 
@@ -517,8 +512,8 @@ input,
517
512
  text-overflow: ellipsis;
518
513
  font-size: 12px;
519
514
  font-family: var(--font-body);
520
- border-radius: var(--tl-radius-2);
521
- color: var(--tl-color-selected-contrast);
515
+ border-radius: var(--radius-2);
516
+ color: var(--color-selected-contrast);
522
517
  }
523
518
 
524
519
  .tl-nametag-title {
@@ -536,7 +531,7 @@ input,
536
531
  font-size: 12px;
537
532
  font-family: var(--font-body);
538
533
  text-shadow: var(--tl-text-outline);
539
- color: var(--tl-color-selected-contrast);
534
+ color: var(--color-selected-contrast);
540
535
  }
541
536
 
542
537
  .tl-nametag-chat {
@@ -545,31 +540,31 @@ input,
545
540
  left: 13px;
546
541
  width: fit-content;
547
542
  height: fit-content;
548
- color: var(--tl-color-selected-contrast);
543
+ color: var(--color-selected-contrast);
549
544
  white-space: nowrap;
550
545
  position: absolute;
551
546
  padding: 3px 6px;
552
547
  font-size: 12px;
553
548
  font-family: var(--font-body);
554
549
  opacity: 1;
555
- border-radius: var(--tl-radius-2);
550
+ border-radius: var(--radius-2);
556
551
  }
557
552
 
558
553
  .tl-cursor-chat {
559
554
  position: absolute;
560
- color: var(--tl-color-selected-contrast);
555
+ color: var(--color-selected-contrast);
561
556
  white-space: nowrap;
562
557
  padding: 3px 6px;
563
558
  font-size: 12px;
564
559
  font-family: var(--font-body);
565
560
  pointer-events: none;
566
- z-index: var(--tl-layer-cursor);
561
+ z-index: var(--layer-cursor);
567
562
  margin-top: 16px;
568
563
  margin-left: 13px;
569
564
  opacity: 1;
570
565
  border: none;
571
566
  user-select: text;
572
- border-radius: var(--tl-radius-2);
567
+ border-radius: var(--radius-2);
573
568
  }
574
569
 
575
570
  .tl-cursor-chat .tl-cursor-chat__bubble {
@@ -577,13 +572,13 @@ input,
577
572
  }
578
573
 
579
574
  .tl-cursor-chat::selection {
580
- background: var(--tl-color-selected);
581
- color: var(--tl-color-selected-contrast);
575
+ background: var(--color-selected);
576
+ color: var(--color-selected-contrast);
582
577
  text-shadow: none;
583
578
  }
584
579
 
585
580
  .tl-cursor-chat::placeholder {
586
- color: var(--tl-color-selected-contrast);
581
+ color: var(--color-selected-contrast);
587
582
  opacity: 0.7;
588
583
  }
589
584
 
@@ -654,7 +649,7 @@ input,
654
649
  background: none;
655
650
  border-image: none;
656
651
  border: 0px;
657
- caret-color: var(--tl-color-text);
652
+ caret-color: var(--color-text);
658
653
  color: inherit;
659
654
  column-count: initial !important;
660
655
  display: inline-block;
@@ -686,7 +681,7 @@ input,
686
681
 
687
682
  .tl-text-measure {
688
683
  position: absolute;
689
- z-index: var(--tl-layer-canvas-hidden);
684
+ z-index: var(--layer-canvas-hidden);
690
685
  top: 0px;
691
686
  left: 0px;
692
687
  opacity: 0;
@@ -749,8 +744,8 @@ input,
749
744
  }
750
745
 
751
746
  .tl-text-input::selection {
752
- background: var(--tl-color-selected);
753
- color: var(--tl-color-selected-contrast);
747
+ background: var(--color-selected);
748
+ color: var(--color-selected-contrast);
754
749
  text-shadow: none;
755
750
  }
756
751
 
@@ -760,7 +755,7 @@ input,
760
755
  display: flex;
761
756
  justify-content: center;
762
757
  align-items: center;
763
- color: var(--tl-color-text);
758
+ color: var(--color-text);
764
759
  text-shadow: var(--tl-text-outline);
765
760
  line-height: inherit;
766
761
  position: absolute;
@@ -783,7 +778,8 @@ input,
783
778
  position: static;
784
779
  }
785
780
 
786
- .tl-text-wrapper[data-isediting='false'] .tl-text-input {
781
+ .tl-text-wrapper[data-isediting='false'] .tl-text-input,
782
+ .tl-arrow-label[data-isediting='false'] .tl-text-input {
787
783
  opacity: 0;
788
784
  cursor: var(--tl-cursor-default);
789
785
  }
@@ -804,7 +800,7 @@ input,
804
800
 
805
801
  .tl-text-wrapper .tl-text-content {
806
802
  pointer-events: all;
807
- z-index: var(--tl-layer-text-content);
803
+ z-index: var(--layer-text-content);
808
804
  }
809
805
 
810
806
  .tl-text-label__inner > .tl-text-content {
@@ -814,7 +810,7 @@ input,
814
810
  padding: inherit;
815
811
  height: fit-content;
816
812
  width: fit-content;
817
- border-radius: var(--tl-radius-1);
813
+ border-radius: var(--radius-1);
818
814
  max-width: 100%;
819
815
  }
820
816
 
@@ -827,7 +823,7 @@ input,
827
823
  }
828
824
 
829
825
  .tl-text-wrapper[data-isselected='true'] .tl-text-input {
830
- z-index: var(--tl-layer-text-editor);
826
+ z-index: var(--layer-text-editor);
831
827
  pointer-events: all;
832
828
  }
833
829
 
@@ -922,7 +918,7 @@ input,
922
918
  }
923
919
 
924
920
  .tl-rich-text a {
925
- color: var(--tl-color-primary);
921
+ color: var(--color-primary);
926
922
  text-decoration: underline;
927
923
  }
928
924
 
@@ -945,14 +941,14 @@ input,
945
941
  }
946
942
 
947
943
  .tl-theme__dark .tl-rich-text mark {
948
- background-color: var(--tl-color-text-highlight);
944
+ background-color: var(--color-text-highlight);
949
945
  color: currentColor;
950
946
  }
951
947
 
952
948
  @supports (color: color(display-p3 1 1 1)) {
953
949
  @media (color-gamut: p3) {
954
950
  .tl-container:not(.tl-theme__force-sRGB) .tl-rich-text mark {
955
- background-color: var(--tl-color-text-highlight-p3);
951
+ background-color: var(--color-text-highlight-p3);
956
952
  }
957
953
  }
958
954
  }
@@ -964,26 +960,26 @@ input,
964
960
  /* --------------------- Loading -------------------- */
965
961
 
966
962
  .tl-loading {
967
- background-color: var(--tl-color-background);
968
- color: var(--tl-color-text-1);
963
+ background-color: var(--color-background);
964
+ color: var(--color-text-1);
969
965
  height: 100%;
970
966
  width: 100%;
971
967
  display: flex;
972
968
  flex-direction: column;
973
969
  justify-content: center;
974
970
  align-items: center;
975
- gap: var(--tl-space-2);
971
+ gap: var(--space-2);
976
972
  font-size: 14px;
977
973
  font-weight: 500;
978
974
  opacity: 0;
979
- animation: tl-fade-in 0.2s ease-in-out forwards;
975
+ animation: fade-in 0.2s ease-in-out forwards;
980
976
  animation-delay: 0.2s;
981
977
  position: absolute;
982
978
  inset: 0px;
983
- z-index: var(--tl-layer-canvas-blocker);
979
+ z-index: var(--layer-canvas-blocker);
984
980
  }
985
981
 
986
- @keyframes tl-fade-in {
982
+ @keyframes fade-in {
987
983
  0% {
988
984
  opacity: 0;
989
985
  }
@@ -992,19 +988,6 @@ input,
992
988
  }
993
989
  }
994
990
 
995
- .tl-spinner {
996
- animation: tl-spin 1s linear infinite;
997
- }
998
-
999
- @keyframes tl-spin {
1000
- 0% {
1001
- transform: rotate(0deg);
1002
- }
1003
- 100% {
1004
- transform: rotate(360deg);
1005
- }
1006
- }
1007
-
1008
991
  /* ---------------------- Brush --------------------- */
1009
992
 
1010
993
  .tl-brush {
@@ -1013,8 +996,8 @@ input,
1013
996
  }
1014
997
 
1015
998
  .tl-brush__default {
1016
- stroke: var(--tl-color-brush-stroke);
1017
- fill: var(--tl-color-brush-fill);
999
+ stroke: var(--color-brush-stroke);
1000
+ fill: var(--color-brush-fill);
1018
1001
  }
1019
1002
 
1020
1003
  /* -------------------- Scribble -------------------- */
@@ -1029,13 +1012,13 @@ input,
1029
1012
  /* ---------------------- Snaps --------------------- */
1030
1013
 
1031
1014
  .tl-snap-indicator {
1032
- stroke: var(--tl-color-snap);
1015
+ stroke: var(--color-snap);
1033
1016
  stroke-width: calc(1px * var(--tl-scale));
1034
1017
  fill: none;
1035
1018
  }
1036
1019
 
1037
1020
  .tl-snap-point {
1038
- stroke: var(--tl-color-snap);
1021
+ stroke: var(--color-snap);
1039
1022
  stroke-width: calc(1px * var(--tl-scale));
1040
1023
  fill: none;
1041
1024
  }
@@ -1055,7 +1038,7 @@ input,
1055
1038
  justify-content: center;
1056
1039
  font-size: 12px;
1057
1040
  font-weight: 400;
1058
- color: var(--tl-color-text-1);
1041
+ color: var(--color-text-1);
1059
1042
  padding: 13px;
1060
1043
  cursor: var(--tl-cursor-pointer);
1061
1044
  border: none;
@@ -1073,13 +1056,13 @@ input,
1073
1056
  display: block;
1074
1057
  width: calc(100% - 12px);
1075
1058
  height: calc(100% - 12px);
1076
- border-radius: var(--tl-radius-1);
1077
- background-color: var(--tl-color-background);
1059
+ border-radius: var(--radius-1);
1060
+ background-color: var(--color-background);
1078
1061
  pointer-events: none;
1079
1062
  }
1080
1063
 
1081
1064
  .tl-hyperlink-button:focus-visible {
1082
- color: var(--tl-color-selected);
1065
+ color: var(--color-selected);
1083
1066
  }
1084
1067
 
1085
1068
  .tl-hyperlink__icon {
@@ -1106,8 +1089,8 @@ input,
1106
1089
  }
1107
1090
 
1108
1091
  .tl-handle__fg {
1109
- fill: var(--tl-color-selected-contrast);
1110
- stroke: var(--tl-color-selection-stroke);
1092
+ fill: var(--color-selected-contrast);
1093
+ stroke: var(--color-selection-stroke);
1111
1094
  stroke-width: calc(1.5px * var(--tl-scale));
1112
1095
  pointer-events: none;
1113
1096
  }
@@ -1117,7 +1100,7 @@ input,
1117
1100
  }
1118
1101
 
1119
1102
  .tl-handle__clone > .tl-handle__fg {
1120
- fill: var(--tl-color-selection-stroke);
1103
+ fill: var(--color-selection-stroke);
1121
1104
  stroke: none;
1122
1105
  }
1123
1106
 
@@ -1127,7 +1110,7 @@ input,
1127
1110
 
1128
1111
  @media (pointer: coarse) {
1129
1112
  .tl-handle__bg:active {
1130
- fill: var(--tl-color-selection-fill);
1113
+ fill: var(--color-selection-fill);
1131
1114
  }
1132
1115
 
1133
1116
  .tl-handle__create {
@@ -1183,20 +1166,20 @@ input,
1183
1166
  stroke-linejoin: round;
1184
1167
  /* content-visibility: auto; */
1185
1168
  transform-origin: top left;
1186
- color: var(--tl-color-text-1);
1169
+ color: var(--color-text-1);
1187
1170
  }
1188
1171
 
1189
1172
  /* -------------------- Group shape ------------------ */
1190
1173
 
1191
1174
  .tl-group {
1192
- stroke: var(--tl-color-text);
1175
+ stroke: var(--color-text);
1193
1176
  stroke-width: calc(1px * var(--tl-scale));
1194
1177
  opacity: 0.5;
1195
1178
  }
1196
1179
 
1197
1180
  /* --------------------- Arrow shape -------------------- */
1198
1181
 
1199
- .tl-shape[data-shape-type='arrow'] .tl-text-label {
1182
+ .tl-arrow-label {
1200
1183
  position: absolute;
1201
1184
  top: -1px;
1202
1185
  left: -1px;
@@ -1207,38 +1190,56 @@ input,
1207
1190
  justify-content: center;
1208
1191
  align-items: center;
1209
1192
  text-align: center;
1210
- color: var(--tl-color-text);
1193
+ color: var(--color-text);
1211
1194
  text-shadow: var(--tl-text-outline);
1212
1195
  }
1213
1196
 
1214
- .tl-shape[data-shape-type='arrow'] .tl-text-label__inner {
1215
- border-radius: var(--tl-radius-1);
1197
+ .tl-arrow-label[data-isediting='true'] p {
1198
+ opacity: 0;
1199
+ }
1200
+
1201
+ .tl-arrow-label__inner {
1202
+ border-radius: var(--radius-1);
1216
1203
  box-sizing: content-box;
1204
+ position: relative;
1217
1205
  height: max-content;
1218
1206
  width: max-content;
1207
+ pointer-events: none;
1208
+ display: flex;
1209
+ justify-content: center;
1210
+ align-items: center;
1219
1211
  }
1220
1212
 
1221
- .tl-shape[data-shape-type='arrow'] .tl-text {
1213
+ .tl-arrow-label .tl-arrow {
1214
+ position: relative;
1222
1215
  height: max-content;
1216
+ padding: inherit;
1217
+ overflow: visible;
1218
+ }
1219
+
1220
+ .tl-arrow-label textarea {
1221
+ padding: inherit;
1222
+ /* Don't allow textarea to be zero width */
1223
+ min-width: 4px;
1223
1224
  }
1224
1225
 
1225
1226
  .tl-arrow-hint {
1226
- stroke: var(--tl-color-text-1);
1227
+ stroke: var(--color-text-1);
1227
1228
  fill: none;
1228
1229
  stroke-linecap: round;
1229
1230
  overflow: visible;
1230
1231
  }
1231
1232
 
1232
1233
  .tl-arrow-hint-handle {
1233
- fill: var(--tl-color-selected-contrast);
1234
- stroke: var(--tl-color-selection-stroke);
1234
+ fill: var(--color-selected-contrast);
1235
+ stroke: var(--color-selection-stroke);
1235
1236
  stroke-width: calc(1.5px * var(--tl-scale));
1236
1237
  r: calc(4px * var(--tl-scale));
1237
1238
  }
1238
1239
 
1239
1240
  .tl-arrow-hint-snap {
1240
1241
  stroke: transparent;
1241
- fill: var(--tl-color-selection-fill);
1242
+ fill: var(--color-selection-fill);
1242
1243
  r: calc(12px * var(--tl-scale));
1243
1244
  }
1244
1245
 
@@ -1258,40 +1259,40 @@ input,
1258
1259
  width: 100%;
1259
1260
  height: 100%;
1260
1261
  position: relative;
1261
- border: 1px solid var(--tl-color-panel-contrast);
1262
- background-color: var(--tl-color-panel);
1263
- border-radius: var(--tl-radius-2);
1262
+ border: 1px solid var(--color-panel-contrast);
1263
+ background-color: var(--color-panel);
1264
+ border-radius: var(--radius-2);
1264
1265
  display: flex;
1265
1266
  flex-direction: column;
1266
1267
  overflow: hidden;
1267
1268
  }
1268
1269
 
1269
1270
  .tl-bookmark__container--safariExport {
1270
- border: 1px solid var(--tl-color-divider);
1271
+ border: 1px solid var(--color-divider);
1271
1272
  }
1272
1273
 
1273
1274
  .tl-bookmark__image_container {
1274
1275
  flex: 1 1 100%;
1275
1276
  overflow: hidden;
1276
- border-top-left-radius: var(--tl-radius-1);
1277
- border-top-right-radius: var(--tl-radius-1);
1277
+ border-top-left-radius: var(--radius-1);
1278
+ border-top-right-radius: var(--radius-1);
1278
1279
  width: 100%;
1279
1280
  height: 100%;
1280
1281
  display: flex;
1281
1282
  justify-content: flex-end;
1282
1283
  align-items: flex-start;
1283
- box-shadow: inset 0px 0px 0px 1px var(--tl-color-divider);
1284
+ box-shadow: inset 0px 0px 0px 1px var(--color-divider);
1284
1285
  }
1285
1286
 
1286
1287
  .tl-bookmark__image_container > .tl-hyperlink-button::after {
1287
- background-color: var(--tl-color-panel);
1288
+ background-color: var(--color-panel);
1288
1289
  }
1289
1290
 
1290
1291
  .tl-bookmark__placeholder {
1291
1292
  width: 100%;
1292
1293
  height: 100%;
1293
- background-color: var(--tl-color-muted-2);
1294
- border-bottom: 1px solid var(--tl-color-muted-2);
1294
+ background-color: var(--color-muted-2);
1295
+ border-bottom: 1px solid var(--color-muted-2);
1295
1296
  }
1296
1297
 
1297
1298
  .tl-bookmark__image {
@@ -1299,12 +1300,12 @@ input,
1299
1300
  height: 100%;
1300
1301
  object-fit: cover;
1301
1302
  object-position: center;
1302
- border-bottom: 1px solid var(--tl-color-muted-2);
1303
+ border-bottom: 1px solid var(--color-muted-2);
1303
1304
  }
1304
1305
 
1305
1306
  .tl-bookmark__copy_container {
1306
- background-color: var(--tl-color-muted-0);
1307
- padding: var(--tl-space-4);
1307
+ background-color: var(--color-muted-0);
1308
+ padding: var(--space-4);
1308
1309
  pointer-events: all;
1309
1310
  display: flex;
1310
1311
  flex-direction: column;
@@ -1324,7 +1325,7 @@ input,
1324
1325
  font-size: 16px;
1325
1326
  line-height: 1.6;
1326
1327
  font-weight: bold;
1327
- padding-bottom: var(--tl-space-2);
1328
+ padding-bottom: var(--space-2);
1328
1329
  overflow: hidden;
1329
1330
  max-height: calc((16px * 1.6) * 2);
1330
1331
  -webkit-box-orient: vertical;
@@ -1344,19 +1345,19 @@ input,
1344
1345
  line-clamp: 3;
1345
1346
  text-overflow: ellipsis;
1346
1347
  display: -webkit-box;
1347
- color: var(--tl-color-text-2);
1348
- margin: var(--tl-space-2) 0px;
1348
+ color: var(--color-text-2);
1349
+ margin: var(--space-2) 0px;
1349
1350
  }
1350
1351
 
1351
1352
  .tl-bookmark__heading + .tl-bookmark__link,
1352
1353
  .tl-bookmark__description + .tl-bookmark__link {
1353
- margin-top: var(--tl-space-3);
1354
+ margin-top: var(--space-3);
1354
1355
  }
1355
1356
  .tl-bookmark__link {
1356
1357
  font-size: 12px;
1357
1358
  pointer-events: all;
1358
1359
  display: flex;
1359
- color: var(--tl-color-text-2);
1360
+ color: var(--color-text-2);
1360
1361
  align-items: center;
1361
1362
  cursor: var(--tl-cursor-pointer);
1362
1363
  width: fit-content;
@@ -1398,7 +1399,7 @@ input,
1398
1399
  width: 100%;
1399
1400
  height: 100%;
1400
1401
  pointer-events: all;
1401
- /* background-color: var(--tl-color-background); */
1402
+ /* background-color: var(--color-background); */
1402
1403
 
1403
1404
  display: flex;
1404
1405
  justify-content: center;
@@ -1427,7 +1428,7 @@ input,
1427
1428
  height: 100%;
1428
1429
  pointer-events: all;
1429
1430
  opacity: 1;
1430
- z-index: var(--tl-layer-text-container);
1431
+ z-index: var(--layer-text-container);
1431
1432
  border-radius: 1px;
1432
1433
  }
1433
1434
 
@@ -1443,22 +1444,22 @@ input,
1443
1444
  }
1444
1445
 
1445
1446
  .tl-frame__creating {
1446
- stroke: var(--tl-color-selected);
1447
+ stroke: var(--color-selected);
1447
1448
  fill: none;
1448
1449
  }
1449
1450
 
1450
1451
  .tl-frame-heading {
1451
- --tl-frame-padding-x: 6px;
1452
- --tl-frame-height: 24px;
1453
- --tl-frame-minimum-width: 32px;
1454
- --tl-frame-offset-width: 16px;
1452
+ --frame-padding-x: 6px;
1453
+ --frame-height: 24px;
1454
+ --frame-minimum-width: 32px;
1455
+ --frame-offset-width: 16px;
1455
1456
  display: flex;
1456
1457
  align-items: center;
1457
1458
  position: absolute;
1458
1459
  transform-origin: 0% 100%;
1459
1460
  overflow: hidden;
1460
1461
  max-width: 100%;
1461
- min-width: var(--tl-frame-minimum-width);
1462
+ min-width: var(--frame-minimum-width);
1462
1463
  height: auto;
1463
1464
  font-size: 12px;
1464
1465
  padding-bottom: 4px;
@@ -1470,18 +1471,18 @@ input,
1470
1471
  /* scale from bottom left corner so we can pin it to the top left corner of the frame */
1471
1472
  transform-origin: 0% 100%;
1472
1473
  display: flex;
1473
- height: var(--tl-frame-height);
1474
+ height: var(--frame-height);
1474
1475
  width: 100%;
1475
1476
  align-items: center;
1476
- border-radius: var(--tl-radius-1);
1477
+ border-radius: var(--radius-1);
1477
1478
  }
1478
1479
 
1479
1480
  .tl-frame-label {
1480
1481
  pointer-events: all;
1481
1482
  overflow: hidden;
1482
1483
  text-overflow: ellipsis;
1483
- padding: 0px var(--tl-frame-padding-x);
1484
- border-radius: var(--tl-radius-1);
1484
+ padding: 0px var(--frame-padding-x);
1485
+ border-radius: var(--radius-1);
1485
1486
  position: relative;
1486
1487
  font-size: inherit;
1487
1488
  white-space: pre;
@@ -1491,12 +1492,12 @@ input,
1491
1492
  color: transparent;
1492
1493
  white-space: pre;
1493
1494
  width: auto;
1494
- min-width: var(--tl-frame-minimum-width);
1495
+ min-width: var(--frame-minimum-width);
1495
1496
  height: 100%;
1496
1497
  overflow: visible;
1497
- background-color: var(--tl-color-panel);
1498
- border-color: var(--tl-color-selected);
1499
- box-shadow: inset 0px 0px 0px 1.5px var(--tl-color-selected);
1498
+ background-color: var(--color-panel);
1499
+ border-color: var(--color-selected);
1500
+ box-shadow: inset 0px 0px 0px 1.5px var(--color-selected);
1500
1501
  }
1501
1502
 
1502
1503
  .tl-frame-name-input {
@@ -1504,7 +1505,7 @@ input,
1504
1505
  border: none;
1505
1506
  background: none;
1506
1507
  outline: none;
1507
- padding: 0px var(--tl-frame-padding-x);
1508
+ padding: 0px var(--frame-padding-x);
1508
1509
  inset: 0px;
1509
1510
  height: 100%;
1510
1511
  width: 100%;
@@ -1512,8 +1513,8 @@ input,
1512
1513
  font-family: inherit;
1513
1514
  font-weight: inherit;
1514
1515
  width: 100%;
1515
- color: var(--tl-color-text-1);
1516
- border-radius: var(--tl-radius-1);
1516
+ color: var(--color-text-1);
1517
+ border-radius: var(--radius-1);
1517
1518
  user-select: all;
1518
1519
  -webkit-user-select: text;
1519
1520
  white-space: pre;
@@ -1533,7 +1534,7 @@ input,
1533
1534
 
1534
1535
  .tl-embed {
1535
1536
  border: none;
1536
- border-radius: var(--tl-radius-2);
1537
+ border-radius: var(--radius-2);
1537
1538
  }
1538
1539
 
1539
1540
  /* -------------- Shape error boundary -------------- */
@@ -1541,11 +1542,11 @@ input,
1541
1542
  .tl-shape-error-boundary {
1542
1543
  width: 100%;
1543
1544
  height: 100%;
1544
- background-color: var(--tl-color-muted-1);
1545
+ background-color: var(--color-muted-1);
1545
1546
  border-width: calc(1px * var(--tl-scale));
1546
- border-color: var(--tl-color-muted-1);
1547
+ border-color: var(--color-muted-1);
1547
1548
  border-style: solid;
1548
- border-radius: calc(var(--tl-radius-1) * var(--tl-scale));
1549
+ border-radius: calc(var(--radius-1) * var(--tl-scale));
1549
1550
  display: flex;
1550
1551
  flex-direction: column;
1551
1552
  align-items: center;
@@ -1554,7 +1555,7 @@ input,
1554
1555
  position: relative;
1555
1556
  pointer-events: all;
1556
1557
  overflow: hidden;
1557
- padding: var(--tl-space-2);
1558
+ padding: var(--space-2);
1558
1559
  }
1559
1560
 
1560
1561
  .tl-shape-error-boundary::before {
@@ -1562,7 +1563,7 @@ input,
1562
1563
  content: 'Error';
1563
1564
  font-size: 12px;
1564
1565
  font-family: inherit;
1565
- color: var(--tl-color-text-0);
1566
+ color: var(--color-text-0);
1566
1567
  }
1567
1568
 
1568
1569
  /* ----------------- Error boundary ----------------- */
@@ -1573,9 +1574,9 @@ input,
1573
1574
  display: flex;
1574
1575
  align-items: center;
1575
1576
  justify-content: center;
1576
- padding: var(--tl-space-4);
1577
- background-color: var(--tl-color-background);
1578
- color: var(--tl-color-text-1);
1577
+ padding: var(--space-4);
1578
+ background-color: var(--color-background);
1579
+ color: var(--color-text-1);
1579
1580
  position: absolute;
1580
1581
  }
1581
1582
 
@@ -1584,8 +1585,8 @@ input,
1584
1585
  inset: 0px;
1585
1586
  height: 100%;
1586
1587
  width: 100%;
1587
- z-index: var(--tl-layer-error-overlay);
1588
- background-color: var(--tl-color-overlay);
1588
+ z-index: var(--layer-error-overlay);
1589
+ background-color: var(--color-overlay);
1589
1590
  }
1590
1591
 
1591
1592
  .tl-error-boundary__content * {
@@ -1600,7 +1601,7 @@ input,
1600
1601
  inset: 0px;
1601
1602
  height: 100%;
1602
1603
  width: 100%;
1603
- z-index: var(--tl-layer-error-canvas);
1604
+ z-index: var(--layer-error-canvas);
1604
1605
  }
1605
1606
 
1606
1607
  /* some browsers seem to have some weird interactions between stacking contexts
@@ -1613,7 +1614,7 @@ it from receiving any pointer events or affecting the cursor. */
1613
1614
  inset: 0px;
1614
1615
  height: 100%;
1615
1616
  width: 100%;
1616
- z-index: var(--tl-layer-error-canvas-after);
1617
+ z-index: var(--layer-error-canvas-after);
1617
1618
  pointer-events: all;
1618
1619
  }
1619
1620
 
@@ -1623,16 +1624,16 @@ it from receiving any pointer events or affecting the cursor. */
1623
1624
  max-width: 100%;
1624
1625
  width: 400px;
1625
1626
  max-height: 100%;
1626
- background-color: var(--tl-color-panel);
1627
+ background-color: var(--color-panel);
1627
1628
  padding: 16px;
1628
1629
  border-radius: 16px;
1629
- box-shadow: var(--tl-shadow-2);
1630
+ box-shadow: var(--shadow-2);
1630
1631
  font-size: 14px;
1631
1632
  font-weight: 400;
1632
1633
  display: flex;
1633
1634
  flex-direction: column;
1634
1635
  overflow: auto;
1635
- z-index: var(--tl-layer-error-content);
1636
+ z-index: var(--layer-error-content);
1636
1637
  gap: 12px;
1637
1638
  }
1638
1639
 
@@ -1647,10 +1648,10 @@ it from receiving any pointer events or affecting the cursor. */
1647
1648
  }
1648
1649
 
1649
1650
  .tl-error-boundary__content h4 {
1650
- border: 1px solid var(--tl-color-low-border);
1651
+ border: 1px solid var(--color-low-border);
1651
1652
  margin: -6px 0 0 0;
1652
- padding: var(--tl-space-5);
1653
- border-radius: var(--tl-radius-2);
1653
+ padding: var(--space-5);
1654
+ border-radius: var(--radius-2);
1654
1655
  font-weight: normal;
1655
1656
  }
1656
1657
 
@@ -1660,10 +1661,10 @@ it from receiving any pointer events or affecting the cursor. */
1660
1661
  }
1661
1662
 
1662
1663
  .tl-error-boundary__content pre {
1663
- background-color: var(--tl-color-muted-2);
1664
+ background-color: var(--color-muted-2);
1664
1665
  margin-top: 0;
1665
- padding: var(--tl-space-5);
1666
- border-radius: var(--tl-radius-2);
1666
+ padding: var(--space-5);
1667
+ border-radius: var(--radius-2);
1667
1668
  overflow: auto;
1668
1669
  font-size: 12px;
1669
1670
  max-height: 320px;
@@ -1675,15 +1676,15 @@ it from receiving any pointer events or affecting the cursor. */
1675
1676
  font-family: inherit;
1676
1677
  font-size: 14px;
1677
1678
  font-weight: 500;
1678
- padding: var(--tl-space-4);
1679
- border-radius: var(--tl-radius-3);
1679
+ padding: var(--space-4);
1680
+ border-radius: var(--radius-3);
1680
1681
  cursor: var(--tl-cursor-pointer);
1681
1682
  color: inherit;
1682
1683
  background-color: transparent;
1683
1684
  }
1684
1685
 
1685
1686
  .tl-error-boundary__content a {
1686
- color: var(--tl-color-selected);
1687
+ color: var(--color-selected);
1687
1688
  font-weight: 500;
1688
1689
  text-decoration: none;
1689
1690
  }
@@ -1695,31 +1696,31 @@ it from receiving any pointer events or affecting the cursor. */
1695
1696
 
1696
1697
  .tl-error-boundary__content__error button {
1697
1698
  position: absolute;
1698
- top: var(--tl-space-2);
1699
- right: var(--tl-space-2);
1699
+ top: var(--space-2);
1700
+ right: var(--space-2);
1700
1701
  font-size: 12px;
1701
- padding: var(--tl-space-2) var(--tl-space-3);
1702
- background-color: var(--tl-color-panel);
1703
- border-radius: var(--tl-radius-1);
1702
+ padding: var(--space-2) var(--space-3);
1703
+ background-color: var(--color-panel);
1704
+ border-radius: var(--radius-1);
1704
1705
  }
1705
1706
 
1706
1707
  .tl-error-boundary__content__actions {
1707
1708
  display: flex;
1708
1709
  justify-content: space-between;
1709
- gap: var(--tl-space-4);
1710
+ gap: var(--space-4);
1710
1711
  margin: 0px;
1711
1712
  margin-left: -4px;
1712
1713
  }
1713
1714
  .tl-error-boundary__content__actions__group {
1714
1715
  display: flex;
1715
- gap: var(--tl-space-4);
1716
+ gap: var(--space-4);
1716
1717
  }
1717
1718
  .tl-error-boundary__content .tl-error-boundary__reset {
1718
- color: var(--tl-color-danger);
1719
+ color: var(--color-danger);
1719
1720
  }
1720
1721
  .tl-error-boundary__content .tl-error-boundary__refresh {
1721
- background-color: var(--tl-color-primary);
1722
- color: var(--tl-color-selected-contrast);
1722
+ background-color: var(--color-primary);
1723
+ color: var(--color-selected-contrast);
1723
1724
  }
1724
1725
  .tl-container__focused:not(.tl-container__no-focus-ring)
1725
1726
  .tlui-button.tl-error-boundary__refresh:focus-visible {
@@ -1731,7 +1732,7 @@ it from receiving any pointer events or affecting the cursor. */
1731
1732
 
1732
1733
  .tl-hit-test-blocker {
1733
1734
  position: absolute;
1734
- z-index: var(--tl-layer-canvas-blocker);
1735
+ z-index: var(--layer-canvas-blocker);
1735
1736
  inset: 0px;
1736
1737
  width: 100%;
1737
1738
  height: 100%;
@@ -1751,32 +1752,32 @@ it from receiving any pointer events or affecting the cursor. */
1751
1752
 
1752
1753
  .tl-handle__bg:hover {
1753
1754
  cursor: var(--tl-cursor-grab);
1754
- fill: var(--tl-color-selection-fill);
1755
+ fill: var(--color-selection-fill);
1755
1756
  }
1756
1757
 
1757
1758
  .tl-bookmark__link:hover {
1758
- color: var(--tl-color-selected);
1759
+ color: var(--color-selected);
1759
1760
  }
1760
1761
 
1761
1762
  .tl-hyperlink-button:hover {
1762
- color: var(--tl-color-selected);
1763
+ color: var(--color-selected);
1763
1764
  }
1764
1765
 
1765
1766
  .tl-error-boundary__content button:hover {
1766
- background-color: var(--tl-color-low);
1767
+ background-color: var(--color-low);
1767
1768
  }
1768
1769
  .tl-error-boundary__content a:hover {
1769
- color: var(--tl-color-text-1);
1770
+ color: var(--color-text-1);
1770
1771
  }
1771
1772
  .tl-error-boundary__content .tl-error-boundary__refresh:hover {
1772
- background-color: var(--tl-color-primary);
1773
+ background-color: var(--color-primary);
1773
1774
  opacity: 0.9;
1774
1775
  }
1775
1776
 
1776
1777
  /* These three rules help preserve clicking into specific points in text areas *while*
1777
1778
  * already in edit mode when jumping from shape to shape. */
1778
1779
  .tl-canvas[data-iseditinganything='true'] .tl-text-wrapper:hover .tl-text-input {
1779
- z-index: var(--tl-layer-text-editor);
1780
+ z-index: var(--layer-text-editor);
1780
1781
  pointer-events: all;
1781
1782
  }
1782
1783
  }
@@ -1784,15 +1785,15 @@ it from receiving any pointer events or affecting the cursor. */
1784
1785
  /* @tldraw/ui */
1785
1786
 
1786
1787
  .tl-container {
1787
- --tl-layer-above: 1;
1788
- --tl-layer-focused-input: 10;
1789
- --tl-layer-menu-click-capture: 250;
1790
- --tl-layer-panels: 300;
1791
- --tl-layer-menus: 400;
1792
- --tl-layer-toasts: 650;
1793
- --tl-layer-cursor: 700;
1794
- --tl-layer-header-footer: 999;
1795
- --tl-layer-following-indicator: 1000;
1788
+ --layer-above: 1;
1789
+ --layer-focused-input: 10;
1790
+ --layer-menu-click-capture: 250;
1791
+ --layer-panels: 300;
1792
+ --layer-menus: 400;
1793
+ --layer-toasts: 650;
1794
+ --layer-cursor: 700;
1795
+ --layer-header-footer: 999;
1796
+ --layer-following-indicator: 1000;
1796
1797
  }
1797
1798
 
1798
1799
  /* Button */
@@ -1816,23 +1817,23 @@ it from receiving any pointer events or affecting the cursor. */
1816
1817
  text-rendering: optimizeLegibility;
1817
1818
  font-size: 12px;
1818
1819
  gap: 0px;
1819
- color: var(--tl-color-text-1);
1820
+ color: var(--color-text-1);
1820
1821
  z-index: 0;
1821
1822
  }
1822
1823
 
1823
1824
  .tlui-button:disabled {
1824
- color: var(--tl-color-text-3);
1825
+ color: var(--color-text-3);
1825
1826
  text-shadow: none;
1826
1827
  cursor: default;
1827
1828
  }
1828
1829
 
1829
1830
  .tlui-button:disabled .tlui-kbd {
1830
- color: var(--tl-color-text-3);
1831
+ color: var(--color-text-3);
1831
1832
  }
1832
1833
 
1833
1834
  .tlui-button > * {
1834
1835
  position: relative;
1835
- z-index: var(--tl-layer-above);
1836
+ z-index: var(--layer-above);
1836
1837
  }
1837
1838
 
1838
1839
  .tlui-button__label {
@@ -1848,7 +1849,7 @@ it from receiving any pointer events or affecting the cursor. */
1848
1849
  */
1849
1850
  .tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button:focus-visible {
1850
1851
  border-radius: 10px;
1851
- outline: 2px solid var(--tl-color-focus);
1852
+ outline: 2px solid var(--color-focus);
1852
1853
  outline-offset: -5px;
1853
1854
  }
1854
1855
  .tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button__tool:focus-visible {
@@ -1856,7 +1857,7 @@ it from receiving any pointer events or affecting the cursor. */
1856
1857
  }
1857
1858
  .tlui-slider__container:has(.tlui-slider__thumb:focus-visible) {
1858
1859
  border-radius: 10px;
1859
- outline: 2px solid var(--tl-color-focus);
1860
+ outline: 2px solid var(--color-focus);
1860
1861
  outline-offset: -5px;
1861
1862
  }
1862
1863
 
@@ -1865,8 +1866,8 @@ it from receiving any pointer events or affecting the cursor. */
1865
1866
  content: '';
1866
1867
  position: absolute;
1867
1868
  inset: 4px;
1868
- border-radius: var(--tl-radius-2);
1869
- background: var(--tl-color-muted-2);
1869
+ border-radius: var(--radius-2);
1870
+ background: var(--color-muted-2);
1870
1871
  opacity: 0;
1871
1872
  }
1872
1873
 
@@ -1876,18 +1877,18 @@ it from receiving any pointer events or affecting the cursor. */
1876
1877
 
1877
1878
  .tlui-button[data-isactive='true']::after,
1878
1879
  .tlui-button[data-isactive='true']:not(:disabled, :focus-visible):active:after {
1879
- background: var(--tl-color-hint);
1880
+ background: var(--color-hint);
1880
1881
  opacity: 1;
1881
1882
  }
1882
1883
 
1883
- .tlui-button[aria-expanded='true'][data-direction='left'] {
1884
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1884
+ .tlui-button[aria-expanded='true'][data-direction='left']::after {
1885
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1885
1886
  opacity: 1;
1886
1887
  }
1887
1888
 
1888
1889
  @media (hover: hover) {
1889
1890
  .tlui-button[aria-expanded='true'][data-direction='left']:not(:hover)::after {
1890
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1891
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1891
1892
  opacity: 1;
1892
1893
  }
1893
1894
 
@@ -1901,18 +1902,18 @@ it from receiving any pointer events or affecting the cursor. */
1901
1902
  }
1902
1903
 
1903
1904
  .tlui-button__icon + .tlui-button__label {
1904
- margin-left: var(--tl-space-2);
1905
+ margin-left: var(--space-2);
1905
1906
  }
1906
1907
 
1907
1908
  /* Low button */
1908
1909
 
1909
1910
  .tlui-button__low {
1910
- border-radius: var(--tl-radius-3);
1911
- background-color: var(--tl-color-low);
1911
+ border-radius: var(--radius-3);
1912
+ background-color: var(--color-low);
1912
1913
  }
1913
1914
 
1914
1915
  .tlui-button__low::after {
1915
- background-color: var(--tl-color-muted-2);
1916
+ background-color: var(--color-muted-2);
1916
1917
  opacity: 0;
1917
1918
  }
1918
1919
 
@@ -1925,25 +1926,31 @@ it from receiving any pointer events or affecting the cursor. */
1925
1926
  /* Primary / danger buttons */
1926
1927
 
1927
1928
  .tlui-button__primary {
1928
- color: var(--tl-color-primary);
1929
+ color: var(--color-primary);
1929
1930
  }
1930
1931
 
1931
1932
  .tlui-button__danger {
1932
- color: var(--tl-color-danger);
1933
+ color: var(--color-danger);
1933
1934
  text-shadow: none;
1934
1935
  }
1935
1936
 
1936
1937
  @media (hover: hover) {
1937
1938
  .tlui-button__primary:not(:disabled, :focus-visible):hover {
1938
- color: var(--tl-color-primary);
1939
+ color: var(--color-primary);
1939
1940
  }
1940
1941
 
1941
1942
  .tlui-button__danger:not(:disabled, :focus-visible):hover {
1942
- color: var(--tl-color-danger);
1943
+ color: var(--color-danger);
1943
1944
  text-shadow: none;
1944
1945
  }
1945
1946
  }
1946
1947
 
1948
+ /* Panel button */
1949
+
1950
+ .tlui-button__panel {
1951
+ position: relative;
1952
+ }
1953
+
1947
1954
  /* Menu button */
1948
1955
 
1949
1956
  .tlui-button__menu {
@@ -1956,7 +1963,7 @@ it from receiving any pointer events or affecting the cursor. */
1956
1963
 
1957
1964
  .tlui-button__menu::after {
1958
1965
  inset: 4px;
1959
- border-radius: var(--tl-radius-2);
1966
+ border-radius: var(--radius-2);
1960
1967
  }
1961
1968
 
1962
1969
  .tlui-button__menu > .tlui-icon + .tlui-button__label {
@@ -1984,26 +1991,18 @@ it from receiving any pointer events or affecting the cursor. */
1984
1991
 
1985
1992
  /* Tool lock button */
1986
1993
 
1987
- .tlui-main-toolbar__lock-button {
1994
+ .tlui-toolbar__lock-button {
1988
1995
  position: absolute;
1996
+ top: 4px;
1997
+ right: 0px;
1989
1998
  pointer-events: all;
1990
1999
  height: 40px;
1991
2000
  width: 40px;
1992
- border-radius: var(--tl-radius-2);
1993
- }
1994
-
1995
- .tlui-main-toolbar--horizontal .tlui-main-toolbar__lock-button {
1996
- top: 4px;
1997
- right: 0px;
1998
2001
  min-width: 0px;
2002
+ border-radius: var(--radius-2);
1999
2003
  }
2000
2004
 
2001
- .tlui-main-toolbar--vertical .tlui-main-toolbar__lock-button {
2002
- bottom: 0px;
2003
- min-height: 0px;
2004
- }
2005
-
2006
- .tlui-main-toolbar__lock-button::after {
2005
+ .tlui-toolbar__lock-button::after {
2007
2006
  top: 4px;
2008
2007
  left: 8px;
2009
2008
  inset: 4px;
@@ -2015,6 +2014,16 @@ it from receiving any pointer events or affecting the cursor. */
2015
2014
  position: relative;
2016
2015
  height: 48px;
2017
2016
  width: 48px;
2017
+ margin-left: -2px;
2018
+ margin-right: -2px;
2019
+ }
2020
+
2021
+ .tlui-button__tool:nth-of-type(1) {
2022
+ margin-left: 0px;
2023
+ }
2024
+
2025
+ .tlui-button__tool:nth-last-of-type(1) {
2026
+ margin-right: 0px;
2018
2027
  }
2019
2028
 
2020
2029
  .tlui-button__tool::after {
@@ -2023,64 +2032,69 @@ it from receiving any pointer events or affecting the cursor. */
2023
2032
  }
2024
2033
 
2025
2034
  .tlui-button__tool[aria-pressed='true'] {
2026
- color: var(--tl-color-selected-contrast);
2035
+ color: var(--color-selected-contrast);
2027
2036
  }
2028
2037
 
2029
2038
  .tlui-button__tool[aria-pressed='true']:not(:disabled, :focus-visible):active {
2030
- color: var(--tl-color-selected-contrast);
2039
+ color: var(--color-selected-contrast);
2031
2040
  }
2032
2041
 
2033
2042
  .tlui-button__tool[aria-pressed='true']:not(:disabled)::after {
2034
- background: var(--tl-color-selected);
2043
+ background: var(--color-selected);
2035
2044
  opacity: 1;
2036
2045
  }
2037
2046
 
2038
- .tlui-layout__mobile .tlui-main-toolbar--horizontal .tlui-button__tool {
2047
+ .tlui-layout__mobile .tlui-button__tool {
2039
2048
  height: 48px;
2040
2049
  width: 43px;
2041
2050
  }
2042
2051
 
2043
- .tlui-layout__mobile .tlui-main-toolbar--horizontal .tlui-button__tool > .tlui-icon {
2052
+ .tlui-layout__mobile .tlui-button__tool > .tlui-icon {
2044
2053
  height: 16px;
2045
2054
  width: 16px;
2046
2055
  }
2047
2056
 
2048
- /* Row layout */
2057
+ /* Button Row */
2049
2058
 
2050
- .tlui-row {
2059
+ .tlui-buttons__horizontal {
2051
2060
  display: flex;
2052
2061
  flex-direction: row;
2053
- padding: 0 2px;
2054
2062
  }
2055
- .tlui-row > * {
2063
+ .tlui-buttons__horizontal > * {
2056
2064
  margin-left: -2px;
2057
2065
  margin-right: -2px;
2058
2066
  }
2059
-
2060
- /* Column layout */
2061
-
2062
- .tlui-column {
2063
- display: flex;
2064
- flex-direction: column;
2065
- padding: 2px 0;
2067
+ .tlui-buttons__horizontal > *:nth-child(1) {
2068
+ margin-left: 0px;
2066
2069
  }
2067
- .tlui-column > * {
2068
- margin-top: -2px;
2069
- margin-bottom: -2px;
2070
+ .tlui-buttons__horizontal > *:nth-last-child(1) {
2071
+ margin-right: 0px;
2070
2072
  }
2071
2073
 
2072
- /* Grid layout */
2074
+ /* Button Grid */
2073
2075
 
2074
- .tlui-grid {
2076
+ .tlui-buttons__grid {
2075
2077
  display: grid;
2076
- grid-template-columns: repeat(4, 1fr);
2078
+ grid-template-columns: repeat(4, auto);
2077
2079
  grid-auto-flow: row;
2078
2080
  overflow: hidden;
2079
- padding: 2px;
2080
2081
  }
2081
- .tlui-grid > * {
2082
+ .tlui-buttons__grid > .tlui-button {
2082
2083
  margin: -2px;
2083
2084
  }
2085
+ .tlui-buttons__grid > .tlui-button:nth-of-type(4n),
2086
+ .tlui-buttons__vertical-align > .tlui-button:nth-of-type(3n) {
2087
+ margin-right: 0px;
2088
+ }
2089
+ .tlui-buttons__grid > .tlui-button:nth-of-type(4n - 3) {
2090
+ margin-left: 0px;
2091
+ }
2092
+ .tlui-buttons__grid > .tlui-button:nth-of-type(-n + 4) {
2093
+ margin-top: 0px;
2094
+ }
2095
+ .tlui-buttons__grid > .tlui-button:nth-last-of-type(-n + 4) {
2096
+ margin-bottom: 0px;
2097
+ }
2084
2098
 
2085
2099
  /* Zoom button */
2086
2100
 
@@ -2104,9 +2118,9 @@ it from receiving any pointer events or affecting the cursor. */
2104
2118
  pointer-events: none;
2105
2119
  user-select: none;
2106
2120
  contain: strict;
2107
- z-index: var(--tl-layer-panels);
2121
+ z-index: var(--layer-panels);
2108
2122
  transform: translate3d(0, 0, 0);
2109
- --tl-sab: env(safe-area-inset-bottom);
2123
+ --sab: env(safe-area-inset-bottom);
2110
2124
  font-weight: 500;
2111
2125
  line-height: 1.6;
2112
2126
  -webkit-font-smoothing: antialiased;
@@ -2159,11 +2173,11 @@ it from receiving any pointer events or affecting the cursor. */
2159
2173
  justify-content: flex-start;
2160
2174
  align-items: flex-start;
2161
2175
  width: min-content;
2162
- gap: var(--tl-space-3);
2163
- margin: var(--tl-space-2) var(--tl-space-3);
2176
+ gap: var(--space-3);
2177
+ margin: var(--space-2) var(--space-3);
2164
2178
  white-space: nowrap;
2165
2179
  pointer-events: none;
2166
- z-index: var(--tl-layer-panels);
2180
+ z-index: var(--layer-panels);
2167
2181
  }
2168
2182
 
2169
2183
  /* ---------------------- Icon ---------------------- */
@@ -2191,7 +2205,7 @@ it from receiving any pointer events or affecting the cursor. */
2191
2205
 
2192
2206
  .tlui-slider__container {
2193
2207
  width: 100%;
2194
- padding: 0px var(--tl-space-4);
2208
+ padding: 0px var(--space-4);
2195
2209
  }
2196
2210
 
2197
2211
  .tlui-slider {
@@ -2217,7 +2231,7 @@ it from receiving any pointer events or affecting the cursor. */
2217
2231
  content: '';
2218
2232
  height: 3px;
2219
2233
  width: 100%;
2220
- background-color: var(--tl-color-muted-1);
2234
+ background-color: var(--color-muted-1);
2221
2235
  border-radius: 14px;
2222
2236
  }
2223
2237
 
@@ -2226,7 +2240,7 @@ it from receiving any pointer events or affecting the cursor. */
2226
2240
  top: calc(50% - 2px);
2227
2241
  left: 0px;
2228
2242
  height: 3px;
2229
- background-color: var(--tl-color-selected);
2243
+ background-color: var(--color-selected);
2230
2244
  border-radius: 14px;
2231
2245
  }
2232
2246
 
@@ -2238,16 +2252,16 @@ it from receiving any pointer events or affecting the cursor. */
2238
2252
  height: 18px;
2239
2253
  position: relative;
2240
2254
  top: -1px;
2241
- background-color: var(--tl-color-panel);
2255
+ background-color: var(--color-panel);
2242
2256
  border-radius: 999px;
2243
- box-shadow: inset 0px 0px 0px 2px var(--tl-color-text-1);
2257
+ box-shadow: inset 0px 0px 0px 2px var(--color-text-1);
2244
2258
  }
2245
2259
 
2246
2260
  .tlui-slider__thumb:active {
2247
2261
  cursor: grabbing;
2248
2262
  box-shadow:
2249
- inset 0px 0px 0px 2px var(--tl-color-text-1),
2250
- var(--tl-shadow-1);
2263
+ inset 0px 0px 0px 2px var(--color-text-1),
2264
+ var(--shadow-1);
2251
2265
  }
2252
2266
 
2253
2267
  /* ---------------------- Input --------------------- */
@@ -2256,7 +2270,7 @@ it from receiving any pointer events or affecting the cursor. */
2256
2270
  background: none;
2257
2271
  margin: 0px;
2258
2272
  position: relative;
2259
- z-index: var(--tl-layer-above);
2273
+ z-index: var(--layer-above);
2260
2274
  height: 40px;
2261
2275
  max-height: 40px;
2262
2276
  display: flex;
@@ -2265,8 +2279,8 @@ it from receiving any pointer events or affecting the cursor. */
2265
2279
  font-family: inherit;
2266
2280
  font-size: 12px;
2267
2281
  font-weight: inherit;
2268
- color: var(--tl-color-text-1);
2269
- padding: var(--tl-space-4);
2282
+ color: var(--color-text-1);
2283
+ padding: var(--space-4);
2270
2284
  padding-left: 0px;
2271
2285
  border: none;
2272
2286
  outline: none;
@@ -2282,8 +2296,8 @@ it from receiving any pointer events or affecting the cursor. */
2282
2296
  height: 44px;
2283
2297
  display: flex;
2284
2298
  align-items: center;
2285
- gap: var(--tl-space-4);
2286
- color: var(--tl-color-text);
2299
+ gap: var(--space-4);
2300
+ color: var(--color-text);
2287
2301
  }
2288
2302
 
2289
2303
  .tlui-input__wrapper > .tlui-icon {
@@ -2315,7 +2329,7 @@ it from receiving any pointer events or affecting the cursor. */
2315
2329
  grid-auto-columns: minmax(1em, auto);
2316
2330
  align-self: bottom;
2317
2331
  color: currentColor;
2318
- margin-left: var(--tl-space-4);
2332
+ margin-left: var(--space-4);
2319
2333
  }
2320
2334
 
2321
2335
  .tlui-kbd > span {
@@ -2332,13 +2346,13 @@ it from receiving any pointer events or affecting the cursor. */
2332
2346
  }
2333
2347
 
2334
2348
  .tlui-kbd:not(:last-child) {
2335
- margin-right: var(--tl-space-2);
2349
+ margin-right: var(--space-2);
2336
2350
  }
2337
2351
 
2338
2352
  /* Focus Mode Button */
2339
2353
 
2340
2354
  .tlui-focus-button {
2341
- z-index: var(--tl-layer-panels);
2355
+ z-index: var(--layer-panels);
2342
2356
  pointer-events: all;
2343
2357
  }
2344
2358
 
@@ -2349,16 +2363,16 @@ it from receiving any pointer events or affecting the cursor. */
2349
2363
  }
2350
2364
 
2351
2365
  .tlui-menu {
2352
- z-index: var(--tl-layer-menus);
2366
+ z-index: var(--layer-menus);
2353
2367
  height: fit-content;
2354
2368
  width: fit-content;
2355
- border-radius: var(--tl-radius-3);
2369
+ border-radius: var(--radius-3);
2356
2370
  pointer-events: all;
2357
2371
  touch-action: auto;
2358
2372
  overflow-y: auto;
2359
2373
  overscroll-behavior: none;
2360
- background-color: var(--tl-color-panel);
2361
- box-shadow: var(--tl-shadow-3);
2374
+ background-color: var(--color-panel);
2375
+ box-shadow: var(--shadow-3);
2362
2376
  }
2363
2377
 
2364
2378
  .tlui-menu::-webkit-scrollbar {
@@ -2376,7 +2390,7 @@ it from receiving any pointer events or affecting the cursor. */
2376
2390
  }
2377
2391
 
2378
2392
  .tlui-menu__group {
2379
- border-bottom: 1px solid var(--tl-color-divider);
2393
+ border-bottom: 1px solid var(--color-divider);
2380
2394
  }
2381
2395
  .tlui-menu__group:nth-last-of-type(1) {
2382
2396
  border-bottom: none;
@@ -2386,23 +2400,23 @@ it from receiving any pointer events or affecting the cursor. */
2386
2400
 
2387
2401
  .tlui-menu__submenu__trigger[data-state='open']::after {
2388
2402
  opacity: 1;
2389
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2403
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2390
2404
  }
2391
2405
 
2392
2406
  .tlui-menu__submenu__trigger[data-direction='left'][data-state='open']::after {
2393
2407
  opacity: 1;
2394
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2408
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2395
2409
  }
2396
2410
 
2397
2411
  @media (hover: hover) {
2398
2412
  .tlui-menu__submenu__trigger[data-state='open']:not(:hover)::after {
2399
2413
  opacity: 1;
2400
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2414
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2401
2415
  }
2402
2416
 
2403
2417
  .tlui-menu__submenu__trigger[data-direction='left'][data-state='open']:not(:hover)::after {
2404
2418
  opacity: 1;
2405
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2419
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2406
2420
  }
2407
2421
  }
2408
2422
 
@@ -2427,7 +2441,7 @@ it from receiving any pointer events or affecting the cursor. */
2427
2441
  .tlui-menu-click-capture {
2428
2442
  position: fixed;
2429
2443
  inset: 0;
2430
- z-index: var(--tl-layer-menu-click-capture);
2444
+ z-index: var(--layer-menu-click-capture);
2431
2445
  }
2432
2446
 
2433
2447
  /* --------------------- Popover -------------------- */
@@ -2443,10 +2457,10 @@ it from receiving any pointer events or affecting the cursor. */
2443
2457
  max-height: calc(var(--radix-popover-content-available-height) - 8px);
2444
2458
  margin: 0px;
2445
2459
  border: none;
2446
- border-radius: var(--tl-radius-3);
2447
- background-color: var(--tl-color-panel);
2448
- box-shadow: var(--tl-shadow-3);
2449
- z-index: var(--tl-layer-menus);
2460
+ border-radius: var(--radius-3);
2461
+ background-color: var(--color-panel);
2462
+ box-shadow: var(--shadow-3);
2463
+ z-index: var(--layer-menus);
2450
2464
  overflow: hidden;
2451
2465
  overflow-y: auto;
2452
2466
  touch-action: auto;
@@ -2459,22 +2473,22 @@ it from receiving any pointer events or affecting the cursor. */
2459
2473
 
2460
2474
  .tlui-menu-zone {
2461
2475
  position: relative;
2462
- z-index: var(--tl-layer-panels);
2476
+ z-index: var(--layer-panels);
2463
2477
  width: fit-content;
2464
- border-right: 2px solid var(--tl-color-background);
2465
- border-bottom: 2px solid var(--tl-color-background);
2466
- border-bottom-right-radius: var(--tl-radius-4);
2467
- background-color: var(--tl-color-low);
2478
+ border-right: 2px solid var(--color-background);
2479
+ border-bottom: 2px solid var(--color-background);
2480
+ border-bottom-right-radius: var(--radius-4);
2481
+ background-color: var(--color-low);
2468
2482
  }
2469
2483
 
2470
2484
  .tlui-menu-zone *[data-state='open']::after {
2471
- background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2485
+ background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2472
2486
  opacity: 1;
2473
2487
  }
2474
2488
 
2475
2489
  @media (hover: hover) {
2476
2490
  .tlui-menu-zone *[data-state='open']:not(:hover)::after {
2477
- background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2491
+ background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2478
2492
  opacity: 1;
2479
2493
  }
2480
2494
  }
@@ -2500,8 +2514,8 @@ it from receiving any pointer events or affecting the cursor. */
2500
2514
  align-items: center;
2501
2515
  width: 100%;
2502
2516
  height: 40px;
2503
- padding-left: var(--tl-space-4);
2504
- border-bottom: 1px solid var(--tl-color-divider);
2517
+ padding-left: var(--space-4);
2518
+ border-bottom: 1px solid var(--color-divider);
2505
2519
  }
2506
2520
 
2507
2521
  .tlui-page-menu__header > .tlui-button:nth-of-type(1) {
@@ -2509,7 +2523,7 @@ it from receiving any pointer events or affecting the cursor. */
2509
2523
  }
2510
2524
 
2511
2525
  .tlui-page-menu__header__title {
2512
- color: var(--tl-color-text);
2526
+ color: var(--color-text);
2513
2527
  font-size: 12px;
2514
2528
  flex-grow: 2;
2515
2529
  }
@@ -2594,7 +2608,7 @@ it from receiving any pointer events or affecting the cursor. */
2594
2608
  display: inline-flex;
2595
2609
  align-items: center;
2596
2610
  justify-content: center;
2597
- color: var(--tl-color-text);
2611
+ color: var(--color-text);
2598
2612
  }
2599
2613
 
2600
2614
  .tlui-page_menu__item__sortable {
@@ -2607,7 +2621,7 @@ it from receiving any pointer events or affecting the cursor. */
2607
2621
  flex-direction: row;
2608
2622
  align-items: center;
2609
2623
  overflow: hidden;
2610
- z-index: var(--tl-layer-above);
2624
+ z-index: var(--layer-above);
2611
2625
  }
2612
2626
 
2613
2627
  .tlui-page_menu__item__sortable__title {
@@ -2619,7 +2633,7 @@ it from receiving any pointer events or affecting the cursor. */
2619
2633
  }
2620
2634
 
2621
2635
  .tlui-page_menu__item__sortable:focus-visible {
2622
- z-index: var(--tl-layer-focused-input);
2636
+ z-index: var(--layer-focused-input);
2623
2637
  }
2624
2638
 
2625
2639
  .tlui-page_menu__item__sortable__handle {
@@ -2628,7 +2642,7 @@ it from receiving any pointer events or affecting the cursor. */
2628
2642
  min-width: 0px;
2629
2643
  height: 40px;
2630
2644
  cursor: grab;
2631
- color: var(--tl-color-text-3);
2645
+ color: var(--color-text-3);
2632
2646
  flex-shrink: 0;
2633
2647
  margin-right: -9px;
2634
2648
  }
@@ -2670,13 +2684,13 @@ it from receiving any pointer events or affecting the cursor. */
2670
2684
  }
2671
2685
 
2672
2686
  .tlui-page_menu__item__submenu > .tlui-button[data-state='open']::after {
2673
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2687
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2674
2688
  opacity: 1;
2675
2689
  }
2676
2690
 
2677
2691
  @media (hover: hover) {
2678
2692
  .tlui-page_menu__item__submenu > .tlui-button[data-state='open']:not(:hover)::after {
2679
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2693
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2680
2694
  opacity: 1;
2681
2695
  }
2682
2696
  }
@@ -2712,7 +2726,7 @@ it from receiving any pointer events or affecting the cursor. */
2712
2726
  top: 48px;
2713
2727
  left: -9999px;
2714
2728
  padding: 8px 16px;
2715
- z-index: var(--tl-layer-toasts);
2729
+ z-index: var(--layer-toasts);
2716
2730
  }
2717
2731
 
2718
2732
  .tl-skip-to-main-content:focus {
@@ -2724,17 +2738,17 @@ it from receiving any pointer events or affecting the cursor. */
2724
2738
  .tlui-offline-indicator {
2725
2739
  display: flex;
2726
2740
  flex-direction: row;
2727
- gap: var(--tl-space-3);
2728
- color: var(--tl-color-text);
2729
- background-color: var(--tl-color-low);
2730
- border: 3px solid var(--tl-color-background);
2731
- padding: 0px var(--tl-space-5);
2741
+ gap: var(--space-3);
2742
+ color: var(--color-text);
2743
+ background-color: var(--color-low);
2744
+ border: 3px solid var(--color-background);
2745
+ padding: 0px var(--space-5);
2732
2746
  height: 42px;
2733
2747
  align-items: center;
2734
2748
  justify-content: center;
2735
2749
  border-radius: 99px;
2736
2750
  opacity: 0;
2737
- animation: tl-fade-in;
2751
+ animation: fade-in;
2738
2752
  animation-duration: 0.12s;
2739
2753
  animation-delay: 2s;
2740
2754
  animation-fill-mode: forwards;
@@ -2743,10 +2757,10 @@ it from receiving any pointer events or affecting the cursor. */
2743
2757
  /* ------------------- Style panel ------------------ */
2744
2758
 
2745
2759
  .tlui-style-panel__wrapper {
2746
- box-shadow: var(--tl-shadow-2);
2747
- border-radius: var(--tl-radius-3);
2760
+ box-shadow: var(--shadow-2);
2761
+ border-radius: var(--radius-3);
2748
2762
  pointer-events: all;
2749
- background-color: var(--tl-color-panel);
2763
+ background-color: var(--color-panel);
2750
2764
  height: fit-content;
2751
2765
  max-height: 100%;
2752
2766
  margin: 8px;
@@ -2755,7 +2769,7 @@ it from receiving any pointer events or affecting the cursor. */
2755
2769
  overscroll-behavior: none;
2756
2770
  overflow-y: auto;
2757
2771
  overflow-x: hidden;
2758
- color: var(--tl-color-text);
2772
+ color: var(--color-text);
2759
2773
  }
2760
2774
  /* if the style panel is the only child (ie no share menu), increase the margin */
2761
2775
  .tlui-style-panel__wrapper:only-child {
@@ -2764,18 +2778,12 @@ it from receiving any pointer events or affecting the cursor. */
2764
2778
 
2765
2779
  .tlui-style-panel {
2766
2780
  position: relative;
2767
- z-index: var(--tl-layer-panels);
2781
+ z-index: var(--layer-panels);
2768
2782
  pointer-events: all;
2769
2783
  width: 148px;
2770
2784
  max-width: 148px;
2771
2785
  }
2772
2786
 
2773
- .tlui-style-panel[data-show-ui-labels='true'] .tlui-button[data-isactive='true'] {
2774
- border-radius: 10px;
2775
- outline: 2px solid var(--tl-color-text);
2776
- outline-offset: -5px;
2777
- }
2778
-
2779
2787
  .tlui-style-panel::-webkit-scrollbar {
2780
2788
  display: none;
2781
2789
  }
@@ -2791,7 +2799,7 @@ it from receiving any pointer events or affecting the cursor. */
2791
2799
  }
2792
2800
 
2793
2801
  .tlui-style-panel__section:nth-of-type(n + 2):not(:last-child) {
2794
- border-bottom: 1px solid var(--tl-color-divider);
2802
+ border-bottom: 1px solid var(--color-divider);
2795
2803
  }
2796
2804
 
2797
2805
  .tlui-style-panel__section:empty {
@@ -2800,19 +2808,23 @@ it from receiving any pointer events or affecting the cursor. */
2800
2808
 
2801
2809
  .tlui-style-panel__section__common:not(:only-child) {
2802
2810
  margin-bottom: 7px;
2803
- border-bottom: 1px solid var(--tl-color-divider);
2811
+ border-bottom: 1px solid var(--color-divider);
2804
2812
  }
2805
2813
 
2806
- .tlui-style-panel__dropdown-picker:only-child {
2807
- width: 100%;
2814
+ .tlui-style-panel__row {
2815
+ display: flex;
2816
+ }
2817
+ /* Only really used for the alignment picker */
2818
+ .tlui-style-panel__row__extra-button {
2819
+ margin-left: -2px;
2808
2820
  }
2809
2821
 
2810
2822
  .tlui-style-panel__double-select-picker {
2811
2823
  display: flex;
2812
2824
  grid-template-columns: 1fr auto;
2813
2825
  align-items: center;
2814
- padding-left: var(--tl-space-4);
2815
- color: var(--tl-color-text-1);
2826
+ padding-left: var(--space-4);
2827
+ color: var(--color-text-1);
2816
2828
  font-size: 12px;
2817
2829
  }
2818
2830
 
@@ -2826,45 +2838,25 @@ it from receiving any pointer events or affecting the cursor. */
2826
2838
 
2827
2839
  .tlui-style-panel .tlui-button[data-state='open']::after {
2828
2840
  opacity: 1;
2829
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2841
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2830
2842
  }
2831
2843
 
2832
2844
  @media (hover: hover) {
2833
2845
  .tlui-style-panel .tlui-button[data-state='open']:not(:hover)::after {
2834
2846
  opacity: 1;
2835
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2847
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
2836
2848
  }
2837
2849
  }
2838
2850
 
2839
- /* Accessibility subheadings */
2840
-
2841
- .tlui-style-panel__section .tlui-style-panel__subheading,
2842
- .tlui-style-panel__section__common .tlui-style-panel__subheading,
2843
- .tlui-style-panel__subheading + .tlui-slider__container {
2844
- margin: 0;
2845
- padding: var(--tl-space-2) var(--tl-space-3) 0px var(--tl-space-4);
2846
- font-size: 12px;
2847
- font-weight: inherit;
2848
- line-height: inherit;
2849
- }
2850
-
2851
- .tlui-style-panel .tlui-style-panel__subheading:nth-of-type(1) {
2852
- padding-top: var(--tl-space-3);
2853
- }
2854
-
2855
- .tlui-style-panel__subheading + .tlui-slider__container {
2856
- padding-top: 0px;
2857
- }
2858
-
2859
2851
  /* --------------------- Bottom --------------------- */
2860
2852
 
2861
2853
  .tlui-layout__bottom {
2862
2854
  grid-row: 2;
2863
- width: 100%;
2864
2855
  }
2865
2856
 
2866
2857
  .tlui-layout__bottom__main {
2867
2858
  width: 100%;
2859
+ position: relative;
2868
2860
  display: flex;
2869
2861
  align-items: flex-end;
2870
2862
  justify-content: center;
@@ -2876,10 +2868,11 @@ it from receiving any pointer events or affecting the cursor. */
2876
2868
  display: flex;
2877
2869
  width: min-content;
2878
2870
  flex-direction: column;
2879
- z-index: var(--tl-layer-panels);
2871
+ z-index: var(--layer-panels);
2880
2872
  pointer-events: all;
2881
2873
  position: absolute;
2882
2874
  left: 0px;
2875
+ bottom: 0px;
2883
2876
  }
2884
2877
 
2885
2878
  .tlui-navigation-panel::before {
@@ -2889,16 +2882,30 @@ it from receiving any pointer events or affecting the cursor. */
2889
2882
  z-index: -1;
2890
2883
  inset: -2px -2px 0px 0px;
2891
2884
  border-radius: 0;
2892
- border-top: 2px solid var(--tl-color-background);
2893
- border-right: 2px solid var(--tl-color-background);
2894
- border-top-right-radius: var(--tl-radius-4);
2895
- background-color: var(--tl-color-low);
2885
+ border-top: 2px solid var(--color-background);
2886
+ border-right: 2px solid var(--color-background);
2887
+ border-top-right-radius: var(--radius-4);
2888
+ background-color: var(--color-low);
2896
2889
  }
2897
2890
 
2898
2891
  .tlui-navigation-panel[data-a11y='true']::before {
2899
2892
  display: none;
2900
2893
  }
2901
2894
 
2895
+ .tlui-navigation-panel__toggle .tlui-icon {
2896
+ opacity: 0.24;
2897
+ }
2898
+
2899
+ .tlui-navigation-panel__toggle:active .tlui-icon {
2900
+ opacity: 1;
2901
+ }
2902
+
2903
+ @media (hover: hover) {
2904
+ .tlui-navigation-panel__toggle:hover .tlui-icon {
2905
+ opacity: 1;
2906
+ }
2907
+ }
2908
+
2902
2909
  /* Minimap */
2903
2910
 
2904
2911
  .tlui-minimap {
@@ -2906,7 +2913,7 @@ it from receiving any pointer events or affecting the cursor. */
2906
2913
  height: 96px;
2907
2914
  min-height: 96px;
2908
2915
  overflow: hidden;
2909
- padding: var(--tl-space-3);
2916
+ padding: var(--space-3);
2910
2917
  padding-top: 0px;
2911
2918
  }
2912
2919
 
@@ -2919,220 +2926,114 @@ it from receiving any pointer events or affecting the cursor. */
2919
2926
  /* --------------------- Toolbar -------------------- */
2920
2927
 
2921
2928
  /* Wide container */
2922
- .tlui-main-toolbar {
2929
+ .tlui-toolbar {
2923
2930
  grid-column: 1 / span 3;
2924
2931
  grid-row: 1;
2925
2932
  display: flex;
2926
2933
  align-items: center;
2927
2934
  justify-content: center;
2928
2935
  flex-grow: 2;
2929
- }
2930
-
2931
- .tlui-main-toolbar--horizontal {
2932
- padding-bottom: calc(var(--tl-space-3) + var(--tl-sab));
2933
- max-width: 100%;
2934
- }
2935
-
2936
- .tlui-main-toolbar--vertical {
2937
- position: absolute;
2938
- left: 0;
2939
- top: 90px; /* height of page menu + 'back to content' button */
2940
- bottom: 140px; /* height of expanded mini-map */
2941
- padding-left: calc(var(--tl-space-3) + var(--tl-sab));
2942
- }
2943
-
2944
- [data-breakpoints-below*='6'] .tlui-main-toolbar--vertical {
2945
- bottom: 90px; /* collapsed mini-map, but same as top to keep things looking even */
2936
+ padding-bottom: calc(var(--space-3) + var(--sab));
2946
2937
  }
2947
2938
 
2948
2939
  /* Centered Content */
2949
- .tlui-main-toolbar__inner {
2940
+ .tlui-toolbar__inner {
2950
2941
  position: relative;
2951
2942
  width: fit-content;
2952
2943
  display: flex;
2953
- gap: var(--tl-space-3);
2954
- align-items: flex-start;
2955
- }
2956
-
2957
- .tlui-main-toolbar--vertical .tlui-main-toolbar__inner {
2958
- flex-direction: column;
2944
+ gap: var(--space-3);
2945
+ align-items: flex-end;
2959
2946
  }
2960
2947
 
2961
- .tlui-main-toolbar--horizontal .tlui-main-toolbar__left {
2948
+ .tlui-toolbar__left {
2962
2949
  width: fit-content;
2963
2950
  }
2964
- .tlui-main-toolbar--vertical .tlui-main-toolbar__left {
2965
- display: flex;
2966
- height: fit-content;
2967
- }
2968
2951
 
2969
2952
  /* Row of controls + lock button */
2970
- .tlui-main-toolbar__extras {
2953
+ .tlui-toolbar__extras {
2971
2954
  position: relative;
2972
- z-index: var(--tl-layer-above);
2955
+ z-index: var(--layer-above);
2956
+ width: 100%;
2973
2957
  pointer-events: none;
2974
- align-self: stretch;
2975
- }
2976
-
2977
- .tlui-main-toolbar__extras:empty {
2978
- display: none;
2979
- }
2980
-
2981
- .tlui-main-toolbar--horizontal .tlui-main-toolbar__extras {
2982
- height: 48px;
2983
2958
  top: 6px;
2959
+ height: 48px;
2984
2960
  }
2985
2961
 
2986
- .tlui-main-toolbar--vertical .tlui-main-toolbar__extras {
2987
- width: 48px;
2988
- order: 1;
2962
+ .tlui-toolbar__extras:empty {
2963
+ display: none;
2989
2964
  }
2990
2965
 
2991
- .tlui-main-toolbar__extras__controls {
2966
+ .tlui-toolbar__extras__controls {
2967
+ display: flex;
2992
2968
  position: relative;
2993
- z-index: var(--tl-layer-above);
2994
- background-color: var(--tl-color-low);
2995
- border: 2px solid var(--tl-color-background);
2996
- pointer-events: all;
2997
- }
2998
-
2999
- .tlui-main-toolbar--horizontal .tlui-main-toolbar__extras__controls {
3000
- border-top-left-radius: var(--tl-radius-4);
3001
- border-top-right-radius: var(--tl-radius-4);
2969
+ flex-direction: row;
2970
+ z-index: var(--layer-above);
2971
+ background-color: var(--color-low);
2972
+ border-top-left-radius: var(--radius-4);
2973
+ border-top-right-radius: var(--radius-4);
2974
+ border: 2px solid var(--color-background);
3002
2975
  margin-left: 8px;
3003
2976
  margin-right: 0px;
2977
+ pointer-events: all;
3004
2978
  width: fit-content;
3005
2979
  }
3006
2980
 
3007
- .tlui-main-toolbar--vertical .tlui-main-toolbar__extras__controls {
3008
- border-top-right-radius: var(--tl-radius-4);
3009
- border-bottom-right-radius: var(--tl-radius-4);
3010
- margin-top: 8px;
3011
- margin-left: -2px;
3012
- margin-bottom: 0px;
3013
- width: fit-content;
3014
- }
3015
-
3016
- .tlui-main-toolbar__tools {
3017
- border-radius: var(--tl-radius-4);
3018
- z-index: var(--tl-layer-panels);
2981
+ .tlui-toolbar__tools {
2982
+ display: flex;
2983
+ flex-direction: row;
2984
+ align-items: center;
2985
+ border-radius: var(--radius-4);
2986
+ z-index: var(--layer-panels);
3019
2987
  pointer-events: all;
3020
2988
  position: relative;
3021
- background: var(--tl-color-panel);
3022
- box-shadow: var(--tl-shadow-2);
2989
+ background: var(--color-panel);
2990
+ box-shadow: var(--shadow-2);
3023
2991
  }
3024
-
3025
- .tlui-main-toolbar--horizontal .tlui-main-toolbar__mobile-style-panel {
3026
- align-self: flex-end;
3027
- }
3028
- .tlui-main-toolbar--vertical .tlui-main-toolbar__mobile-style-panel {
3029
- align-self: flex-start;
2992
+ .tlui-toolbar__tools__list {
2993
+ display: flex;
2994
+ flex-direction: row;
2995
+ align-items: center;
3030
2996
  }
3031
2997
 
3032
- .tlui-main-toolbar--horizontal .tlui-main-toolbar__overflow {
2998
+ .tlui-toolbar__overflow {
3033
2999
  width: 40px;
3034
- margin-left: 2px;
3035
- }
3036
- .tlui-main-toolbar--vertical .tlui-main-toolbar__overflow {
3037
- height: 40px;
3038
- margin-top: 2px;
3039
3000
  }
3040
3001
 
3041
- .tlui-layout__mobile .tlui-main-toolbar--horizontal .tlui-main-toolbar__overflow {
3002
+ .tlui-layout__mobile .tlui-toolbar__overflow {
3042
3003
  width: 32px;
3043
3004
  padding: 0px;
3044
3005
  }
3045
3006
 
3046
- .tlui-main-toolbar--horizontal *[data-state='open']::after {
3047
- background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
3048
- opacity: 1;
3049
- }
3050
- .tlui-main-toolbar--vertical *[data-state='open']::after {
3051
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
3007
+ .tlui-toolbar *[data-state='open']::after {
3008
+ background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
3052
3009
  opacity: 1;
3053
3010
  }
3054
3011
 
3055
- .tlui-main-toolbar__overflow-content {
3056
- touch-action: none;
3057
- }
3058
-
3059
- .tlui-main-toolbar__tools [data-toolbar-visible='false'],
3060
- .tlui-main-toolbar__overflow-content [data-toolbar-visible='false'] {
3061
- display: none;
3062
- }
3063
-
3064
- .tlui-main-toolbar__group:empty {
3065
- display: none;
3066
- }
3067
- .tlui-row.tlui-main-toolbar__group:not(:nth-last-child(-n + 1 of [data-toolbar-visible='true'])) {
3068
- border-right: 1px solid var(--color-divider);
3069
- margin-right: 2px;
3070
- }
3071
- .tlui-column.tlui-main-toolbar__group:not(
3072
- :nth-last-child(-n + 1 of [data-toolbar-visible='true'])
3073
- ) {
3074
- border-bottom: 1px solid var(--color-divider);
3075
- margin-bottom: 2px;
3076
- }
3077
- .tlui-grid.tlui-main-toolbar__group {
3078
- grid-column: 1 / span 4;
3079
- }
3080
- .tlui-grid.tlui-main-toolbar__group:not(:nth-last-child(-n + 1 of [data-toolbar-visible='true'])) {
3081
- border-bottom: 1px solid var(--color-divider);
3082
- margin-bottom: 2px;
3083
- }
3084
-
3085
3012
  @media (hover: hover) {
3086
- .tlui-main-toolbar--horizontal *[data-state='open']:not(:hover)::after {
3087
- background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
3013
+ .tlui-toolbar *[data-state='open']:not(:hover)::after {
3014
+ background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
3088
3015
  opacity: 1;
3089
3016
  }
3090
- .tlui-main-toolbar--vertical *[data-state='open']:not(:hover)::after {
3091
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
3092
- opacity: 1;
3093
- }
3094
- }
3095
-
3096
- /* ------------------- Tooltip -------------------- */
3097
-
3098
- .tlui-tooltip {
3099
- font-size: 12px;
3100
- padding: 2px 8px;
3101
- border-radius: 4px;
3102
- background-color: var(--tl-color-tooltip);
3103
- box-shadow: none;
3104
- color: var(--tl-color-text-shadow);
3105
- max-width: 400px;
3106
- width: fit-content;
3107
- text-align: center;
3108
- will-change: transform, opacity;
3109
- z-index: 2;
3110
3017
  }
3111
3018
 
3112
- .tlui-tooltip__arrow {
3113
- fill: var(--tl-color-tooltip);
3114
- will-change: opacity;
3115
- }
3116
-
3117
- [data-radix-popper-content-wrapper]:has(.tlui-tooltip) {
3118
- z-index: var(--tl-layer-toasts) !important;
3119
- pointer-events: none;
3019
+ .tlui-layout__mobile .tlui-toolbar {
3020
+ transition: transform 0.15s ease-out 0.05s;
3120
3021
  }
3121
3022
 
3122
3023
  /* ------------------- Debug panel ------------------ */
3123
3024
 
3124
3025
  .tlui-debug-panel {
3125
- background-color: var(--tl-color-low);
3026
+ background-color: var(--color-low);
3126
3027
  width: 100%;
3127
3028
  display: grid;
3128
3029
  align-items: center;
3129
3030
  grid-template-columns: 1fr auto auto auto;
3130
3031
  justify-content: space-between;
3131
- padding-left: var(--tl-space-4);
3132
- border-top: 1px solid var(--tl-color-background);
3032
+ padding-left: var(--space-4);
3033
+ border-top: 1px solid var(--color-background);
3133
3034
  font-size: 12px;
3134
- color: var(--tl-color-text-1);
3135
- z-index: var(--tl-layer-panels);
3035
+ color: var(--color-text-1);
3036
+ z-index: var(--layer-panels);
3136
3037
  pointer-events: all;
3137
3038
  }
3138
3039
 
@@ -3148,7 +3049,7 @@ it from receiving any pointer events or affecting the cursor. */
3148
3049
 
3149
3050
  .tlui-debug-panel__fps__slow {
3150
3051
  font-weight: bold;
3151
- color: var(--tl-color-danger);
3052
+ color: var(--color-danger);
3152
3053
  }
3153
3054
 
3154
3055
  .tlui-a11y-audit {
@@ -3158,7 +3059,7 @@ it from receiving any pointer events or affecting the cursor. */
3158
3059
  .tlui-a11y-audit th,
3159
3060
  .tlui-a11y-audit td {
3160
3061
  padding: 8px;
3161
- border: 1px solid var(--tl-color-low-border);
3062
+ border: 1px solid var(--color-low-border);
3162
3063
  }
3163
3064
 
3164
3065
  /* --------------------- Toasts --------------------- */
@@ -3171,10 +3072,10 @@ it from receiving any pointer events or affecting the cursor. */
3171
3072
  align-items: flex-end;
3172
3073
  justify-content: flex-end;
3173
3074
  flex-direction: column;
3174
- gap: var(--tl-space-3);
3075
+ gap: var(--space-3);
3175
3076
  pointer-events: none;
3176
- padding: 0px var(--tl-space-3) 64px 0px;
3177
- z-index: var(--tl-layer-toasts);
3077
+ padding: 0px var(--space-3) 64px 0px;
3078
+ z-index: var(--layer-toasts);
3178
3079
  }
3179
3080
 
3180
3081
  .tlui-toast__viewport > * {
@@ -3183,34 +3084,34 @@ it from receiving any pointer events or affecting the cursor. */
3183
3084
 
3184
3085
  .tlui-toast__icon {
3185
3086
  padding-top: 11px;
3186
- padding-left: var(--tl-space-4);
3187
- color: var(--tl-color-text-1);
3087
+ padding-left: var(--space-4);
3088
+ color: var(--color-text-1);
3188
3089
  }
3189
3090
 
3190
3091
  .tlui-toast__container {
3191
3092
  min-width: 200px;
3192
3093
  display: flex;
3193
3094
  flex-direction: row;
3194
- background-color: var(--tl-color-panel);
3195
- box-shadow: var(--tl-shadow-2);
3196
- border-radius: var(--tl-radius-3);
3095
+ background-color: var(--color-panel);
3096
+ box-shadow: var(--shadow-2);
3097
+ border-radius: var(--radius-3);
3197
3098
  font-size: 12px;
3198
3099
  }
3199
3100
 
3200
3101
  .tlui-toast__container[data-severity='success'] .tlui-icon {
3201
- color: var(--tl-color-success);
3102
+ color: var(--color-success);
3202
3103
  }
3203
3104
 
3204
3105
  .tlui-toast__container[data-severity='info'] .tlui-icon {
3205
- color: var(--tl-color-info);
3106
+ color: var(--color-info);
3206
3107
  }
3207
3108
 
3208
3109
  .tlui-toast__container[data-severity='warning'] .tlui-icon {
3209
- color: var(--tl-color-warning);
3110
+ color: var(--color-warning);
3210
3111
  }
3211
3112
 
3212
3113
  .tlui-toast__container[data-severity='error'] .tlui-icon {
3213
- color: var(--tl-color-danger);
3114
+ color: var(--color-danger);
3214
3115
  }
3215
3116
 
3216
3117
  .tlui-toast__main {
@@ -3219,27 +3120,27 @@ it from receiving any pointer events or affecting the cursor. */
3219
3120
  }
3220
3121
 
3221
3122
  .tlui-toast__content {
3222
- padding: var(--tl-space-4);
3123
+ padding: var(--space-4);
3223
3124
  display: flex;
3224
3125
  line-height: 1.4;
3225
3126
  flex-direction: column;
3226
- gap: var(--tl-space-3);
3127
+ gap: var(--space-3);
3227
3128
  }
3228
3129
 
3229
3130
  .tlui-toast__main[data-actions='true'] .tlui-toast__content {
3230
- padding-bottom: var(--tl-space-2);
3131
+ padding-bottom: var(--space-2);
3231
3132
  }
3232
3133
 
3233
3134
  .tlui-toast__title {
3234
3135
  font-weight: bold;
3235
- color: var(--tl-color-text-1);
3136
+ color: var(--color-text-1);
3236
3137
  /* this makes the default toast look better */
3237
3138
  line-height: 16px;
3238
3139
  }
3239
3140
 
3240
3141
  .tlui-toast__description {
3241
- color: var(--tl-color-text-1);
3242
- padding: var(--tl-space-3);
3142
+ color: var(--color-text-1);
3143
+ padding: var(--space-3);
3243
3144
  margin: 0px;
3244
3145
  padding: 0px;
3245
3146
  }
@@ -3262,11 +3163,11 @@ it from receiving any pointer events or affecting the cursor. */
3262
3163
 
3263
3164
  @media (prefers-reduced-motion: no-preference) {
3264
3165
  .tlui-toast__container[data-state='open'] {
3265
- animation: tlui-slide-in 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
3166
+ animation: slide-in 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
3266
3167
  }
3267
3168
 
3268
3169
  .tlui-toast__container[data-state='closed'] {
3269
- animation: tlui-fade-out 100ms ease-in;
3170
+ animation: hide 100ms ease-in;
3270
3171
  }
3271
3172
 
3272
3173
  .tlui-toast__container[data-swipe='move'] {
@@ -3279,7 +3180,7 @@ it from receiving any pointer events or affecting the cursor. */
3279
3180
  }
3280
3181
 
3281
3182
  .tlui-toast__container[data-swipe='end'] {
3282
- animation: tlui-slide-out 100ms ease-out;
3183
+ animation: swipe-out 100ms ease-out;
3283
3184
  }
3284
3185
  }
3285
3186
 
@@ -3291,14 +3192,14 @@ it from receiving any pointer events or affecting the cursor. */
3291
3192
  left: 0px;
3292
3193
  width: 100%;
3293
3194
  height: 100%;
3294
- z-index: var(--tl-layer-canvas-overlays);
3295
- background-color: var(--tl-color-overlay);
3195
+ z-index: var(--layer-canvas-overlays);
3196
+ background-color: var(--color-overlay);
3296
3197
  pointer-events: all;
3297
- animation: tl-fade-in 0.12s ease-out;
3198
+ animation: fadeIn 0.12s ease-out;
3298
3199
  display: grid;
3299
3200
  place-items: center;
3300
3201
  overflow-y: auto;
3301
- padding: 0px var(--tl-space-3);
3202
+ padding: 0px var(--space-3);
3302
3203
  }
3303
3204
 
3304
3205
  .tlui-dialog__content {
@@ -3306,9 +3207,9 @@ it from receiving any pointer events or affecting the cursor. */
3306
3207
  flex-direction: column;
3307
3208
  position: relative;
3308
3209
  cursor: default;
3309
- background-color: var(--tl-color-panel);
3310
- box-shadow: var(--tl-shadow-3);
3311
- border-radius: var(--tl-radius-3);
3210
+ background-color: var(--color-panel);
3211
+ box-shadow: var(--shadow-3);
3212
+ border-radius: var(--radius-3);
3312
3213
  font-size: 12px;
3313
3214
  overflow: hidden;
3314
3215
  min-width: 300px;
@@ -3321,9 +3222,9 @@ it from receiving any pointer events or affecting the cursor. */
3321
3222
  display: flex;
3322
3223
  align-items: center;
3323
3224
  flex: 0;
3324
- z-index: var(--tl-layer-header-footer);
3325
- padding-left: var(--tl-space-4);
3326
- color: var(--tl-color-text);
3225
+ z-index: var(--layer-header-footer);
3226
+ padding-left: var(--space-4);
3227
+ color: var(--color-text);
3327
3228
  height: 40px;
3328
3229
  }
3329
3230
 
@@ -3332,7 +3233,7 @@ it from receiving any pointer events or affecting the cursor. */
3332
3233
  font-weight: inherit;
3333
3234
  font-size: 12px;
3334
3235
  margin: 0px;
3335
- color: var(--tl-color-text-1);
3236
+ color: var(--color-text-1);
3336
3237
  }
3337
3238
 
3338
3239
  .tlui-dialog__header__close {
@@ -3340,16 +3241,16 @@ it from receiving any pointer events or affecting the cursor. */
3340
3241
  }
3341
3242
 
3342
3243
  .tlui-dialog__body {
3343
- padding: var(--tl-space-4) var(--tl-space-4);
3244
+ padding: var(--space-4) var(--space-4);
3344
3245
  flex: 0 1;
3345
3246
  overflow-y: auto;
3346
3247
  overflow-x: hidden;
3347
- color: var(--tl-color-text-1);
3248
+ color: var(--color-text-1);
3348
3249
  user-select: all;
3349
3250
  -webkit-user-select: text;
3350
3251
  }
3351
3252
  .tlui-dialog__body a {
3352
- color: var(--tl-color-selected);
3253
+ color: var(--color-selected);
3353
3254
  }
3354
3255
 
3355
3256
  .tlui-dialog__body ul,
@@ -3357,13 +3258,13 @@ it from receiving any pointer events or affecting the cursor. */
3357
3258
  padding-left: 16px;
3358
3259
  display: flex;
3359
3260
  flex-direction: column;
3360
- gap: var(--tl-space-2);
3261
+ gap: var(--space-2);
3361
3262
  }
3362
3263
 
3363
3264
  .tlui-dialog__footer {
3364
3265
  position: relative;
3365
3266
  min-height: 12px;
3366
- z-index: var(--tl-layer-header-footer);
3267
+ z-index: var(--layer-header-footer);
3367
3268
  }
3368
3269
 
3369
3270
  .tlui-dialog__footer__actions {
@@ -3383,15 +3284,15 @@ it from receiving any pointer events or affecting the cursor. */
3383
3284
  .tlui-edit-link-dialog {
3384
3285
  display: flex;
3385
3286
  flex-direction: column;
3386
- gap: var(--tl-space-4);
3387
- color: var(--tl-color-text);
3287
+ gap: var(--space-4);
3288
+ color: var(--color-text);
3388
3289
  }
3389
3290
 
3390
3291
  .tlui-edit-link-dialog__input {
3391
- background-color: var(--tl-color-muted-2);
3292
+ background-color: var(--color-muted-2);
3392
3293
  flex-grow: 2;
3393
- border-radius: var(--tl-radius-2);
3394
- padding: 0px var(--tl-space-4);
3294
+ border-radius: var(--radius-2);
3295
+ padding: 0px var(--space-4);
3395
3296
  }
3396
3297
 
3397
3298
  /* Embed Dialog */
@@ -3399,15 +3300,15 @@ it from receiving any pointer events or affecting the cursor. */
3399
3300
  .tlui-embed__spacer {
3400
3301
  flex-grow: 2;
3401
3302
  min-height: 0px;
3402
- margin-left: calc(-1 * var(--tl-space-4));
3403
- margin-top: calc(-1 * var(--tl-space-4));
3303
+ margin-left: calc(-1 * var(--space-4));
3304
+ margin-top: calc(-1 * var(--space-4));
3404
3305
  pointer-events: none;
3405
3306
  }
3406
3307
 
3407
3308
  .tlui-embed-dialog__list {
3408
3309
  display: flex;
3409
3310
  flex-direction: column;
3410
- padding: 0px var(--tl-space-3) var(--tl-space-4) var(--tl-space-3);
3311
+ padding: 0px var(--space-3) var(--space-4) var(--space-3);
3411
3312
  }
3412
3313
 
3413
3314
  .tlui-embed-dialog__item__image {
@@ -3419,49 +3320,49 @@ it from receiving any pointer events or affecting the cursor. */
3419
3320
  background-size: contain;
3420
3321
  background-repeat: no-repeat;
3421
3322
  background-position: center center;
3422
- background-color: var(--tl-color-selected-contrast);
3423
- border-radius: var(--tl-radius-1);
3323
+ background-color: var(--color-selected-contrast);
3324
+ border-radius: var(--radius-1);
3424
3325
  }
3425
3326
 
3426
3327
  .tlui-embed-dialog__enter {
3427
3328
  display: flex;
3428
3329
  flex-direction: column;
3429
- gap: var(--tl-space-4);
3430
- color: var(--tl-color-text-1);
3330
+ gap: var(--space-4);
3331
+ color: var(--color-text-1);
3431
3332
  }
3432
3333
 
3433
3334
  .tlui-embed-dialog__input {
3434
- background-color: var(--tl-color-muted-2);
3335
+ background-color: var(--color-muted-2);
3435
3336
  flex-grow: 2;
3436
- border-radius: var(--tl-radius-2);
3437
- padding: 0px var(--tl-space-4);
3337
+ border-radius: var(--radius-2);
3338
+ padding: 0px var(--space-4);
3438
3339
  }
3439
3340
 
3440
3341
  .tlui-embed-dialog__warning {
3441
- color: var(--tl-color-danger);
3342
+ color: var(--color-danger);
3442
3343
  text-shadow: none;
3443
3344
  }
3444
3345
 
3445
3346
  .tlui-embed-dialog__instruction__link {
3446
3347
  display: flex;
3447
- gap: var(--tl-space-1);
3448
- margin-top: var(--tl-space-4);
3348
+ gap: var(--space-1);
3349
+ margin-top: var(--space-4);
3449
3350
  }
3450
3351
 
3451
3352
  .tlui-embed-dialog__enter a {
3452
- color: var(--tl-color-text-1);
3353
+ color: var(--color-text-1);
3453
3354
  }
3454
3355
 
3455
3356
  /* --------------- Keyboard shortcuts --------------- */
3456
3357
 
3457
3358
  .tlui-shortcuts-dialog__header {
3458
- border-bottom: 1px solid var(--tl-color-divider);
3359
+ border-bottom: 1px solid var(--color-divider);
3459
3360
  }
3460
3361
 
3461
3362
  .tlui-shortcuts-dialog__body {
3462
3363
  position: relative;
3463
3364
  columns: 3;
3464
- column-gap: var(--tl-space-9);
3365
+ column-gap: var(--space-9);
3465
3366
  pointer-events: all;
3466
3367
  touch-action: auto;
3467
3368
 
@@ -3479,14 +3380,14 @@ it from receiving any pointer events or affecting the cursor. */
3479
3380
 
3480
3381
  .tlui-shortcuts-dialog__group {
3481
3382
  break-inside: avoid-column;
3482
- padding-bottom: var(--tl-space-6);
3383
+ padding-bottom: var(--space-6);
3483
3384
  }
3484
3385
 
3485
3386
  .tlui-shortcuts-dialog__group__title {
3486
3387
  font-size: inherit;
3487
3388
  font-weight: inherit;
3488
3389
  margin: 0px;
3489
- color: var(--tl-color-text-3);
3390
+ color: var(--color-text-3);
3490
3391
  height: 32px;
3491
3392
  display: flex;
3492
3393
  align-items: center;
@@ -3495,12 +3396,12 @@ it from receiving any pointer events or affecting the cursor. */
3495
3396
  .tlui-shortcuts-dialog__group__content {
3496
3397
  display: flex;
3497
3398
  flex-direction: column;
3498
- color: var(--tl-color-text-1);
3399
+ color: var(--color-text-1);
3499
3400
  }
3500
3401
 
3501
3402
  .tlui-shortcuts-dialog__key-pair {
3502
3403
  display: flex;
3503
- gap: var(--tl-space-4);
3404
+ gap: var(--space-4);
3504
3405
  align-items: center;
3505
3406
  justify-content: space-between;
3506
3407
  height: 32px;
@@ -3527,12 +3428,12 @@ it from receiving any pointer events or affecting the cursor. */
3527
3428
  height: 24px;
3528
3429
  background: linear-gradient(
3529
3430
  to bottom,
3530
- var(--tl-color-panel-transparent) 0%,
3531
- var(--tl-color-panel) 90%,
3532
- var(--tl-color-panel) 100%
3431
+ var(--color-panel-transparent) 0%,
3432
+ var(--color-panel) 90%,
3433
+ var(--color-panel) 100%
3533
3434
  );
3534
- border-bottom-left-radius: var(--tl-radius-3);
3535
- border-bottom-right-radius: var(--tl-radius-3);
3435
+ border-bottom-left-radius: var(--radius-3);
3436
+ border-bottom-right-radius: var(--radius-3);
3536
3437
  pointer-events: none;
3537
3438
  }
3538
3439
 
@@ -3547,10 +3448,10 @@ it from receiving any pointer events or affecting the cursor. */
3547
3448
  .tlui-help-menu {
3548
3449
  pointer-events: all;
3549
3450
  position: absolute;
3550
- bottom: var(--tl-space-2);
3551
- right: var(--tl-space-2);
3552
- z-index: var(--tl-layer-panels);
3553
- border: 2px solid var(--tl-color-background);
3451
+ bottom: var(--space-2);
3452
+ right: var(--space-2);
3453
+ z-index: var(--layer-panels);
3454
+ border: 2px solid var(--color-background);
3554
3455
  border-radius: 100%;
3555
3456
  }
3556
3457
 
@@ -3561,7 +3462,7 @@ it from receiving any pointer events or affecting the cursor. */
3561
3462
  display: flex;
3562
3463
  flex-direction: row;
3563
3464
  justify-content: flex-end;
3564
- z-index: var(--tl-layer-panels);
3465
+ z-index: var(--layer-panels);
3565
3466
  align-items: center;
3566
3467
  padding-top: 2px;
3567
3468
  padding-right: 4px;
@@ -3577,7 +3478,7 @@ it from receiving any pointer events or affecting the cursor. */
3577
3478
  border: none;
3578
3479
  cursor: pointer;
3579
3480
  pointer-events: all;
3580
- border-radius: var(--tl-radius-1);
3481
+ border-radius: var(--radius-1);
3581
3482
  padding-right: 1px;
3582
3483
  height: 100%;
3583
3484
  }
@@ -3590,8 +3491,8 @@ it from receiving any pointer events or affecting the cursor. */
3590
3491
  .tlui-people-menu__avatar {
3591
3492
  height: 24px;
3592
3493
  width: 24px;
3593
- border: 2px solid var(--tl-color-background);
3594
- background-color: var(--tl-color-low);
3494
+ border: 2px solid var(--color-background);
3495
+ background-color: var(--color-low);
3595
3496
  border-radius: 100%;
3596
3497
  display: flex;
3597
3498
  align-items: center;
@@ -3600,7 +3501,7 @@ it from receiving any pointer events or affecting the cursor. */
3600
3501
  font-size: 10px;
3601
3502
  font-weight: bold;
3602
3503
  text-align: center;
3603
- color: var(--tl-color-selected-contrast);
3504
+ color: var(--color-selected-contrast);
3604
3505
  z-index: 2;
3605
3506
  }
3606
3507
 
@@ -3614,7 +3515,7 @@ it from receiving any pointer events or affecting the cursor. */
3614
3515
 
3615
3516
  @media (hover: hover) {
3616
3517
  .tlui-people-menu__avatars-button:hover .tlui-people-menu__avatar {
3617
- border-color: var(--tl-color-low);
3518
+ border-color: var(--color-low);
3618
3519
  }
3619
3520
  }
3620
3521
 
@@ -3622,12 +3523,12 @@ it from receiving any pointer events or affecting the cursor. */
3622
3523
  min-width: 0px;
3623
3524
  font-size: 11px;
3624
3525
  font-weight: 600;
3625
- color: var(--tl-color-text-1);
3526
+ color: var(--color-text-1);
3626
3527
  font-family: inherit;
3627
3528
  padding: 0px 4px;
3628
3529
  }
3629
3530
  .tlui-people-menu__more::after {
3630
- border-radius: var(--tl-radius-2);
3531
+ border-radius: var(--radius-2);
3631
3532
  inset: 0px;
3632
3533
  }
3633
3534
 
@@ -3656,7 +3557,7 @@ it from receiving any pointer events or affecting the cursor. */
3656
3557
  }
3657
3558
 
3658
3559
  .tlui-people-menu__section:not(:last-child) {
3659
- border-bottom: 1px solid var(--tl-color-divider);
3560
+ border-bottom: 1px solid var(--color-divider);
3660
3561
  }
3661
3562
 
3662
3563
  .tlui-people-menu__user {
@@ -3675,7 +3576,7 @@ it from receiving any pointer events or affecting the cursor. */
3675
3576
  text-overflow: ellipsis;
3676
3577
  white-space: nowrap;
3677
3578
  font-size: 12px;
3678
- color: var(--tl-color-text-1);
3579
+ color: var(--color-text-1);
3679
3580
  max-width: 100%;
3680
3581
  flex-grow: 1;
3681
3582
  flex-shrink: 100;
@@ -3687,7 +3588,7 @@ it from receiving any pointer events or affecting the cursor. */
3687
3588
  text-overflow: ellipsis;
3688
3589
  white-space: nowrap;
3689
3590
  font-size: 12px;
3690
- color: var(--tl-color-text-3);
3591
+ color: var(--color-text-3);
3691
3592
  flex-grow: 100;
3692
3593
  flex-shrink: 0;
3693
3594
  margin-left: 4px;
@@ -3778,7 +3679,7 @@ it from receiving any pointer events or affecting the cursor. */
3778
3679
  inset: 0px;
3779
3680
  border-width: 2px;
3780
3681
  border-style: solid;
3781
- z-index: var(--tl-layer-following-indicator);
3682
+ z-index: var(--layer-following-indicator);
3782
3683
  pointer-events: none;
3783
3684
  }
3784
3685
 
@@ -3797,7 +3698,7 @@ it from receiving any pointer events or affecting the cursor. */
3797
3698
  }
3798
3699
 
3799
3700
  .tlui-contextual-toolbar [data-isactive='true']::after {
3800
- background-color: var(--tl-color-muted-2);
3701
+ background-color: var(--color-muted-2);
3801
3702
  opacity: 1;
3802
3703
  }
3803
3704
 
@@ -3813,7 +3714,7 @@ it from receiving any pointer events or affecting the cursor. */
3813
3714
 
3814
3715
  .tlui-contextual-toolbar[data-visible='true'] {
3815
3716
  opacity: 1;
3816
- z-index: var(--tl-layer-menus);
3717
+ z-index: var(--layer-menus);
3817
3718
  }
3818
3719
 
3819
3720
  .tlui-contextual-toolbar[data-interactive='true'],
@@ -3861,7 +3762,7 @@ it from receiving any pointer events or affecting the cursor. */
3861
3762
  }
3862
3763
 
3863
3764
  /* ------------------- Animations ------------------- */
3864
- @keyframes tlui-fade-out {
3765
+ @keyframes hide {
3865
3766
  0% {
3866
3767
  opacity: 1;
3867
3768
  }
@@ -3870,21 +3771,21 @@ it from receiving any pointer events or affecting the cursor. */
3870
3771
  }
3871
3772
  }
3872
3773
 
3873
- @keyframes tlui-slide-in {
3774
+ @keyframes slide-in {
3874
3775
  from {
3875
- transform: translateX(calc(100% + var(--tl-space-3)));
3776
+ transform: translateX(calc(100% + var(--space-3)));
3876
3777
  }
3877
3778
  to {
3878
3779
  transform: translateX(0px);
3879
3780
  }
3880
3781
  }
3881
3782
 
3882
- @keyframes tlui-slide-out {
3783
+ @keyframes swipe-out {
3883
3784
  from {
3884
3785
  transform: translateX(var(--radix-toast-swipe-end-x));
3885
3786
  }
3886
3787
  to {
3887
- transform: translateX(calc(100% + var(--tl-space-3)));
3788
+ transform: translateX(calc(100% + var(--space-3)));
3888
3789
  }
3889
3790
  }
3890
3791