@box/threaded-annotations 1.85.1 → 1.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/chunks/message-footer.js +49 -29
  2. package/dist/chunks/messages-view.js +48 -42
  3. package/dist/chunks/threaded-annotations2.js +39 -30
  4. package/dist/esm/lib/components/v2/message-editor/message-editor.js +2 -2
  5. package/dist/esm/lib/components/v2/text-message/messages.js +4 -0
  6. package/dist/esm/lib/components/v2/text-message/text-message.js +64 -54
  7. package/dist/esm/lib/v2/test-utils/mocks/mock-messages.js +2 -2
  8. package/dist/esm/lib/v2/threaded-annotations-context.js +31 -19
  9. package/dist/esm/lib/v2/threaded-annotations.js +0 -1
  10. package/dist/i18n/bn-IN.js +1 -0
  11. package/dist/i18n/da-DK.js +1 -0
  12. package/dist/i18n/de-DE.js +1 -0
  13. package/dist/i18n/en-AU.js +1 -0
  14. package/dist/i18n/en-CA.js +1 -0
  15. package/dist/i18n/en-GB.js +1 -0
  16. package/dist/i18n/en-US.js +1 -0
  17. package/dist/i18n/en-US.properties +2 -0
  18. package/dist/i18n/en-x-pseudo.js +44 -43
  19. package/dist/i18n/en-x-pseudo.properties +43 -43
  20. package/dist/i18n/es-419.js +1 -0
  21. package/dist/i18n/es-ES.js +1 -0
  22. package/dist/i18n/fi-FI.js +1 -0
  23. package/dist/i18n/fr-CA.js +1 -0
  24. package/dist/i18n/fr-FR.js +1 -0
  25. package/dist/i18n/hi-IN.js +1 -0
  26. package/dist/i18n/it-IT.js +1 -0
  27. package/dist/i18n/ja-JP.js +1 -0
  28. package/dist/i18n/json/src/lib/components/v2/text-message/messages.json +1 -1
  29. package/dist/i18n/ko-KR.js +1 -0
  30. package/dist/i18n/nb-NO.js +1 -0
  31. package/dist/i18n/nl-NL.js +1 -0
  32. package/dist/i18n/pl-PL.js +1 -0
  33. package/dist/i18n/pt-BR.js +1 -0
  34. package/dist/i18n/ru-RU.js +1 -0
  35. package/dist/i18n/sv-SE.js +1 -0
  36. package/dist/i18n/tr-TR.js +1 -0
  37. package/dist/i18n/zh-CN.js +1 -0
  38. package/dist/i18n/zh-TW.js +1 -0
  39. package/dist/styles/messages-view.css +1 -1
  40. package/dist/types/lib/components/v2/messages-view/messages-view.d.ts +6 -2
  41. package/dist/types/lib/components/v2/text-message/messages.d.ts +5 -0
  42. package/dist/types/lib/components/v2/text-message/subcomponents/message-footer.d.ts +3 -1
  43. package/dist/types/lib/components/v2/text-message/text-message.d.ts +6 -2
  44. package/dist/types/lib/v2/stories/shared.d.ts +1 -0
  45. package/dist/types/lib/v2/threaded-annotations-context.d.ts +19 -3
  46. package/dist/types/lib/v2/threaded-annotations.d.ts +14 -2
  47. package/dist/types/lib/v2/types/message-types.d.ts +2 -0
  48. package/package.json +11 -11
@@ -22,6 +22,8 @@ groupSharedFeatures.threadedAnnotations.deleteConfirmation = Delete confirmation
22
22
  groupSharedFeatures.threadedAnnotations.deleteQuestion = Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.
23
23
  # Edit option in message context menu
24
24
  groupSharedFeatures.threadedAnnotations.edit = Edit
25
+ # Indicator shown next to the timestamp when a message has been edited
26
+ groupSharedFeatures.threadedAnnotations.edited = (Edited)
25
27
  # Button text to hide replies in threaded annotations
26
28
  groupSharedFeatures.threadedAnnotations.hideReplies = Hide replies
27
29
  # Text shown after the author name when a comment thread is marked as resolved
@@ -1,46 +1,47 @@
1
1
  export default {
2
- "boxui.threadedAnnotations.threadedAnnotationsAriaLabel": "⟦萬萬萬萬萬 Ŧĥŗėάďèď åйňøτατîóʼn 國國國國國⟧",
3
- "groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel": "⟦萬萬萬萬萬 Ąйńóťâτϊóň mêşśäġё 國國國國國⟧",
4
- "groupSharedFeatures.threadedAnnotations.annotationPage": "⟦萬萬 Pαĝέ {number} 國國⟧",
5
- "groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel": "⟦萬萬萬萬萬 Ćåήсęļ ďěľèťε ьűťťοη 國國國國國⟧",
6
- "groupSharedFeatures.threadedAnnotations.copyLink": "⟦萬萬 ĆόΡў ļĩňк 國國⟧",
7
- "groupSharedFeatures.threadedAnnotations.delete": "⟦萬 Ďëľєτĕ 國⟧",
8
- "groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel": "⟦萬萬萬 Ďěľёťε вüτŧōň 國國國⟧",
9
- "groupSharedFeatures.threadedAnnotations.deleteCancel": "⟦萬 Ćåпćёļ 國⟧",
10
- "groupSharedFeatures.threadedAnnotations.deleteCommentQuestion": "⟦萬萬萬萬萬萬萬萬萬萬 Ðö ỳóû ώąлŧ ťо ďěļèτě ţħįѕ çømmέŋţ? 國國國國國國國國國國⟧",
11
- "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "⟦萬萬萬萬萬 Ďеľěţе ċοŋƒįŗmäτίóи 國國國國國⟧",
12
- "groupSharedFeatures.threadedAnnotations.deleteQuestion": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ďеĺęţē τħіś {type, select, annotation {âлηŏτãŧîøʼn} other {ćômmέńτ}}{hasReplies, select, true { άлď яēΡļîēѕ} other {}}? Ŧĥϊş âĉťіôń ćåй'ţ ьĕ ũлďòņє. 國國國國國國國國國國國國國國國國國國國國國國國國國國國國國⟧",
13
- "groupSharedFeatures.threadedAnnotations.edit": "⟦萬 Έďìť 國⟧",
14
- "groupSharedFeatures.threadedAnnotations.hideReplies": "⟦萬萬萬 Ήιďě ѓēΡľіёѕ 國國國⟧",
15
- "groupSharedFeatures.threadedAnnotations.markedAsResolved": "⟦萬萬萬萬萬 māѓķěď âş гёŝōľνёď 國國國國國⟧",
16
- "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "⟦萬 Çáлċёľ 國⟧",
17
- "groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel": "⟦萬萬萬 Ĉăňĉεľ ьµŧτōи 國國國⟧",
2
+ "boxui.threadedAnnotations.threadedAnnotationsAriaLabel": "⟦萬萬萬萬萬 Ŧĥřėąďèď άńиŏŧăτįóń 國國國國國⟧",
3
+ "groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel": "⟦萬萬萬萬萬 Áπήοŧăŧìóη mĕşşαğę 國國國國國⟧",
4
+ "groupSharedFeatures.threadedAnnotations.annotationPage": "⟦萬萬 Pǻĝё {number} 國國⟧",
5
+ "groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel": "⟦萬萬萬萬萬 Ćäʼnċëľ ďèļēŧė вũťťōŋ 國國國國國⟧",
6
+ "groupSharedFeatures.threadedAnnotations.copyLink": "⟦萬萬 ĊőΡУ ļįик 國國⟧",
7
+ "groupSharedFeatures.threadedAnnotations.delete": "⟦萬 Ðêľέťë 國⟧",
8
+ "groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel": "⟦萬萬萬 Ďéĺеţе ьùŧŧσŋ 國國國⟧",
9
+ "groupSharedFeatures.threadedAnnotations.deleteCancel": "⟦萬 Ċąŋćêļ 國⟧",
10
+ "groupSharedFeatures.threadedAnnotations.deleteCommentQuestion": "⟦萬萬萬萬萬萬萬萬萬萬 Ðо γоű ẃáʼnŧ ţõ ďέļéŧе ťħіŝ ¢ômméňτ? 國國國國國國國國國國⟧",
11
+ "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "⟦萬萬萬萬萬 Ðĕļęţέ ċοηƒїŗmáτĭøʼn 國國國國國⟧",
12
+ "groupSharedFeatures.threadedAnnotations.deleteQuestion": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ďεĺёťέ τħїѕ {type, select, annotation {άʼnπøţąťїόи} other {ċоmmεńť}}{hasReplies, select, true { åпď яëΡĺιëş} other {}}? Τħïş ąсτíôņ čàņ'τ вε ùήďøпę. 國國國國國國國國國國國國國國國國國國國國國國國國國國國國國⟧",
13
+ "groupSharedFeatures.threadedAnnotations.edit": "⟦萬 Εďîţ 國⟧",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
15
+ "groupSharedFeatures.threadedAnnotations.hideReplies": "⟦萬萬萬 Ħĭďě ŕēΡľϊєś 國國國⟧",
16
+ "groupSharedFeatures.threadedAnnotations.markedAsResolved": "⟦萬萬萬萬萬 màѓķęď ãś ŗëśòļνêď 國國國國國⟧",
17
+ "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "⟦萬 Çáл¢ěļ 國⟧",
18
+ "groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel": "⟦萬萬萬 Ĉăʼnĉėľ вúŧţóʼn 國國國⟧",
18
19
  "groupSharedFeatures.threadedAnnotations.messageEditor.characterCount": "⟦萬萬萬 {count}/{maxCount} 國國國⟧",
19
- "groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ύóцг ćσmmеήţ ίŝ {excess, plural, one {# ćнαгãċťεŗ} other {# čĥαŕαĉťėŗş}} ŧŏø ĺôňġ 國國國國國國國國國國國國國國國國國國⟧",
20
- "groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel": "⟦萬萬萬萬 Мéѕşåġé ěďíτōŕ 國國國國⟧",
21
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel": "⟦萬萬萬萬萬萬萬 Μèŝśǻĝė ïņΡúť Ρľǻĉéнóľďεг 國國國國國國國⟧",
22
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix": "⟦萬萬萬萬萬 Ŵгїŧě à ćοmměńτ őґ 國國國國國⟧",
23
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply": "⟦萬萬萬萬 Ẁгíŧє â яεΡľγ οґ 國國國國⟧",
24
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix": "⟦萬萬 ťό méʼnţĩόй 國國⟧",
25
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted": "⟦萬萬萬萬萬萬萬萬萬 Ļěάνё â ćōmmêņť οґ @ ŧο mєňŧĭοň 國國國國國國國國國⟧",
26
- "groupSharedFeatures.threadedAnnotations.messageEditor.post": "⟦萬 Pοśŧ 國⟧",
27
- "groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel": "⟦萬萬萬 Pôşť ьŭτţöл 國國國⟧",
28
- "groupSharedFeatures.threadedAnnotations.messageEditor.postLoading": "⟦萬萬 Ŀóάďīпġ... 國國⟧",
29
- "groupSharedFeatures.threadedAnnotations.messageEditor.save": "⟦萬 Ѕåνė 國⟧",
30
- "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "⟦萬萬 Ŝáνїʼnĝ... 國國⟧",
31
- "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "⟦萬萬萬萬萬萬萬萬萬 Μèşŝǻĝе ёďìŧóѓ şċѓøļļ čòʼnţàĩπēř 國國國國國國國國國⟧",
32
- "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "⟦萬萬萬萬萬 Μòŗé ōΡŧįòлş вμŧŧοʼn 國國國國國⟧",
33
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "⟦萬萬萬萬萬萬萬萬 Ôŗϊĝíŋăľ ĉőŋţėητ щàś ďèĺеτěď 國國國國國國國國⟧",
34
- "groupSharedFeatures.threadedAnnotations.reply": "⟦萬 ЯėΡļУ 國⟧",
35
- "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "⟦萬萬萬 ŘęΡľý ьůţťоň 國國國⟧",
36
- "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "⟦萬萬 Яèşŏļνē 國國⟧",
37
- "groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel": "⟦萬萬萬萬萬萬萬 Яęśŏļũţíòņ ѕţâŧūş mεѕśάĝë 國國國國國國國⟧",
38
- "groupSharedFeatures.threadedAnnotations.showMoreReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mояē гεΡľỳ} other {# mоґè гєΡĺĩέś}} 國國國國國國國國國國國⟧",
39
- "groupSharedFeatures.threadedAnnotations.showReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Ŝħŏẁ # ŗеΡľỳ} other {Şĥόŵ # mόŕέ ŗέΡĺîëŝ}} 國國國國國國國國國國國國國⟧",
40
- "groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel": "⟦萬萬萬 ЃéΡĺУ вцτţøπ 國國國⟧",
41
- "groupSharedFeatures.threadedAnnotations.textMentionAriaLabel": "⟦萬萬萬 Ùŝег męŋťϊőņ 國國國⟧",
42
- "groupSharedFeatures.threadedAnnotations.textMessageAriaLabel": "⟦萬萬萬 Μєŝśãğē ťėхŧ 國國國⟧",
43
- "groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel": "⟦萬萬 Ũпřёŝőľνè 國國⟧",
44
- "groupSharedFeatures.threadedAnnotations.userAvatar": "⟦萬萬萬 Ŭŝéŗ άνǻταг 國國國⟧",
45
- "groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel": "⟦萬萬萬萬萬萬萬 Vïέŵ üśèг Ρгòƒįľé ьųţťоʼn 國國國國國國國⟧"
20
+ "groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ϋõűŕ čŏmmėηŧ īѕ {excess, plural, one {# çнäѓãċţëг} other {# ¢ĥάřąċŧєřŝ}} ŧőó ľоńğ 國國國國國國國國國國國國國國國國國國⟧",
21
+ "groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel": "⟦萬萬萬萬 Мéşŝäġĕ ēďįťőŕ 國國國國⟧",
22
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel": "⟦萬萬萬萬萬萬萬 Μéśѕàğε ίиΡųţ Ρļäçėнøľďęґ 國國國國國國國⟧",
23
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix": "⟦萬萬萬萬萬 Ŵгîţέ ά сŏmmêňţ õя 國國國國國⟧",
24
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply": "⟦萬萬萬萬 Шгĩŧέ ą гèΡĺŷ оŗ 國國國國⟧",
25
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix": "⟦萬萬 ŧό mеηťίøи 國國⟧",
26
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted": "⟦萬萬萬萬萬萬萬萬萬 Ľĕανę ä ¢σmmèητ òŕ @ ţò mєητįőň 國國國國國國國國國⟧",
27
+ "groupSharedFeatures.threadedAnnotations.messageEditor.post": "⟦萬 Pŏşť 國⟧",
28
+ "groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel": "⟦萬萬萬 Pôşτ вũττόň 國國國⟧",
29
+ "groupSharedFeatures.threadedAnnotations.messageEditor.postLoading": "⟦萬萬 Ľŏãďίʼnğ... 國國⟧",
30
+ "groupSharedFeatures.threadedAnnotations.messageEditor.save": "⟦萬 Ѕąνé 國⟧",
31
+ "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "⟦萬萬 Şāνĩňğ... 國國⟧",
32
+ "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "⟦萬萬萬萬萬萬萬萬萬 Мέŝşâĝė ėďįŧóґ śçŗõĺľ čопŧåîйěŕ 國國國國國國國國國⟧",
33
+ "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "⟦萬萬萬萬萬 Μőřě øΡţīòŋş вűťŧõń 國國國國國⟧",
34
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "⟦萬萬萬萬萬萬萬萬 Òгíĝįηǻľ сōπţεηť ωαŝ ďěļėţėď 國國國國國國國國⟧",
35
+ "groupSharedFeatures.threadedAnnotations.reply": "⟦萬 ЃёΡľУ 國⟧",
36
+ "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "⟦萬萬萬 ŘėΡļŷ вúţťòņ 國國國⟧",
37
+ "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "⟦萬萬 Řέśŏļνé 國國⟧",
38
+ "groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel": "⟦萬萬萬萬萬萬萬 Γêşόĺùŧιόʼn ŝţáτúѕ mèŝşǻğë 國國國國國國國⟧",
39
+ "groupSharedFeatures.threadedAnnotations.showMoreReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mоŕë ŗєΡĺÿ} other {# mόѓє ґĕΡĺíёѕ}} 國國國國國國國國國國國⟧",
40
+ "groupSharedFeatures.threadedAnnotations.showReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Ѕĥóẃ # ŕěΡļŷ} other {Şнøщ # mоřë ŕëΡľĩèś}} 國國國國國國國國國國國國國⟧",
41
+ "groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel": "⟦萬萬萬 ЯèΡĺў вцťτőń 國國國⟧",
42
+ "groupSharedFeatures.threadedAnnotations.textMentionAriaLabel": "⟦萬萬萬 Üŝéѓ mëπτïöń 國國國⟧",
43
+ "groupSharedFeatures.threadedAnnotations.textMessageAriaLabel": "⟦萬萬萬 Μёşşáĝέ ŧěхŧ 國國國⟧",
44
+ "groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel": "⟦萬萬 Ŭиřєśōļνё 國國⟧",
45
+ "groupSharedFeatures.threadedAnnotations.userAvatar": "⟦萬萬萬 Ųѕęŗ áνâťåґ 國國國⟧",
46
+ "groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel": "⟦萬萬萬萬萬萬萬 Vϊēώ цѕėг Ρѓôƒіľê вųτŧòπ 國國國國國國國⟧"
46
47
  }
@@ -1,88 +1,88 @@
1
1
  # Aria label for the threaded annotations container button
2
- boxui.threadedAnnotations.threadedAnnotationsAriaLabel = ⟦萬萬萬萬萬 Ŧĥŗėάďèď åйňøτατîóʼn 國國國國國⟧
2
+ boxui.threadedAnnotations.threadedAnnotationsAriaLabel = ⟦萬萬萬萬萬 Ŧĥřėąďèď άńиŏŧăτįóń 國國國國國⟧
3
3
  # Aria label for annotation message container
4
- groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel = ⟦萬萬萬萬萬 Ąйńóťâτϊóň mêşśäġё 國國國國國⟧
4
+ groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel = ⟦萬萬萬萬萬 Áπήοŧăŧìóη mĕşşαğę 國國國國國⟧
5
5
  # Label showing the page number of an annotation target
6
- groupSharedFeatures.threadedAnnotations.annotationPage = ⟦萬萬 Pαĝέ {number} 國國⟧
6
+ groupSharedFeatures.threadedAnnotations.annotationPage = ⟦萬萬 Pǻĝё {number} 國國⟧
7
7
  # Aria label for cancel delete button
8
- groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel = ⟦萬萬萬萬萬 Ćåήсęļ ďěľèťε ьűťťοη 國國國國國⟧
8
+ groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel = ⟦萬萬萬萬萬 Ćäʼnċëľ ďèļēŧė вũťťōŋ 國國國國國⟧
9
9
  # Copy link option in message context menu
10
- groupSharedFeatures.threadedAnnotations.copyLink = ⟦萬萬 ĆόΡў ļĩňк 國國⟧
10
+ groupSharedFeatures.threadedAnnotations.copyLink = ⟦萬萬 ĊőΡУ ļįик 國國⟧
11
11
  # Delete button text
12
- groupSharedFeatures.threadedAnnotations.delete = ⟦萬 Ďëľєτĕ 國⟧
12
+ groupSharedFeatures.threadedAnnotations.delete = ⟦萬 Ðêľέťë 國⟧
13
13
  # Aria label for delete button
14
- groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel = ⟦萬萬萬 Ďěľёťε вüτŧōň 國國國⟧
14
+ groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel = ⟦萬萬萬 Ďéĺеţе ьùŧŧσŋ 國國國⟧
15
15
  # Cancel button text for delete confirmation dialog
16
- groupSharedFeatures.threadedAnnotations.deleteCancel = ⟦萬 Ćåпćёļ 國⟧
16
+ groupSharedFeatures.threadedAnnotations.deleteCancel = ⟦萬 Ċąŋćêļ 國⟧
17
17
  # Confirmation text asking user if they want to delete a comment
18
- groupSharedFeatures.threadedAnnotations.deleteCommentQuestion = ⟦萬萬萬萬萬萬萬萬萬萬 Ðö ỳóû ώąлŧ ťо ďěļèτě ţħįѕ çømmέŋţ? 國國國國國國國國國國⟧
18
+ groupSharedFeatures.threadedAnnotations.deleteCommentQuestion = ⟦萬萬萬萬萬萬萬萬萬萬 Ðо γоű ẃáʼnŧ ţõ ďέļéŧе ťħіŝ ¢ômméňτ? 國國國國國國國國國國⟧
19
19
  # Aria label for delete confirmation popover
20
- groupSharedFeatures.threadedAnnotations.deleteConfirmation = ⟦萬萬萬萬萬 Ďеľěţе ċοŋƒįŗmäτίóи 國國國國國⟧
20
+ groupSharedFeatures.threadedAnnotations.deleteConfirmation = ⟦萬萬萬萬萬 Ðĕļęţέ ċοηƒїŗmáτĭøʼn 國國國國國⟧
21
21
  # Confirmation text asking the user if they want to delete a thread. `type` is `annotation` or `comment`; `hasReplies` is `true` or `false`.
22
- groupSharedFeatures.threadedAnnotations.deleteQuestion = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ďеĺęţē τħіś {type, select, annotation {âлηŏτãŧîøʼn} other {ćômmέńτ}}{hasReplies, select, true { άлď яēΡļîēѕ} other {}}? Ŧĥϊş âĉťіôń ćåй'ţ ьĕ ũлďòņє. 國國國國國國國國國國國國國國國國國國國國國國國國國國國國國⟧
22
+ groupSharedFeatures.threadedAnnotations.deleteQuestion = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ďεĺёťέ τħїѕ {type, select, annotation {άʼnπøţąťїόи} other {ċоmmεńť}}{hasReplies, select, true { åпď яëΡĺιëş} other {}}? Τħïş ąсτíôņ čàņ'τ вε ùήďøпę. 國國國國國國國國國國國國國國國國國國國國國國國國國國國國國⟧
23
23
  # Edit option in message context menu
24
- groupSharedFeatures.threadedAnnotations.edit = ⟦萬 Έďìť 國⟧
24
+ groupSharedFeatures.threadedAnnotations.edit = ⟦萬 Εďîţ 國⟧
25
25
  # Button text to hide replies in threaded annotations
26
- groupSharedFeatures.threadedAnnotations.hideReplies = ⟦萬萬萬 Ήιďě ѓēΡľіёѕ 國國國⟧
26
+ groupSharedFeatures.threadedAnnotations.hideReplies = ⟦萬萬萬 Ħĭďě ŕēΡľϊєś 國國國⟧
27
27
  # Text shown after the author name when a comment thread is marked as resolved
28
- groupSharedFeatures.threadedAnnotations.markedAsResolved = ⟦萬萬萬萬萬 māѓķěď âş гёŝōľνёď 國國國國國⟧
28
+ groupSharedFeatures.threadedAnnotations.markedAsResolved = ⟦萬萬萬萬萬 màѓķęď ãś ŗëśòļνêď 國國國國國⟧
29
29
  # Cancel button text for message editor
30
- groupSharedFeatures.threadedAnnotations.messageEditor.cancel = ⟦萬 Çáлċёľ 國⟧
30
+ groupSharedFeatures.threadedAnnotations.messageEditor.cancel = ⟦萬 Çáл¢ěļ 國⟧
31
31
  # Aria label for the cancel button in message editor
32
- groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel = ⟦萬萬萬 Ĉăňĉεľ ьµŧτōи 國國國⟧
32
+ groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel = ⟦萬萬萬 Ĉăʼnĉėľ вúŧţóʼn 國國國⟧
33
33
  # Character count display showing current count and maximum allowed
34
34
  groupSharedFeatures.threadedAnnotations.messageEditor.characterCount = ⟦萬萬萬 {count}/{maxCount} 國國國⟧
35
35
  # Screen reader alert and tooltip text shown when character limit is exceeded
36
- groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ύóцг ćσmmеήţ ίŝ {excess, plural, one {# ćнαгãċťεŗ} other {# čĥαŕαĉťėŗş}} ŧŏø ĺôňġ 國國國國國國國國國國國國國國國國國國⟧
36
+ groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ϋõűŕ čŏmmėηŧ īѕ {excess, plural, one {# çнäѓãċţëг} other {# ¢ĥάřąċŧєřŝ}} ŧőó ľоńğ 國國國國國國國國國國國國國國國國國國⟧
37
37
  # Aria label for the rich text editor content area
38
- groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel = ⟦萬萬萬萬 Мéѕşåġé ěďíτōŕ 國國國國⟧
38
+ groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel = ⟦萬萬萬萬 Мéşŝäġĕ ēďįťőŕ 國國國國⟧
39
39
  # Aria label for message editor placeholder
40
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel = ⟦萬萬萬萬萬萬萬 Μèŝśǻĝė ïņΡúť Ρľǻĉéнóľďεг 國國國國國國國⟧
40
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel = ⟦萬萬萬萬萬萬萬 Μéśѕàğε ίиΡųţ Ρļäçėнøľďęґ 國國國國國國國⟧
41
41
  # First part of placeholder text before @ symbol
42
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix = ⟦萬萬萬萬萬 Ŵгїŧě à ćοmměńτ őґ 國國國國國⟧
42
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix = ⟦萬萬萬萬萬 Ŵгîţέ ά сŏmmêňţ õя 國國國國國⟧
43
43
  # First part of placeholder text before @ symbol for reply
44
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply = ⟦萬萬萬萬 Ẁгíŧє â яεΡľγ οґ 國國國國⟧
44
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply = ⟦萬萬萬萬 Шгĩŧέ ą гèΡĺŷ оŗ 國國國國⟧
45
45
  # Last part of placeholder text after @ symbol
46
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix = ⟦萬萬 ťό méʼnţĩόй 國國⟧
46
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix = ⟦萬萬 ŧό mеηťίøи 國國⟧
47
47
  # Placeholder text for uplifted message editor
48
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted = ⟦萬萬萬萬萬萬萬萬萬 Ļěάνё â ćōmmêņť οґ @ ŧο mєňŧĭοň 國國國國國國國國國⟧
48
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted = ⟦萬萬萬萬萬萬萬萬萬 Ľĕανę ä ¢σmmèητ òŕ @ ţò mєητįőň 國國國國國國國國國⟧
49
49
  # Post button text for message editor
50
- groupSharedFeatures.threadedAnnotations.messageEditor.post = ⟦萬 Pοśŧ 國⟧
50
+ groupSharedFeatures.threadedAnnotations.messageEditor.post = ⟦萬 Pŏşť 國⟧
51
51
  # Aria label for the post button in message editor
52
- groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel = ⟦萬萬萬 Pôşť ьŭτţöл 國國國⟧
52
+ groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel = ⟦萬萬萬 Pôşτ вũττόň 國國國⟧
53
53
  # Aria label for post button loading state
54
- groupSharedFeatures.threadedAnnotations.messageEditor.postLoading = ⟦萬萬 Ŀóάďīпġ... 國國⟧
54
+ groupSharedFeatures.threadedAnnotations.messageEditor.postLoading = ⟦萬萬 Ľŏãďίʼnğ... 國國⟧
55
55
  # Save button text for message editor
56
- groupSharedFeatures.threadedAnnotations.messageEditor.save = ⟦萬 Ѕåνė 國⟧
56
+ groupSharedFeatures.threadedAnnotations.messageEditor.save = ⟦萬 Ѕąνé 國⟧
57
57
  # Aria label for save button loading state
58
- groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading = ⟦萬萬 Ŝáνїʼnĝ... 國國⟧
58
+ groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading = ⟦萬萬 Şāνĩňğ... 國國⟧
59
59
  # Aria label for the scrollable message editor content container
60
- groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel = ⟦萬萬萬萬萬萬萬萬萬 Μèşŝǻĝе ёďìŧóѓ şċѓøļļ čòʼnţàĩπēř 國國國國國國國國國⟧
60
+ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel = ⟦萬萬萬萬萬萬萬萬萬 Мέŝşâĝė ėďįŧóґ śçŗõĺľ čопŧåîйěŕ 國國國國國國國國國⟧
61
61
  # Aria label for more options button in annotation message
62
- groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = ⟦萬萬萬萬萬 Μòŗé ōΡŧįòлş вμŧŧοʼn 國國國國國⟧
62
+ groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = ⟦萬萬萬萬萬 Μőřě øΡţīòŋş вűťŧõń 國國國國國⟧
63
63
  # Tooltip shown when the annotation badge refers to deleted content
64
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = ⟦萬萬萬萬萬萬萬萬 Ôŗϊĝíŋăľ ĉőŋţėητ щàś ďèĺеτěď 國國國國國國國國⟧
64
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = ⟦萬萬萬萬萬萬萬萬 Òгíĝįηǻľ сōπţεηť ωαŝ ďěļėţėď 國國國國國國國國⟧
65
65
  # Reply button text to start composing a reply
66
- groupSharedFeatures.threadedAnnotations.reply = ⟦萬 ЯėΡļУ 國⟧
66
+ groupSharedFeatures.threadedAnnotations.reply = ⟦萬 ЃёΡľУ 國⟧
67
67
  # Aria label for the reply button that opens the message editor
68
- groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel = ⟦萬萬萬 ŘęΡľý ьůţťоň 國國國⟧
68
+ groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel = ⟦萬萬萬 ŘėΡļŷ вúţťòņ 國國國⟧
69
69
  # Aria label and tooltip content for the resolve button
70
- groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel = ⟦萬萬 Яèşŏļνē 國國⟧
70
+ groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel = ⟦萬萬 Řέśŏļνé 國國⟧
71
71
  # Aria label for the resolution status message container
72
- groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel = ⟦萬萬萬萬萬萬萬 Яęśŏļũţíòņ ѕţâŧūş mεѕśάĝë 國國國國國國國⟧
72
+ groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel = ⟦萬萬萬萬萬萬萬 Γêşόĺùŧιόʼn ŝţáτúѕ mèŝşǻğë 國國國國國國國⟧
73
73
  # Button text to show more replies with count
74
- groupSharedFeatures.threadedAnnotations.showMoreReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mояē гεΡľỳ} other {# mоґè гєΡĺĩέś}} 國國國國國國國國國國國⟧
74
+ groupSharedFeatures.threadedAnnotations.showMoreReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mоŕë ŗєΡĺÿ} other {# mόѓє ґĕΡĺíёѕ}} 國國國國國國國國國國國⟧
75
75
  # Button text to show replies with count
76
- groupSharedFeatures.threadedAnnotations.showReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Ŝħŏẁ # ŗеΡľỳ} other {Şĥόŵ # mόŕέ ŗέΡĺîëŝ}} 國國國國國國國國國國國國國⟧
76
+ groupSharedFeatures.threadedAnnotations.showReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Ѕĥóẃ # ŕěΡļŷ} other {Şнøщ # mоřë ŕëΡľĩèś}} 國國國國國國國國國國國國國⟧
77
77
  # Aria label for the reply button
78
- groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel = ⟦萬萬萬 ЃéΡĺУ вцτţøπ 國國國⟧
78
+ groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel = ⟦萬萬萬 ЯèΡĺў вцťτőń 國國國⟧
79
79
  # Aria label for user mention links
80
- groupSharedFeatures.threadedAnnotations.textMentionAriaLabel = ⟦萬萬萬 Ùŝег męŋťϊőņ 國國國⟧
80
+ groupSharedFeatures.threadedAnnotations.textMentionAriaLabel = ⟦萬萬萬 Üŝéѓ mëπτïöń 國國國⟧
81
81
  # Aria label for message text content
82
- groupSharedFeatures.threadedAnnotations.textMessageAriaLabel = ⟦萬萬萬 Μєŝśãğē ťėхŧ 國國國⟧
82
+ groupSharedFeatures.threadedAnnotations.textMessageAriaLabel = ⟦萬萬萬 Μёşşáĝέ ŧěхŧ 國國國⟧
83
83
  # Aria label and tooltip content for the unresolve button
84
- groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel = ⟦萬萬 Ũпřёŝőľνè 國國⟧
84
+ groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel = ⟦萬萬 Ŭиřєśōļνё 國國⟧
85
85
  # Alt text for user avatar image
86
- groupSharedFeatures.threadedAnnotations.userAvatar = ⟦萬萬萬 Ŭŝéŗ άνǻταг 國國國⟧
86
+ groupSharedFeatures.threadedAnnotations.userAvatar = ⟦萬萬萬 Ųѕęŗ áνâťåґ 國國國⟧
87
87
  # Aria label for clickable user avatar button
88
- groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel = ⟦萬萬萬萬萬萬萬 Vïέŵ üśèг Ρгòƒįľé ьųţťоʼn 國國國國國國國⟧
88
+ groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel = ⟦萬萬萬萬萬萬萬 Vϊēώ цѕėг Ρѓôƒіľê вųτŧòπ 國國國國國國國⟧
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Confirmación de eliminación",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Edición",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Ocultar respuestas",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "marcado como resuelto",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Anular",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Confirmación de eliminación",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Edición",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Ocultar respuestas",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "marcado como resuelto",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Anular",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Poista vahvistus",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Muokkaa",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Piilota vastaukset",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "merkitty ratkaistuksi",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Peruuta",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Confirmation de la suppression",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Modifier",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Masquer les réponses",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "marqué en tant que résolu",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Annuler",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Confirmation de la suppression",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Modifier",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Masquer les réponses",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "marqué en tant que résolu",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Annuler",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "हटाने का पुष्टिकरण",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "संपादित करें",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "जवाबों को छिपाएं",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "हल किए गए के रूप में चिह्नित किया गया",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "रद्द करें",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Conferma eliminazione",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Modifica",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Nascondi risposte",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "ha contrassegnato l’elemento come risolto",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Annulla",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "削除の確認",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "編集",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "返信を非表示",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "が対応済みとしてマーク済み",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "キャンセル",
@@ -1 +1 @@
1
- [{"id":"groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel","description":"Aria label for annotation message container","defaultMessage":"Annotation message"},{"id":"groupSharedFeatures.threadedAnnotations.reply","description":"Reply button text to start composing a reply","defaultMessage":"Reply"},{"id":"groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel","description":"Aria label for the reply button that opens the message editor","defaultMessage":"Reply button"},{"id":"groupSharedFeatures.threadedAnnotations.textMessageAriaLabel","description":"Aria label for message text content","defaultMessage":"Message text"}]
1
+ [{"id":"groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel","description":"Aria label for annotation message container","defaultMessage":"Annotation message"},{"id":"groupSharedFeatures.threadedAnnotations.edited","description":"Indicator shown next to the timestamp when a message has been edited","defaultMessage":"(Edited)"},{"id":"groupSharedFeatures.threadedAnnotations.reply","description":"Reply button text to start composing a reply","defaultMessage":"Reply"},{"id":"groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel","description":"Aria label for the reply button that opens the message editor","defaultMessage":"Reply button"},{"id":"groupSharedFeatures.threadedAnnotations.textMessageAriaLabel","description":"Aria label for message text content","defaultMessage":"Message text"}]
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "삭제 확인",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "편집",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "답글 숨기기",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "해결된 상태로 표시됨",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "취소",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Bekreftelse på sletting",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Rediger",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Skjul svar",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "merket som løst",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Avbryt",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Bevestiging verwijderen",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Bewerken",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Reacties verbergen",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "gemarkeerd als opgelost",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Annuleren",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Potwierdzenie usunięcia",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Edytuj",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Ukryj odpowiedzi",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "oznaczono jako rozwiązane",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Anuluj",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Confirmação de exclusão",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Editar",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Ocultar respostas",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "marcado como resolvido",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Cancelar",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Подтверждение удаления",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Изменить",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Скрыть ответы",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "отмечено как решено",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Отмена",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Bekräftelse av radering",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Redigera",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Dölj svar",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "markerat som löst",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "Avbryt",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "Onayı sil",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "Düzenle",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "Yanıtları gizle",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "çözülmüş olarak işaretlendi",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "İptal Et",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "删除确认",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "编辑",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "隐藏回复",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "标记为已解决",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "取消",
@@ -11,6 +11,7 @@ export default {
11
11
  "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "刪除確認",
12
12
  "groupSharedFeatures.threadedAnnotations.deleteQuestion": "Delete this {type, select, annotation {annotation} other {comment}}{hasReplies, select, true { and replies} other {}}? This action can't be undone.",
13
13
  "groupSharedFeatures.threadedAnnotations.edit": "編輯",
14
+ "groupSharedFeatures.threadedAnnotations.edited": "(Edited)",
14
15
  "groupSharedFeatures.threadedAnnotations.hideReplies": "隱藏回覆",
15
16
  "groupSharedFeatures.threadedAnnotations.markedAsResolved": "標記為已解決",
16
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "取消",
@@ -1 +1 @@
1
- ._messagesViewWrapper_1yvpu_4{z-index:0;width:100%;position:relative}._messagesViewWrapper_1yvpu_4._overflowing_1yvpu_9 ._scrollable_1yvpu_9{padding-bottom:var(--space-4)}._messagesViewWrapper_1yvpu_4._withEditorBelow_1yvpu_12{margin-bottom:-1.125rem}._messagesView_1yvpu_4{width:100%;height:100%;padding-top:var(--space-1);padding-left:var(--space-1);flex-direction:column;display:flex}._messagesView_1yvpu_4._scrollable_1yvpu_9{max-height:27rem;margin-right:calc(-1 * var(--space-3) + .125rem);padding-right:calc(var(--space-3) - .125rem);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--black-opacity-50) transparent;overflow:hidden auto}@supports not (scrollbar-color:gray transparent){._messagesView_1yvpu_4._scrollable_1yvpu_9{scrollbar-width:initial}._messagesView_1yvpu_4._scrollable_1yvpu_9::-webkit-scrollbar{width:var(--size-2);background-color:#0000}._messagesView_1yvpu_4._scrollable_1yvpu_9::-webkit-scrollbar-thumb{background:var(--black-opacity-50);border-radius:var(--radius-2)}._messagesView_1yvpu_4._scrollable_1yvpu_9::-webkit-scrollbar-thumb:hover{background:var(--black-opacity-50)}}._messagesView_1yvpu_4 ._repliesContainer_1yvpu_52{flex-direction:column;width:100%;display:flex}._messagesFade_1yvpu_58{z-index:1;height:var(--size-8);background:linear-gradient(to bottom, transparent, var(--fade-bg,var(--surface-surface)));pointer-events:none;position:absolute;bottom:0;left:0;right:0}
1
+ ._messagesViewWrapper_ms46c_4{z-index:0;width:100%;position:relative}._messagesViewWrapper_ms46c_4._overflowing_ms46c_9 ._scrollable_ms46c_9{padding-bottom:var(--space-4)}._messagesViewWrapper_ms46c_4._withEditorBelow_ms46c_12{margin-bottom:-1.125rem}._messagesView_ms46c_4{width:100%;height:100%;padding-top:var(--space-1);padding-bottom:var(--bp-border-02);padding-left:var(--space-1);flex-direction:column;display:flex}._messagesView_ms46c_4._scrollable_ms46c_9{max-height:27rem;margin-right:calc(-1 * var(--space-3) + .125rem);padding-right:calc(var(--space-3) - .125rem);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--black-opacity-50) transparent;overflow:hidden auto}@supports not (scrollbar-color:gray transparent){._messagesView_ms46c_4._scrollable_ms46c_9{scrollbar-width:initial}._messagesView_ms46c_4._scrollable_ms46c_9::-webkit-scrollbar{width:var(--size-2);background-color:#0000}._messagesView_ms46c_4._scrollable_ms46c_9::-webkit-scrollbar-thumb{background:var(--black-opacity-50);border-radius:var(--radius-2)}._messagesView_ms46c_4._scrollable_ms46c_9::-webkit-scrollbar-thumb:hover{background:var(--black-opacity-50)}}._messagesView_ms46c_4 ._repliesContainer_ms46c_53{flex-direction:column;width:100%;display:flex}._messagesFade_ms46c_59{z-index:1;height:var(--size-8);background:linear-gradient(to bottom, transparent, var(--fade-bg,var(--surface-surface)));pointer-events:none;position:absolute;bottom:0;left:0;right:0}
@@ -1,5 +1,7 @@
1
+ import { JSONContent } from '@tiptap/react';
1
2
  import { AnnotationBadgeTargetType } from '../../../v2/types/annotation-badge-types';
2
3
  import { TextMessageType } from '../../../v2/types/message-types';
4
+ import { MessageEditorProps } from '../message-editor/message-editor';
3
5
  export interface MessagesViewProps {
4
6
  messages: TextMessageType[];
5
7
  isResolved?: boolean;
@@ -9,11 +11,13 @@ export interface MessagesViewProps {
9
11
  onThreadDelete?: () => void;
10
12
  onAvatarClick: (id: number) => void;
11
13
  onCopyLink?: (id: string) => void;
12
- onEdit?: (id: string) => void;
14
+ onEdit?: (id: string, content: JSONContent | null) => Promise<void> | void;
15
+ onEditError?: (error: unknown) => string | undefined;
13
16
  onResolve?: (id: string) => void;
14
17
  onUnresolve?: (id: string) => void;
18
+ userSelectorProps: MessageEditorProps['userSelectorProps'];
15
19
  annotationTarget?: AnnotationBadgeTargetType;
16
20
  onAnnotationBadgeClick?: (id: string) => void;
17
21
  originalContentDeleted?: boolean;
18
22
  }
19
- export declare const MessagesView: ({ messages, isResolved, resolvedBy, resolvedAt, onDelete, onThreadDelete, onAvatarClick, onCopyLink, onEdit, onResolve, onUnresolve, annotationTarget, onAnnotationBadgeClick, originalContentDeleted, }: MessagesViewProps) => import("react/jsx-runtime").JSX.Element;
23
+ export declare const MessagesView: ({ messages, isResolved, resolvedBy, resolvedAt, onDelete, onThreadDelete, onAvatarClick, onCopyLink, onEdit, onEditError, onResolve, onUnresolve, userSelectorProps, annotationTarget, onAnnotationBadgeClick, originalContentDeleted, }: MessagesViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -4,6 +4,11 @@ declare const messages: {
4
4
  description: string;
5
5
  id: string;
6
6
  };
7
+ edited: {
8
+ defaultMessage: string;
9
+ description: string;
10
+ id: string;
11
+ };
7
12
  reply: {
8
13
  defaultMessage: string;
9
14
  description: string;
@@ -3,8 +3,10 @@ export interface MessageFooterProps {
3
3
  createdAt: number;
4
4
  /** Callback invoked when the user clicks the reply button. */
5
5
  onReply?: () => void;
6
+ /** Unix timestamp (ms) of the last edit. When set, renders an `(Edited)` indicator with a tooltip showing this time. */
7
+ updatedAt?: number;
6
8
  }
7
9
  /**
8
10
  * Renders the footer of a message with readable time and reply button.
9
11
  */
10
- export declare const MessageFooter: ({ createdAt, onReply }: MessageFooterProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const MessageFooter: ({ createdAt, onReply, updatedAt }: MessageFooterProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,7 @@
1
+ import { JSONContent } from '@tiptap/react';
1
2
  import { AnnotationBadgeTargetType } from '../../../v2/types/annotation-badge-types';
2
3
  import { TextMessageType } from '../../../v2/types/message-types';
4
+ import { MessageEditorProps } from '../message-editor/message-editor';
3
5
  /**
4
6
  * Defines the props for the TextMessage component, combining message data with actionable callbacks.
5
7
  */
@@ -13,9 +15,11 @@ export interface TextMessageProps extends TextMessageType {
13
15
  onThreadDelete?: () => void;
14
16
  onAvatarClick: (id: number) => void;
15
17
  onCopyLink?: (id: string) => void;
16
- onEdit?: (id: string) => void;
18
+ onEdit?: (id: string, content: JSONContent | null) => Promise<void> | void;
19
+ onEditError?: (error: unknown) => string | undefined;
17
20
  onResolve?: (id: string) => void;
18
21
  onUnresolve?: (id: string) => void;
22
+ userSelectorProps: MessageEditorProps['userSelectorProps'];
19
23
  annotationTarget?: AnnotationBadgeTargetType;
20
24
  onAnnotationBadgeClick?: (id: string) => void;
21
25
  originalContentDeleted?: boolean;
@@ -27,4 +31,4 @@ export interface TextMessageProps extends TextMessageType {
27
31
  * the message content itself, a relative timestamp, and providing a mechanism
28
32
  * for deleting the message.
29
33
  */
30
- export declare const TextMessage: ({ id, author, message, createdAt, permissions, showThreadedIndicator, isResolved, isFirstMessage, hasReplies, onAvatarClick, onCopyLink, onDelete, onThreadDelete, onEdit, onResolve, onUnresolve, annotationTarget, onAnnotationBadgeClick, originalContentDeleted, }: TextMessageProps) => import("react/jsx-runtime").JSX.Element;
34
+ export declare const TextMessage: ({ id, author, message, createdAt, updatedAt, permissions, showThreadedIndicator, isResolved, isFirstMessage, hasReplies, onAvatarClick, onCopyLink, onDelete, onThreadDelete, onEdit, onEditError, onResolve, onUnresolve, userSelectorProps, annotationTarget, onAnnotationBadgeClick, originalContentDeleted, }: TextMessageProps) => import("react/jsx-runtime").JSX.Element;
@@ -8,6 +8,7 @@ export declare const DefaultThreadedAnnotations: (props: ThreadedAnnotationsProp
8
8
  interface InteractiveModuleBaseProps {
9
9
  initialMessages?: TextMessageType[];
10
10
  isReplyDisabled?: boolean;
11
+ isEditDisabled?: boolean;
11
12
  onCopyLink?: (id: string) => void;
12
13
  }
13
14
  type InteractiveModuleProps = (InteractiveModuleBaseProps & {
@@ -19,6 +19,13 @@ export type ThreadEvent = {
19
19
  } | {
20
20
  type: 'REPLY';
21
21
  author: TextMessageAuthorType;
22
+ }
23
+ /** No-op when `isEditDisabled` is true. */
24
+ | {
25
+ type: 'EDIT';
26
+ id: string;
27
+ } | {
28
+ type: 'CLEAR_EDIT';
22
29
  } | {
23
30
  type: 'COLLAPSE';
24
31
  } | {
@@ -27,21 +34,30 @@ export type ThreadEvent = {
27
34
  export interface ThreadedAnnotationsContextValue {
28
35
  viewState: ThreadViewState;
29
36
  replyMention: TextMessageAuthorType | null;
37
+ /**
38
+ * Id of the message currently being edited, or null. Cleared on CLEAR_EDIT/COLLAPSE, when
39
+ * `isEditDisabled` or `collapsed` flip true, or when the id disappears from the messages list.
40
+ */
41
+ editingMessageId: string | null;
30
42
  /** Whether the component is rendered in annotation mode (scrollable, fixed-height) vs comments mode. */
31
43
  isAnnotations: boolean;
32
- /** When true, globally disables replies hides reply buttons and blocks editor opening on click. */
44
+ /** When true, globally disables replies (hides reply buttons and blocks editor opening on click). */
33
45
  isReplyDisabled: boolean;
46
+ /** When true, globally disables edits (hides the Edit menu item and blocks EDIT dispatch). */
47
+ isEditDisabled: boolean;
34
48
  dispatch: (event: ThreadEvent) => void;
35
49
  }
36
50
  export interface ThreadedAnnotationsProviderProps {
37
51
  children: ReactNode;
38
52
  defaultExpanded?: boolean;
39
- /** When true, globally disables replies hides reply buttons and blocks editor opening on click. */
53
+ /** When true, globally disables replies (hides reply buttons and blocks editor opening on click). */
40
54
  isReplyDisabled?: boolean;
55
+ /** When true, globally disables edits (hides the Edit menu item and blocks EDIT dispatch). */
56
+ isEditDisabled?: boolean;
41
57
  /** When true, forces the panel to the Collapsed state. */
42
58
  collapsed?: boolean;
43
59
  /** Whether the component is rendered in annotation mode (scrollable, fixed-height) vs comments mode. */
44
60
  isAnnotations?: boolean;
45
61
  }
46
- export declare const ThreadedAnnotationsProvider: ({ children, defaultExpanded, isReplyDisabled, collapsed, isAnnotations, }: ThreadedAnnotationsProviderProps) => import("react/jsx-runtime").JSX.Element;
62
+ export declare const ThreadedAnnotationsProvider: ({ children, defaultExpanded, isReplyDisabled, isEditDisabled, collapsed, isAnnotations, }: ThreadedAnnotationsProviderProps) => import("react/jsx-runtime").JSX.Element;
47
63
  export declare const useThreadedAnnotationsContext: () => ThreadedAnnotationsContextValue;