@atlaskit/editor-common 78.33.4 → 78.35.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 (159) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/i18n/cs.js +12 -2
  3. package/dist/cjs/i18n/da.js +12 -2
  4. package/dist/cjs/i18n/de.js +12 -2
  5. package/dist/cjs/i18n/en.js +11 -3
  6. package/dist/cjs/i18n/en_GB.js +11 -3
  7. package/dist/cjs/i18n/en_ZZ.js +20 -5
  8. package/dist/cjs/i18n/es.js +12 -2
  9. package/dist/cjs/i18n/fi.js +12 -2
  10. package/dist/cjs/i18n/fr.js +12 -2
  11. package/dist/cjs/i18n/hu.js +12 -2
  12. package/dist/cjs/i18n/it.js +12 -2
  13. package/dist/cjs/i18n/ja.js +13 -2
  14. package/dist/cjs/i18n/ko.js +13 -2
  15. package/dist/cjs/i18n/nb.js +12 -2
  16. package/dist/cjs/i18n/nl.js +14 -4
  17. package/dist/cjs/i18n/pl.js +12 -2
  18. package/dist/cjs/i18n/pt_BR.js +12 -2
  19. package/dist/cjs/i18n/ru.js +12 -2
  20. package/dist/cjs/i18n/sv.js +12 -2
  21. package/dist/cjs/i18n/th.js +12 -2
  22. package/dist/cjs/i18n/tr.js +13 -2
  23. package/dist/cjs/i18n/uk.js +12 -2
  24. package/dist/cjs/i18n/vi.js +12 -2
  25. package/dist/cjs/i18n/zh.js +12 -2
  26. package/dist/cjs/i18n/zh_TW.js +12 -2
  27. package/dist/cjs/monitoring/error.js +1 -1
  28. package/dist/cjs/portal/PortalBucket.js +44 -0
  29. package/dist/cjs/portal/PortalManager.js +209 -0
  30. package/dist/cjs/portal/index.js +26 -0
  31. package/dist/cjs/portal/usePortalProvider.js +80 -0
  32. package/dist/cjs/ui/DropList/index.js +1 -1
  33. package/dist/cjs/utils/insert-node-into-ordered-list.js +22 -3
  34. package/dist/es2019/i18n/cs.js +12 -2
  35. package/dist/es2019/i18n/da.js +12 -2
  36. package/dist/es2019/i18n/de.js +12 -2
  37. package/dist/es2019/i18n/en.js +11 -3
  38. package/dist/es2019/i18n/en_GB.js +11 -3
  39. package/dist/es2019/i18n/en_ZZ.js +20 -5
  40. package/dist/es2019/i18n/es.js +12 -2
  41. package/dist/es2019/i18n/fi.js +12 -2
  42. package/dist/es2019/i18n/fr.js +12 -2
  43. package/dist/es2019/i18n/hu.js +12 -2
  44. package/dist/es2019/i18n/it.js +12 -2
  45. package/dist/es2019/i18n/ja.js +13 -2
  46. package/dist/es2019/i18n/ko.js +13 -2
  47. package/dist/es2019/i18n/nb.js +12 -2
  48. package/dist/es2019/i18n/nl.js +14 -4
  49. package/dist/es2019/i18n/pl.js +12 -2
  50. package/dist/es2019/i18n/pt_BR.js +12 -2
  51. package/dist/es2019/i18n/ru.js +12 -2
  52. package/dist/es2019/i18n/sv.js +12 -2
  53. package/dist/es2019/i18n/th.js +12 -2
  54. package/dist/es2019/i18n/tr.js +13 -2
  55. package/dist/es2019/i18n/uk.js +12 -2
  56. package/dist/es2019/i18n/vi.js +12 -2
  57. package/dist/es2019/i18n/zh.js +12 -2
  58. package/dist/es2019/i18n/zh_TW.js +12 -2
  59. package/dist/es2019/monitoring/error.js +1 -1
  60. package/dist/es2019/portal/PortalBucket.js +29 -0
  61. package/dist/es2019/portal/PortalManager.js +157 -0
  62. package/dist/es2019/portal/index.js +3 -0
  63. package/dist/es2019/portal/usePortalProvider.js +58 -0
  64. package/dist/es2019/ui/DropList/index.js +1 -1
  65. package/dist/es2019/utils/insert-node-into-ordered-list.js +23 -3
  66. package/dist/esm/i18n/cs.js +12 -2
  67. package/dist/esm/i18n/da.js +12 -2
  68. package/dist/esm/i18n/de.js +12 -2
  69. package/dist/esm/i18n/en.js +11 -3
  70. package/dist/esm/i18n/en_GB.js +11 -3
  71. package/dist/esm/i18n/en_ZZ.js +20 -5
  72. package/dist/esm/i18n/es.js +12 -2
  73. package/dist/esm/i18n/fi.js +12 -2
  74. package/dist/esm/i18n/fr.js +12 -2
  75. package/dist/esm/i18n/hu.js +12 -2
  76. package/dist/esm/i18n/it.js +12 -2
  77. package/dist/esm/i18n/ja.js +13 -2
  78. package/dist/esm/i18n/ko.js +13 -2
  79. package/dist/esm/i18n/nb.js +12 -2
  80. package/dist/esm/i18n/nl.js +14 -4
  81. package/dist/esm/i18n/pl.js +12 -2
  82. package/dist/esm/i18n/pt_BR.js +12 -2
  83. package/dist/esm/i18n/ru.js +12 -2
  84. package/dist/esm/i18n/sv.js +12 -2
  85. package/dist/esm/i18n/th.js +12 -2
  86. package/dist/esm/i18n/tr.js +13 -2
  87. package/dist/esm/i18n/uk.js +12 -2
  88. package/dist/esm/i18n/vi.js +12 -2
  89. package/dist/esm/i18n/zh.js +12 -2
  90. package/dist/esm/i18n/zh_TW.js +12 -2
  91. package/dist/esm/monitoring/error.js +1 -1
  92. package/dist/esm/portal/PortalBucket.js +34 -0
  93. package/dist/esm/portal/PortalManager.js +202 -0
  94. package/dist/esm/portal/index.js +3 -0
  95. package/dist/esm/portal/usePortalProvider.js +70 -0
  96. package/dist/esm/ui/DropList/index.js +1 -1
  97. package/dist/esm/utils/insert-node-into-ordered-list.js +23 -3
  98. package/dist/types/i18n/cs.d.ts +10 -0
  99. package/dist/types/i18n/da.d.ts +10 -0
  100. package/dist/types/i18n/de.d.ts +10 -0
  101. package/dist/types/i18n/en.d.ts +8 -0
  102. package/dist/types/i18n/en_GB.d.ts +8 -0
  103. package/dist/types/i18n/en_ZZ.d.ts +16 -1
  104. package/dist/types/i18n/es.d.ts +10 -0
  105. package/dist/types/i18n/fi.d.ts +10 -0
  106. package/dist/types/i18n/fr.d.ts +10 -0
  107. package/dist/types/i18n/hu.d.ts +10 -0
  108. package/dist/types/i18n/it.d.ts +10 -0
  109. package/dist/types/i18n/ja.d.ts +11 -0
  110. package/dist/types/i18n/ko.d.ts +11 -0
  111. package/dist/types/i18n/nb.d.ts +10 -0
  112. package/dist/types/i18n/nl.d.ts +10 -0
  113. package/dist/types/i18n/pl.d.ts +10 -0
  114. package/dist/types/i18n/pt_BR.d.ts +10 -0
  115. package/dist/types/i18n/ru.d.ts +10 -0
  116. package/dist/types/i18n/sv.d.ts +10 -0
  117. package/dist/types/i18n/th.d.ts +10 -0
  118. package/dist/types/i18n/tr.d.ts +11 -0
  119. package/dist/types/i18n/uk.d.ts +10 -0
  120. package/dist/types/i18n/vi.d.ts +10 -0
  121. package/dist/types/i18n/zh.d.ts +10 -0
  122. package/dist/types/i18n/zh_TW.d.ts +10 -0
  123. package/dist/types/portal/PortalBucket.d.ts +18 -0
  124. package/dist/types/portal/PortalManager.d.ts +53 -0
  125. package/dist/types/portal/index.d.ts +3 -0
  126. package/dist/types/portal/usePortalProvider.d.ts +18 -0
  127. package/dist/types/types/annotation/index.d.ts +1 -0
  128. package/dist/types-ts4.5/i18n/cs.d.ts +10 -0
  129. package/dist/types-ts4.5/i18n/da.d.ts +10 -0
  130. package/dist/types-ts4.5/i18n/de.d.ts +10 -0
  131. package/dist/types-ts4.5/i18n/en.d.ts +8 -0
  132. package/dist/types-ts4.5/i18n/en_GB.d.ts +8 -0
  133. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +16 -1
  134. package/dist/types-ts4.5/i18n/es.d.ts +10 -0
  135. package/dist/types-ts4.5/i18n/fi.d.ts +10 -0
  136. package/dist/types-ts4.5/i18n/fr.d.ts +10 -0
  137. package/dist/types-ts4.5/i18n/hu.d.ts +10 -0
  138. package/dist/types-ts4.5/i18n/it.d.ts +10 -0
  139. package/dist/types-ts4.5/i18n/ja.d.ts +11 -0
  140. package/dist/types-ts4.5/i18n/ko.d.ts +11 -0
  141. package/dist/types-ts4.5/i18n/nb.d.ts +10 -0
  142. package/dist/types-ts4.5/i18n/nl.d.ts +10 -0
  143. package/dist/types-ts4.5/i18n/pl.d.ts +10 -0
  144. package/dist/types-ts4.5/i18n/pt_BR.d.ts +10 -0
  145. package/dist/types-ts4.5/i18n/ru.d.ts +10 -0
  146. package/dist/types-ts4.5/i18n/sv.d.ts +10 -0
  147. package/dist/types-ts4.5/i18n/th.d.ts +10 -0
  148. package/dist/types-ts4.5/i18n/tr.d.ts +11 -0
  149. package/dist/types-ts4.5/i18n/uk.d.ts +10 -0
  150. package/dist/types-ts4.5/i18n/vi.d.ts +10 -0
  151. package/dist/types-ts4.5/i18n/zh.d.ts +10 -0
  152. package/dist/types-ts4.5/i18n/zh_TW.d.ts +10 -0
  153. package/dist/types-ts4.5/portal/PortalBucket.d.ts +18 -0
  154. package/dist/types-ts4.5/portal/PortalManager.d.ts +53 -0
  155. package/dist/types-ts4.5/portal/index.d.ts +3 -0
  156. package/dist/types-ts4.5/portal/usePortalProvider.d.ts +21 -0
  157. package/dist/types-ts4.5/types/annotation/index.d.ts +1 -0
  158. package/package.json +4 -3
  159. package/portal/package.json +15 -0
@@ -14,6 +14,7 @@ export default {
14
14
  'fabric.editor.addColumnRight': 'Thêm cột bên phải',
15
15
  'fabric.editor.addCommentOnMedia': 'Thêm nhận xét',
16
16
  'fabric.editor.addImageBorder': 'Thêm viền',
17
+ 'fabric.editor.addLoomVideo': 'Thêm video Loom',
17
18
  'fabric.editor.addMediaFiles': 'Thêm ảnh, video hoặc tệp',
18
19
  'fabric.editor.addRowAbove': 'Thêm hàng bên trên',
19
20
  'fabric.editor.addRowBelow': 'Thêm hàng bên dưới',
@@ -94,6 +95,9 @@ export default {
94
95
  'fabric.editor.customPanel.description': 'Thêm ghi chú với biểu tượng cảm xúc và nền màu',
95
96
  'fabric.editor.datasource.assetsObjects': 'Tài sản (Beta)',
96
97
  'fabric.editor.datasource.assetsObjects.description': 'Chèn đối tượng từ Tài sản trong Jira Service Management bằng tính năng tìm kiếm và lọc',
98
+ 'fabric.editor.datasource.assetsObjectsGeneralAvailability': 'Tài sản',
99
+ 'fabric.editor.datasource.confluenceSearch': 'Chèn danh sách Confluence',
100
+ 'fabric.editor.datasource.confluenceSearch.description': 'Chèn danh sách kết quả tìm kiếm từ Confluence bằng tính năng tìm kiếm, lọc và định cấu hình nâng cao.',
97
101
  'fabric.editor.datasource.jiraIssue': 'Vấn đề trên Jira',
98
102
  'fabric.editor.datasource.jiraIssue.description': 'Chèn vấn đề trên Jira từ Jira Cloud bằng tính năng tìm kiếm, lọc và định cấu hình nâng cao.',
99
103
  'fabric.editor.datasourceAppearanceTitle': 'Danh sách',
@@ -103,6 +107,7 @@ export default {
103
107
  'fabric.editor.decision': 'Quyết định',
104
108
  'fabric.editor.decision.description': 'Thu thập các quyết định để dễ dàng theo dõi',
105
109
  'fabric.editor.decisionPlaceholder': 'Thêm quyết định…',
110
+ 'fabric.editor.decreaseColumnSize': 'Giảm kích thước cột',
106
111
  'fabric.editor.decreaseSize': 'Giảm kích thước',
107
112
  'fabric.editor.defaultAltText': 'Tài liệu',
108
113
  'fabric.editor.description': 'Mô tả',
@@ -223,6 +228,7 @@ export default {
223
228
  'fabric.editor.imageBorderSize': 'Kích cỡ',
224
229
  'fabric.editor.imageBorderSubtle': 'Nhạt',
225
230
  'fabric.editor.improvement': 'Cải tiến',
231
+ 'fabric.editor.increaseColumnSize': 'Tăng kích thước cột',
226
232
  'fabric.editor.increaseSize': 'Tăng kích thước',
227
233
  'fabric.editor.indent': 'Thụt lề',
228
234
  'fabric.editor.info': 'Thông tin',
@@ -311,8 +317,8 @@ export default {
311
317
  'fabric.editor.placeholderTextPlaceholder': 'Thêm văn bản giữ chỗ',
312
318
  'fabric.editor.plainText': 'Dùng văn bản thuần túy',
313
319
  'fabric.editor.quickInsert': 'Chèn nhanh',
314
- 'fabric.editor.recordVideo': 'Quay video',
315
- 'fabric.editor.recordVideo.description': 'Quay video bằng Loom',
320
+ 'fabric.editor.recordVideo': 'Quay video Loom',
321
+ 'fabric.editor.recordVideo.description': 'Quay lại màn hình và máy ảnh của bạn',
316
322
  'fabric.editor.redo': 'Làm lại',
317
323
  'fabric.editor.remove': 'Xóa',
318
324
  'fabric.editor.removeColumns': '{0, plural, other {Xóa cột}}',
@@ -330,6 +336,7 @@ export default {
330
336
  'fabric.editor.rowDragHandle': 'Tùy chọn hàng',
331
337
  'fabric.editor.saveButton': 'Lưu',
332
338
  'fabric.editor.searchResults': '{itemsLength, plural, other {Có {itemsLength,number} kết quả tìm kiếm. Dùng phím mũi tên Lên và Xuống để di chuyển giữa các kết quả. Nhấn Enter để chọn một kết quả.}}',
339
+ 'fabric.editor.selectColumnResize': 'Chọn kích thước cột',
333
340
  'fabric.editor.selectLanguage': 'Chọn ngôn ngữ',
334
341
  'fabric.editor.selectTableColumn': 'Chọn cột trong bảng',
335
342
  'fabric.editor.selectTableRow': 'Chọn hàng trong bảng',
@@ -413,10 +420,13 @@ export default {
413
420
  'fabric.editor.unsupportedBlockContent': 'Trình biên tập này không hỗ trợ hiển thị nội dung này',
414
421
  'fabric.editor.unsupportedContentTooltip': 'Nội dung không có trong trình biên tập này, nội dung sẽ được bảo lưu khi bạn sửa và lưu',
415
422
  'fabric.editor.unsupportedInlineContent': 'Nội dung không được hỗ trợ',
423
+ 'fabric.editor.upDown': 'Khi bạn sử dụng các phím mũi tên lên và xuống vào trường nhập sau, ngày sẽ cập nhật bên dưới',
416
424
  'fabric.editor.url': 'Hiển thị URL',
417
425
  'fabric.editor.urlDescription': 'Hiển thị liên kết dưới dạng URL',
418
426
  'fabric.editor.urlTitle': 'URL',
419
427
  'fabric.editor.useMarkdown': 'Dùng Markdown',
428
+ 'fabric.editor.viewAndAddCommentsOnMedia': 'Xem và thêm nhận xét',
429
+ 'fabric.editor.viewCommentOnMedia': 'Xem nhận xét',
420
430
  'fabric.editor.viewMore': 'Xem thêm',
421
431
  'fabric.editor.visit': 'Mở liên kết trong cửa sổ mới',
422
432
  'fabric.editor.warning': 'Cảnh báo',
@@ -14,6 +14,7 @@ export default {
14
14
  'fabric.editor.addColumnRight': '在右侧添加列',
15
15
  'fabric.editor.addCommentOnMedia': '添加注释',
16
16
  'fabric.editor.addImageBorder': '添加边框',
17
+ 'fabric.editor.addLoomVideo': '添加 Loom 视频',
17
18
  'fabric.editor.addMediaFiles': '添加图像、视频或文件',
18
19
  'fabric.editor.addRowAbove': '在上方添加行',
19
20
  'fabric.editor.addRowBelow': '在下方添加行',
@@ -94,6 +95,9 @@ export default {
94
95
  'fabric.editor.customPanel.description': '使用表情和彩色背景来添加注释',
95
96
  'fabric.editor.datasource.assetsObjects': '资产(测试版)',
96
97
  'fabric.editor.datasource.assetsObjects.description': '通过搜索和筛选插入来自 Jira Service Management 中的资产的对象',
98
+ 'fabric.editor.datasource.assetsObjectsGeneralAvailability': '资产',
99
+ 'fabric.editor.datasource.confluenceSearch': '插入 Confluence 列表',
100
+ 'fabric.editor.datasource.confluenceSearch.description': '通过增强的搜索、筛选和配置插入来自 Confluence 的搜索结果列表。',
97
101
  'fabric.editor.datasource.jiraIssue': 'Jira 事务',
98
102
  'fabric.editor.datasource.jiraIssue.description': '通过增强的搜索、筛选和配置插入来自 Jira Cloud 的 Jira 事务。',
99
103
  'fabric.editor.datasourceAppearanceTitle': '列表',
@@ -103,6 +107,7 @@ export default {
103
107
  'fabric.editor.decision': '决定',
104
108
  'fabric.editor.decision.description': '捕获决策,以便轻松跟踪',
105
109
  'fabric.editor.decisionPlaceholder': '添加决定...',
110
+ 'fabric.editor.decreaseColumnSize': '减小列大小',
106
111
  'fabric.editor.decreaseSize': '减小大小',
107
112
  'fabric.editor.defaultAltText': '文档',
108
113
  'fabric.editor.description': '描述',
@@ -223,6 +228,7 @@ export default {
223
228
  'fabric.editor.imageBorderSize': '大小',
224
229
  'fabric.editor.imageBorderSubtle': '细微',
225
230
  'fabric.editor.improvement': '改进',
231
+ 'fabric.editor.increaseColumnSize': '增大列大小',
226
232
  'fabric.editor.increaseSize': '增大大小',
227
233
  'fabric.editor.indent': '增大缩进',
228
234
  'fabric.editor.info': '信息',
@@ -311,8 +317,8 @@ export default {
311
317
  'fabric.editor.placeholderTextPlaceholder': '添加占位文本',
312
318
  'fabric.editor.plainText': '使用纯文本',
313
319
  'fabric.editor.quickInsert': '快速插入',
314
- 'fabric.editor.recordVideo': '录制视频',
315
- 'fabric.editor.recordVideo.description': '使用 Loom 录制视频',
320
+ 'fabric.editor.recordVideo': '录制 Loom 视频',
321
+ 'fabric.editor.recordVideo.description': '录制您的屏幕内容和摄像头画面',
316
322
  'fabric.editor.redo': '重做',
317
323
  'fabric.editor.remove': '删除',
318
324
  'fabric.editor.removeColumns': '{0, plural, other {删除列}}',
@@ -330,6 +336,7 @@ export default {
330
336
  'fabric.editor.rowDragHandle': '行选项',
331
337
  'fabric.editor.saveButton': '保存',
332
338
  'fabric.editor.searchResults': '{itemsLength, plural, other {有 {itemsLength,number} 个搜索结果。使用向上和向下箭头键可浏览这些选项。按 Enter 键可选择选项。}}',
339
+ 'fabric.editor.selectColumnResize': '选择列大小调整',
333
340
  'fabric.editor.selectLanguage': '选择语言',
334
341
  'fabric.editor.selectTableColumn': '选择表格列',
335
342
  'fabric.editor.selectTableRow': '选择表格行',
@@ -413,10 +420,13 @@ export default {
413
420
  'fabric.editor.unsupportedBlockContent': '此编辑器不支持显示此内容',
414
421
  'fabric.editor.unsupportedContentTooltip': '此编辑器中的内容不可用,在编辑和保存时将保留此内容',
415
422
  'fabric.editor.unsupportedInlineContent': '内容不受支持',
423
+ 'fabric.editor.upDown': '在以下输入字段中使用向上和向下箭头键时,日期将在下方更新',
416
424
  'fabric.editor.url': '显示 URL',
417
425
  'fabric.editor.urlDescription': '以 URL 显示链接',
418
426
  'fabric.editor.urlTitle': 'URL',
419
427
  'fabric.editor.useMarkdown': '使用 Markdown',
428
+ 'fabric.editor.viewAndAddCommentsOnMedia': '查看并添加评论',
429
+ 'fabric.editor.viewCommentOnMedia': '查看评论',
420
430
  'fabric.editor.viewMore': '查看更多',
421
431
  'fabric.editor.visit': '在新窗口中打开链接',
422
432
  'fabric.editor.warning': '警告',
@@ -14,6 +14,7 @@ export default {
14
14
  'fabric.editor.addColumnRight': '新增右欄',
15
15
  'fabric.editor.addCommentOnMedia': '新增留言',
16
16
  'fabric.editor.addImageBorder': '新增邊框',
17
+ 'fabric.editor.addLoomVideo': '新增 Loom 影片',
17
18
  'fabric.editor.addMediaFiles': '新增圖片、影片或檔案',
18
19
  'fabric.editor.addRowAbove': '在上方新增列',
19
20
  'fabric.editor.addRowBelow': '在下方新增列',
@@ -94,6 +95,9 @@ export default {
94
95
  'fabric.editor.customPanel.description': '新增一個帶有表情符號和彩色背景的附註',
95
96
  'fabric.editor.datasource.assetsObjects': 'Assets (測試版)',
96
97
  'fabric.editor.datasource.assetsObjects.description': '透過搜尋和篩選,從 Jira Service Management 中的 Assets 插入物件',
98
+ 'fabric.editor.datasource.assetsObjectsGeneralAvailability': 'Assets',
99
+ 'fabric.editor.datasource.confluenceSearch': '插入 Confluence 列表',
100
+ 'fabric.editor.datasource.confluenceSearch.description': '插入 Confluence 搜尋結果列表,包含增強的搜尋、篩選和組態。',
97
101
  'fabric.editor.datasource.jiraIssue': 'Jira 議題',
98
102
  'fabric.editor.datasource.jiraIssue.description': '透過增強的搜尋、篩選和組態,從 Jira Cloud 插入 Jira 議題。',
99
103
  'fabric.editor.datasourceAppearanceTitle': '列表',
@@ -103,6 +107,7 @@ export default {
103
107
  'fabric.editor.decision': '決定',
104
108
  'fabric.editor.decision.description': '擷取決定以便追蹤',
105
109
  'fabric.editor.decisionPlaceholder': '新增決定…',
110
+ 'fabric.editor.decreaseColumnSize': '縮小欄大小',
106
111
  'fabric.editor.decreaseSize': '縮減大小',
107
112
  'fabric.editor.defaultAltText': '文件',
108
113
  'fabric.editor.description': '描述',
@@ -223,6 +228,7 @@ export default {
223
228
  'fabric.editor.imageBorderSize': '大小',
224
229
  'fabric.editor.imageBorderSubtle': '不明顯的',
225
230
  'fabric.editor.improvement': '改善',
231
+ 'fabric.editor.increaseColumnSize': '放大欄大小',
226
232
  'fabric.editor.increaseSize': '增加大小',
227
233
  'fabric.editor.indent': '增加縮排',
228
234
  'fabric.editor.info': '資訊',
@@ -311,8 +317,8 @@ export default {
311
317
  'fabric.editor.placeholderTextPlaceholder': '新增預留位置文字',
312
318
  'fabric.editor.plainText': '使用純文字',
313
319
  'fabric.editor.quickInsert': '快速插入',
314
- 'fabric.editor.recordVideo': '錄製影片',
315
- 'fabric.editor.recordVideo.description': '使用 Loom 錄製影片',
320
+ 'fabric.editor.recordVideo': '錄製 Loom 影片',
321
+ 'fabric.editor.recordVideo.description': '錄製您的螢幕畫面和相機',
316
322
  'fabric.editor.redo': '重做',
317
323
  'fabric.editor.remove': '移除',
318
324
  'fabric.editor.removeColumns': '{0, plural, other {刪除直欄}}',
@@ -330,6 +336,7 @@ export default {
330
336
  'fabric.editor.rowDragHandle': '列選項',
331
337
  'fabric.editor.saveButton': '儲存',
332
338
  'fabric.editor.searchResults': '{itemsLength, plural, other {有 {itemsLength,number} 個搜尋結果。請使用向上鍵和向下鍵導覽選項。按 Enter 鍵可選取選項。}}',
339
+ 'fabric.editor.selectColumnResize': '選取欄重新調整大小',
333
340
  'fabric.editor.selectLanguage': '選取語言',
334
341
  'fabric.editor.selectTableColumn': '選取表格欄',
335
342
  'fabric.editor.selectTableRow': '選取表格列',
@@ -413,10 +420,13 @@ export default {
413
420
  'fabric.editor.unsupportedBlockContent': '此編輯器不支援顯示此內容',
414
421
  'fabric.editor.unsupportedContentTooltip': '內容不適用於此編輯器,這會在您編輯和儲存時進行保留',
415
422
  'fabric.editor.unsupportedInlineContent': '不支援的內容',
423
+ 'fabric.editor.upDown': '在下列輸入欄位中使用向上和向下箭頭按鍵時,日期將在下方更新',
416
424
  'fabric.editor.url': '顯示 URL',
417
425
  'fabric.editor.urlDescription': '將連結顯示為 URL',
418
426
  'fabric.editor.urlTitle': 'URL',
419
427
  'fabric.editor.useMarkdown': '使用 Markdown',
428
+ 'fabric.editor.viewAndAddCommentsOnMedia': '檢視和新增留言',
429
+ 'fabric.editor.viewCommentOnMedia': '檢視留言',
420
430
  'fabric.editor.viewMore': '檢視更多',
421
431
  'fabric.editor.visit': '在新視窗中開啟連結',
422
432
  'fabric.editor.warning': '警告',
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "78.33.4";
9
+ var packageVersion = "78.35.0";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -0,0 +1,34 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useLayoutEffect, useMemo, useState } from 'react';
3
+ /**
4
+ * A component for rendering portals managed by a `PortalManager`.
5
+ * It subscribes to a `PortalManager` instance to listen for changes in the portal content
6
+ * and renders the content of its assigned portal bucket.
7
+ *
8
+ * @param {PortalBucketProps} props The component props.
9
+ * @param {number} props.id The ID for the portal bucket. This ID is used by the `PortalManager` to manage the content of this bucket.
10
+ * @param {PortalManager} props.portalManager An instance of `PortalManager` which manages the registration and unregistration of portal buckets and their content.
11
+ * @returns {React.ReactElement} The React element(s) that are currently registered to this portal bucket.
12
+ */
13
+ export function PortalBucket(_ref) {
14
+ var id = _ref.id,
15
+ portalManager = _ref.portalManager;
16
+ // State to hold the current portals for this bucket
17
+ var _useState = useState({}),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ portals = _useState2[0],
20
+ setPortals = _useState2[1];
21
+ // Effect to register/unregister this bucket with the portal manager on mount/unmount
22
+ useLayoutEffect(function () {
23
+ portalManager.registerBucket(id, setPortals);
24
+ return function () {
25
+ portalManager.unregisterBucket(id);
26
+ };
27
+ }, [id, portalManager]);
28
+ // Memoize the portal elements to avoid unnecessary re-renders
29
+ var portalElements = useMemo(function () {
30
+ return Object.values(portals);
31
+ }, [portals]);
32
+ // Render the current portal elements
33
+ return /*#__PURE__*/React.createElement(React.Fragment, null, portalElements);
34
+ }
@@ -0,0 +1,202 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ var DEFAULT_INITIAL_BUCKETS = 50;
8
+ var DEFAULT_MAX_BUCKET_CAPACITY = 50;
9
+ var DEFAULT_SCALE_RATIO = 0.5;
10
+
11
+ /**
12
+ * Creates an empty bucket object with a specified capacity. Each bucket is designed
13
+ * to hold a certain number of React portals and has an associated updater function
14
+ * which can be null initially.
15
+ *
16
+ * @function createEmptyBucket
17
+ * @param {number} capacity - The maximum capacity of the bucket.
18
+ * @returns {PortalBucketType} An object representing an empty bucket with the specified capacity.
19
+ */
20
+ function createEmptyBucket(capacity) {
21
+ return {
22
+ portals: {},
23
+ capacity: capacity,
24
+ updater: null
25
+ };
26
+ }
27
+
28
+ /**
29
+ * A utility class to manage and dynamically scale React portals across multiple buckets.
30
+ * It allows for efficient rendering of large numbers of React portals by distributing them
31
+ * across "buckets" and updating these buckets as necessary to balance load and performance.
32
+ *
33
+ * @class PortalManager
34
+ * @typedef {Object} PortalManager
35
+ *
36
+ * @property {number} maxBucketCapacity - The maximum capacity of each bucket before a new bucket is created.
37
+ * @property {number} scaleRatio - The ratio to determine the number of new buckets to add when scaling up.
38
+ * @property {Array<PortalBucketType>} buckets - An array of bucket objects where each bucket holds a record of React portals.
39
+ * @property {Set<number>} availableBuckets - A set of indices representing buckets that have available capacity.
40
+ * @property {Map<React.Key, number>} portalToBucketMap - A map of React portal keys to their corresponding bucket indices.
41
+ * @property {PortalRendererUpdater|null} portalRendererUpdater - A function to trigger updates to the rendering of portals.
42
+ * @property {number} scaleCapacityThreshold - The threshold at which the buckets are scaled up to accommodate more portals.
43
+ *
44
+ * @param {number} [initialBuckets=DEFAULT_INITIAL_BUCKETS] - The initial number of buckets to create.
45
+ * @param {number} [maxBucketCapacity=DEFAULT_MAX_BUCKET_CAPACITY] - The maximum number of portals a single bucket can hold.
46
+ * @param {number} [scaleRatio=DEFAULT_SCALE_RATIO] - The ratio used to calculate the number of new buckets to add when scaling.
47
+ */
48
+ export var PortalManager = /*#__PURE__*/function () {
49
+ function PortalManager() {
50
+ var initialBuckets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_INITIAL_BUCKETS;
51
+ var maxBucketCapacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_MAX_BUCKET_CAPACITY;
52
+ var scaleRatio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_SCALE_RATIO;
53
+ _classCallCheck(this, PortalManager);
54
+ this.maxBucketCapacity = maxBucketCapacity;
55
+ this.scaleRatio = scaleRatio;
56
+
57
+ // Initialise buckets array by creating an array of length `initialBuckets` containing empty buckets
58
+ this.buckets = Array.from({
59
+ length: initialBuckets
60
+ }, function () {
61
+ return createEmptyBucket(maxBucketCapacity);
62
+ });
63
+ this.portalToBucketMap = new Map();
64
+ this.availableBuckets = new Set(Array.from({
65
+ length: initialBuckets
66
+ }, function (_, i) {
67
+ return i;
68
+ }));
69
+ this.portalRendererUpdater = null;
70
+ this.scaleCapacityThreshold = maxBucketCapacity / 2;
71
+ }
72
+ _createClass(PortalManager, [{
73
+ key: "getCurrentBucket",
74
+ value: function getCurrentBucket() {
75
+ return this.availableBuckets.values().next().value;
76
+ }
77
+ }, {
78
+ key: "createBucket",
79
+ value: function createBucket() {
80
+ var _this$portalRendererU;
81
+ var currentBucket = this.getCurrentBucket();
82
+
83
+ //If the current bucket has capacity, skip this logic
84
+ if (this.buckets[currentBucket].capacity > 0) {
85
+ return;
86
+ } else {
87
+ // The current bucket is full, delete the bucket from the list of available buckets
88
+ this.availableBuckets.delete(currentBucket);
89
+ }
90
+
91
+ // Skip creating new bucket if there are buckets still available
92
+ if (this.availableBuckets.size > 0) {
93
+ return;
94
+ }
95
+
96
+ // Scale the buckets up only if there are no available buckets left
97
+ // Calculate how many new buckets need to be added
98
+ var numBucketsToAdd = Math.floor(this.buckets.length * this.scaleRatio);
99
+ this.buckets = _toConsumableArray(this.buckets);
100
+ for (var i = 0; i < numBucketsToAdd; i++) {
101
+ this.buckets.push(createEmptyBucket(this.maxBucketCapacity));
102
+ this.availableBuckets.add(this.buckets.length - 1);
103
+ }
104
+ (_this$portalRendererU = this.portalRendererUpdater) === null || _this$portalRendererU === void 0 || _this$portalRendererU.call(this, this.buckets);
105
+ }
106
+ }, {
107
+ key: "getBuckets",
108
+ value: function getBuckets() {
109
+ return this.buckets;
110
+ }
111
+ }, {
112
+ key: "registerBucket",
113
+ value: function registerBucket(id, updater) {
114
+ var _this$buckets$id$upda,
115
+ _this$buckets$id,
116
+ _this = this;
117
+ this.buckets[id].updater = updater;
118
+ (_this$buckets$id$upda = (_this$buckets$id = this.buckets[id]).updater) === null || _this$buckets$id$upda === void 0 || _this$buckets$id$upda.call(_this$buckets$id, function () {
119
+ return _objectSpread({}, _this.buckets[id].portals);
120
+ });
121
+ }
122
+ }, {
123
+ key: "unregisterBucket",
124
+ value: function unregisterBucket(id) {
125
+ this.buckets[id].updater = null;
126
+ }
127
+ }, {
128
+ key: "updateBuckets",
129
+ value: function updateBuckets(id) {
130
+ var _this$buckets$id$upda2,
131
+ _this$buckets$id2,
132
+ _this2 = this;
133
+ (_this$buckets$id$upda2 = (_this$buckets$id2 = this.buckets[id]).updater) === null || _this$buckets$id$upda2 === void 0 || _this$buckets$id$upda2.call(_this$buckets$id2, function () {
134
+ // new object is required to trigger react updates
135
+ return _objectSpread({}, _this2.buckets[id].portals);
136
+ });
137
+ }
138
+ }, {
139
+ key: "registerPortal",
140
+ value: function registerPortal(key, portal) {
141
+ var _this$portalToBucketM,
142
+ _this3 = this;
143
+ this.createBucket();
144
+ this.buckets[this.getCurrentBucket()].capacity -= 1;
145
+ var id = (_this$portalToBucketM = this.portalToBucketMap.get(key)) !== null && _this$portalToBucketM !== void 0 ? _this$portalToBucketM : this.getCurrentBucket();
146
+ this.portalToBucketMap.set(key, id);
147
+ if (this.buckets[id].portals[key] !== portal) {
148
+ this.buckets[id].portals[key] = portal;
149
+ this.updateBuckets(id);
150
+ }
151
+
152
+ //returns a function to unregister the portal
153
+ return function () {
154
+ delete _this3.buckets[id].portals[key];
155
+ _this3.portalToBucketMap.delete(key);
156
+ _this3.buckets[id].capacity += 1;
157
+ if (_this3.buckets[id].capacity > _this3.scaleCapacityThreshold) {
158
+ _this3.availableBuckets.add(id);
159
+ }
160
+ _this3.updateBuckets(id);
161
+ };
162
+ }
163
+ }, {
164
+ key: "registerPortalRenderer",
165
+ value: function registerPortalRenderer(updater) {
166
+ var _this4 = this;
167
+ if (!this.portalRendererUpdater) {
168
+ updater(function () {
169
+ return _this4.buckets;
170
+ });
171
+ }
172
+ this.portalRendererUpdater = updater;
173
+ }
174
+ }, {
175
+ key: "unregisterPortalRenderer",
176
+ value: function unregisterPortalRenderer() {
177
+ this.portalRendererUpdater = null;
178
+ }
179
+
180
+ /**
181
+ * Cleans up resources used by the PortalManager. This includes clearing all portals,
182
+ * unregistering all buckets, and resetting internal state.
183
+ */
184
+ }, {
185
+ key: "destroy",
186
+ value: function destroy() {
187
+ var _this5 = this;
188
+ // Iterate through each bucket and clear its portals and unset the updater function
189
+ this.buckets.forEach(function (bucket, id) {
190
+ bucket.portals = {}; // Clearing all portals from the bucket
191
+ bucket.updater = null; // Unsetting the bucket's updater function
192
+ _this5.availableBuckets.add(id); // Mark all buckets as available
193
+ });
194
+ this.portalToBucketMap.clear();
195
+ this.portalRendererUpdater = null;
196
+ this.availableBuckets = new Set(this.buckets.map(function (_, index) {
197
+ return index;
198
+ }));
199
+ }
200
+ }]);
201
+ return PortalManager;
202
+ }();
@@ -0,0 +1,3 @@
1
+ export { PortalManager } from './PortalManager';
2
+ export { PortalBucket } from './PortalBucket';
3
+ export { usePortalProvider } from './usePortalProvider';
@@ -0,0 +1,70 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useEffect, useLayoutEffect, useMemo, useState } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { PortalBucket } from './PortalBucket';
5
+ import { PortalManager } from './PortalManager';
6
+ function createPortalRendererComponent(portalManager) {
7
+ return function PortalRenderer() {
8
+ var _useState = useState(portalManager.getBuckets()),
9
+ _useState2 = _slicedToArray(_useState, 2),
10
+ buckets = _useState2[0],
11
+ setBuckets = _useState2[1];
12
+ useLayoutEffect(function () {
13
+ portalManager.registerPortalRenderer(setBuckets);
14
+ return function () {
15
+ portalManager.unregisterPortalRenderer();
16
+ };
17
+ }, []);
18
+ var portalsElements = useMemo(function () {
19
+ return buckets.map(function (_, i) {
20
+ return /*#__PURE__*/React.createElement(PortalBucket, {
21
+ key: i,
22
+ id: i,
23
+ portalManager: portalManager
24
+ });
25
+ });
26
+ }, [buckets]);
27
+ return /*#__PURE__*/React.createElement(React.Fragment, null, portalsElements);
28
+ };
29
+ }
30
+
31
+ /**
32
+ * Initializes PortalManager and creates PortalRendererComponent. Offers an API (portalProviderAPI) for managing portals.
33
+ * @returns {[PortalProviderAPI, PortalRendererComponent]} An array containing two elements:
34
+ * 1. portalProviderAPI: An object providing an API for rendering and removing portals.
35
+ * 2. PortalRenderer: A React component responsible for rendering the portal content.
36
+ */
37
+ export function usePortalProvider() {
38
+ var portalManager = useMemo(function () {
39
+ return new PortalManager();
40
+ }, []);
41
+ var PortalRenderer = useMemo(function () {
42
+ return createPortalRendererComponent(portalManager);
43
+ }, [portalManager]);
44
+ var portalProviderAPI = useMemo(function () {
45
+ var portalsMap = new Map();
46
+ return {
47
+ render: function render(key, children, container) {
48
+ var portal = /*#__PURE__*/createPortal(children(), container, key);
49
+ portalsMap.set(key, portalManager.registerPortal(key, portal));
50
+ },
51
+ remove: function remove(key) {
52
+ var _portalsMap$get;
53
+ (_portalsMap$get = portalsMap.get(key)) === null || _portalsMap$get === void 0 || _portalsMap$get();
54
+ portalsMap.delete(key);
55
+ },
56
+ destroy: function destroy() {
57
+ portalsMap.clear();
58
+ portalManager.destroy();
59
+ }
60
+ };
61
+ }, [portalManager]);
62
+
63
+ // Cleanup on unmount
64
+ useEffect(function () {
65
+ return function () {
66
+ portalProviderAPI.destroy();
67
+ };
68
+ }, [portalManager, portalProviderAPI]);
69
+ return [portalProviderAPI, PortalRenderer];
70
+ }
@@ -15,7 +15,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
15
15
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
16
16
  import Layer from '../Layer';
17
17
  var packageName = "@atlaskit/editor-common";
18
- var packageVersion = "78.33.4";
18
+ var packageVersion = "78.35.0";
19
19
  var halfFocusRing = 1;
20
20
  var dropOffset = '0, 8';
21
21
  var DropList = /*#__PURE__*/function (_Component) {
@@ -1,10 +1,23 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
5
+ import { TextSelection } from '@atlaskit/editor-prosemirror/state';
4
6
  import { findParentNodeOfType, findParentNodeOfTypeClosestToPos, safeInsert } from '@atlaskit/editor-prosemirror/utils';
5
7
  import { isListNode } from './list';
8
+
9
+ // Taken from `editor-plugin-content-insertion`
10
+ function setSelectionToValidTextNode(tr, node, from) {
11
+ var sliceInserted = Slice.maxOpen(Fragment.from(node));
12
+ var openPosition = Math.min(from + (node.isAtom ? node.nodeSize : sliceInserted.openStart), tr.doc.content.size);
13
+ var FORWARD_DIRECTION = 1;
14
+ var nextSelection = TextSelection.findFrom(tr.doc.resolve(openPosition), FORWARD_DIRECTION, true);
15
+ if (nextSelection) {
16
+ return tr.setSelection(nextSelection);
17
+ }
18
+ }
6
19
  export function transformNodeIntoListItem(tr, node) {
7
- var _tr$doc$nodeAt, _findParentNodeOfType;
20
+ var _tr$doc$nodeAt;
8
21
  var _tr$selection = tr.selection,
9
22
  $to = _tr$selection.$to,
10
23
  $from = _tr$selection.$from,
@@ -63,6 +76,9 @@ export function transformNodeIntoListItem(tr, node) {
63
76
  var indexOfNextListItem = $to.indexAfter($to.depth - listItemWrappingOffset);
64
77
  var positionOfNextListItem = tr.doc.resolve(selectionParentListNodeWithPos.pos + 1).posAtIndex(indexOfNextListItem);
65
78
 
79
+ // Place the selection at the replaced location
80
+ setSelectionToValidTextNode(tr, node, from);
81
+
66
82
  // Find the ordered list node after the pasted content so we can set it's order
67
83
  var mappedPositionOfNextListItem = tr.mapping.map(positionOfNextListItem);
68
84
  if (mappedPositionOfNextListItem > tr.doc.nodeSize) {
@@ -72,10 +88,14 @@ export function transformNodeIntoListItem(tr, node) {
72
88
 
73
89
  // Work out the new split out lists 'order' (the number it starts from)
74
90
  var originalParentOrderedListNodeOrder = selectionParentListNode === null || selectionParentListNode === void 0 ? void 0 : selectionParentListNode.attrs.order;
75
- var numOfListItemsInOriginalList = (_findParentNodeOfType = findParentNodeOfTypeClosestToPos(tr.doc.resolve(from - 1), [orderedList])) === null || _findParentNodeOfType === void 0 ? void 0 : _findParentNodeOfType.node.childCount;
91
+ var nodeOfOriginalList = findParentNodeOfTypeClosestToPos(tr.doc.resolve(from - 1), [orderedList]);
92
+ var numOfListItemsInOriginalList = nodeOfOriginalList === null || nodeOfOriginalList === void 0 ? void 0 : nodeOfOriginalList.node.childCount;
76
93
 
77
94
  // Set the new split out lists order attribute
78
- if (typeof originalParentOrderedListNodeOrder === 'number' && numOfListItemsInOriginalList && nodeAfterPastedContentResolvedPos) {
95
+ if (typeof originalParentOrderedListNodeOrder === 'number' && numOfListItemsInOriginalList && nodeAfterPastedContentResolvedPos &&
96
+ // We only want to apply the node markup if we're referring to the split
97
+ // list rather than the original
98
+ (nodeOfOriginalList === null || nodeOfOriginalList === void 0 ? void 0 : nodeOfOriginalList.node) !== (nodeAfterPastedContentResolvedPos === null || nodeAfterPastedContentResolvedPos === void 0 ? void 0 : nodeAfterPastedContentResolvedPos.node)) {
79
99
  tr.setNodeMarkup(nodeAfterPastedContentResolvedPos.pos, orderedList, _objectSpread(_objectSpread({}, nodeAfterPastedContentResolvedPos.node.attrs), {}, {
80
100
  order: originalParentOrderedListNodeOrder + numOfListItemsInOriginalList
81
101
  }));
@@ -12,6 +12,7 @@ declare const _default: {
12
12
  'fabric.editor.addColumnRight': string;
13
13
  'fabric.editor.addCommentOnMedia': string;
14
14
  'fabric.editor.addImageBorder': string;
15
+ 'fabric.editor.addLoomVideo': string;
15
16
  'fabric.editor.addMediaFiles': string;
16
17
  'fabric.editor.addRowAbove': string;
17
18
  'fabric.editor.addRowBelow': string;
@@ -92,6 +93,9 @@ declare const _default: {
92
93
  'fabric.editor.customPanel.description': string;
93
94
  'fabric.editor.datasource.assetsObjects': string;
94
95
  'fabric.editor.datasource.assetsObjects.description': string;
96
+ 'fabric.editor.datasource.assetsObjectsGeneralAvailability': string;
97
+ 'fabric.editor.datasource.confluenceSearch': string;
98
+ 'fabric.editor.datasource.confluenceSearch.description': string;
95
99
  'fabric.editor.datasource.jiraIssue': string;
96
100
  'fabric.editor.datasource.jiraIssue.description': string;
97
101
  'fabric.editor.datasourceAppearanceTitle': string;
@@ -101,6 +105,7 @@ declare const _default: {
101
105
  'fabric.editor.decision': string;
102
106
  'fabric.editor.decision.description': string;
103
107
  'fabric.editor.decisionPlaceholder': string;
108
+ 'fabric.editor.decreaseColumnSize': string;
104
109
  'fabric.editor.decreaseSize': string;
105
110
  'fabric.editor.defaultAltText': string;
106
111
  'fabric.editor.description': string;
@@ -221,6 +226,7 @@ declare const _default: {
221
226
  'fabric.editor.imageBorderSize': string;
222
227
  'fabric.editor.imageBorderSubtle': string;
223
228
  'fabric.editor.improvement': string;
229
+ 'fabric.editor.increaseColumnSize': string;
224
230
  'fabric.editor.increaseSize': string;
225
231
  'fabric.editor.indent': string;
226
232
  'fabric.editor.info': string;
@@ -328,6 +334,7 @@ declare const _default: {
328
334
  'fabric.editor.rowDragHandle': string;
329
335
  'fabric.editor.saveButton': string;
330
336
  'fabric.editor.searchResults': string;
337
+ 'fabric.editor.selectColumnResize': string;
331
338
  'fabric.editor.selectLanguage': string;
332
339
  'fabric.editor.selectTableColumn': string;
333
340
  'fabric.editor.selectTableRow': string;
@@ -411,10 +418,13 @@ declare const _default: {
411
418
  'fabric.editor.unsupportedBlockContent': string;
412
419
  'fabric.editor.unsupportedContentTooltip': string;
413
420
  'fabric.editor.unsupportedInlineContent': string;
421
+ 'fabric.editor.upDown': string;
414
422
  'fabric.editor.url': string;
415
423
  'fabric.editor.urlDescription': string;
416
424
  'fabric.editor.urlTitle': string;
417
425
  'fabric.editor.useMarkdown': string;
426
+ 'fabric.editor.viewAndAddCommentsOnMedia': string;
427
+ 'fabric.editor.viewCommentOnMedia': string;
418
428
  'fabric.editor.viewMore': string;
419
429
  'fabric.editor.visit': string;
420
430
  'fabric.editor.warning': string;