@atlaskit/editor-common 74.29.2 → 74.30.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 (167) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/i18n/cs.js +19 -0
  3. package/dist/cjs/i18n/da.js +19 -0
  4. package/dist/cjs/i18n/de.js +19 -0
  5. package/dist/cjs/i18n/es.js +19 -0
  6. package/dist/cjs/i18n/fi.js +19 -0
  7. package/dist/cjs/i18n/fr.js +19 -0
  8. package/dist/cjs/i18n/hu.js +19 -0
  9. package/dist/cjs/i18n/it.js +19 -0
  10. package/dist/cjs/i18n/ja.js +19 -0
  11. package/dist/cjs/i18n/ko.js +19 -0
  12. package/dist/cjs/i18n/nb.js +19 -0
  13. package/dist/cjs/i18n/nl.js +19 -0
  14. package/dist/cjs/i18n/pl.js +19 -0
  15. package/dist/cjs/i18n/pt_BR.js +19 -0
  16. package/dist/cjs/i18n/ru.js +19 -0
  17. package/dist/cjs/i18n/sv.js +19 -0
  18. package/dist/cjs/i18n/th.js +19 -0
  19. package/dist/cjs/i18n/tr.js +19 -0
  20. package/dist/cjs/i18n/uk.js +19 -0
  21. package/dist/cjs/i18n/vi.js +19 -0
  22. package/dist/cjs/i18n/zh.js +19 -0
  23. package/dist/cjs/i18n/zh_TW.js +19 -0
  24. package/dist/cjs/mark/commands.js +201 -0
  25. package/dist/cjs/mark/index.js +30 -0
  26. package/dist/cjs/messages/full-page.js +25 -0
  27. package/dist/cjs/messages/index.js +7 -0
  28. package/dist/cjs/monitoring/error.js +1 -1
  29. package/dist/cjs/ui/DropList/index.js +1 -1
  30. package/dist/cjs/ui/Toolbar/index.js +8 -0
  31. package/dist/cjs/ui/index.js +7 -0
  32. package/dist/cjs/ui-menu/DropdownMenu/index.js +16 -2
  33. package/dist/cjs/ui-menu/ToolbarArrowKeyNavigationProvider/index.js +219 -0
  34. package/dist/cjs/ui-menu/index.js +23 -4
  35. package/dist/cjs/version.json +1 -1
  36. package/dist/es2019/i18n/cs.js +19 -0
  37. package/dist/es2019/i18n/da.js +19 -0
  38. package/dist/es2019/i18n/de.js +19 -0
  39. package/dist/es2019/i18n/es.js +19 -0
  40. package/dist/es2019/i18n/fi.js +19 -0
  41. package/dist/es2019/i18n/fr.js +19 -0
  42. package/dist/es2019/i18n/hu.js +19 -0
  43. package/dist/es2019/i18n/it.js +19 -0
  44. package/dist/es2019/i18n/ja.js +19 -0
  45. package/dist/es2019/i18n/ko.js +19 -0
  46. package/dist/es2019/i18n/nb.js +19 -0
  47. package/dist/es2019/i18n/nl.js +19 -0
  48. package/dist/es2019/i18n/pl.js +19 -0
  49. package/dist/es2019/i18n/pt_BR.js +19 -0
  50. package/dist/es2019/i18n/ru.js +19 -0
  51. package/dist/es2019/i18n/sv.js +19 -0
  52. package/dist/es2019/i18n/th.js +19 -0
  53. package/dist/es2019/i18n/tr.js +19 -0
  54. package/dist/es2019/i18n/uk.js +19 -0
  55. package/dist/es2019/i18n/vi.js +19 -0
  56. package/dist/es2019/i18n/zh.js +19 -0
  57. package/dist/es2019/i18n/zh_TW.js +19 -0
  58. package/dist/es2019/mark/commands.js +205 -0
  59. package/dist/es2019/mark/index.js +1 -0
  60. package/dist/es2019/messages/full-page.js +18 -0
  61. package/dist/es2019/messages/index.js +1 -0
  62. package/dist/es2019/monitoring/error.js +1 -1
  63. package/dist/es2019/ui/DropList/index.js +1 -1
  64. package/dist/es2019/ui/Toolbar/index.js +1 -0
  65. package/dist/es2019/ui/index.js +2 -1
  66. package/dist/es2019/ui-menu/DropdownMenu/index.js +16 -2
  67. package/dist/es2019/ui-menu/ToolbarArrowKeyNavigationProvider/index.js +209 -0
  68. package/dist/es2019/ui-menu/index.js +5 -4
  69. package/dist/es2019/version.json +1 -1
  70. package/dist/esm/i18n/cs.js +19 -0
  71. package/dist/esm/i18n/da.js +19 -0
  72. package/dist/esm/i18n/de.js +19 -0
  73. package/dist/esm/i18n/es.js +19 -0
  74. package/dist/esm/i18n/fi.js +19 -0
  75. package/dist/esm/i18n/fr.js +19 -0
  76. package/dist/esm/i18n/hu.js +19 -0
  77. package/dist/esm/i18n/it.js +19 -0
  78. package/dist/esm/i18n/ja.js +19 -0
  79. package/dist/esm/i18n/ko.js +19 -0
  80. package/dist/esm/i18n/nb.js +19 -0
  81. package/dist/esm/i18n/nl.js +19 -0
  82. package/dist/esm/i18n/pl.js +19 -0
  83. package/dist/esm/i18n/pt_BR.js +19 -0
  84. package/dist/esm/i18n/ru.js +19 -0
  85. package/dist/esm/i18n/sv.js +19 -0
  86. package/dist/esm/i18n/th.js +19 -0
  87. package/dist/esm/i18n/tr.js +19 -0
  88. package/dist/esm/i18n/uk.js +19 -0
  89. package/dist/esm/i18n/vi.js +19 -0
  90. package/dist/esm/i18n/zh.js +19 -0
  91. package/dist/esm/i18n/zh_TW.js +19 -0
  92. package/dist/esm/mark/commands.js +190 -0
  93. package/dist/esm/mark/index.js +1 -0
  94. package/dist/esm/messages/full-page.js +18 -0
  95. package/dist/esm/messages/index.js +1 -0
  96. package/dist/esm/monitoring/error.js +1 -1
  97. package/dist/esm/ui/DropList/index.js +1 -1
  98. package/dist/esm/ui/Toolbar/index.js +1 -0
  99. package/dist/esm/ui/index.js +2 -1
  100. package/dist/esm/ui-menu/DropdownMenu/index.js +15 -2
  101. package/dist/esm/ui-menu/ToolbarArrowKeyNavigationProvider/index.js +207 -0
  102. package/dist/esm/ui-menu/index.js +5 -4
  103. package/dist/esm/version.json +1 -1
  104. package/dist/types/i18n/cs.d.ts +19 -0
  105. package/dist/types/i18n/da.d.ts +19 -0
  106. package/dist/types/i18n/de.d.ts +19 -0
  107. package/dist/types/i18n/es.d.ts +19 -0
  108. package/dist/types/i18n/fi.d.ts +19 -0
  109. package/dist/types/i18n/fr.d.ts +19 -0
  110. package/dist/types/i18n/hu.d.ts +19 -0
  111. package/dist/types/i18n/it.d.ts +19 -0
  112. package/dist/types/i18n/ja.d.ts +19 -0
  113. package/dist/types/i18n/ko.d.ts +19 -0
  114. package/dist/types/i18n/nb.d.ts +19 -0
  115. package/dist/types/i18n/nl.d.ts +19 -0
  116. package/dist/types/i18n/pl.d.ts +19 -0
  117. package/dist/types/i18n/pt_BR.d.ts +19 -0
  118. package/dist/types/i18n/ru.d.ts +19 -0
  119. package/dist/types/i18n/sv.d.ts +19 -0
  120. package/dist/types/i18n/th.d.ts +19 -0
  121. package/dist/types/i18n/tr.d.ts +19 -0
  122. package/dist/types/i18n/uk.d.ts +19 -0
  123. package/dist/types/i18n/vi.d.ts +19 -0
  124. package/dist/types/i18n/zh.d.ts +19 -0
  125. package/dist/types/i18n/zh_TW.d.ts +19 -0
  126. package/dist/types/mark/commands.d.ts +18 -0
  127. package/dist/types/mark/index.d.ts +1 -0
  128. package/dist/types/messages/full-page.d.ts +17 -0
  129. package/dist/types/messages/index.d.ts +1 -0
  130. package/dist/types/ui/Toolbar/index.d.ts +5 -0
  131. package/dist/types/ui/index.d.ts +2 -0
  132. package/dist/types/ui-menu/DropdownMenu/index.d.ts +2 -1
  133. package/dist/types/ui-menu/ToolbarArrowKeyNavigationProvider/index.d.ts +30 -0
  134. package/dist/types/ui-menu/index.d.ts +7 -6
  135. package/dist/types-ts4.5/i18n/cs.d.ts +19 -0
  136. package/dist/types-ts4.5/i18n/da.d.ts +19 -0
  137. package/dist/types-ts4.5/i18n/de.d.ts +19 -0
  138. package/dist/types-ts4.5/i18n/es.d.ts +19 -0
  139. package/dist/types-ts4.5/i18n/fi.d.ts +19 -0
  140. package/dist/types-ts4.5/i18n/fr.d.ts +19 -0
  141. package/dist/types-ts4.5/i18n/hu.d.ts +19 -0
  142. package/dist/types-ts4.5/i18n/it.d.ts +19 -0
  143. package/dist/types-ts4.5/i18n/ja.d.ts +19 -0
  144. package/dist/types-ts4.5/i18n/ko.d.ts +19 -0
  145. package/dist/types-ts4.5/i18n/nb.d.ts +19 -0
  146. package/dist/types-ts4.5/i18n/nl.d.ts +19 -0
  147. package/dist/types-ts4.5/i18n/pl.d.ts +19 -0
  148. package/dist/types-ts4.5/i18n/pt_BR.d.ts +19 -0
  149. package/dist/types-ts4.5/i18n/ru.d.ts +19 -0
  150. package/dist/types-ts4.5/i18n/sv.d.ts +19 -0
  151. package/dist/types-ts4.5/i18n/th.d.ts +19 -0
  152. package/dist/types-ts4.5/i18n/tr.d.ts +19 -0
  153. package/dist/types-ts4.5/i18n/uk.d.ts +19 -0
  154. package/dist/types-ts4.5/i18n/vi.d.ts +19 -0
  155. package/dist/types-ts4.5/i18n/zh.d.ts +19 -0
  156. package/dist/types-ts4.5/i18n/zh_TW.d.ts +19 -0
  157. package/dist/types-ts4.5/mark/commands.d.ts +18 -0
  158. package/dist/types-ts4.5/mark/index.d.ts +1 -0
  159. package/dist/types-ts4.5/messages/full-page.d.ts +17 -0
  160. package/dist/types-ts4.5/messages/index.d.ts +1 -0
  161. package/dist/types-ts4.5/ui/Toolbar/index.d.ts +5 -0
  162. package/dist/types-ts4.5/ui/index.d.ts +2 -0
  163. package/dist/types-ts4.5/ui-menu/DropdownMenu/index.d.ts +2 -1
  164. package/dist/types-ts4.5/ui-menu/ToolbarArrowKeyNavigationProvider/index.d.ts +30 -0
  165. package/dist/types-ts4.5/ui-menu/index.d.ts +7 -6
  166. package/mark/package.json +15 -0
  167. package/package.json +6 -4
@@ -17,9 +17,12 @@ export default {
17
17
  'fabric.editor.blockDescription': 'Hiển thị thêm thông tin về liên kết, bao gồm bản tóm tắt và các thao tác',
18
18
  'fabric.editor.blockTitle': 'Thẻ',
19
19
  'fabric.editor.blockquote': 'một dấu ngoặc kép',
20
+ 'fabric.editor.bug': 'Lỗi',
20
21
  'fabric.editor.cancelButton': 'Hủy',
21
22
  'fabric.editor.captionPlaceholder': 'Thêm chú thích',
22
23
  'fabric.editor.cardFloatingControls': 'Tùy chọn thẻ',
24
+ 'fabric.editor.clearLink': 'Xóa liên kết',
25
+ 'fabric.editor.clearLinkText': 'Xóa văn bản',
23
26
  'fabric.editor.codeBidiWarningLabel': 'Ký tự hai chiều thay đổi thứ tự kết xuất văn bản. Điều này có thể được dùng để che giấu mã độc hại.',
24
27
  'fabric.editor.codeBlockCopyButton.copiedToClipboard': 'Đã sao chép!',
25
28
  'fabric.editor.codeBlockCopyButton.copyToClipboard': 'Sao chép dưới dạng văn bản',
@@ -34,11 +37,13 @@ export default {
34
37
  'fabric.editor.date.description': 'Thêm ngày bằng cách sử dụng lịch',
35
38
  'fabric.editor.decision': 'Quyết định',
36
39
  'fabric.editor.decision.description': 'Thu thập các quyết định để dễ dàng theo dõi',
40
+ 'fabric.editor.defaultAltText': 'Mục danh sách',
37
41
  'fabric.editor.displayBlock': 'Hiển thị thẻ',
38
42
  'fabric.editor.displayEmbed': 'Hiển thị đối tượng nhúng',
39
43
  'fabric.editor.displayInline': 'Hiển thị nội tuyến',
40
44
  'fabric.editor.displayLink': 'Hiển thị dạng văn bản',
41
45
  'fabric.editor.displayOptionUnavailableInParentNode': 'Tùy chọn hiển thị này không dùng được bên trong {node}',
46
+ 'fabric.editor.displayText': 'Văn bản cần hiển thị',
42
47
  'fabric.editor.ecombedDescription': 'Hiển thị bản xem trước tương tác của một liên kết',
43
48
  'fabric.editor.edit.datasource': 'Sửa truy vấn tìm kiếm',
44
49
  'fabric.editor.editLink': 'Chỉnh sửa liên kết',
@@ -47,6 +52,7 @@ export default {
47
52
  'fabric.editor.emoji': 'Biểu tượng cảm xúc',
48
53
  'fabric.editor.emoji.description': 'Sử dụng biểu tượng cảm xúc để thể hiện ý kiến 🎉 và cảm xúc 😄',
49
54
  'fabric.editor.emptyLink': 'Vui lòng nhập một liên kết.',
55
+ 'fabric.editor.epic': 'Quá trình',
50
56
  'fabric.editor.expand': 'Mở rộng',
51
57
  'fabric.editor.expand.description': 'Chèn đoạn mở rộng',
52
58
  'fabric.editor.expandDefaultTitle': 'Nhấp vào đây để mở rộng...',
@@ -54,12 +60,22 @@ export default {
54
60
  'fabric.editor.expandPlaceholder': 'Đặt tiêu đề cho phần mở rộng này...',
55
61
  'fabric.editor.feedbackDialog': 'Đưa ra phản hồi',
56
62
  'fabric.editor.feedbackDialog.description': 'Cho chúng tôi biết về trải nghiệm của bạn khi sử dụng trình chỉnh sửa mới',
63
+ 'fabric.editor.headingLink.hyperlinkIconBlogLabel': 'Blog',
64
+ 'fabric.editor.headingLink.hyperlinkIconBugLabel': 'Lỗi',
65
+ 'fabric.editor.headingLink.hyperlinkIconIssueLabel': 'Vấn đề',
66
+ 'fabric.editor.headingLink.hyperlinkIconPageLabel': 'Trang',
67
+ 'fabric.editor.headingLink.hyperlinkIconStoryLabel': 'Câu chuyện',
68
+ 'fabric.editor.headingLink.hyperlinkIconTaskLabel': 'Tác vụ',
57
69
  'fabric.editor.help': 'Trợ giúp',
58
70
  'fabric.editor.help.description': 'Duyệt qua tất cả các phím tắt trên bàn phím và các tùy chọn đánh dấu',
59
71
  'fabric.editor.horizontalRule': 'Trình phân chia',
60
72
  'fabric.editor.horizontalRule.description': 'Chia tách nội dung bằng một đường ngang',
73
+ 'fabric.editor.hyperlink.linkAriaLabel': 'Nhãn liên kết',
74
+ 'fabric.editor.hyperlink.searchLinkAriaDescription': 'Các đề xuất sẽ xuất hiện bên dưới khi bạn nhập thông tin vào trường',
75
+ 'fabric.editor.hyperlink.searchLinkResults': '{count, plural, =0 {không tìm thấy kết quả} other {Đã tìm thấy {count,number} kết quả}}',
61
76
  'fabric.editor.hyperlinkToolbarPlaceholder': 'Dán hoặc tìm kiếm liên kết',
62
77
  'fabric.editor.image': 'hình ảnh',
78
+ 'fabric.editor.improvement': 'Cải tiến',
63
79
  'fabric.editor.inlineDescription': 'Hiển thị liên kết dưới dạng văn bản nội tuyến',
64
80
  'fabric.editor.inlineTitle': 'Nội tuyến',
65
81
  'fabric.editor.insertMenu': 'Chèn',
@@ -85,8 +101,11 @@ export default {
85
101
  'fabric.editor.settingsLinks': 'Vào phần Tùy chọn liên kết',
86
102
  'fabric.editor.status': 'Trạng thái',
87
103
  'fabric.editor.status.description': 'Thêm một nhãn trạng thái tùy chỉnh',
104
+ 'fabric.editor.story': 'Câu chuyện',
105
+ 'fabric.editor.subTask': 'Tác vụ con',
88
106
  'fabric.editor.table': 'Bảng',
89
107
  'fabric.editor.table.description': 'Chèn bảng',
108
+ 'fabric.editor.task': 'Tác vụ',
90
109
  'fabric.editor.time.ago': 'trước',
91
110
  'fabric.editor.time.updated': 'Đã cập nhật',
92
111
  'fabric.editor.time.viewed': 'Đã xem',
@@ -17,9 +17,12 @@ export default {
17
17
  'fabric.editor.blockDescription': '显示有关链接的更多信息,包括摘要和操作',
18
18
  'fabric.editor.blockTitle': '卡片',
19
19
  'fabric.editor.blockquote': '引用',
20
+ 'fabric.editor.bug': '缺陷',
20
21
  'fabric.editor.cancelButton': '取消',
21
22
  'fabric.editor.captionPlaceholder': '添加标题',
22
23
  'fabric.editor.cardFloatingControls': '卡片选项',
24
+ 'fabric.editor.clearLink': '清除链接',
25
+ 'fabric.editor.clearLinkText': '清除文本',
23
26
  'fabric.editor.codeBidiWarningLabel': '双向字符会更改文本的呈现顺序。这可能被用于掩盖恶意代码。',
24
27
  'fabric.editor.codeBlockCopyButton.copiedToClipboard': '已复制!',
25
28
  'fabric.editor.codeBlockCopyButton.copyToClipboard': '复制为文本',
@@ -34,11 +37,13 @@ export default {
34
37
  'fabric.editor.date.description': '使用日历添加日期',
35
38
  'fabric.editor.decision': '决定',
36
39
  'fabric.editor.decision.description': '捕获决策,以便轻松跟踪',
40
+ 'fabric.editor.defaultAltText': '列出项目',
37
41
  'fabric.editor.displayBlock': '显示卡片',
38
42
  'fabric.editor.displayEmbed': '显示嵌入',
39
43
  'fabric.editor.displayInline': '显示内联',
40
44
  'fabric.editor.displayLink': '显示为文本',
41
45
  'fabric.editor.displayOptionUnavailableInParentNode': '无法在 {node} 内使用此显示选项',
46
+ 'fabric.editor.displayText': '待显示的文本',
42
47
  'fabric.editor.ecombedDescription': '显示链接的交互式预览',
43
48
  'fabric.editor.edit.datasource': '编辑搜索查询',
44
49
  'fabric.editor.editLink': '编辑链接',
@@ -47,6 +52,7 @@ export default {
47
52
  'fabric.editor.emoji': '表情符号',
48
53
  'fabric.editor.emoji.description': '使用表情符号传达理念 🎉 和情绪 😄',
49
54
  'fabric.editor.emptyLink': '请输入链接。',
55
+ 'fabric.editor.epic': '长篇故事',
50
56
  'fabric.editor.expand': '扩展',
51
57
  'fabric.editor.expand.description': '插入扩展',
52
58
  'fabric.editor.expandDefaultTitle': '点击此处展开...',
@@ -54,12 +60,22 @@ export default {
54
60
  'fabric.editor.expandPlaceholder': '为此展开添加标题......',
55
61
  'fabric.editor.feedbackDialog': '提供反馈意见',
56
62
  'fabric.editor.feedbackDialog.description': '跟我们讲讲您对新编辑器的使用体验',
63
+ 'fabric.editor.headingLink.hyperlinkIconBlogLabel': '博文',
64
+ 'fabric.editor.headingLink.hyperlinkIconBugLabel': '缺陷',
65
+ 'fabric.editor.headingLink.hyperlinkIconIssueLabel': '事务',
66
+ 'fabric.editor.headingLink.hyperlinkIconPageLabel': '页面',
67
+ 'fabric.editor.headingLink.hyperlinkIconStoryLabel': '故事',
68
+ 'fabric.editor.headingLink.hyperlinkIconTaskLabel': '任务',
57
69
  'fabric.editor.help': '帮助',
58
70
  'fabric.editor.help.description': '浏览所有键盘快捷键和文本标记选项',
59
71
  'fabric.editor.horizontalRule': '分隔条',
60
72
  'fabric.editor.horizontalRule.description': '使用水平线分隔内容',
73
+ 'fabric.editor.hyperlink.linkAriaLabel': '链接标签',
74
+ 'fabric.editor.hyperlink.searchLinkAriaDescription': '在字段中输入内容时,下方会显示建议内容',
75
+ 'fabric.editor.hyperlink.searchLinkResults': '{count, plural, =0 {未找到结果} other {找到 {count,number} 个结果}}',
61
76
  'fabric.editor.hyperlinkToolbarPlaceholder': '粘贴或搜索链接',
62
77
  'fabric.editor.image': '图片',
78
+ 'fabric.editor.improvement': '改进',
63
79
  'fabric.editor.inlineDescription': '以内联文本显示链接',
64
80
  'fabric.editor.inlineTitle': '内联',
65
81
  'fabric.editor.insertMenu': '插入',
@@ -85,8 +101,11 @@ export default {
85
101
  'fabric.editor.settingsLinks': '转到“链接首选项”',
86
102
  'fabric.editor.status': '状态',
87
103
  'fabric.editor.status.description': '添加自定义状态标签',
104
+ 'fabric.editor.story': '故事',
105
+ 'fabric.editor.subTask': '子任务',
88
106
  'fabric.editor.table': '表格',
89
107
  'fabric.editor.table.description': '插入表格',
108
+ 'fabric.editor.task': '任务',
90
109
  'fabric.editor.time.ago': '前',
91
110
  'fabric.editor.time.updated': '上次更新时间',
92
111
  'fabric.editor.time.viewed': '上次查看时间',
@@ -17,9 +17,12 @@ export default {
17
17
  'fabric.editor.blockDescription': '顯示有關連結的更多資訊,包括摘要和動作',
18
18
  'fabric.editor.blockTitle': '卡片',
19
19
  'fabric.editor.blockquote': '引述',
20
+ 'fabric.editor.bug': '錯誤',
20
21
  'fabric.editor.cancelButton': '取消',
21
22
  'fabric.editor.captionPlaceholder': '新增標題',
22
23
  'fabric.editor.cardFloatingControls': '卡片選項',
24
+ 'fabric.editor.clearLink': '清除連結',
25
+ 'fabric.editor.clearLinkText': '清除文字',
23
26
  'fabric.editor.codeBidiWarningLabel': '雙向字元會變更文字呈現的順序。這可用來將惡意程式碼模糊化。',
24
27
  'fabric.editor.codeBlockCopyButton.copiedToClipboard': '已複製!',
25
28
  'fabric.editor.codeBlockCopyButton.copyToClipboard': '複製文字',
@@ -34,11 +37,13 @@ export default {
34
37
  'fabric.editor.date.description': '使用日曆新增日期',
35
38
  'fabric.editor.decision': '決定',
36
39
  'fabric.editor.decision.description': '擷取決定以便追蹤',
40
+ 'fabric.editor.defaultAltText': '清單項目',
37
41
  'fabric.editor.displayBlock': '顯示卡片',
38
42
  'fabric.editor.displayEmbed': '顯示嵌入',
39
43
  'fabric.editor.displayInline': '顯示內嵌',
40
44
  'fabric.editor.displayLink': '以文字顯示',
41
45
  'fabric.editor.displayOptionUnavailableInParentNode': '{node} 內無法使用此顯示選項',
46
+ 'fabric.editor.displayText': '要顯示的文字',
42
47
  'fabric.editor.ecombedDescription': '顯示連結的互動式預覽',
43
48
  'fabric.editor.edit.datasource': '編輯搜尋查詢',
44
49
  'fabric.editor.editLink': '編輯連結',
@@ -47,6 +52,7 @@ export default {
47
52
  'fabric.editor.emoji': '表情符號',
48
53
  'fabric.editor.emoji.description': '使用表情符號來傳達想法 🎉 和情緒 😄',
49
54
  'fabric.editor.emptyLink': '請輸入連結。',
55
+ 'fabric.editor.epic': '大型工作',
50
56
  'fabric.editor.expand': '擴充',
51
57
  'fabric.editor.expand.description': '插入擴充',
52
58
  'fabric.editor.expandDefaultTitle': '按一下此處以展開...',
@@ -54,12 +60,22 @@ export default {
54
60
  'fabric.editor.expandPlaceholder': '為此展開設定標題...',
55
61
  'fabric.editor.feedbackDialog': '提供意見回饋',
56
62
  'fabric.editor.feedbackDialog.description': '請說明您對於新編輯器的使用體驗',
63
+ 'fabric.editor.headingLink.hyperlinkIconBlogLabel': '部落格',
64
+ 'fabric.editor.headingLink.hyperlinkIconBugLabel': '錯誤',
65
+ 'fabric.editor.headingLink.hyperlinkIconIssueLabel': '問題',
66
+ 'fabric.editor.headingLink.hyperlinkIconPageLabel': '頁面',
67
+ 'fabric.editor.headingLink.hyperlinkIconStoryLabel': '故事',
68
+ 'fabric.editor.headingLink.hyperlinkIconTaskLabel': '任務',
57
69
  'fabric.editor.help': '說明',
58
70
  'fabric.editor.help.description': '瀏覽所有鍵盤快速鍵和 Markdown 選項',
59
71
  'fabric.editor.horizontalRule': '分隔線',
60
72
  'fabric.editor.horizontalRule.description': '使用水平線來區隔內容',
73
+ 'fabric.editor.hyperlink.linkAriaLabel': '連結標籤',
74
+ 'fabric.editor.hyperlink.searchLinkAriaDescription': '當您在欄位中輸入內容時,建議會顯示在下方',
75
+ 'fabric.editor.hyperlink.searchLinkResults': '{count, plural, =0 {沒有找到任何結果} other {找到 {count,number} 個結果}}',
61
76
  'fabric.editor.hyperlinkToolbarPlaceholder': '貼上或搜尋連結',
62
77
  'fabric.editor.image': '影像',
78
+ 'fabric.editor.improvement': '改善',
63
79
  'fabric.editor.inlineDescription': '將連結顯示為內嵌文字',
64
80
  'fabric.editor.inlineTitle': '內嵌',
65
81
  'fabric.editor.insertMenu': '插入',
@@ -85,8 +101,11 @@ export default {
85
101
  'fabric.editor.settingsLinks': '前往連結偏好設定',
86
102
  'fabric.editor.status': '狀態',
87
103
  'fabric.editor.status.description': '新增自訂狀態標籤',
104
+ 'fabric.editor.story': '故事',
105
+ 'fabric.editor.subTask': '子任務',
88
106
  'fabric.editor.table': '表格',
89
107
  'fabric.editor.table.description': '插入表格',
108
+ 'fabric.editor.task': '任務',
90
109
  'fabric.editor.time.ago': '前',
91
110
  'fabric.editor.time.updated': '已更新',
92
111
  'fabric.editor.time.viewed': '已檢視',
@@ -0,0 +1,205 @@
1
+ import { TextSelection } from '@atlaskit/editor-prosemirror/state';
2
+ // eslint-disable-next-line no-duplicate-imports
3
+
4
+ import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
5
+ const SMART_TO_ASCII = {
6
+ '…': '...',
7
+ '→': '->',
8
+ '←': '<-',
9
+ '–': '--',
10
+ '“': '"',
11
+ '”': '"',
12
+ '‘': "'",
13
+ '’': "'"
14
+ };
15
+ const FIND_SMART_CHAR = new RegExp(`[${Object.keys(SMART_TO_ASCII).join('')}]`, 'g');
16
+ const isNodeTextBlock = schema => {
17
+ const {
18
+ mention,
19
+ text,
20
+ emoji
21
+ } = schema.nodes;
22
+ return (node, _, parent) => {
23
+ if (node.type === mention || node.type === emoji || node.type === text) {
24
+ return parent === null || parent === void 0 ? void 0 : parent.isTextblock;
25
+ }
26
+ return;
27
+ };
28
+ };
29
+ const replaceSmartCharsToAscii = (position, textContent, tr) => {
30
+ const {
31
+ schema
32
+ } = tr.doc.type;
33
+ let match;
34
+ while (match = FIND_SMART_CHAR.exec(textContent)) {
35
+ const {
36
+ 0: smartChar,
37
+ index: offset
38
+ } = match;
39
+ const replacePos = tr.mapping.map(position + offset);
40
+ const replacementText = schema.text(SMART_TO_ASCII[smartChar]);
41
+ tr.replaceWith(replacePos, replacePos + smartChar.length, replacementText);
42
+ }
43
+ };
44
+ const replaceMentionOrEmojiForTextContent = (position, nodeSize, textContent, tr) => {
45
+ const currentPos = tr.mapping.map(position);
46
+ const {
47
+ schema
48
+ } = tr.doc.type;
49
+ tr.replaceWith(currentPos, currentPos + nodeSize, schema.text(textContent));
50
+ };
51
+ export function filterChildrenBetween(doc, from, to, predicate) {
52
+ const results = [];
53
+ doc.nodesBetween(from, to, (node, pos, parent) => {
54
+ if (predicate(node, pos, parent)) {
55
+ results.push({
56
+ node,
57
+ pos
58
+ });
59
+ }
60
+ });
61
+ return results;
62
+ }
63
+ export const transformSmartCharsMentionsAndEmojis = (from, to, tr) => {
64
+ const {
65
+ schema
66
+ } = tr.doc.type;
67
+ const {
68
+ mention,
69
+ text,
70
+ emoji
71
+ } = schema.nodes;
72
+ // Traverse through all the nodes within the range and replace them with their plaintext counterpart
73
+ const children = filterChildrenBetween(tr.doc, from, to, isNodeTextBlock(schema));
74
+ children.forEach(({
75
+ node,
76
+ pos
77
+ }) => {
78
+ if (node.type === mention || node.type === emoji) {
79
+ // Convert gracefully when no text found, ProseMirror will blow up if you try to create a node with an empty string or undefined
80
+ let replacementText = node.attrs.text;
81
+ if (typeof replacementText === 'undefined' || replacementText === '') {
82
+ replacementText = `${node.type.name} text missing`;
83
+ }
84
+ replaceMentionOrEmojiForTextContent(pos, node.nodeSize, replacementText, tr);
85
+ } else if (node.type === text && node.text) {
86
+ const replacePosition = pos > from ? pos : from;
87
+ const textToReplace = pos > from ? node.text : node.text.substr(from - pos);
88
+ replaceSmartCharsToAscii(replacePosition, textToReplace, tr);
89
+ }
90
+ });
91
+ };
92
+ export const applyMarkOnRange = (from, to, removeMark, mark, tr) => {
93
+ const {
94
+ schema
95
+ } = tr.doc.type;
96
+ const {
97
+ code
98
+ } = schema.marks;
99
+ if (mark.type === code) {
100
+ transformSmartCharsMentionsAndEmojis(from, to, tr);
101
+ }
102
+ tr.doc.nodesBetween(tr.mapping.map(from), tr.mapping.map(to), (node, pos) => {
103
+ if (!node.isText) {
104
+ return true;
105
+ }
106
+
107
+ // This is an issue when the user selects some text.
108
+ // We need to check if the current node position is less than the range selection from.
109
+ // If it’s true, that means we should apply the mark using the range selection,
110
+ // not the current node position.
111
+ const nodeBetweenFrom = Math.max(pos, tr.mapping.map(from));
112
+ const nodeBetweenTo = Math.min(pos + node.nodeSize, tr.mapping.map(to));
113
+ if (removeMark) {
114
+ tr.removeMark(nodeBetweenFrom, nodeBetweenTo, mark);
115
+ } else {
116
+ tr.addMark(nodeBetweenFrom, nodeBetweenTo, mark);
117
+ }
118
+ return true;
119
+ });
120
+ return tr;
121
+ };
122
+ const entireSelectionContainsMark = (mark, doc, fromPos, toPos) => {
123
+ let onlyContainsMark = true;
124
+ doc.nodesBetween(fromPos, toPos, node => {
125
+ // Skip recursion once we've found text which doesn't include the mark
126
+ if (!onlyContainsMark) {
127
+ return false;
128
+ }
129
+ if (node.isText) {
130
+ onlyContainsMark && (onlyContainsMark = mark.isInSet(node.marks));
131
+ }
132
+ });
133
+ return onlyContainsMark;
134
+ };
135
+ const toggleMarkInRange = mark => (state, dispatch) => {
136
+ const {
137
+ tr
138
+ } = state;
139
+ if (state.selection instanceof CellSelection) {
140
+ let removeMark = true;
141
+ const cells = [];
142
+ state.selection.forEachCell((cell, cellPos) => {
143
+ cells.push({
144
+ node: cell,
145
+ pos: cellPos
146
+ });
147
+ const from = cellPos;
148
+ const to = cellPos + cell.nodeSize;
149
+ removeMark && (removeMark = entireSelectionContainsMark(mark, state.doc, from, to));
150
+ });
151
+ for (let i = cells.length - 1; i >= 0; i--) {
152
+ const cell = cells[i];
153
+ const from = cell.pos;
154
+ const to = from + cell.node.nodeSize;
155
+ applyMarkOnRange(from, to, removeMark, mark, tr);
156
+ }
157
+ } else {
158
+ const {
159
+ $from,
160
+ $to
161
+ } = state.selection;
162
+ // We decide to remove the mark only if the entire selection contains the mark
163
+ // Examples with *bold* text
164
+ // Scenario 1: Selection contains both bold and non-bold text -> bold entire selection
165
+ // Scenario 2: Selection contains only bold text -> un-bold entire selection
166
+ // Scenario 3: Selection contains no bold text -> bold entire selection
167
+ const removeMark = entireSelectionContainsMark(mark, state.doc, $from.pos, $to.pos);
168
+ applyMarkOnRange($from.pos, $to.pos, removeMark, mark, tr);
169
+ }
170
+ if (tr.docChanged) {
171
+ if (dispatch) {
172
+ dispatch(tr);
173
+ }
174
+ return true;
175
+ }
176
+ return false;
177
+ };
178
+
179
+ /**
180
+ * A wrapper over the default toggleMark, except when we have a selection
181
+ * we only toggle marks on text nodes rather than inline nodes.
182
+ * @param markType
183
+ * @param attrs
184
+ */
185
+ export const toggleMark = (markType, attrs) => (state, dispatch) => {
186
+ const mark = markType.create(attrs);
187
+
188
+ // For cursor selections we can use the default behaviour.
189
+ if (state.selection instanceof TextSelection && state.selection.$cursor) {
190
+ const {
191
+ tr
192
+ } = state;
193
+ if (mark.isInSet(state.storedMarks || state.selection.$cursor.marks())) {
194
+ tr.removeStoredMark(mark);
195
+ } else {
196
+ tr.addStoredMark(mark);
197
+ }
198
+ if (dispatch) {
199
+ dispatch(tr);
200
+ return true;
201
+ }
202
+ return false;
203
+ }
204
+ return toggleMarkInRange(mark)(state, dispatch);
205
+ };
@@ -0,0 +1 @@
1
+ export { transformSmartCharsMentionsAndEmojis, applyMarkOnRange, toggleMark, filterChildrenBetween } from './commands';
@@ -0,0 +1,18 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export const messages = defineMessages({
3
+ toolbarLabel: {
4
+ id: 'fabric.editor.toolbarLabel',
5
+ defaultMessage: 'Editor toolbar',
6
+ description: 'Label for the ARIA region landmark'
7
+ },
8
+ pageActionsLabel: {
9
+ id: 'fabric.editor.pageActionsLabel',
10
+ defaultMessage: 'Page actions',
11
+ description: 'Label for the ARIA region landmark'
12
+ },
13
+ editableContentLabel: {
14
+ id: 'fabric.editor.editableContentLabel',
15
+ defaultMessage: 'Editable content',
16
+ description: 'Label for the ARIA region landmark'
17
+ }
18
+ });
@@ -7,6 +7,7 @@ export { codeBlockButtonMessages } from './codeBlockButton';
7
7
  export { toolbarInsertBlockMessages } from './insert-block';
8
8
  export { toolbarMessages as mediaAndEmbedToolbarMessages } from './media-and-embed-toolbar';
9
9
  export { messages as cardMessages } from './card';
10
+ export { messages as fullPageMessages } from './full-page';
10
11
  export default defineMessages({
11
12
  layoutFixedWidth: {
12
13
  id: 'fabric.editor.layoutFixedWidth',
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "74.29.2";
3
+ const packageVersion = "74.30.0";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -8,7 +8,7 @@ import { themed } from '@atlaskit/theme/components';
8
8
  import { borderRadius } from '@atlaskit/theme/constants';
9
9
  import Layer from '../Layer';
10
10
  const packageName = "@atlaskit/editor-common";
11
- const packageVersion = "74.29.2";
11
+ const packageVersion = "74.30.0";
12
12
  const halfFocusRing = 1;
13
13
  const dropOffset = '0, 8';
14
14
  class DropList extends Component {
@@ -0,0 +1 @@
1
+ export const EDIT_AREA_ID = 'ak-editor-textarea';
@@ -25,4 +25,5 @@ export { snapTo, handleSides, imageAlignmentMap } from './ResizerLegacy/utils';
25
25
  export { wrapperStyle } from './ResizerLegacy/styled';
26
26
  export { panelTextInput } from './PanelTextInput/styles';
27
27
  export { default as PanelTextInput } from './PanelTextInput';
28
- export { default as Announcer } from './Announcer/announcer';
28
+ export { default as Announcer } from './Announcer/announcer';
29
+ export { EDIT_AREA_ID } from './Toolbar';
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  /** @jsx jsx */
4
- import React, { PureComponent } from 'react';
4
+ import React, { PureComponent, useContext } from 'react';
5
5
  import { css, jsx } from '@emotion/react';
6
6
  import { akEditorFloatingPanelZIndex } from '@atlaskit/editor-shared-styles';
7
7
  import { CustomItem, MenuGroup } from '@atlaskit/menu';
@@ -10,6 +10,7 @@ import { B100, DN600, DN80, N70, N900 } from '@atlaskit/theme/colors';
10
10
  import { themed } from '@atlaskit/theme/components';
11
11
  import Tooltip from '@atlaskit/tooltip';
12
12
  import { DropdownMenuSharedCssClassName } from '../../styles';
13
+ import { KeyDownHandlerContext } from '../../ui-menu/ToolbarArrowKeyNavigationProvider';
13
14
  import { withReactEditorViewOuterListeners } from '../../ui-react';
14
15
  import DropList from '../../ui/DropList';
15
16
  import Popup from '../../ui/Popup';
@@ -319,4 +320,17 @@ function DropdownMenuItem({
319
320
  }, dropListItem);
320
321
  }
321
322
  return dropListItem;
322
- }
323
+ }
324
+ export const DropdownMenuWithKeyboardNavigation = /*#__PURE__*/React.memo(({
325
+ ...props
326
+ }) => {
327
+ const keyDownHandlerContext = useContext(KeyDownHandlerContext);
328
+ //This context is to handle the tab, Arrow Right/Left key events for dropdown.
329
+ //Default context has the void callbacks for above key events
330
+ return jsx(DropdownMenuWrapper, _extends({
331
+ arrowKeyNavigationProviderOptions: {
332
+ ...props.arrowKeyNavigationProviderOptions,
333
+ keyDownHandlerContext
334
+ }
335
+ }, props));
336
+ });