@tldraw/commenting 0.0.0-bootstrap → 5.3.0-internal.c5c7f1d817d0

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 (125) hide show
  1. package/commenting.css +131 -131
  2. package/dist-cjs/canvas/comment-body.js +1 -1
  3. package/dist-cjs/canvas/comment-body.js.map +2 -2
  4. package/dist-cjs/canvas/comments-filter-menu.js +1 -1
  5. package/dist-cjs/canvas/comments-filter-menu.js.map +1 -1
  6. package/dist-cjs/canvas/comments-overflow-menu.js +3 -3
  7. package/dist-cjs/canvas/comments-overflow-menu.js.map +2 -2
  8. package/dist-cjs/canvas/comments-overlay.js +65 -50
  9. package/dist-cjs/canvas/comments-overlay.js.map +2 -2
  10. package/dist-cjs/canvas/comments-sidebar.js +2 -2
  11. package/dist-cjs/canvas/comments-sidebar.js.map +2 -2
  12. package/dist-cjs/clustering/runtime.js +119 -7
  13. package/dist-cjs/clustering/runtime.js.map +2 -2
  14. package/dist-cjs/index.d.ts +28 -8
  15. package/dist-cjs/index.js +1 -1
  16. package/dist-cjs/ui/avatar.js +10 -2
  17. package/dist-cjs/ui/avatar.js.map +2 -2
  18. package/dist-cjs/ui/byline.js +4 -4
  19. package/dist-cjs/ui/byline.js.map +2 -2
  20. package/dist-cjs/ui/comment-card.js +3 -3
  21. package/dist-cjs/ui/comment-card.js.map +2 -2
  22. package/dist-cjs/ui/comment-composer.js +30 -24
  23. package/dist-cjs/ui/comment-composer.js.map +2 -2
  24. package/dist-cjs/ui/comment-mention.js +1 -1
  25. package/dist-cjs/ui/comment-mention.js.map +2 -2
  26. package/dist-cjs/ui/comment-pin.js +5 -1
  27. package/dist-cjs/ui/comment-pin.js.map +2 -2
  28. package/dist-cjs/ui/comment-text.js +1 -1
  29. package/dist-cjs/ui/comment-text.js.map +2 -2
  30. package/dist-cjs/ui/comment-thread.js +6 -6
  31. package/dist-cjs/ui/comment-thread.js.map +2 -2
  32. package/dist-cjs/ui/comments-list.js +11 -11
  33. package/dist-cjs/ui/comments-list.js.map +2 -2
  34. package/dist-cjs/ui/count-badge.js +1 -1
  35. package/dist-cjs/ui/count-badge.js.map +2 -2
  36. package/dist-cjs/ui/empty-state.js +3 -3
  37. package/dist-cjs/ui/empty-state.js.map +2 -2
  38. package/dist-cjs/ui/mention-list.js +7 -7
  39. package/dist-cjs/ui/mention-list.js.map +2 -2
  40. package/dist-cjs/ui/mention-suggestion.js +3 -3
  41. package/dist-cjs/ui/mention-suggestion.js.map +2 -2
  42. package/dist-cjs/ui/mention.js +1 -1
  43. package/dist-cjs/ui/mention.js.map +2 -2
  44. package/dist-cjs/ui/reaction.js +11 -4
  45. package/dist-cjs/ui/reaction.js.map +2 -2
  46. package/dist-cjs/ui/reactions.js +10 -2
  47. package/dist-cjs/ui/reactions.js.map +2 -2
  48. package/dist-cjs/ui/send-button.js +1 -1
  49. package/dist-cjs/ui/send-button.js.map +2 -2
  50. package/dist-esm/canvas/comment-body.mjs +1 -1
  51. package/dist-esm/canvas/comment-body.mjs.map +2 -2
  52. package/dist-esm/canvas/comments-filter-menu.mjs +1 -1
  53. package/dist-esm/canvas/comments-filter-menu.mjs.map +1 -1
  54. package/dist-esm/canvas/comments-overflow-menu.mjs +3 -3
  55. package/dist-esm/canvas/comments-overflow-menu.mjs.map +2 -2
  56. package/dist-esm/canvas/comments-overlay.mjs +65 -50
  57. package/dist-esm/canvas/comments-overlay.mjs.map +2 -2
  58. package/dist-esm/canvas/comments-sidebar.mjs +2 -2
  59. package/dist-esm/canvas/comments-sidebar.mjs.map +2 -2
  60. package/dist-esm/clustering/runtime.mjs +119 -7
  61. package/dist-esm/clustering/runtime.mjs.map +2 -2
  62. package/dist-esm/index.d.mts +28 -8
  63. package/dist-esm/index.mjs +1 -1
  64. package/dist-esm/ui/avatar.mjs +10 -2
  65. package/dist-esm/ui/avatar.mjs.map +2 -2
  66. package/dist-esm/ui/byline.mjs +4 -4
  67. package/dist-esm/ui/byline.mjs.map +2 -2
  68. package/dist-esm/ui/comment-card.mjs +3 -3
  69. package/dist-esm/ui/comment-card.mjs.map +2 -2
  70. package/dist-esm/ui/comment-composer.mjs +30 -24
  71. package/dist-esm/ui/comment-composer.mjs.map +2 -2
  72. package/dist-esm/ui/comment-mention.mjs +1 -1
  73. package/dist-esm/ui/comment-mention.mjs.map +2 -2
  74. package/dist-esm/ui/comment-pin.mjs +5 -1
  75. package/dist-esm/ui/comment-pin.mjs.map +2 -2
  76. package/dist-esm/ui/comment-text.mjs +1 -1
  77. package/dist-esm/ui/comment-text.mjs.map +2 -2
  78. package/dist-esm/ui/comment-thread.mjs +6 -6
  79. package/dist-esm/ui/comment-thread.mjs.map +2 -2
  80. package/dist-esm/ui/comments-list.mjs +11 -11
  81. package/dist-esm/ui/comments-list.mjs.map +2 -2
  82. package/dist-esm/ui/count-badge.mjs +1 -1
  83. package/dist-esm/ui/count-badge.mjs.map +2 -2
  84. package/dist-esm/ui/empty-state.mjs +3 -3
  85. package/dist-esm/ui/empty-state.mjs.map +2 -2
  86. package/dist-esm/ui/mention-list.mjs +7 -7
  87. package/dist-esm/ui/mention-list.mjs.map +2 -2
  88. package/dist-esm/ui/mention-suggestion.mjs +3 -3
  89. package/dist-esm/ui/mention-suggestion.mjs.map +2 -2
  90. package/dist-esm/ui/mention.mjs +1 -1
  91. package/dist-esm/ui/mention.mjs.map +2 -2
  92. package/dist-esm/ui/reaction.mjs +11 -4
  93. package/dist-esm/ui/reaction.mjs.map +2 -2
  94. package/dist-esm/ui/reactions.mjs +10 -2
  95. package/dist-esm/ui/reactions.mjs.map +2 -2
  96. package/dist-esm/ui/send-button.mjs +1 -1
  97. package/dist-esm/ui/send-button.mjs.map +2 -2
  98. package/package.json +3 -3
  99. package/src/canvas/canvas.css +25 -25
  100. package/src/canvas/comment-body.tsx +1 -1
  101. package/src/canvas/comment-render.test.ts +1 -1
  102. package/src/canvas/comments-filter-menu.tsx +1 -1
  103. package/src/canvas/comments-overflow-menu.tsx +3 -3
  104. package/src/canvas/comments-overlay.tsx +109 -76
  105. package/src/canvas/comments-sidebar.tsx +2 -2
  106. package/src/clustering/runtime.test.ts +183 -7
  107. package/src/clustering/runtime.ts +164 -15
  108. package/src/ui/avatar.tsx +9 -2
  109. package/src/ui/byline.tsx +4 -4
  110. package/src/ui/comment-card.tsx +3 -3
  111. package/src/ui/comment-composer.tsx +49 -30
  112. package/src/ui/comment-mention.ts +2 -2
  113. package/src/ui/comment-pin.tsx +5 -1
  114. package/src/ui/comment-text.tsx +1 -1
  115. package/src/ui/comment-thread.tsx +8 -6
  116. package/src/ui/comments-list.tsx +16 -12
  117. package/src/ui/comments.css +106 -106
  118. package/src/ui/count-badge.tsx +1 -1
  119. package/src/ui/empty-state.tsx +3 -3
  120. package/src/ui/mention-list.tsx +8 -8
  121. package/src/ui/mention-suggestion.tsx +3 -3
  122. package/src/ui/mention.tsx +1 -1
  123. package/src/ui/reaction.tsx +6 -3
  124. package/src/ui/reactions.tsx +6 -2
  125. package/src/ui/send-button.tsx +1 -1
@@ -38,15 +38,15 @@ function DefaultMemberRow({ member }: { member: MentionMember }) {
38
38
  return (
39
39
  <>
40
40
  <Avatar name={member.name} color={member.color} image={member.avatar} />
41
- <span className="cmt-mention-list__text">
42
- <span className="cmt-mention-list__name">
41
+ <span className="tlui-cmt-mention-list__text">
42
+ <span className="tlui-cmt-mention-list__name">
43
43
  {member.name}
44
44
  {member.you && (
45
- <span className="cmt-mention-list__you">{`(${msg('comments.mention-you')})`}</span>
45
+ <span className="tlui-cmt-mention-list__you">{`(${msg('comments.mention-you')})`}</span>
46
46
  )}
47
47
  </span>
48
48
  {member.secondary && (
49
- <span className="cmt-mention-list__secondary">{member.secondary}</span>
49
+ <span className="tlui-cmt-mention-list__secondary">{member.secondary}</span>
50
50
  )}
51
51
  </span>
52
52
  </>
@@ -69,13 +69,13 @@ export function MentionList({
69
69
  const msg = useTranslation()
70
70
  if (members.length === 0) {
71
71
  return (
72
- <div className="cmt-mention-list cmt-mention-list--empty">
72
+ <div className="tlui-cmt-mention-list tlui-cmt-mention-list--empty">
73
73
  {emptyLabel ?? msg('comments.mention-no-matches')}
74
74
  </div>
75
75
  )
76
76
  }
77
77
  return (
78
- <div className="cmt-mention-list" role="listbox">
78
+ <div className="tlui-cmt-mention-list" role="listbox">
79
79
  {members.map((member, i) => {
80
80
  const active = i === activeIndex
81
81
  return (
@@ -86,8 +86,8 @@ export function MentionList({
86
86
  aria-selected={active}
87
87
  className={
88
88
  active
89
- ? 'cmt-mention-list__item cmt-mention-list__item--active'
90
- : 'cmt-mention-list__item'
89
+ ? 'tlui-cmt-mention-list__item tlui-cmt-mention-list__item--active'
90
+ : 'tlui-cmt-mention-list__item'
91
91
  }
92
92
  // Keep the composer focused on a row press: it's portaled outside the editor, so a
93
93
  // bare mousedown would blur the composer — which now dismisses the picker — before
@@ -139,7 +139,7 @@ export function createMentionSuggestion(
139
139
  // the caret, matching its width), and remember the field's page-space anchor for reposition.
140
140
  const place = () => {
141
141
  if (!container || !editorEl || container.style.display === 'none') return
142
- const field = editorEl.closest('.cmt-composer__field') ?? editorEl
142
+ const field = editorEl.closest('.tlui-cmt-composer__field') ?? editorEl
143
143
  const rect = field.getBoundingClientRect()
144
144
  popupWidth = rect.width
145
145
  anchorPage = options.editor?.screenToPage({ x: rect.left, y: rect.bottom }) ?? null
@@ -193,7 +193,7 @@ export function createMentionSuggestion(
193
193
  // only redispatch when it can't). Done imperatively because the popup lives outside React.
194
194
  const onWheel = (e: WheelEvent) => {
195
195
  if ((e as any).isSpecialRedispatchedEvent || !canvasEl) return
196
- const list = container?.querySelector('.cmt-mention-list')
196
+ const list = container?.querySelector('.tlui-cmt-mention-list')
197
197
  if (list && list.scrollHeight > list.clientHeight) return
198
198
  e.preventDefault()
199
199
  const redispatched = new WheelEvent('wheel', e)
@@ -217,7 +217,7 @@ export function createMentionSuggestion(
217
217
  // composer — leaving Escape a no-op and the roster stuck on screen.
218
218
  editorEl.addEventListener('blur', hide)
219
219
  container = document.createElement('div')
220
- container.className = 'cmt-mention-popup'
220
+ container.className = 'tlui-cmt-mention-popup'
221
221
  container.appendChild(renderer.element)
222
222
  // Mount inside the tldraw container so the popup inherits the theme variables
223
223
  // (--tl-color-*); portaling to document.body would strip them and lose the panel.
@@ -5,5 +5,5 @@ export interface MentionProps {
5
5
 
6
6
  /** An \@-mention pill for referencing a person in a comment. @public @react */
7
7
  export function Mention({ name }: MentionProps) {
8
- return <span className="cmt-mention">@{name}</span>
8
+ return <span className="tlui-cmt-mention">@{name}</span>
9
9
  }
@@ -8,9 +8,12 @@ export interface ReactionProps {
8
8
  /** A single emoji reaction pill with a count, highlighted when the user reacted. @public @react */
9
9
  export function Reaction({ emoji, count, active }: ReactionProps) {
10
10
  return (
11
- <button className={active ? 'cmt-reaction cmt-reaction--active' : 'cmt-reaction'} type="button">
12
- <span className="cmt-reaction__emoji">{emoji}</span>
13
- <span className="cmt-reaction__count">{count}</span>
11
+ <button
12
+ className={active ? 'tlui-cmt-reaction tlui-cmt-reaction--active' : 'tlui-cmt-reaction'}
13
+ type="button"
14
+ >
15
+ <span className="tlui-cmt-reaction__emoji">{emoji}</span>
16
+ <span className="tlui-cmt-reaction__count">{count}</span>
14
17
  </button>
15
18
  )
16
19
  }
@@ -3,11 +3,15 @@ import { Reaction } from './reaction'
3
3
  /** The row of reactions under a comment, plus an add-reaction button. @public @react */
4
4
  export function Reactions() {
5
5
  return (
6
- <div className="cmt-reactions">
6
+ <div className="tlui-cmt-reactions">
7
7
  <Reaction emoji="👍" count={3} active={true} />
8
8
  <Reaction emoji="🎉" count={1} active={false} />
9
9
  <Reaction emoji="👀" count={2} active={false} />
10
- <button className="cmt-reaction cmt-reaction--add" type="button" aria-label="Add reaction">
10
+ <button
11
+ className="tlui-cmt-reaction tlui-cmt-reaction--add"
12
+ type="button"
13
+ aria-label="Add reaction"
14
+ >
11
15
 
12
16
  </button>
13
17
  </div>
@@ -8,7 +8,7 @@ export interface SendButtonProps {
8
8
  /** The button that posts a comment. @public @react */
9
9
  export function SendButton({ label, disabled, onClick }: SendButtonProps) {
10
10
  return (
11
- <button className="cmt-send" type="button" disabled={disabled} onClick={onClick}>
11
+ <button className="tlui-cmt-send" type="button" disabled={disabled} onClick={onClick}>
12
12
  {label}
13
13
  </button>
14
14
  )