tldraw 4.1.0-canary.9f9255bd7a83 → 4.1.0-canary.a152954244d2

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 (205) hide show
  1. package/dist-cjs/index.d.ts +46 -12
  2. package/dist-cjs/index.js +6 -1
  3. package/dist-cjs/index.js.map +2 -2
  4. package/dist-cjs/lib/canvas/TldrawCropHandles.js +1 -1
  5. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  6. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +1 -1
  7. package/dist-cjs/lib/defaultEmbedDefinitions.js +25 -30
  8. package/dist-cjs/lib/defaultEmbedDefinitions.js.map +2 -2
  9. package/dist-cjs/lib/defaultExternalContentHandlers.js +10 -33
  10. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  11. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +3 -0
  12. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  13. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +44 -102
  14. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  15. package/dist-cjs/lib/shapes/bookmark/bookmarks.js +138 -0
  16. package/dist-cjs/lib/shapes/bookmark/bookmarks.js.map +7 -0
  17. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js +25 -3
  18. package/dist-cjs/lib/shapes/embed/EmbedShapeUtil.js.map +2 -2
  19. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +1 -1
  20. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +1 -1
  21. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +3 -0
  22. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  23. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +1 -1
  24. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -1
  25. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +1 -1
  26. package/dist-cjs/lib/shapes/shared/ShapeFill.js +1 -1
  27. package/dist-cjs/lib/shapes/text/PlainTextArea.js +1 -1
  28. package/dist-cjs/lib/shapes/text/RichTextArea.js +1 -1
  29. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +1 -1
  30. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Cropping.js +20 -4
  31. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Cropping.js.map +2 -2
  32. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +1 -1
  33. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +2 -2
  34. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.js +23 -11
  35. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.js.map +2 -2
  36. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +27 -6
  37. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  38. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +1 -1
  39. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  40. package/dist-cjs/lib/tools/SelectTool/childStates/PointingArrowLabel.js +21 -9
  41. package/dist-cjs/lib/tools/SelectTool/childStates/PointingArrowLabel.js.map +2 -2
  42. package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js +24 -8
  43. package/dist-cjs/lib/tools/SelectTool/childStates/PointingResizeHandle.js.map +2 -2
  44. package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js +21 -9
  45. package/dist-cjs/lib/tools/SelectTool/childStates/PointingRotateHandle.js.map +2 -2
  46. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js +23 -8
  47. package/dist-cjs/lib/tools/SelectTool/childStates/Resizing.js.map +2 -2
  48. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js +21 -9
  49. package/dist-cjs/lib/tools/SelectTool/childStates/Rotating.js.map +2 -2
  50. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js +26 -11
  51. package/dist-cjs/lib/tools/SelectTool/childStates/Translating.js.map +2 -2
  52. package/dist-cjs/lib/ui/TldrawUi.js +2 -2
  53. package/dist-cjs/lib/ui/components/DebugMenu/DefaultDebugMenuContent.js +3 -3
  54. package/dist-cjs/lib/ui/components/DebugMenu/DefaultDebugMenuContent.js.map +1 -1
  55. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog.js +1 -1
  56. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js +1 -1
  57. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +5 -0
  58. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  59. package/dist-cjs/lib/ui/components/OfflineIndicator/OfflineIndicator.js +1 -1
  60. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenu.js +6 -2
  61. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenu.js.map +2 -2
  62. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +1 -1
  63. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +1 -1
  64. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +64 -56
  65. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js.map +2 -2
  66. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js +54 -47
  67. package/dist-cjs/lib/ui/components/StylePanel/StylePanelButtonPicker.js.map +3 -3
  68. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.js +63 -56
  69. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.js.map +2 -2
  70. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js +13 -6
  71. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js.map +2 -2
  72. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +1 -1
  73. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +1 -1
  74. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +1 -1
  75. package/dist-cjs/lib/ui/components/menu-items.js +2 -2
  76. package/dist-cjs/lib/ui/components/menu-items.js.map +1 -1
  77. package/dist-cjs/lib/ui/components/primitives/Button/TldrawUiButton.js +2 -2
  78. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  79. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js +1 -1
  80. package/dist-cjs/lib/ui/components/primitives/TldrawUiDropdownMenu.js +1 -1
  81. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js +1 -1
  82. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js +2 -2
  83. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +2 -2
  84. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +1 -1
  85. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +2 -2
  86. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +1 -1
  87. package/dist-cjs/lib/ui/components/primitives/layout.js +1 -1
  88. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +1 -1
  89. package/dist-cjs/lib/ui/context/actions.js +24 -30
  90. package/dist-cjs/lib/ui/context/actions.js.map +2 -2
  91. package/dist-cjs/lib/ui/context/breakpoints.js +1 -1
  92. package/dist-cjs/lib/ui/context/events.js +1 -1
  93. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +1 -1
  94. package/dist-cjs/lib/ui/hooks/useEditorEvents.js +1 -1
  95. package/dist-cjs/lib/ui/hooks/useEditorEvents.js.map +1 -1
  96. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +1 -1
  97. package/dist-cjs/lib/ui/hooks/useLocalStorageState.js +1 -1
  98. package/dist-cjs/lib/ui/hooks/useTools.js +1 -1
  99. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js +4 -4
  100. package/dist-cjs/lib/ui/hooks/useTranslation/defaultTranslation.js.map +1 -1
  101. package/dist-cjs/lib/ui/hooks/useTranslation/useTranslation.js +1 -1
  102. package/dist-cjs/lib/ui/version.js +3 -3
  103. package/dist-cjs/lib/ui/version.js.map +1 -1
  104. package/dist-cjs/lib/utils/text/richText.js +4 -4
  105. package/dist-esm/index.d.mts +46 -12
  106. package/dist-esm/index.mjs +12 -4
  107. package/dist-esm/index.mjs.map +2 -2
  108. package/dist-esm/lib/defaultEmbedDefinitions.mjs +25 -30
  109. package/dist-esm/lib/defaultEmbedDefinitions.mjs.map +2 -2
  110. package/dist-esm/lib/defaultExternalContentHandlers.mjs +10 -33
  111. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  112. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +3 -0
  113. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  114. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +46 -101
  115. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  116. package/dist-esm/lib/shapes/bookmark/bookmarks.mjs +124 -0
  117. package/dist-esm/lib/shapes/bookmark/bookmarks.mjs.map +7 -0
  118. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs +26 -3
  119. package/dist-esm/lib/shapes/embed/EmbedShapeUtil.mjs.map +2 -2
  120. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +3 -0
  121. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  122. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Cropping.mjs +20 -4
  123. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Cropping.mjs.map +2 -2
  124. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +1 -1
  125. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +2 -2
  126. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.mjs +23 -11
  127. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.mjs.map +2 -2
  128. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +29 -7
  129. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  130. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +1 -1
  131. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  132. package/dist-esm/lib/tools/SelectTool/childStates/PointingArrowLabel.mjs +21 -9
  133. package/dist-esm/lib/tools/SelectTool/childStates/PointingArrowLabel.mjs.map +2 -2
  134. package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs +24 -8
  135. package/dist-esm/lib/tools/SelectTool/childStates/PointingResizeHandle.mjs.map +2 -2
  136. package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs +21 -9
  137. package/dist-esm/lib/tools/SelectTool/childStates/PointingRotateHandle.mjs.map +2 -2
  138. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs +23 -8
  139. package/dist-esm/lib/tools/SelectTool/childStates/Resizing.mjs.map +2 -2
  140. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs +21 -9
  141. package/dist-esm/lib/tools/SelectTool/childStates/Rotating.mjs.map +2 -2
  142. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs +26 -11
  143. package/dist-esm/lib/tools/SelectTool/childStates/Translating.mjs.map +2 -2
  144. package/dist-esm/lib/ui/components/DebugMenu/DefaultDebugMenuContent.mjs +2 -2
  145. package/dist-esm/lib/ui/components/DebugMenu/DefaultDebugMenuContent.mjs.map +1 -1
  146. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +5 -0
  147. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  148. package/dist-esm/lib/ui/components/SharePanel/PeopleMenu.mjs +6 -2
  149. package/dist-esm/lib/ui/components/SharePanel/PeopleMenu.mjs.map +2 -2
  150. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs +68 -57
  151. package/dist-esm/lib/ui/components/StylePanel/DefaultStylePanelContent.mjs.map +2 -2
  152. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs +54 -47
  153. package/dist-esm/lib/ui/components/StylePanel/StylePanelButtonPicker.mjs.map +3 -3
  154. package/dist-esm/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.mjs +63 -56
  155. package/dist-esm/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.mjs.map +2 -2
  156. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs +12 -5
  157. package/dist-esm/lib/ui/components/StylePanel/StylePanelDropdownPicker.mjs.map +2 -2
  158. package/dist-esm/lib/ui/components/menu-items.mjs +2 -2
  159. package/dist-esm/lib/ui/components/menu-items.mjs.map +1 -1
  160. package/dist-esm/lib/ui/context/actions.mjs +23 -29
  161. package/dist-esm/lib/ui/context/actions.mjs.map +2 -2
  162. package/dist-esm/lib/ui/hooks/useEditorEvents.mjs +1 -1
  163. package/dist-esm/lib/ui/hooks/useEditorEvents.mjs.map +1 -1
  164. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs +4 -4
  165. package/dist-esm/lib/ui/hooks/useTranslation/defaultTranslation.mjs.map +1 -1
  166. package/dist-esm/lib/ui/version.mjs +3 -3
  167. package/dist-esm/lib/ui/version.mjs.map +1 -1
  168. package/package.json +11 -11
  169. package/src/index.ts +4 -0
  170. package/src/lib/defaultEmbedDefinitions.ts +20 -24
  171. package/src/lib/defaultExternalContentHandlers.ts +12 -37
  172. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +3 -0
  173. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +51 -135
  174. package/src/lib/shapes/bookmark/bookmarks.ts +170 -0
  175. package/src/lib/shapes/embed/EmbedShapeUtil.tsx +28 -2
  176. package/src/lib/shapes/line/LineShapeUtil.tsx +3 -0
  177. package/src/lib/shapes/text/TextShapeTool.test.ts +74 -0
  178. package/src/lib/tools/SelectTool/childStates/Crop/children/Cropping.ts +23 -6
  179. package/src/lib/tools/SelectTool/childStates/Crop/children/Idle.ts +1 -1
  180. package/src/lib/tools/SelectTool/childStates/Crop/children/PointingCropHandle.ts +24 -12
  181. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +34 -11
  182. package/src/lib/tools/SelectTool/childStates/Idle.ts +1 -1
  183. package/src/lib/tools/SelectTool/childStates/PointingArrowLabel.ts +23 -11
  184. package/src/lib/tools/SelectTool/childStates/PointingResizeHandle.ts +26 -9
  185. package/src/lib/tools/SelectTool/childStates/PointingRotateHandle.ts +23 -10
  186. package/src/lib/tools/SelectTool/childStates/Resizing.ts +24 -9
  187. package/src/lib/tools/SelectTool/childStates/Rotating.ts +27 -11
  188. package/src/lib/tools/SelectTool/childStates/Translating.ts +28 -12
  189. package/src/lib/ui/components/DebugMenu/DefaultDebugMenuContent.tsx +2 -2
  190. package/src/lib/ui/components/Minimap/MinimapManager.ts +6 -0
  191. package/src/lib/ui/components/SharePanel/PeopleMenu.tsx +6 -2
  192. package/src/lib/ui/components/StylePanel/DefaultStylePanelContent.tsx +60 -49
  193. package/src/lib/ui/components/StylePanel/StylePanelButtonPicker.tsx +70 -53
  194. package/src/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.tsx +105 -90
  195. package/src/lib/ui/components/StylePanel/StylePanelDropdownPicker.tsx +72 -51
  196. package/src/lib/ui/components/menu-items.tsx +2 -2
  197. package/src/lib/ui/context/actions.tsx +27 -31
  198. package/src/lib/ui/hooks/useEditorEvents.ts +1 -1
  199. package/src/lib/ui/hooks/useTranslation/defaultTranslation.ts +4 -4
  200. package/src/lib/ui/version.ts +3 -3
  201. package/src/lib/utils/embeds/embeds.test.ts +16 -34
  202. package/src/test/SelectTool.test.ts +251 -0
  203. package/src/test/bookmark-shapes.test.ts +129 -7
  204. package/src/test/customSnapping.test.tsx +55 -11
  205. package/tldraw.css +7 -2
@@ -173,6 +173,7 @@ describe('custom handle snapping', () => {
173
173
  handlePoints: VecModel[] | 'default'
174
174
  selfSnapOutline: VecModel[] | 'default'
175
175
  selfSnapPoints: VecModel[] | 'default'
176
+ handleSnapType?: 'point' | 'align'
176
177
  }
177
178
  >
178
179
  class TestShapeUtil extends BaseBoxShapeUtil<TestShape> {
@@ -213,17 +214,23 @@ describe('custom handle snapping', () => {
213
214
  }
214
215
  }
215
216
  override getHandles(shape: TestShape): TLHandle[] {
216
- return [
217
- {
218
- id: 'handle',
219
- label: 'handle',
220
- type: 'vertex',
221
- x: shape.props.ownHandle.x,
222
- y: shape.props.ownHandle.y,
223
- index: ZERO_INDEX_KEY,
224
- canSnap: true,
225
- },
226
- ]
217
+ const handle: TLHandle = {
218
+ id: 'handle',
219
+ label: 'handle',
220
+ type: 'vertex',
221
+ x: shape.props.ownHandle.x,
222
+ y: shape.props.ownHandle.y,
223
+ index: ZERO_INDEX_KEY,
224
+ }
225
+
226
+ if (shape.props.handleSnapType) {
227
+ handle.snapType = shape.props.handleSnapType
228
+ } else {
229
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
230
+ handle.canSnap = true
231
+ }
232
+
233
+ return [handle]
227
234
  }
228
235
  override onHandleDrag(shape: TestShape, { handle }: TLHandleDragInfo<TestShape>) {
229
236
  return { ...shape, props: { ...shape.props, ownHandle: { x: handle.x, y: handle.y } } }
@@ -495,5 +502,42 @@ describe('custom handle snapping', () => {
495
502
  expect(ownHandlePosition()).toMatchObject({ x: 20, y: 50 })
496
503
  })
497
504
  })
505
+
506
+ describe('with snapType set to align', () => {
507
+ beforeEach(() => {
508
+ editor.updateShape<TestShape>({
509
+ id: ids.test,
510
+ type: 'test',
511
+ props: {
512
+ selfSnapPoints: [
513
+ { x: 20, y: 50 },
514
+ { x: 60, y: 10 },
515
+ ],
516
+ handleSnapType: 'align',
517
+ },
518
+ })
519
+ })
520
+
521
+ test('snaps to the y axis', () => {
522
+ startDraggingOwnHandle()
523
+ editor.pointerMove(18, 0, undefined, { ctrlKey: true })
524
+ expect(editor.snaps.getIndicators()).toHaveLength(1)
525
+ expect(ownHandlePosition()).toMatchObject({ x: 20, y: 0 })
526
+ })
527
+
528
+ test('snaps to the x axis', () => {
529
+ startDraggingOwnHandle()
530
+ editor.pointerMove(0, 48, undefined, { ctrlKey: true })
531
+ expect(editor.snaps.getIndicators()).toHaveLength(1)
532
+ expect(ownHandlePosition()).toMatchObject({ x: 0, y: 50 })
533
+ })
534
+
535
+ test('snaps to both axes', () => {
536
+ startDraggingOwnHandle()
537
+ editor.pointerMove(18, 9, undefined, { ctrlKey: true })
538
+ expect(editor.snaps.getIndicators()).toHaveLength(2)
539
+ expect(ownHandlePosition()).toMatchObject({ x: 20, y: 10 })
540
+ })
541
+ })
498
542
  })
499
543
  })
package/tldraw.css CHANGED
@@ -1325,6 +1325,10 @@ input,
1325
1325
  flex: 1;
1326
1326
  }
1327
1327
 
1328
+ .tl-bookmark__copy_container:has(.tl-bookmark__link:only-child) {
1329
+ justify-content: center;
1330
+ }
1331
+
1328
1332
  .tl-bookmark__heading,
1329
1333
  .tl-bookmark__description,
1330
1334
  .tl-bookmark__link {
@@ -1357,7 +1361,7 @@ input,
1357
1361
  line-clamp: 3;
1358
1362
  text-overflow: ellipsis;
1359
1363
  display: -webkit-box;
1360
- color: var(--tl-color-text-2);
1364
+ color: var(--tl-color-text-1);
1361
1365
  margin: var(--tl-space-2) 0px;
1362
1366
  }
1363
1367
 
@@ -1369,11 +1373,12 @@ input,
1369
1373
  font-size: 12px;
1370
1374
  pointer-events: all;
1371
1375
  display: flex;
1372
- color: var(--tl-color-text-2);
1376
+ color: var(--tl-color-text-1);
1373
1377
  align-items: center;
1374
1378
  cursor: var(--tl-cursor-pointer);
1375
1379
  width: fit-content;
1376
1380
  max-width: 100%;
1381
+ text-decoration: none;
1377
1382
  }
1378
1383
 
1379
1384
  .tl-bookmark__link > span {