tldraw 3.16.0-canary.cf24aedcd577 → 3.16.0-canary.d98fc0b9bd6a

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 (184) hide show
  1. package/dist-cjs/index.d.ts +74 -1
  2. package/dist-cjs/index.js +5 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  5. package/dist-cjs/lib/canvas/TldrawScribble.js.map +2 -2
  6. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js +3 -3
  7. package/dist-cjs/lib/shapes/arrow/elbow/ElbowArrowDebug.js.map +1 -1
  8. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +1 -1
  9. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +1 -1
  10. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +4 -4
  11. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js.map +2 -2
  12. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js +1 -1
  13. package/dist-cjs/lib/shapes/frame/components/FrameHeading.js.map +2 -2
  14. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +3 -3
  15. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js.map +1 -1
  16. package/dist-cjs/lib/shapes/shared/ShapeFill.js +1 -1
  17. package/dist-cjs/lib/shapes/shared/ShapeFill.js.map +2 -2
  18. package/dist-cjs/lib/shapes/shared/freehand/svg.js.map +2 -2
  19. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +3 -3
  20. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js.map +1 -1
  21. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js +25 -1
  22. package/dist-cjs/lib/tools/EraserTool/childStates/Erasing.js.map +2 -2
  23. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js +12 -0
  24. package/dist-cjs/lib/tools/EraserTool/childStates/Pointing.js.map +2 -2
  25. package/dist-cjs/lib/ui/assetUrls.js +13 -10
  26. package/dist-cjs/lib/ui/assetUrls.js.map +2 -2
  27. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +1 -1
  28. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +1 -1
  29. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +4 -4
  30. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  31. package/dist-cjs/lib/ui/components/MobileStylePanel.js +1 -1
  32. package/dist-cjs/lib/ui/components/MobileStylePanel.js.map +2 -2
  33. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js +1 -1
  34. package/dist-cjs/lib/ui/components/Toolbar/DefaultImageToolbarContent.js.map +2 -2
  35. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +68 -91
  36. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js.map +2 -2
  37. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuContext.js.map +2 -2
  38. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +0 -10
  39. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js.map +2 -2
  40. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js +3 -19
  41. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuItem.js.map +2 -2
  42. package/dist-cjs/lib/ui/context/actions.js +16 -2
  43. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  44. package/dist-cjs/lib/ui/hooks/useTools.js +21 -3
  45. package/dist-cjs/lib/ui/hooks/useTools.js.map +2 -2
  46. package/dist-cjs/lib/ui/version.js +3 -3
  47. package/dist-cjs/lib/ui/version.js.map +1 -1
  48. package/dist-esm/index.d.mts +74 -1
  49. package/dist-esm/index.mjs +5 -1
  50. package/dist-esm/index.mjs.map +2 -2
  51. package/dist-esm/lib/canvas/TldrawScribble.mjs +1 -1
  52. package/dist-esm/lib/canvas/TldrawScribble.mjs.map +2 -2
  53. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs +3 -3
  54. package/dist-esm/lib/shapes/arrow/elbow/ElbowArrowDebug.mjs.map +1 -1
  55. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +1 -1
  56. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +1 -1
  57. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs +4 -4
  58. package/dist-esm/lib/shapes/frame/FrameShapeUtil.mjs.map +2 -2
  59. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs +1 -1
  60. package/dist-esm/lib/shapes/frame/components/FrameHeading.mjs.map +2 -2
  61. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs +3 -3
  62. package/dist-esm/lib/shapes/image/ImageShapeUtil.mjs.map +1 -1
  63. package/dist-esm/lib/shapes/shared/ShapeFill.mjs +1 -1
  64. package/dist-esm/lib/shapes/shared/ShapeFill.mjs.map +2 -2
  65. package/dist-esm/lib/shapes/shared/freehand/svg.mjs.map +2 -2
  66. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs +3 -3
  67. package/dist-esm/lib/shapes/video/VideoShapeUtil.mjs.map +1 -1
  68. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs +26 -1
  69. package/dist-esm/lib/tools/EraserTool/childStates/Erasing.mjs.map +2 -2
  70. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs +13 -0
  71. package/dist-esm/lib/tools/EraserTool/childStates/Pointing.mjs.map +2 -2
  72. package/dist-esm/lib/ui/assetUrls.mjs +13 -10
  73. package/dist-esm/lib/ui/assetUrls.mjs.map +2 -2
  74. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +1 -1
  75. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +1 -1
  76. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +4 -4
  77. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  78. package/dist-esm/lib/ui/components/MobileStylePanel.mjs +1 -1
  79. package/dist-esm/lib/ui/components/MobileStylePanel.mjs.map +2 -2
  80. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs +1 -1
  81. package/dist-esm/lib/ui/components/Toolbar/DefaultImageToolbarContent.mjs.map +2 -2
  82. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs +77 -93
  83. package/dist-esm/lib/ui/components/primitives/TldrawUiTooltip.mjs.map +2 -2
  84. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuContext.mjs.map +2 -2
  85. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs +0 -10
  86. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuGroup.mjs.map +2 -2
  87. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs +3 -19
  88. package/dist-esm/lib/ui/components/primitives/menus/TldrawUiMenuItem.mjs.map +2 -2
  89. package/dist-esm/lib/ui/context/actions.mjs +16 -2
  90. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  91. package/dist-esm/lib/ui/hooks/useTools.mjs +22 -3
  92. package/dist-esm/lib/ui/hooks/useTools.mjs.map +2 -2
  93. package/dist-esm/lib/ui/version.mjs +3 -3
  94. package/dist-esm/lib/ui/version.mjs.map +1 -1
  95. package/package.json +11 -34
  96. package/src/index.ts +3 -0
  97. package/src/lib/canvas/TldrawScribble.tsx +1 -1
  98. package/src/lib/shapes/arrow/ArrowShapeOptions.test.ts +2 -1
  99. package/src/lib/shapes/arrow/ArrowShapeTool.test.ts +4 -3
  100. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +7 -6
  101. package/src/lib/shapes/arrow/elbow/ElbowArrowDebug.tsx +3 -3
  102. package/src/lib/shapes/draw/DrawShapeTool.test.ts +0 -5
  103. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +1 -1
  104. package/src/lib/shapes/frame/FrameShapeUtil.tsx +12 -4
  105. package/src/lib/shapes/frame/components/FrameHeading.tsx +1 -1
  106. package/src/lib/shapes/image/ImageShapeUtil.tsx +3 -3
  107. package/src/lib/shapes/line/LineShapeUtil.test.tsx +4 -3
  108. package/src/lib/shapes/line/__snapshots__/LineShapeUtil.test.tsx.snap +2 -2
  109. package/src/lib/shapes/shared/ShapeFill.tsx +1 -1
  110. package/src/lib/shapes/shared/freehand/svg.ts +2 -0
  111. package/src/lib/shapes/text/TextShapeTool.test.ts +6 -5
  112. package/src/lib/shapes/video/VideoShapeUtil.tsx +3 -3
  113. package/src/lib/tools/EraserTool/childStates/Erasing.ts +34 -1
  114. package/src/lib/tools/EraserTool/childStates/Pointing.ts +20 -0
  115. package/src/lib/ui/assetUrls.ts +13 -10
  116. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +1 -1
  117. package/src/lib/ui/components/Minimap/MinimapManager.ts +4 -4
  118. package/src/lib/ui/components/MobileStylePanel.tsx +1 -1
  119. package/src/lib/ui/components/Toolbar/DefaultImageToolbarContent.tsx +1 -1
  120. package/src/lib/ui/components/primitives/TldrawUiTooltip.tsx +98 -114
  121. package/src/lib/ui/components/primitives/menus/TldrawUiMenuContext.tsx +0 -1
  122. package/src/lib/ui/components/primitives/menus/TldrawUiMenuGroup.tsx +0 -10
  123. package/src/lib/ui/components/primitives/menus/TldrawUiMenuItem.tsx +5 -18
  124. package/src/lib/ui/context/actions.tsx +16 -2
  125. package/src/lib/ui/hooks/useTools.tsx +25 -3
  126. package/src/lib/ui/version.ts +3 -3
  127. package/src/lib/ui.css +227 -228
  128. package/src/lib/utils/excalidraw/__snapshots__/putExcalidrawContent.test.tsx.snap +5 -5
  129. package/src/lib/utils/tldr/__snapshots__/buildFromV1Document.test.ts.snap +4 -4
  130. package/src/test/A11y.test.tsx +3 -2
  131. package/src/test/ClickManager.test.ts +7 -6
  132. package/src/test/Editor.test.tsx +20 -19
  133. package/src/test/EraserTool.test.ts +184 -13
  134. package/src/test/HandTool.test.ts +10 -9
  135. package/src/test/HighlightShape.test.ts +2 -1
  136. package/src/test/SelectTool.test.ts +3 -2
  137. package/src/test/TLUserPreferences.test.ts +4 -3
  138. package/src/test/TestEditor.ts +13 -15
  139. package/src/test/TldrawEditor.test.tsx +11 -10
  140. package/src/test/ZoomTool.test.ts +7 -6
  141. package/src/test/__snapshots__/drawing.test.ts.snap +2 -2
  142. package/src/test/__snapshots__/groups.test.tsx.snap +6 -6
  143. package/src/test/__snapshots__/resizing.test.ts.snap +2 -2
  144. package/src/test/arrows-megabus.test.tsx +5 -4
  145. package/src/test/bindings.test.tsx +24 -37
  146. package/src/test/bookmark-shapes.test.ts +1 -8
  147. package/src/test/commands/__snapshots__/getSvgString.test.ts.snap +23 -7
  148. package/src/test/commands/__snapshots__/packShapes.test.ts.snap +8 -8
  149. package/src/test/commands/__snapshots__/zoomToFit.test.ts.snap +2 -2
  150. package/src/test/commands/alignShapes.test.tsx +25 -24
  151. package/src/test/commands/animationSpeed.test.ts +2 -1
  152. package/src/test/commands/centerOnPoint.test.ts +3 -2
  153. package/src/test/commands/clipboard.test.ts +3 -2
  154. package/src/test/commands/createShapes.test.ts +2 -1
  155. package/src/test/commands/deleteShapes.test.ts +2 -1
  156. package/src/test/commands/distributeShapes.test.tsx +11 -10
  157. package/src/test/commands/getSvgString.test.ts +2 -1
  158. package/src/test/commands/packShapes.test.ts +5 -4
  159. package/src/test/commands/resizeShape.test.ts +2 -1
  160. package/src/test/commands/rotateShapes.test.ts +7 -6
  161. package/src/test/commands/setCamera.test.ts +4 -3
  162. package/src/test/commands/setCurrentPage.test.ts +3 -2
  163. package/src/test/commands/stackShapes.test.ts +11 -10
  164. package/src/test/commands/stretch.test.tsx +13 -12
  165. package/src/test/createDeepLink.test.tsx +2 -1
  166. package/src/test/cropping.test.ts +3 -2
  167. package/src/test/drawing.test.ts +2 -1
  168. package/src/test/flipShapes.test.ts +4 -3
  169. package/src/test/frames.test.ts +25 -24
  170. package/src/test/getCulledShapes.test.tsx +3 -2
  171. package/src/test/groups.test.tsx +1 -1
  172. package/src/test/handleDeepLink.test.tsx +2 -1
  173. package/src/test/maxShapes.test.ts +3 -2
  174. package/src/test/modifiers.test.ts +5 -4
  175. package/src/test/navigation.test.ts +12 -11
  176. package/src/test/panning.test.ts +2 -1
  177. package/src/test/perf/perf.test.ts +2 -1
  178. package/src/test/registerDeepLinkListener.test.tsx +10 -9
  179. package/src/test/resizing.test.ts +39 -38
  180. package/src/test/select.test.tsx +4 -3
  181. package/src/test/selection-omnibus.test.ts +11 -10
  182. package/src/test/shapeutils.test.ts +4 -3
  183. package/src/test/translating.test.ts +9 -8
  184. package/tldraw.css +520 -518
package/src/lib/ui.css CHANGED
@@ -1,15 +1,15 @@
1
1
  /* @tldraw/ui */
2
2
 
3
3
  .tl-container {
4
- --layer-above: 1;
5
- --layer-focused-input: 10;
6
- --layer-menu-click-capture: 250;
7
- --layer-panels: 300;
8
- --layer-menus: 400;
9
- --layer-toasts: 650;
10
- --layer-cursor: 700;
11
- --layer-header-footer: 999;
12
- --layer-following-indicator: 1000;
4
+ --tl-layer-above: 1;
5
+ --tl-layer-focused-input: 10;
6
+ --tl-layer-menu-click-capture: 250;
7
+ --tl-layer-panels: 300;
8
+ --tl-layer-menus: 400;
9
+ --tl-layer-toasts: 650;
10
+ --tl-layer-cursor: 700;
11
+ --tl-layer-header-footer: 999;
12
+ --tl-layer-following-indicator: 1000;
13
13
  }
14
14
 
15
15
  /* Button */
@@ -33,23 +33,23 @@
33
33
  text-rendering: optimizeLegibility;
34
34
  font-size: 12px;
35
35
  gap: 0px;
36
- color: var(--color-text-1);
36
+ color: var(--tl-color-text-1);
37
37
  z-index: 0;
38
38
  }
39
39
 
40
40
  .tlui-button:disabled {
41
- color: var(--color-text-3);
41
+ color: var(--tl-color-text-3);
42
42
  text-shadow: none;
43
43
  cursor: default;
44
44
  }
45
45
 
46
46
  .tlui-button:disabled .tlui-kbd {
47
- color: var(--color-text-3);
47
+ color: var(--tl-color-text-3);
48
48
  }
49
49
 
50
50
  .tlui-button > * {
51
51
  position: relative;
52
- z-index: var(--layer-above);
52
+ z-index: var(--tl-layer-above);
53
53
  }
54
54
 
55
55
  .tlui-button__label {
@@ -65,7 +65,7 @@
65
65
  */
66
66
  .tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button:focus-visible {
67
67
  border-radius: 10px;
68
- outline: 2px solid var(--color-focus);
68
+ outline: 2px solid var(--tl-color-focus);
69
69
  outline-offset: -5px;
70
70
  }
71
71
  .tl-container__focused:not(.tl-container__no-focus-ring) .tlui-button__tool:focus-visible {
@@ -73,7 +73,7 @@
73
73
  }
74
74
  .tlui-slider__container:has(.tlui-slider__thumb:focus-visible) {
75
75
  border-radius: 10px;
76
- outline: 2px solid var(--color-focus);
76
+ outline: 2px solid var(--tl-color-focus);
77
77
  outline-offset: -5px;
78
78
  }
79
79
 
@@ -82,8 +82,8 @@
82
82
  content: '';
83
83
  position: absolute;
84
84
  inset: 4px;
85
- border-radius: var(--radius-2);
86
- background: var(--color-muted-2);
85
+ border-radius: var(--tl-radius-2);
86
+ background: var(--tl-color-muted-2);
87
87
  opacity: 0;
88
88
  }
89
89
 
@@ -93,18 +93,18 @@
93
93
 
94
94
  .tlui-button[data-isactive='true']::after,
95
95
  .tlui-button[data-isactive='true']:not(:disabled, :focus-visible):active:after {
96
- background: var(--color-hint);
96
+ background: var(--tl-color-hint);
97
97
  opacity: 1;
98
98
  }
99
99
 
100
100
  .tlui-button[aria-expanded='true'][data-direction='left'] {
101
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
101
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
102
102
  opacity: 1;
103
103
  }
104
104
 
105
105
  @media (hover: hover) {
106
106
  .tlui-button[aria-expanded='true'][data-direction='left']:not(:hover)::after {
107
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
107
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
108
108
  opacity: 1;
109
109
  }
110
110
 
@@ -118,18 +118,18 @@
118
118
  }
119
119
 
120
120
  .tlui-button__icon + .tlui-button__label {
121
- margin-left: var(--space-2);
121
+ margin-left: var(--tl-space-2);
122
122
  }
123
123
 
124
124
  /* Low button */
125
125
 
126
126
  .tlui-button__low {
127
- border-radius: var(--radius-3);
128
- background-color: var(--color-low);
127
+ border-radius: var(--tl-radius-3);
128
+ background-color: var(--tl-color-low);
129
129
  }
130
130
 
131
131
  .tlui-button__low::after {
132
- background-color: var(--color-muted-2);
132
+ background-color: var(--tl-color-muted-2);
133
133
  opacity: 0;
134
134
  }
135
135
 
@@ -142,21 +142,21 @@
142
142
  /* Primary / danger buttons */
143
143
 
144
144
  .tlui-button__primary {
145
- color: var(--color-primary);
145
+ color: var(--tl-color-primary);
146
146
  }
147
147
 
148
148
  .tlui-button__danger {
149
- color: var(--color-danger);
149
+ color: var(--tl-color-danger);
150
150
  text-shadow: none;
151
151
  }
152
152
 
153
153
  @media (hover: hover) {
154
154
  .tlui-button__primary:not(:disabled, :focus-visible):hover {
155
- color: var(--color-primary);
155
+ color: var(--tl-color-primary);
156
156
  }
157
157
 
158
158
  .tlui-button__danger:not(:disabled, :focus-visible):hover {
159
- color: var(--color-danger);
159
+ color: var(--tl-color-danger);
160
160
  text-shadow: none;
161
161
  }
162
162
  }
@@ -173,7 +173,7 @@
173
173
 
174
174
  .tlui-button__menu::after {
175
175
  inset: 4px;
176
- border-radius: var(--radius-2);
176
+ border-radius: var(--tl-radius-2);
177
177
  }
178
178
 
179
179
  .tlui-button__menu > .tlui-icon + .tlui-button__label {
@@ -206,7 +206,7 @@
206
206
  pointer-events: all;
207
207
  height: 40px;
208
208
  width: 40px;
209
- border-radius: var(--radius-2);
209
+ border-radius: var(--tl-radius-2);
210
210
  }
211
211
 
212
212
  .tlui-main-toolbar--horizontal .tlui-main-toolbar__lock-button {
@@ -240,15 +240,15 @@
240
240
  }
241
241
 
242
242
  .tlui-button__tool[aria-pressed='true'] {
243
- color: var(--color-selected-contrast);
243
+ color: var(--tl-color-selected-contrast);
244
244
  }
245
245
 
246
246
  .tlui-button__tool[aria-pressed='true']:not(:disabled, :focus-visible):active {
247
- color: var(--color-selected-contrast);
247
+ color: var(--tl-color-selected-contrast);
248
248
  }
249
249
 
250
250
  .tlui-button__tool[aria-pressed='true']:not(:disabled)::after {
251
- background: var(--color-selected);
251
+ background: var(--tl-color-selected);
252
252
  opacity: 1;
253
253
  }
254
254
 
@@ -321,9 +321,9 @@
321
321
  pointer-events: none;
322
322
  user-select: none;
323
323
  contain: strict;
324
- z-index: var(--layer-panels);
324
+ z-index: var(--tl-layer-panels);
325
325
  transform: translate3d(0, 0, 0);
326
- --sab: env(safe-area-inset-bottom);
326
+ --tl-sab: env(safe-area-inset-bottom);
327
327
  font-weight: 500;
328
328
  line-height: 1.6;
329
329
  -webkit-font-smoothing: antialiased;
@@ -376,11 +376,11 @@
376
376
  justify-content: flex-start;
377
377
  align-items: flex-start;
378
378
  width: min-content;
379
- gap: var(--space-3);
380
- margin: var(--space-2) var(--space-3);
379
+ gap: var(--tl-space-3);
380
+ margin: var(--tl-space-2) var(--tl-space-3);
381
381
  white-space: nowrap;
382
382
  pointer-events: none;
383
- z-index: var(--layer-panels);
383
+ z-index: var(--tl-layer-panels);
384
384
  }
385
385
 
386
386
  /* ---------------------- Icon ---------------------- */
@@ -408,7 +408,7 @@
408
408
 
409
409
  .tlui-slider__container {
410
410
  width: 100%;
411
- padding: 0px var(--space-4);
411
+ padding: 0px var(--tl-space-4);
412
412
  }
413
413
 
414
414
  .tlui-slider {
@@ -434,7 +434,7 @@
434
434
  content: '';
435
435
  height: 3px;
436
436
  width: 100%;
437
- background-color: var(--color-muted-1);
437
+ background-color: var(--tl-color-muted-1);
438
438
  border-radius: 14px;
439
439
  }
440
440
 
@@ -443,7 +443,7 @@
443
443
  top: calc(50% - 2px);
444
444
  left: 0px;
445
445
  height: 3px;
446
- background-color: var(--color-selected);
446
+ background-color: var(--tl-color-selected);
447
447
  border-radius: 14px;
448
448
  }
449
449
 
@@ -455,16 +455,16 @@
455
455
  height: 18px;
456
456
  position: relative;
457
457
  top: -1px;
458
- background-color: var(--color-panel);
458
+ background-color: var(--tl-color-panel);
459
459
  border-radius: 999px;
460
- box-shadow: inset 0px 0px 0px 2px var(--color-text-1);
460
+ box-shadow: inset 0px 0px 0px 2px var(--tl-color-text-1);
461
461
  }
462
462
 
463
463
  .tlui-slider__thumb:active {
464
464
  cursor: grabbing;
465
465
  box-shadow:
466
- inset 0px 0px 0px 2px var(--color-text-1),
467
- var(--shadow-1);
466
+ inset 0px 0px 0px 2px var(--tl-color-text-1),
467
+ var(--tl-shadow-1);
468
468
  }
469
469
 
470
470
  /* ---------------------- Input --------------------- */
@@ -473,7 +473,7 @@
473
473
  background: none;
474
474
  margin: 0px;
475
475
  position: relative;
476
- z-index: var(--layer-above);
476
+ z-index: var(--tl-layer-above);
477
477
  height: 40px;
478
478
  max-height: 40px;
479
479
  display: flex;
@@ -482,8 +482,8 @@
482
482
  font-family: inherit;
483
483
  font-size: 12px;
484
484
  font-weight: inherit;
485
- color: var(--color-text-1);
486
- padding: var(--space-4);
485
+ color: var(--tl-color-text-1);
486
+ padding: var(--tl-space-4);
487
487
  padding-left: 0px;
488
488
  border: none;
489
489
  outline: none;
@@ -499,8 +499,8 @@
499
499
  height: 44px;
500
500
  display: flex;
501
501
  align-items: center;
502
- gap: var(--space-4);
503
- color: var(--color-text);
502
+ gap: var(--tl-space-4);
503
+ color: var(--tl-color-text);
504
504
  }
505
505
 
506
506
  .tlui-input__wrapper > .tlui-icon {
@@ -532,7 +532,7 @@
532
532
  grid-auto-columns: minmax(1em, auto);
533
533
  align-self: bottom;
534
534
  color: currentColor;
535
- margin-left: var(--space-4);
535
+ margin-left: var(--tl-space-4);
536
536
  }
537
537
 
538
538
  .tlui-kbd > span {
@@ -549,13 +549,13 @@
549
549
  }
550
550
 
551
551
  .tlui-kbd:not(:last-child) {
552
- margin-right: var(--space-2);
552
+ margin-right: var(--tl-space-2);
553
553
  }
554
554
 
555
555
  /* Focus Mode Button */
556
556
 
557
557
  .tlui-focus-button {
558
- z-index: var(--layer-panels);
558
+ z-index: var(--tl-layer-panels);
559
559
  pointer-events: all;
560
560
  }
561
561
 
@@ -566,16 +566,16 @@
566
566
  }
567
567
 
568
568
  .tlui-menu {
569
- z-index: var(--layer-menus);
569
+ z-index: var(--tl-layer-menus);
570
570
  height: fit-content;
571
571
  width: fit-content;
572
- border-radius: var(--radius-3);
572
+ border-radius: var(--tl-radius-3);
573
573
  pointer-events: all;
574
574
  touch-action: auto;
575
575
  overflow-y: auto;
576
576
  overscroll-behavior: none;
577
- background-color: var(--color-panel);
578
- box-shadow: var(--shadow-3);
577
+ background-color: var(--tl-color-panel);
578
+ box-shadow: var(--tl-shadow-3);
579
579
  }
580
580
 
581
581
  .tlui-menu::-webkit-scrollbar {
@@ -593,7 +593,7 @@
593
593
  }
594
594
 
595
595
  .tlui-menu__group {
596
- border-bottom: 1px solid var(--color-divider);
596
+ border-bottom: 1px solid var(--tl-color-divider);
597
597
  }
598
598
  .tlui-menu__group:nth-last-of-type(1) {
599
599
  border-bottom: none;
@@ -603,23 +603,23 @@
603
603
 
604
604
  .tlui-menu__submenu__trigger[data-state='open']::after {
605
605
  opacity: 1;
606
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
606
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
607
607
  }
608
608
 
609
609
  .tlui-menu__submenu__trigger[data-direction='left'][data-state='open']::after {
610
610
  opacity: 1;
611
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
611
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
612
612
  }
613
613
 
614
614
  @media (hover: hover) {
615
615
  .tlui-menu__submenu__trigger[data-state='open']:not(:hover)::after {
616
616
  opacity: 1;
617
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
617
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
618
618
  }
619
619
 
620
620
  .tlui-menu__submenu__trigger[data-direction='left'][data-state='open']:not(:hover)::after {
621
621
  opacity: 1;
622
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
622
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
623
623
  }
624
624
  }
625
625
 
@@ -644,7 +644,7 @@
644
644
  .tlui-menu-click-capture {
645
645
  position: fixed;
646
646
  inset: 0;
647
- z-index: var(--layer-menu-click-capture);
647
+ z-index: var(--tl-layer-menu-click-capture);
648
648
  }
649
649
 
650
650
  /* --------------------- Popover -------------------- */
@@ -660,10 +660,10 @@
660
660
  max-height: calc(var(--radix-popover-content-available-height) - 8px);
661
661
  margin: 0px;
662
662
  border: none;
663
- border-radius: var(--radius-3);
664
- background-color: var(--color-panel);
665
- box-shadow: var(--shadow-3);
666
- z-index: var(--layer-menus);
663
+ border-radius: var(--tl-radius-3);
664
+ background-color: var(--tl-color-panel);
665
+ box-shadow: var(--tl-shadow-3);
666
+ z-index: var(--tl-layer-menus);
667
667
  overflow: hidden;
668
668
  overflow-y: auto;
669
669
  touch-action: auto;
@@ -676,22 +676,22 @@
676
676
 
677
677
  .tlui-menu-zone {
678
678
  position: relative;
679
- z-index: var(--layer-panels);
679
+ z-index: var(--tl-layer-panels);
680
680
  width: fit-content;
681
- border-right: 2px solid var(--color-background);
682
- border-bottom: 2px solid var(--color-background);
683
- border-bottom-right-radius: var(--radius-4);
684
- background-color: var(--color-low);
681
+ border-right: 2px solid var(--tl-color-background);
682
+ border-bottom: 2px solid var(--tl-color-background);
683
+ border-bottom-right-radius: var(--tl-radius-4);
684
+ background-color: var(--tl-color-low);
685
685
  }
686
686
 
687
687
  .tlui-menu-zone *[data-state='open']::after {
688
- background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
688
+ background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
689
689
  opacity: 1;
690
690
  }
691
691
 
692
692
  @media (hover: hover) {
693
693
  .tlui-menu-zone *[data-state='open']:not(:hover)::after {
694
- background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
694
+ background: linear-gradient(180deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
695
695
  opacity: 1;
696
696
  }
697
697
  }
@@ -717,8 +717,8 @@
717
717
  align-items: center;
718
718
  width: 100%;
719
719
  height: 40px;
720
- padding-left: var(--space-4);
721
- border-bottom: 1px solid var(--color-divider);
720
+ padding-left: var(--tl-space-4);
721
+ border-bottom: 1px solid var(--tl-color-divider);
722
722
  }
723
723
 
724
724
  .tlui-page-menu__header > .tlui-button:nth-of-type(1) {
@@ -726,7 +726,7 @@
726
726
  }
727
727
 
728
728
  .tlui-page-menu__header__title {
729
- color: var(--color-text);
729
+ color: var(--tl-color-text);
730
730
  font-size: 12px;
731
731
  flex-grow: 2;
732
732
  }
@@ -811,7 +811,7 @@
811
811
  display: inline-flex;
812
812
  align-items: center;
813
813
  justify-content: center;
814
- color: var(--color-text);
814
+ color: var(--tl-color-text);
815
815
  }
816
816
 
817
817
  .tlui-page_menu__item__sortable {
@@ -824,7 +824,7 @@
824
824
  flex-direction: row;
825
825
  align-items: center;
826
826
  overflow: hidden;
827
- z-index: var(--layer-above);
827
+ z-index: var(--tl-layer-above);
828
828
  }
829
829
 
830
830
  .tlui-page_menu__item__sortable__title {
@@ -836,7 +836,7 @@
836
836
  }
837
837
 
838
838
  .tlui-page_menu__item__sortable:focus-visible {
839
- z-index: var(--layer-focused-input);
839
+ z-index: var(--tl-layer-focused-input);
840
840
  }
841
841
 
842
842
  .tlui-page_menu__item__sortable__handle {
@@ -845,7 +845,7 @@
845
845
  min-width: 0px;
846
846
  height: 40px;
847
847
  cursor: grab;
848
- color: var(--color-text-3);
848
+ color: var(--tl-color-text-3);
849
849
  flex-shrink: 0;
850
850
  margin-right: -9px;
851
851
  }
@@ -887,13 +887,13 @@
887
887
  }
888
888
 
889
889
  .tlui-page_menu__item__submenu > .tlui-button[data-state='open']::after {
890
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
890
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
891
891
  opacity: 1;
892
892
  }
893
893
 
894
894
  @media (hover: hover) {
895
895
  .tlui-page_menu__item__submenu > .tlui-button[data-state='open']:not(:hover)::after {
896
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
896
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
897
897
  opacity: 1;
898
898
  }
899
899
  }
@@ -929,7 +929,7 @@
929
929
  top: 48px;
930
930
  left: -9999px;
931
931
  padding: 8px 16px;
932
- z-index: var(--layer-toasts);
932
+ z-index: var(--tl-layer-toasts);
933
933
  }
934
934
 
935
935
  .tl-skip-to-main-content:focus {
@@ -941,11 +941,11 @@
941
941
  .tlui-offline-indicator {
942
942
  display: flex;
943
943
  flex-direction: row;
944
- gap: var(--space-3);
945
- color: var(--color-text);
946
- background-color: var(--color-low);
947
- border: 3px solid var(--color-background);
948
- padding: 0px var(--space-5);
944
+ gap: var(--tl-space-3);
945
+ color: var(--tl-color-text);
946
+ background-color: var(--tl-color-low);
947
+ border: 3px solid var(--tl-color-background);
948
+ padding: 0px var(--tl-space-5);
949
949
  height: 42px;
950
950
  align-items: center;
951
951
  justify-content: center;
@@ -960,10 +960,10 @@
960
960
  /* ------------------- Style panel ------------------ */
961
961
 
962
962
  .tlui-style-panel__wrapper {
963
- box-shadow: var(--shadow-2);
964
- border-radius: var(--radius-3);
963
+ box-shadow: var(--tl-shadow-2);
964
+ border-radius: var(--tl-radius-3);
965
965
  pointer-events: all;
966
- background-color: var(--color-panel);
966
+ background-color: var(--tl-color-panel);
967
967
  height: fit-content;
968
968
  max-height: 100%;
969
969
  margin: 8px;
@@ -972,7 +972,7 @@
972
972
  overscroll-behavior: none;
973
973
  overflow-y: auto;
974
974
  overflow-x: hidden;
975
- color: var(--color-text);
975
+ color: var(--tl-color-text);
976
976
  }
977
977
  /* if the style panel is the only child (ie no share menu), increase the margin */
978
978
  .tlui-style-panel__wrapper:only-child {
@@ -981,7 +981,7 @@
981
981
 
982
982
  .tlui-style-panel {
983
983
  position: relative;
984
- z-index: var(--layer-panels);
984
+ z-index: var(--tl-layer-panels);
985
985
  pointer-events: all;
986
986
  width: 148px;
987
987
  max-width: 148px;
@@ -989,7 +989,7 @@
989
989
 
990
990
  .tlui-style-panel[data-show-ui-labels='true'] .tlui-button[data-isactive='true'] {
991
991
  border-radius: 10px;
992
- outline: 2px solid var(--color-text);
992
+ outline: 2px solid var(--tl-color-text);
993
993
  outline-offset: -5px;
994
994
  }
995
995
 
@@ -1008,7 +1008,7 @@
1008
1008
  }
1009
1009
 
1010
1010
  .tlui-style-panel__section:nth-of-type(n + 2):not(:last-child) {
1011
- border-bottom: 1px solid var(--color-divider);
1011
+ border-bottom: 1px solid var(--tl-color-divider);
1012
1012
  }
1013
1013
 
1014
1014
  .tlui-style-panel__section:empty {
@@ -1017,7 +1017,7 @@
1017
1017
 
1018
1018
  .tlui-style-panel__section__common:not(:only-child) {
1019
1019
  margin-bottom: 7px;
1020
- border-bottom: 1px solid var(--color-divider);
1020
+ border-bottom: 1px solid var(--tl-color-divider);
1021
1021
  }
1022
1022
 
1023
1023
  .tlui-style-panel__dropdown-picker:only-child {
@@ -1028,8 +1028,8 @@
1028
1028
  display: flex;
1029
1029
  grid-template-columns: 1fr auto;
1030
1030
  align-items: center;
1031
- padding-left: var(--space-4);
1032
- color: var(--color-text-1);
1031
+ padding-left: var(--tl-space-4);
1032
+ color: var(--tl-color-text-1);
1033
1033
  font-size: 12px;
1034
1034
  }
1035
1035
 
@@ -1043,13 +1043,13 @@
1043
1043
 
1044
1044
  .tlui-style-panel .tlui-button[data-state='open']::after {
1045
1045
  opacity: 1;
1046
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1046
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1047
1047
  }
1048
1048
 
1049
1049
  @media (hover: hover) {
1050
1050
  .tlui-style-panel .tlui-button[data-state='open']:not(:hover)::after {
1051
1051
  opacity: 1;
1052
- background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1052
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1053
1053
  }
1054
1054
  }
1055
1055
 
@@ -1059,14 +1059,14 @@
1059
1059
  .tlui-style-panel__section__common .tlui-style-panel__subheading,
1060
1060
  .tlui-style-panel__subheading + .tlui-slider__container {
1061
1061
  margin: 0;
1062
- padding: var(--space-2) var(--space-3) 0px var(--space-4);
1062
+ padding: var(--tl-space-2) var(--tl-space-3) 0px var(--tl-space-4);
1063
1063
  font-size: 12px;
1064
1064
  font-weight: inherit;
1065
1065
  line-height: inherit;
1066
1066
  }
1067
1067
 
1068
1068
  .tlui-style-panel .tlui-style-panel__subheading:nth-of-type(1) {
1069
- padding-top: var(--space-3);
1069
+ padding-top: var(--tl-space-3);
1070
1070
  }
1071
1071
 
1072
1072
  .tlui-style-panel__subheading + .tlui-slider__container {
@@ -1078,7 +1078,6 @@
1078
1078
  .tlui-layout__bottom {
1079
1079
  grid-row: 2;
1080
1080
  width: 100%;
1081
- overflow: hidden;
1082
1081
  }
1083
1082
 
1084
1083
  .tlui-layout__bottom__main {
@@ -1094,7 +1093,7 @@
1094
1093
  display: flex;
1095
1094
  width: min-content;
1096
1095
  flex-direction: column;
1097
- z-index: var(--layer-panels);
1096
+ z-index: var(--tl-layer-panels);
1098
1097
  pointer-events: all;
1099
1098
  position: absolute;
1100
1099
  left: 0px;
@@ -1107,10 +1106,10 @@
1107
1106
  z-index: -1;
1108
1107
  inset: -2px -2px 0px 0px;
1109
1108
  border-radius: 0;
1110
- border-top: 2px solid var(--color-background);
1111
- border-right: 2px solid var(--color-background);
1112
- border-top-right-radius: var(--radius-4);
1113
- background-color: var(--color-low);
1109
+ border-top: 2px solid var(--tl-color-background);
1110
+ border-right: 2px solid var(--tl-color-background);
1111
+ border-top-right-radius: var(--tl-radius-4);
1112
+ background-color: var(--tl-color-low);
1114
1113
  }
1115
1114
 
1116
1115
  .tlui-navigation-panel[data-a11y='true']::before {
@@ -1124,7 +1123,7 @@
1124
1123
  height: 96px;
1125
1124
  min-height: 96px;
1126
1125
  overflow: hidden;
1127
- padding: var(--space-3);
1126
+ padding: var(--tl-space-3);
1128
1127
  padding-top: 0px;
1129
1128
  }
1130
1129
 
@@ -1147,7 +1146,7 @@
1147
1146
  }
1148
1147
 
1149
1148
  .tlui-main-toolbar--horizontal {
1150
- padding-bottom: calc(var(--space-3) + var(--sab));
1149
+ padding-bottom: calc(var(--tl-space-3) + var(--tl-sab));
1151
1150
  max-width: 100%;
1152
1151
  }
1153
1152
 
@@ -1156,7 +1155,7 @@
1156
1155
  left: 0;
1157
1156
  top: 90px; /* height of page menu + 'back to content' button */
1158
1157
  bottom: 140px; /* height of expanded mini-map */
1159
- padding-left: calc(var(--space-3) + var(--sab));
1158
+ padding-left: calc(var(--tl-space-3) + var(--tl-sab));
1160
1159
  }
1161
1160
 
1162
1161
  [data-breakpoints-below*='6'] .tlui-main-toolbar--vertical {
@@ -1168,7 +1167,7 @@
1168
1167
  position: relative;
1169
1168
  width: fit-content;
1170
1169
  display: flex;
1171
- gap: var(--space-3);
1170
+ gap: var(--tl-space-3);
1172
1171
  align-items: flex-start;
1173
1172
  }
1174
1173
 
@@ -1187,7 +1186,7 @@
1187
1186
  /* Row of controls + lock button */
1188
1187
  .tlui-main-toolbar__extras {
1189
1188
  position: relative;
1190
- z-index: var(--layer-above);
1189
+ z-index: var(--tl-layer-above);
1191
1190
  pointer-events: none;
1192
1191
  align-self: stretch;
1193
1192
  }
@@ -1208,23 +1207,23 @@
1208
1207
 
1209
1208
  .tlui-main-toolbar__extras__controls {
1210
1209
  position: relative;
1211
- z-index: var(--layer-above);
1212
- background-color: var(--color-low);
1213
- border: 2px solid var(--color-background);
1210
+ z-index: var(--tl-layer-above);
1211
+ background-color: var(--tl-color-low);
1212
+ border: 2px solid var(--tl-color-background);
1214
1213
  pointer-events: all;
1215
1214
  }
1216
1215
 
1217
1216
  .tlui-main-toolbar--horizontal .tlui-main-toolbar__extras__controls {
1218
- border-top-left-radius: var(--radius-4);
1219
- border-top-right-radius: var(--radius-4);
1217
+ border-top-left-radius: var(--tl-radius-4);
1218
+ border-top-right-radius: var(--tl-radius-4);
1220
1219
  margin-left: 8px;
1221
1220
  margin-right: 0px;
1222
1221
  width: fit-content;
1223
1222
  }
1224
1223
 
1225
1224
  .tlui-main-toolbar--vertical .tlui-main-toolbar__extras__controls {
1226
- border-top-right-radius: var(--radius-4);
1227
- border-bottom-right-radius: var(--radius-4);
1225
+ border-top-right-radius: var(--tl-radius-4);
1226
+ border-bottom-right-radius: var(--tl-radius-4);
1228
1227
  margin-top: 8px;
1229
1228
  margin-left: -2px;
1230
1229
  margin-bottom: 0px;
@@ -1232,12 +1231,12 @@
1232
1231
  }
1233
1232
 
1234
1233
  .tlui-main-toolbar__tools {
1235
- border-radius: var(--radius-4);
1236
- z-index: var(--layer-panels);
1234
+ border-radius: var(--tl-radius-4);
1235
+ z-index: var(--tl-layer-panels);
1237
1236
  pointer-events: all;
1238
1237
  position: relative;
1239
- background: var(--color-panel);
1240
- box-shadow: var(--shadow-2);
1238
+ background: var(--tl-color-panel);
1239
+ box-shadow: var(--tl-shadow-2);
1241
1240
  }
1242
1241
 
1243
1242
  .tlui-main-toolbar--horizontal .tlui-main-toolbar__mobile-style-panel {
@@ -1262,14 +1261,18 @@
1262
1261
  }
1263
1262
 
1264
1263
  .tlui-main-toolbar--horizontal *[data-state='open']::after {
1265
- background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1264
+ background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1266
1265
  opacity: 1;
1267
1266
  }
1268
1267
  .tlui-main-toolbar--vertical *[data-state='open']::after {
1269
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1268
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1270
1269
  opacity: 1;
1271
1270
  }
1272
1271
 
1272
+ .tlui-main-toolbar__overflow-content {
1273
+ touch-action: none;
1274
+ }
1275
+
1273
1276
  .tlui-main-toolbar__tools [data-toolbar-visible='false'],
1274
1277
  .tlui-main-toolbar__overflow-content [data-toolbar-visible='false'] {
1275
1278
  display: none;
@@ -1298,11 +1301,11 @@
1298
1301
 
1299
1302
  @media (hover: hover) {
1300
1303
  .tlui-main-toolbar--horizontal *[data-state='open']:not(:hover)::after {
1301
- background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1304
+ background: linear-gradient(0deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1302
1305
  opacity: 1;
1303
1306
  }
1304
1307
  .tlui-main-toolbar--vertical *[data-state='open']:not(:hover)::after {
1305
- background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--color-muted-2) 100%);
1308
+ background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
1306
1309
  opacity: 1;
1307
1310
  }
1308
1311
  }
@@ -1313,44 +1316,40 @@
1313
1316
  font-size: 12px;
1314
1317
  padding: 2px 8px;
1315
1318
  border-radius: 4px;
1316
- background-color: var(--color-tooltip);
1319
+ background-color: var(--tl-color-tooltip);
1317
1320
  box-shadow: none;
1318
- color: var(--color-text-shadow);
1321
+ color: var(--tl-color-text-shadow);
1319
1322
  max-width: 400px;
1320
1323
  width: fit-content;
1321
1324
  text-align: center;
1322
- pointer-events: none;
1323
1325
  will-change: transform, opacity;
1324
1326
  z-index: 2;
1325
1327
  }
1326
1328
 
1327
1329
  .tlui-tooltip__arrow {
1328
- fill: var(--color-tooltip);
1330
+ fill: var(--tl-color-tooltip);
1329
1331
  will-change: opacity;
1330
1332
  }
1331
1333
 
1332
1334
  [data-radix-popper-content-wrapper]:has(.tlui-tooltip) {
1333
- z-index: var(--layer-toasts) !important;
1334
- }
1335
-
1336
- [data-radix-popper-content-wrapper]:has(.tlui-tooltip[data-should-animate='true']) {
1337
- transition: all 0.1s ease-out;
1335
+ z-index: var(--tl-layer-toasts) !important;
1336
+ pointer-events: none;
1338
1337
  }
1339
1338
 
1340
1339
  /* ------------------- Debug panel ------------------ */
1341
1340
 
1342
1341
  .tlui-debug-panel {
1343
- background-color: var(--color-low);
1342
+ background-color: var(--tl-color-low);
1344
1343
  width: 100%;
1345
1344
  display: grid;
1346
1345
  align-items: center;
1347
1346
  grid-template-columns: 1fr auto auto auto;
1348
1347
  justify-content: space-between;
1349
- padding-left: var(--space-4);
1350
- border-top: 1px solid var(--color-background);
1348
+ padding-left: var(--tl-space-4);
1349
+ border-top: 1px solid var(--tl-color-background);
1351
1350
  font-size: 12px;
1352
- color: var(--color-text-1);
1353
- z-index: var(--layer-panels);
1351
+ color: var(--tl-color-text-1);
1352
+ z-index: var(--tl-layer-panels);
1354
1353
  pointer-events: all;
1355
1354
  }
1356
1355
 
@@ -1366,7 +1365,7 @@
1366
1365
 
1367
1366
  .tlui-debug-panel__fps__slow {
1368
1367
  font-weight: bold;
1369
- color: var(--color-danger);
1368
+ color: var(--tl-color-danger);
1370
1369
  }
1371
1370
 
1372
1371
  .tlui-a11y-audit {
@@ -1376,7 +1375,7 @@
1376
1375
  .tlui-a11y-audit th,
1377
1376
  .tlui-a11y-audit td {
1378
1377
  padding: 8px;
1379
- border: 1px solid var(--color-low-border);
1378
+ border: 1px solid var(--tl-color-low-border);
1380
1379
  }
1381
1380
 
1382
1381
  /* --------------------- Toasts --------------------- */
@@ -1389,10 +1388,10 @@
1389
1388
  align-items: flex-end;
1390
1389
  justify-content: flex-end;
1391
1390
  flex-direction: column;
1392
- gap: var(--space-3);
1391
+ gap: var(--tl-space-3);
1393
1392
  pointer-events: none;
1394
- padding: 0px var(--space-3) 64px 0px;
1395
- z-index: var(--layer-toasts);
1393
+ padding: 0px var(--tl-space-3) 64px 0px;
1394
+ z-index: var(--tl-layer-toasts);
1396
1395
  }
1397
1396
 
1398
1397
  .tlui-toast__viewport > * {
@@ -1401,34 +1400,34 @@
1401
1400
 
1402
1401
  .tlui-toast__icon {
1403
1402
  padding-top: 11px;
1404
- padding-left: var(--space-4);
1405
- color: var(--color-text-1);
1403
+ padding-left: var(--tl-space-4);
1404
+ color: var(--tl-color-text-1);
1406
1405
  }
1407
1406
 
1408
1407
  .tlui-toast__container {
1409
1408
  min-width: 200px;
1410
1409
  display: flex;
1411
1410
  flex-direction: row;
1412
- background-color: var(--color-panel);
1413
- box-shadow: var(--shadow-2);
1414
- border-radius: var(--radius-3);
1411
+ background-color: var(--tl-color-panel);
1412
+ box-shadow: var(--tl-shadow-2);
1413
+ border-radius: var(--tl-radius-3);
1415
1414
  font-size: 12px;
1416
1415
  }
1417
1416
 
1418
1417
  .tlui-toast__container[data-severity='success'] .tlui-icon {
1419
- color: var(--color-success);
1418
+ color: var(--tl-color-success);
1420
1419
  }
1421
1420
 
1422
1421
  .tlui-toast__container[data-severity='info'] .tlui-icon {
1423
- color: var(--color-info);
1422
+ color: var(--tl-color-info);
1424
1423
  }
1425
1424
 
1426
1425
  .tlui-toast__container[data-severity='warning'] .tlui-icon {
1427
- color: var(--color-warning);
1426
+ color: var(--tl-color-warning);
1428
1427
  }
1429
1428
 
1430
1429
  .tlui-toast__container[data-severity='error'] .tlui-icon {
1431
- color: var(--color-danger);
1430
+ color: var(--tl-color-danger);
1432
1431
  }
1433
1432
 
1434
1433
  .tlui-toast__main {
@@ -1437,27 +1436,27 @@
1437
1436
  }
1438
1437
 
1439
1438
  .tlui-toast__content {
1440
- padding: var(--space-4);
1439
+ padding: var(--tl-space-4);
1441
1440
  display: flex;
1442
1441
  line-height: 1.4;
1443
1442
  flex-direction: column;
1444
- gap: var(--space-3);
1443
+ gap: var(--tl-space-3);
1445
1444
  }
1446
1445
 
1447
1446
  .tlui-toast__main[data-actions='true'] .tlui-toast__content {
1448
- padding-bottom: var(--space-2);
1447
+ padding-bottom: var(--tl-space-2);
1449
1448
  }
1450
1449
 
1451
1450
  .tlui-toast__title {
1452
1451
  font-weight: bold;
1453
- color: var(--color-text-1);
1452
+ color: var(--tl-color-text-1);
1454
1453
  /* this makes the default toast look better */
1455
1454
  line-height: 16px;
1456
1455
  }
1457
1456
 
1458
1457
  .tlui-toast__description {
1459
- color: var(--color-text-1);
1460
- padding: var(--space-3);
1458
+ color: var(--tl-color-text-1);
1459
+ padding: var(--tl-space-3);
1461
1460
  margin: 0px;
1462
1461
  padding: 0px;
1463
1462
  }
@@ -1509,14 +1508,14 @@
1509
1508
  left: 0px;
1510
1509
  width: 100%;
1511
1510
  height: 100%;
1512
- z-index: var(--layer-canvas-overlays);
1513
- background-color: var(--color-overlay);
1511
+ z-index: var(--tl-layer-canvas-overlays);
1512
+ background-color: var(--tl-color-overlay);
1514
1513
  pointer-events: all;
1515
1514
  animation: tl-fade-in 0.12s ease-out;
1516
1515
  display: grid;
1517
1516
  place-items: center;
1518
1517
  overflow-y: auto;
1519
- padding: 0px var(--space-3);
1518
+ padding: 0px var(--tl-space-3);
1520
1519
  }
1521
1520
 
1522
1521
  .tlui-dialog__content {
@@ -1524,9 +1523,9 @@
1524
1523
  flex-direction: column;
1525
1524
  position: relative;
1526
1525
  cursor: default;
1527
- background-color: var(--color-panel);
1528
- box-shadow: var(--shadow-3);
1529
- border-radius: var(--radius-3);
1526
+ background-color: var(--tl-color-panel);
1527
+ box-shadow: var(--tl-shadow-3);
1528
+ border-radius: var(--tl-radius-3);
1530
1529
  font-size: 12px;
1531
1530
  overflow: hidden;
1532
1531
  min-width: 300px;
@@ -1539,9 +1538,9 @@
1539
1538
  display: flex;
1540
1539
  align-items: center;
1541
1540
  flex: 0;
1542
- z-index: var(--layer-header-footer);
1543
- padding-left: var(--space-4);
1544
- color: var(--color-text);
1541
+ z-index: var(--tl-layer-header-footer);
1542
+ padding-left: var(--tl-space-4);
1543
+ color: var(--tl-color-text);
1545
1544
  height: 40px;
1546
1545
  }
1547
1546
 
@@ -1550,7 +1549,7 @@
1550
1549
  font-weight: inherit;
1551
1550
  font-size: 12px;
1552
1551
  margin: 0px;
1553
- color: var(--color-text-1);
1552
+ color: var(--tl-color-text-1);
1554
1553
  }
1555
1554
 
1556
1555
  .tlui-dialog__header__close {
@@ -1558,16 +1557,16 @@
1558
1557
  }
1559
1558
 
1560
1559
  .tlui-dialog__body {
1561
- padding: var(--space-4) var(--space-4);
1560
+ padding: var(--tl-space-4) var(--tl-space-4);
1562
1561
  flex: 0 1;
1563
1562
  overflow-y: auto;
1564
1563
  overflow-x: hidden;
1565
- color: var(--color-text-1);
1564
+ color: var(--tl-color-text-1);
1566
1565
  user-select: all;
1567
1566
  -webkit-user-select: text;
1568
1567
  }
1569
1568
  .tlui-dialog__body a {
1570
- color: var(--color-selected);
1569
+ color: var(--tl-color-selected);
1571
1570
  }
1572
1571
 
1573
1572
  .tlui-dialog__body ul,
@@ -1575,13 +1574,13 @@
1575
1574
  padding-left: 16px;
1576
1575
  display: flex;
1577
1576
  flex-direction: column;
1578
- gap: var(--space-2);
1577
+ gap: var(--tl-space-2);
1579
1578
  }
1580
1579
 
1581
1580
  .tlui-dialog__footer {
1582
1581
  position: relative;
1583
1582
  min-height: 12px;
1584
- z-index: var(--layer-header-footer);
1583
+ z-index: var(--tl-layer-header-footer);
1585
1584
  }
1586
1585
 
1587
1586
  .tlui-dialog__footer__actions {
@@ -1601,15 +1600,15 @@
1601
1600
  .tlui-edit-link-dialog {
1602
1601
  display: flex;
1603
1602
  flex-direction: column;
1604
- gap: var(--space-4);
1605
- color: var(--color-text);
1603
+ gap: var(--tl-space-4);
1604
+ color: var(--tl-color-text);
1606
1605
  }
1607
1606
 
1608
1607
  .tlui-edit-link-dialog__input {
1609
- background-color: var(--color-muted-2);
1608
+ background-color: var(--tl-color-muted-2);
1610
1609
  flex-grow: 2;
1611
- border-radius: var(--radius-2);
1612
- padding: 0px var(--space-4);
1610
+ border-radius: var(--tl-radius-2);
1611
+ padding: 0px var(--tl-space-4);
1613
1612
  }
1614
1613
 
1615
1614
  /* Embed Dialog */
@@ -1617,15 +1616,15 @@
1617
1616
  .tlui-embed__spacer {
1618
1617
  flex-grow: 2;
1619
1618
  min-height: 0px;
1620
- margin-left: calc(-1 * var(--space-4));
1621
- margin-top: calc(-1 * var(--space-4));
1619
+ margin-left: calc(-1 * var(--tl-space-4));
1620
+ margin-top: calc(-1 * var(--tl-space-4));
1622
1621
  pointer-events: none;
1623
1622
  }
1624
1623
 
1625
1624
  .tlui-embed-dialog__list {
1626
1625
  display: flex;
1627
1626
  flex-direction: column;
1628
- padding: 0px var(--space-3) var(--space-4) var(--space-3);
1627
+ padding: 0px var(--tl-space-3) var(--tl-space-4) var(--tl-space-3);
1629
1628
  }
1630
1629
 
1631
1630
  .tlui-embed-dialog__item__image {
@@ -1637,49 +1636,49 @@
1637
1636
  background-size: contain;
1638
1637
  background-repeat: no-repeat;
1639
1638
  background-position: center center;
1640
- background-color: var(--color-selected-contrast);
1641
- border-radius: var(--radius-1);
1639
+ background-color: var(--tl-color-selected-contrast);
1640
+ border-radius: var(--tl-radius-1);
1642
1641
  }
1643
1642
 
1644
1643
  .tlui-embed-dialog__enter {
1645
1644
  display: flex;
1646
1645
  flex-direction: column;
1647
- gap: var(--space-4);
1648
- color: var(--color-text-1);
1646
+ gap: var(--tl-space-4);
1647
+ color: var(--tl-color-text-1);
1649
1648
  }
1650
1649
 
1651
1650
  .tlui-embed-dialog__input {
1652
- background-color: var(--color-muted-2);
1651
+ background-color: var(--tl-color-muted-2);
1653
1652
  flex-grow: 2;
1654
- border-radius: var(--radius-2);
1655
- padding: 0px var(--space-4);
1653
+ border-radius: var(--tl-radius-2);
1654
+ padding: 0px var(--tl-space-4);
1656
1655
  }
1657
1656
 
1658
1657
  .tlui-embed-dialog__warning {
1659
- color: var(--color-danger);
1658
+ color: var(--tl-color-danger);
1660
1659
  text-shadow: none;
1661
1660
  }
1662
1661
 
1663
1662
  .tlui-embed-dialog__instruction__link {
1664
1663
  display: flex;
1665
- gap: var(--space-1);
1666
- margin-top: var(--space-4);
1664
+ gap: var(--tl-space-1);
1665
+ margin-top: var(--tl-space-4);
1667
1666
  }
1668
1667
 
1669
1668
  .tlui-embed-dialog__enter a {
1670
- color: var(--color-text-1);
1669
+ color: var(--tl-color-text-1);
1671
1670
  }
1672
1671
 
1673
1672
  /* --------------- Keyboard shortcuts --------------- */
1674
1673
 
1675
1674
  .tlui-shortcuts-dialog__header {
1676
- border-bottom: 1px solid var(--color-divider);
1675
+ border-bottom: 1px solid var(--tl-color-divider);
1677
1676
  }
1678
1677
 
1679
1678
  .tlui-shortcuts-dialog__body {
1680
1679
  position: relative;
1681
1680
  columns: 3;
1682
- column-gap: var(--space-9);
1681
+ column-gap: var(--tl-space-9);
1683
1682
  pointer-events: all;
1684
1683
  touch-action: auto;
1685
1684
 
@@ -1697,14 +1696,14 @@
1697
1696
 
1698
1697
  .tlui-shortcuts-dialog__group {
1699
1698
  break-inside: avoid-column;
1700
- padding-bottom: var(--space-6);
1699
+ padding-bottom: var(--tl-space-6);
1701
1700
  }
1702
1701
 
1703
1702
  .tlui-shortcuts-dialog__group__title {
1704
1703
  font-size: inherit;
1705
1704
  font-weight: inherit;
1706
1705
  margin: 0px;
1707
- color: var(--color-text-3);
1706
+ color: var(--tl-color-text-3);
1708
1707
  height: 32px;
1709
1708
  display: flex;
1710
1709
  align-items: center;
@@ -1713,12 +1712,12 @@
1713
1712
  .tlui-shortcuts-dialog__group__content {
1714
1713
  display: flex;
1715
1714
  flex-direction: column;
1716
- color: var(--color-text-1);
1715
+ color: var(--tl-color-text-1);
1717
1716
  }
1718
1717
 
1719
1718
  .tlui-shortcuts-dialog__key-pair {
1720
1719
  display: flex;
1721
- gap: var(--space-4);
1720
+ gap: var(--tl-space-4);
1722
1721
  align-items: center;
1723
1722
  justify-content: space-between;
1724
1723
  height: 32px;
@@ -1745,12 +1744,12 @@
1745
1744
  height: 24px;
1746
1745
  background: linear-gradient(
1747
1746
  to bottom,
1748
- var(--color-panel-transparent) 0%,
1749
- var(--color-panel) 90%,
1750
- var(--color-panel) 100%
1747
+ var(--tl-color-panel-transparent) 0%,
1748
+ var(--tl-color-panel) 90%,
1749
+ var(--tl-color-panel) 100%
1751
1750
  );
1752
- border-bottom-left-radius: var(--radius-3);
1753
- border-bottom-right-radius: var(--radius-3);
1751
+ border-bottom-left-radius: var(--tl-radius-3);
1752
+ border-bottom-right-radius: var(--tl-radius-3);
1754
1753
  pointer-events: none;
1755
1754
  }
1756
1755
 
@@ -1765,10 +1764,10 @@
1765
1764
  .tlui-help-menu {
1766
1765
  pointer-events: all;
1767
1766
  position: absolute;
1768
- bottom: var(--space-2);
1769
- right: var(--space-2);
1770
- z-index: var(--layer-panels);
1771
- border: 2px solid var(--color-background);
1767
+ bottom: var(--tl-space-2);
1768
+ right: var(--tl-space-2);
1769
+ z-index: var(--tl-layer-panels);
1770
+ border: 2px solid var(--tl-color-background);
1772
1771
  border-radius: 100%;
1773
1772
  }
1774
1773
 
@@ -1779,7 +1778,7 @@
1779
1778
  display: flex;
1780
1779
  flex-direction: row;
1781
1780
  justify-content: flex-end;
1782
- z-index: var(--layer-panels);
1781
+ z-index: var(--tl-layer-panels);
1783
1782
  align-items: center;
1784
1783
  padding-top: 2px;
1785
1784
  padding-right: 4px;
@@ -1795,7 +1794,7 @@
1795
1794
  border: none;
1796
1795
  cursor: pointer;
1797
1796
  pointer-events: all;
1798
- border-radius: var(--radius-1);
1797
+ border-radius: var(--tl-radius-1);
1799
1798
  padding-right: 1px;
1800
1799
  height: 100%;
1801
1800
  }
@@ -1808,8 +1807,8 @@
1808
1807
  .tlui-people-menu__avatar {
1809
1808
  height: 24px;
1810
1809
  width: 24px;
1811
- border: 2px solid var(--color-background);
1812
- background-color: var(--color-low);
1810
+ border: 2px solid var(--tl-color-background);
1811
+ background-color: var(--tl-color-low);
1813
1812
  border-radius: 100%;
1814
1813
  display: flex;
1815
1814
  align-items: center;
@@ -1818,7 +1817,7 @@
1818
1817
  font-size: 10px;
1819
1818
  font-weight: bold;
1820
1819
  text-align: center;
1821
- color: var(--color-selected-contrast);
1820
+ color: var(--tl-color-selected-contrast);
1822
1821
  z-index: 2;
1823
1822
  }
1824
1823
 
@@ -1832,7 +1831,7 @@
1832
1831
 
1833
1832
  @media (hover: hover) {
1834
1833
  .tlui-people-menu__avatars-button:hover .tlui-people-menu__avatar {
1835
- border-color: var(--color-low);
1834
+ border-color: var(--tl-color-low);
1836
1835
  }
1837
1836
  }
1838
1837
 
@@ -1840,12 +1839,12 @@
1840
1839
  min-width: 0px;
1841
1840
  font-size: 11px;
1842
1841
  font-weight: 600;
1843
- color: var(--color-text-1);
1842
+ color: var(--tl-color-text-1);
1844
1843
  font-family: inherit;
1845
1844
  padding: 0px 4px;
1846
1845
  }
1847
1846
  .tlui-people-menu__more::after {
1848
- border-radius: var(--radius-2);
1847
+ border-radius: var(--tl-radius-2);
1849
1848
  inset: 0px;
1850
1849
  }
1851
1850
 
@@ -1874,7 +1873,7 @@
1874
1873
  }
1875
1874
 
1876
1875
  .tlui-people-menu__section:not(:last-child) {
1877
- border-bottom: 1px solid var(--color-divider);
1876
+ border-bottom: 1px solid var(--tl-color-divider);
1878
1877
  }
1879
1878
 
1880
1879
  .tlui-people-menu__user {
@@ -1893,7 +1892,7 @@
1893
1892
  text-overflow: ellipsis;
1894
1893
  white-space: nowrap;
1895
1894
  font-size: 12px;
1896
- color: var(--color-text-1);
1895
+ color: var(--tl-color-text-1);
1897
1896
  max-width: 100%;
1898
1897
  flex-grow: 1;
1899
1898
  flex-shrink: 100;
@@ -1905,7 +1904,7 @@
1905
1904
  text-overflow: ellipsis;
1906
1905
  white-space: nowrap;
1907
1906
  font-size: 12px;
1908
- color: var(--color-text-3);
1907
+ color: var(--tl-color-text-3);
1909
1908
  flex-grow: 100;
1910
1909
  flex-shrink: 0;
1911
1910
  margin-left: 4px;
@@ -1996,7 +1995,7 @@
1996
1995
  inset: 0px;
1997
1996
  border-width: 2px;
1998
1997
  border-style: solid;
1999
- z-index: var(--layer-following-indicator);
1998
+ z-index: var(--tl-layer-following-indicator);
2000
1999
  pointer-events: none;
2001
2000
  }
2002
2001
 
@@ -2015,7 +2014,7 @@
2015
2014
  }
2016
2015
 
2017
2016
  .tlui-contextual-toolbar [data-isactive='true']::after {
2018
- background-color: var(--color-muted-2);
2017
+ background-color: var(--tl-color-muted-2);
2019
2018
  opacity: 1;
2020
2019
  }
2021
2020
 
@@ -2031,7 +2030,7 @@
2031
2030
 
2032
2031
  .tlui-contextual-toolbar[data-visible='true'] {
2033
2032
  opacity: 1;
2034
- z-index: var(--layer-menus);
2033
+ z-index: var(--tl-layer-menus);
2035
2034
  }
2036
2035
 
2037
2036
  .tlui-contextual-toolbar[data-interactive='true'],
@@ -2090,7 +2089,7 @@
2090
2089
 
2091
2090
  @keyframes tlui-slide-in {
2092
2091
  from {
2093
- transform: translateX(calc(100% + var(--space-3)));
2092
+ transform: translateX(calc(100% + var(--tl-space-3)));
2094
2093
  }
2095
2094
  to {
2096
2095
  transform: translateX(0px);
@@ -2102,6 +2101,6 @@
2102
2101
  transform: translateX(var(--radix-toast-swipe-end-x));
2103
2102
  }
2104
2103
  to {
2105
- transform: translateX(calc(100% + var(--space-3)));
2104
+ transform: translateX(calc(100% + var(--tl-space-3)));
2106
2105
  }
2107
2106
  }