@formicoidea/labre-core 0.39.3 → 0.41.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 (449) hide show
  1. package/dist/_pkgs/affine-block-attachment/attachment-block.js +7 -2
  2. package/dist/_pkgs/affine-block-attachment/components/rename-model.js +3 -2
  3. package/dist/_pkgs/affine-block-attachment/configs/slash-menu.js +7 -0
  4. package/dist/_pkgs/affine-block-attachment/configs/toolbar.js +11 -3
  5. package/dist/_pkgs/affine-block-attachment/configs/tooltips.js +4 -4
  6. package/dist/_pkgs/affine-block-attachment/translations.d.ts +49 -0
  7. package/dist/_pkgs/affine-block-attachment/translations.js +98 -0
  8. package/dist/_pkgs/affine-block-attachment/utils.js +9 -6
  9. package/dist/_pkgs/affine-block-bookmark/components/bookmark-card.js +13 -6
  10. package/dist/_pkgs/affine-block-bookmark/configs/slash-menu.js +6 -1
  11. package/dist/_pkgs/affine-block-bookmark/configs/toolbar.js +9 -1
  12. package/dist/_pkgs/affine-block-bookmark/configs/tooltips.js +2 -2
  13. package/dist/_pkgs/affine-block-bookmark/translations.d.ts +26 -0
  14. package/dist/_pkgs/affine-block-bookmark/translations.js +55 -0
  15. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +4 -0
  16. package/dist/_pkgs/affine-block-callout/configs/tooltips.js +2 -2
  17. package/dist/_pkgs/affine-block-callout/emoji-margin.js +19 -11
  18. package/dist/_pkgs/affine-block-callout/translations.d.ts +16 -0
  19. package/dist/_pkgs/affine-block-callout/translations.js +24 -0
  20. package/dist/_pkgs/affine-block-code/code-block.js +6 -3
  21. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +4 -2
  22. package/dist/_pkgs/affine-block-code/code-toolbar/components/lang-button.js +3 -2
  23. package/dist/_pkgs/affine-block-code/code-toolbar/components/preview-button.js +4 -3
  24. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +116 -72
  25. package/dist/_pkgs/affine-block-code/translations.d.ts +30 -0
  26. package/dist/_pkgs/affine-block-code/translations.js +84 -0
  27. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +2 -2
  28. package/dist/_pkgs/affine-block-embed/common/render-linked-doc.js +7 -6
  29. package/dist/_pkgs/affine-block-embed/configs/toolbar.js +11 -2
  30. package/dist/_pkgs/affine-block-embed/embed-html-block/components/fullscreen-toolbar.js +4 -3
  31. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/toolbar.js +5 -1
  32. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/tooltips.js +14 -14
  33. package/dist/_pkgs/affine-block-embed/embed-html-block/embed-html-block.js +7 -1
  34. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +11 -4
  35. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.d.ts +2 -0
  36. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.js +13 -3
  37. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-edit-popup.js +4 -2
  38. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-base.js +8 -5
  39. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-popup.js +21 -5
  40. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-loading-card.js +4 -1
  41. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/slash-menu/slash-menu.js +4 -0
  42. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.d.ts +2 -0
  43. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +6 -1
  44. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +3 -1
  45. package/dist/_pkgs/affine-block-embed/translations.d.ts +46 -0
  46. package/dist/_pkgs/affine-block-embed/translations.js +114 -0
  47. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/slash-menu.js +7 -0
  48. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +29 -12
  49. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/tooltips.js +4 -4
  50. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +10 -4
  51. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/components/embed-synced-doc-card.js +8 -4
  52. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +28 -13
  53. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-edgeless-synced-doc-block.js +3 -2
  54. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +3 -2
  55. package/dist/_pkgs/affine-block-embed-doc/translations.d.ts +40 -0
  56. package/dist/_pkgs/affine-block-embed-doc/translations.js +85 -0
  57. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-dense-menu.js +29 -22
  58. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-menu.js +5 -1
  59. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-tool-button.js +2 -1
  60. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/presentation-toolbar.js +12 -9
  61. package/dist/_pkgs/affine-block-frame/frame-manager.js +8 -2
  62. package/dist/_pkgs/affine-block-frame/frame-tool.js +7 -2
  63. package/dist/_pkgs/affine-block-frame/frame-toolbar.js +12 -6
  64. package/dist/_pkgs/affine-block-frame/index.d.ts +1 -0
  65. package/dist/_pkgs/affine-block-frame/index.js +1 -0
  66. package/dist/_pkgs/affine-block-frame/present/frame-order-button.js +5 -1
  67. package/dist/_pkgs/affine-block-frame/present/navigator-setting-button.js +16 -6
  68. package/dist/_pkgs/affine-block-frame/present/present-button.js +3 -1
  69. package/dist/_pkgs/affine-block-frame/translations.d.ts +64 -0
  70. package/dist/_pkgs/affine-block-frame/translations.js +131 -0
  71. package/dist/_pkgs/affine-block-image/components/page-image-block.js +5 -2
  72. package/dist/_pkgs/affine-block-image/configs/slash-menu.js +4 -0
  73. package/dist/_pkgs/affine-block-image/configs/toolbar.js +7 -1
  74. package/dist/_pkgs/affine-block-image/configs/tooltips.js +1 -1
  75. package/dist/_pkgs/affine-block-image/image-block.js +3 -2
  76. package/dist/_pkgs/affine-block-image/image-edgeless-block.js +6 -3
  77. package/dist/_pkgs/affine-block-image/preview-image/page.js +5 -1
  78. package/dist/_pkgs/affine-block-image/translations.d.ts +35 -0
  79. package/dist/_pkgs/affine-block-image/translations.js +68 -0
  80. package/dist/_pkgs/affine-block-image/utils.js +9 -8
  81. package/dist/_pkgs/affine-block-latex/configs/slash-menu.d.ts +8 -0
  82. package/dist/_pkgs/affine-block-latex/configs/slash-menu.js +19 -3
  83. package/dist/_pkgs/affine-block-latex/latex-block.js +6 -2
  84. package/dist/_pkgs/affine-block-latex/translations.d.ts +35 -0
  85. package/dist/_pkgs/affine-block-latex/translations.js +60 -0
  86. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.d.ts +9 -0
  87. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.js +23 -6
  88. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.d.ts +4 -1
  89. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.js +26 -6
  90. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.d.ts +3 -0
  91. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.js +21 -10
  92. package/dist/_pkgs/affine-block-note/components/edgeless-note-style-panel.js +22 -8
  93. package/dist/_pkgs/affine-block-note/configs/slash-menu.js +13 -0
  94. package/dist/_pkgs/affine-block-note/configs/toolbar.js +26 -19
  95. package/dist/_pkgs/affine-block-note/configs/tooltips.d.ts +16 -0
  96. package/dist/_pkgs/affine-block-note/configs/tooltips.js +150 -90
  97. package/dist/_pkgs/affine-block-note/move-block.js +8 -2
  98. package/dist/_pkgs/affine-block-note/translations.d.ts +91 -0
  99. package/dist/_pkgs/affine-block-note/translations.js +253 -0
  100. package/dist/_pkgs/affine-block-paragraph/paragraph-block.js +7 -2
  101. package/dist/_pkgs/affine-block-paragraph/styles.js +30 -83
  102. package/dist/_pkgs/affine-block-paragraph/translations.d.ts +31 -0
  103. package/dist/_pkgs/affine-block-paragraph/translations.js +44 -0
  104. package/dist/_pkgs/affine-block-paragraph/turbo/paragraph-layout-handler.js +1 -0
  105. package/dist/_pkgs/affine-block-paragraph/turbo/paragraph-painter.worker.d.ts +2 -0
  106. package/dist/_pkgs/affine-block-paragraph/turbo/paragraph-painter.worker.js +6 -1
  107. package/dist/_pkgs/affine-block-paragraph/view.js +6 -1
  108. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +3 -1
  109. package/dist/_pkgs/affine-block-root/configs/toolbar.js +6 -3
  110. package/dist/_pkgs/affine-block-root/edgeless/clipboard/utils.js +1 -1
  111. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/alignment.js +26 -4
  112. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.d.ts +14 -0
  113. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.js +10 -3
  114. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.d.ts +8 -0
  115. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -0
  116. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +15 -6
  117. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.d.ts +0 -1
  118. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.js +0 -1
  119. package/dist/_pkgs/affine-block-root/translations.d.ts +61 -0
  120. package/dist/_pkgs/affine-block-root/translations.js +172 -0
  121. package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +3 -1
  122. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +1 -0
  123. package/dist/_pkgs/affine-block-surface/extensions/index.js +1 -0
  124. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +31 -12
  125. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +40 -8
  126. package/dist/_pkgs/affine-block-surface/extensions/interchange.js +27 -0
  127. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +2 -2
  128. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +5 -2
  129. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +3 -2
  130. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +48 -0
  131. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +120 -0
  132. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +36 -23
  133. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +5 -5
  134. package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +4 -1
  135. package/dist/_pkgs/affine-block-surface/framework-background/def.js +6 -2
  136. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.d.ts +2 -1
  137. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.js +21 -6
  138. package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +24 -7
  139. package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
  140. package/dist/_pkgs/affine-block-surface-ref/index.d.ts +1 -0
  141. package/dist/_pkgs/affine-block-surface-ref/index.js +1 -0
  142. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block-edgeless.js +1 -0
  143. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block.js +1 -0
  144. package/dist/_pkgs/affine-block-surface-ref/translations.d.ts +83 -0
  145. package/dist/_pkgs/affine-block-surface-ref/translations.js +175 -0
  146. package/dist/_pkgs/affine-block-surface-ref/utils.d.ts +8 -1
  147. package/dist/_pkgs/affine-block-surface-ref/utils.js +12 -4
  148. package/dist/_pkgs/affine-components/caption/block-caption.js +3 -1
  149. package/dist/_pkgs/affine-components/card-style-dropdown-menu/dropdown-menu.js +4 -3
  150. package/dist/_pkgs/affine-components/citation/citation.d.ts +2 -0
  151. package/dist/_pkgs/affine-components/citation/citation.js +19 -3
  152. package/dist/_pkgs/affine-components/color-picker/button.d.ts +6 -0
  153. package/dist/_pkgs/affine-components/color-picker/button.js +15 -1
  154. package/dist/_pkgs/affine-components/color-picker/color-panel.d.ts +8 -0
  155. package/dist/_pkgs/affine-components/color-picker/color-panel.js +17 -2
  156. package/dist/_pkgs/affine-components/color-picker/color-picker.d.ts +4 -0
  157. package/dist/_pkgs/affine-components/color-picker/color-picker.js +27 -3
  158. package/dist/_pkgs/affine-components/color-picker/types.d.ts +21 -0
  159. package/dist/_pkgs/affine-components/color-picker/utils.d.ts +28 -2
  160. package/dist/_pkgs/affine-components/color-picker/utils.js +32 -0
  161. package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -0
  162. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +34 -7
  163. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.d.ts +2 -0
  164. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.js +21 -2
  165. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.d.ts +2 -0
  166. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.js +18 -2
  167. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +2 -0
  168. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +34 -5
  169. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-create-modal.js +5 -4
  170. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +11 -9
  171. package/dist/_pkgs/affine-components/filterable-list/index.d.ts +2 -0
  172. package/dist/_pkgs/affine-components/filterable-list/index.js +17 -2
  173. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.d.ts +3 -0
  174. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.js +40 -7
  175. package/dist/_pkgs/affine-components/icon-button/index.d.ts +1 -1
  176. package/dist/_pkgs/affine-components/icon-button/index.js +1 -1
  177. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +6 -0
  178. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +42 -7
  179. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +4 -0
  180. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +35 -5
  181. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +2 -0
  182. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +22 -5
  183. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.d.ts +2 -0
  184. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.js +16 -3
  185. package/dist/_pkgs/affine-components/notification/linked-doc.js +5 -4
  186. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.js +7 -4
  187. package/dist/_pkgs/affine-components/resource/resource.d.ts +16 -1
  188. package/dist/_pkgs/affine-components/resource/resource.js +19 -4
  189. package/dist/_pkgs/affine-components/resource/status.d.ts +2 -0
  190. package/dist/_pkgs/affine-components/resource/status.js +27 -12
  191. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.d.ts +4 -1
  192. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +23 -4
  193. package/dist/_pkgs/affine-components/toast/toast.d.ts +1 -1
  194. package/dist/_pkgs/affine-components/toast/toast.js +1 -1
  195. package/dist/_pkgs/affine-components/toggle-button/toggle-button.d.ts +3 -0
  196. package/dist/_pkgs/affine-components/toggle-button/toggle-button.js +18 -3
  197. package/dist/_pkgs/affine-components/toolbar/icon-button.d.ts +2 -0
  198. package/dist/_pkgs/affine-components/toolbar/icon-button.js +18 -2
  199. package/dist/_pkgs/affine-components/toolbar/tooltip.d.ts +3 -3
  200. package/dist/_pkgs/affine-components/toolbar/tooltip.js +3 -3
  201. package/dist/_pkgs/affine-components/translations.d.ts +141 -0
  202. package/dist/_pkgs/affine-components/translations.js +478 -0
  203. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.d.ts +3 -0
  204. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.js +12 -1
  205. package/dist/_pkgs/affine-fragment-adapter-panel/body/adapter-panel-body.js +4 -3
  206. package/dist/_pkgs/affine-fragment-adapter-panel/config.d.ts +13 -0
  207. package/dist/_pkgs/affine-fragment-adapter-panel/config.js +18 -4
  208. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-menu.js +2 -2
  209. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-panel-header.js +2 -2
  210. package/dist/_pkgs/affine-fragment-adapter-panel/translations.d.ts +24 -0
  211. package/dist/_pkgs/affine-fragment-adapter-panel/translations.js +37 -0
  212. package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +1 -0
  213. package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +9 -1
  214. package/dist/_pkgs/affine-fragment-doc-title/translations.d.ts +13 -0
  215. package/dist/_pkgs/affine-fragment-doc-title/translations.js +17 -0
  216. package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +3 -2
  217. package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +10 -4
  218. package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +18 -6
  219. package/dist/_pkgs/affine-fragment-frame-panel/translations.d.ts +16 -0
  220. package/dist/_pkgs/affine-fragment-frame-panel/translations.js +44 -0
  221. package/dist/_pkgs/affine-fragment-outline/body/outline-notice.js +10 -4
  222. package/dist/_pkgs/affine-fragment-outline/body/outline-panel-body.js +6 -3
  223. package/dist/_pkgs/affine-fragment-outline/card/outline-card.js +13 -6
  224. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.d.ts +1 -0
  225. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.js +16 -9
  226. package/dist/_pkgs/affine-fragment-outline/config.d.ts +1 -20
  227. package/dist/_pkgs/affine-fragment-outline/config.js +8 -23
  228. package/dist/_pkgs/affine-fragment-outline/header/outline-panel-header.js +10 -3
  229. package/dist/_pkgs/affine-fragment-outline/header/outline-setting-menu.js +9 -2
  230. package/dist/_pkgs/affine-fragment-outline/outline-viewer.js +6 -3
  231. package/dist/_pkgs/affine-fragment-outline/translations.d.ts +54 -0
  232. package/dist/_pkgs/affine-fragment-outline/translations.js +110 -0
  233. package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/eraser-tool-button.js +3 -2
  234. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.d.ts +3 -0
  235. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.js +3 -0
  236. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-menu.js +5 -4
  237. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +3 -2
  238. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +4 -2
  239. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +4 -2
  240. package/dist/_pkgs/affine-gfx-brush/translations.d.ts +17 -0
  241. package/dist/_pkgs/affine-gfx-brush/translations.js +30 -0
  242. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +8 -1
  243. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +7 -1
  244. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +3 -2
  245. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +4 -1
  246. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +24 -10
  247. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-dense-menu.js +7 -5
  248. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-menu.js +8 -6
  249. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-tool-button.js +4 -3
  250. package/dist/_pkgs/affine-gfx-connector/translations.d.ts +32 -0
  251. package/dist/_pkgs/affine-gfx-connector/translations.js +79 -0
  252. package/dist/_pkgs/affine-gfx-group/command/group-api.js +6 -1
  253. package/dist/_pkgs/affine-gfx-group/index.d.ts +1 -0
  254. package/dist/_pkgs/affine-gfx-group/index.js +1 -0
  255. package/dist/_pkgs/affine-gfx-group/toolbar/config.d.ts +6 -2
  256. package/dist/_pkgs/affine-gfx-group/toolbar/config.js +9 -4
  257. package/dist/_pkgs/affine-gfx-group/translations.d.ts +24 -0
  258. package/dist/_pkgs/affine-gfx-group/translations.js +33 -0
  259. package/dist/_pkgs/affine-gfx-link/toolbar/undo-dense-menu.js +2 -1
  260. package/dist/_pkgs/affine-gfx-link/toolbar/undo-tool-button.js +2 -1
  261. package/dist/_pkgs/affine-gfx-mindmap/index.d.ts +1 -0
  262. package/dist/_pkgs/affine-gfx-mindmap/index.js +1 -0
  263. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +628 -577
  264. package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +7 -3
  265. package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +9 -1
  266. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.d.ts +4 -0
  267. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.js +70 -7
  268. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +8 -5
  269. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +4 -2
  270. package/dist/_pkgs/affine-gfx-mindmap/toolbar/senior-tool.js +7 -2
  271. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.d.ts +2 -1
  272. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +16 -8
  273. package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +84 -0
  274. package/dist/_pkgs/affine-gfx-mindmap/translations.js +171 -0
  275. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.d.ts +8 -0
  276. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.js +24 -9
  277. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.d.ts +9 -0
  278. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.js +28 -8
  279. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.d.ts +2 -1
  280. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.js +42 -73
  281. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu.js +21 -17
  282. package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +3 -2
  283. package/dist/_pkgs/affine-gfx-note/toolbar/note-tool-button.js +3 -1
  284. package/dist/_pkgs/affine-gfx-note/toolbar/senior-tool.js +3 -1
  285. package/dist/_pkgs/affine-gfx-note/translations.d.ts +27 -0
  286. package/dist/_pkgs/affine-gfx-note/translations.js +59 -0
  287. package/dist/_pkgs/affine-gfx-pointer/quick-tool/default-tool-button.js +10 -2
  288. package/dist/_pkgs/affine-gfx-pointer/translations.d.ts +9 -0
  289. package/dist/_pkgs/affine-gfx-pointer/translations.js +17 -0
  290. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.d.ts +4 -0
  291. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.js +17 -3
  292. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.d.ts +4 -0
  293. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.js +23 -5
  294. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.d.ts +0 -1
  295. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.js +6 -46
  296. package/dist/_pkgs/affine-gfx-shape/draggable/shape-tool-button.js +3 -1
  297. package/dist/_pkgs/affine-gfx-shape/toolbar/config.d.ts +2 -0
  298. package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +29 -8
  299. package/dist/_pkgs/affine-gfx-shape/toolbar/senior-tool.js +2 -0
  300. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.d.ts +3 -0
  301. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.js +7 -0
  302. package/dist/_pkgs/affine-gfx-shape/translations.d.ts +37 -0
  303. package/dist/_pkgs/affine-gfx-shape/translations.js +93 -0
  304. package/dist/_pkgs/affine-gfx-template/builtin/other.js +101 -56
  305. package/dist/_pkgs/affine-gfx-template/contribute.js +8 -1
  306. package/dist/_pkgs/affine-gfx-template/index.d.ts +2 -0
  307. package/dist/_pkgs/affine-gfx-template/index.js +2 -0
  308. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.d.ts +6 -1
  309. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +15 -5
  310. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.d.ts +1 -0
  311. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.js +12 -0
  312. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.d.ts +25 -0
  313. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.js +36 -0
  314. package/dist/_pkgs/affine-gfx-template/toolbar/senior-tool.js +3 -1
  315. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.d.ts +1 -0
  316. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +30 -8
  317. package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +41 -0
  318. package/dist/_pkgs/affine-gfx-template/translations.d.ts +71 -0
  319. package/dist/_pkgs/affine-gfx-template/translations.js +209 -0
  320. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +3 -2
  321. package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +1 -1
  322. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +22 -9
  323. package/dist/_pkgs/affine-gfx-text/toolbar/text-menu.js +1 -0
  324. package/dist/_pkgs/affine-gfx-text/translations.d.ts +31 -0
  325. package/dist/_pkgs/affine-gfx-text/translations.js +64 -0
  326. package/dist/_pkgs/affine-inline-footnote/footnote-node/footnote-popup.js +8 -2
  327. package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +5 -2
  328. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +7 -2
  329. package/dist/_pkgs/affine-inline-latex/translations.d.ts +13 -0
  330. package/dist/_pkgs/affine-inline-latex/translations.js +16 -0
  331. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.d.ts +3 -3
  332. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.js +6 -5
  333. package/dist/_pkgs/affine-inline-link/link-node/link-popup/link-popup.js +11 -5
  334. package/dist/_pkgs/affine-inline-link/translations.d.ts +23 -0
  335. package/dist/_pkgs/affine-inline-link/translations.js +44 -0
  336. package/dist/_pkgs/affine-inline-mention/affine-mention.js +11 -5
  337. package/dist/_pkgs/affine-inline-mention/translations.d.ts +16 -0
  338. package/dist/_pkgs/affine-inline-mention/translations.js +29 -0
  339. package/dist/_pkgs/affine-inline-preset/command/config.d.ts +3 -0
  340. package/dist/_pkgs/affine-inline-preset/command/config.js +8 -0
  341. package/dist/_pkgs/affine-inline-preset/markdown.d.ts +3 -0
  342. package/dist/_pkgs/affine-inline-preset/markdown.js +19 -0
  343. package/dist/_pkgs/affine-inline-preset/translations.d.ts +25 -0
  344. package/dist/_pkgs/affine-inline-preset/translations.js +28 -0
  345. package/dist/_pkgs/affine-inline-reference/reference-node/configs/toolbar.js +2 -2
  346. package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +3 -3
  347. package/dist/_pkgs/affine-inline-reference/reference-node/reference-popup/reference-popup.js +8 -6
  348. package/dist/_pkgs/affine-inline-reference/translations.d.ts +8 -0
  349. package/dist/_pkgs/affine-inline-reference/translations.js +13 -0
  350. package/dist/_pkgs/affine-rich-text/conversion.d.ts +13 -0
  351. package/dist/_pkgs/affine-rich-text/conversion.js +27 -0
  352. package/dist/_pkgs/affine-shared/adapters/clipboard/clipboard.js +1 -1
  353. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.d.ts +2 -1
  354. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.js +6 -3
  355. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -2
  356. package/dist/_pkgs/affine-shared/adapters/mix-text.js +5 -2
  357. package/dist/_pkgs/affine-shared/adapters/plain-text/plain-text.js +5 -2
  358. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  359. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  360. package/dist/_pkgs/affine-shared/adapters/utils/wording.d.ts +9 -0
  361. package/dist/_pkgs/affine-shared/adapters/utils/wording.js +12 -0
  362. package/dist/_pkgs/affine-shared/consts/heading.d.ts +29 -0
  363. package/dist/_pkgs/affine-shared/consts/heading.js +70 -0
  364. package/dist/_pkgs/affine-shared/consts/index.d.ts +2 -0
  365. package/dist/_pkgs/affine-shared/consts/index.js +2 -0
  366. package/dist/_pkgs/affine-shared/consts/notation.d.ts +67 -0
  367. package/dist/_pkgs/affine-shared/consts/notation.js +65 -0
  368. package/dist/_pkgs/affine-shared/services/comment-service/utils.js +2 -0
  369. package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +6 -3
  370. package/dist/_pkgs/affine-shared/services/notification-service.js +18 -1
  371. package/dist/_pkgs/affine-shared/services/open-doc-config.d.ts +0 -1
  372. package/dist/_pkgs/affine-shared/services/open-doc-config.js +0 -2
  373. package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +362 -0
  374. package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +955 -3
  375. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +40 -2
  376. package/dist/_pkgs/affine-shared/services/translation-service/index.js +44 -3
  377. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +83 -2
  378. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +92 -0
  379. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.d.ts +4 -0
  380. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.js +21 -8
  381. package/dist/_pkgs/affine-widget-drag-handle/helpers/preview-helper.js +1 -0
  382. package/dist/_pkgs/affine-widget-drag-handle/translations.d.ts +14 -0
  383. package/dist/_pkgs/affine-widget-drag-handle/translations.js +35 -0
  384. package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +4 -3
  385. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.d.ts +6 -0
  386. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.js +14 -0
  387. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +8 -5
  388. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +3 -2
  389. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +3 -1
  390. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.d.ts +17 -0
  391. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.js +30 -0
  392. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.d.ts +4 -0
  393. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.js +18 -2
  394. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +2 -2
  395. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.d.ts +2 -0
  396. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.js +3 -0
  397. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +18 -1
  398. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +8 -3
  399. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +38 -18
  400. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +2 -1
  401. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.d.ts +8 -0
  402. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +31 -8
  403. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +15 -0
  404. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +20 -0
  405. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.d.ts +7 -0
  406. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.js +23 -0
  407. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-bar-toggle-button.js +3 -1
  408. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-toolbar.js +5 -3
  409. package/dist/_pkgs/affine-widget-linked-doc/config.js +15 -10
  410. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.d.ts +12 -1
  411. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +27 -18
  412. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.d.ts +4 -1
  413. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.js +2 -2
  414. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +4 -1
  415. package/dist/_pkgs/affine-widget-linked-doc/mobile-linked-doc-menu.js +6 -2
  416. package/dist/_pkgs/affine-widget-linked-doc/transformers/html.js +3 -2
  417. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +3 -2
  418. package/dist/_pkgs/affine-widget-linked-doc/translations.d.ts +53 -0
  419. package/dist/_pkgs/affine-widget-linked-doc/translations.js +104 -0
  420. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +4 -1
  421. package/dist/_pkgs/affine-widget-remote-selection/translations.d.ts +12 -0
  422. package/dist/_pkgs/affine-widget-remote-selection/translations.js +12 -0
  423. package/dist/_pkgs/affine-widget-slash-menu/config.js +15 -0
  424. package/dist/_pkgs/affine-widget-slash-menu/index.d.ts +1 -0
  425. package/dist/_pkgs/affine-widget-slash-menu/index.js +1 -0
  426. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +30 -15
  427. package/dist/_pkgs/affine-widget-slash-menu/tooltips/copy.js +1 -1
  428. package/dist/_pkgs/affine-widget-slash-menu/tooltips/delete.js +2 -2
  429. package/dist/_pkgs/affine-widget-slash-menu/tooltips/index.js +9 -0
  430. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-down.js +2 -2
  431. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-up.js +2 -2
  432. package/dist/_pkgs/affine-widget-slash-menu/tooltips/now.js +3 -3
  433. package/dist/_pkgs/affine-widget-slash-menu/tooltips/today.js +2 -2
  434. package/dist/_pkgs/affine-widget-slash-menu/tooltips/tomorrow.js +3 -3
  435. package/dist/_pkgs/affine-widget-slash-menu/tooltips/yesterday.js +3 -3
  436. package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +91 -0
  437. package/dist/_pkgs/affine-widget-slash-menu/translations.js +175 -0
  438. package/dist/_pkgs/affine-widget-slash-menu/types.d.ts +18 -0
  439. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +20 -1
  440. package/dist/_pkgs/affine-widget-slash-menu/utils.js +37 -0
  441. package/dist/_pkgs/affine-widget-toolbar/translations.d.ts +9 -0
  442. package/dist/_pkgs/affine-widget-toolbar/translations.js +13 -0
  443. package/dist/_pkgs/affine-widget-toolbar/utils.js +2 -1
  444. package/dist/_pkgs/std/extension/translation-manifest.d.ts +7 -0
  445. package/dist/_pkgs/std/translations.d.ts +24 -0
  446. package/dist/_pkgs/std/translations.js +28 -0
  447. package/dist/_pkgs/std/view/element/block-component.js +24 -7
  448. package/dist/translations.js +144 -5
  449. package/package.json +1 -1
@@ -0,0 +1,175 @@
1
+ import { TOOLBAR_COPY, TOOLBAR_DELETE, TOOLBAR_DUPLICATE, TOOLBAR_MOVE_DOWN, TOOLBAR_MOVE_UP, } from '../affine-shared/services/index.js';
2
+ /**
3
+ * The slash menu's own wordings — one `ChromeWording` per static config
4
+ * literal (`name`, `description`, a tooltip's `caption`) that
5
+ * `defaultSlashMenuConfig` (`./config.ts`) and `slashMenuToolTips`
6
+ * (`./tooltips/index.ts`) render, plus one per group header the widget draws
7
+ * itself (`./config.ts`'s own `Date` and `Actions` groups).
8
+ *
9
+ * This is the DEMONSTRATOR of the "static config rendered by a widget"
10
+ * pattern (`packages/affine/shared/src/services/translation-service/README.md`):
11
+ * the toolbar precedent resolves `labelWording` / `tooltipWording` in
12
+ * `combine`; the slash menu resolves `nameWording` / `descriptionWording` /
13
+ * `captionWording` in `slash-menu-popover.ts`, at render.
14
+ *
15
+ * Only the items THIS package declares are converted here — every other
16
+ * package's `configs/slash-menu.ts` keeps its own English literals until its
17
+ * own lot converts them, and registers its own table the same way.
18
+ */
19
+ /* ── Date group ───────────────────────────────────────────────────────────
20
+ * One wording each: the item's `name` and its tooltip's `caption` say the
21
+ * exact same word ("Today" names the item AND captions its illustration), so
22
+ * one key serves both — the "un mot partagé = une clé" rule applied within a
23
+ * single item rather than across items.
24
+ */
25
+ export const SLASH_MENU_TODAY = [
26
+ 'com.labre.slash-menu.date.today',
27
+ 'Today',
28
+ ];
29
+ export const SLASH_MENU_TOMORROW = [
30
+ 'com.labre.slash-menu.date.tomorrow',
31
+ 'Tomorrow',
32
+ ];
33
+ export const SLASH_MENU_YESTERDAY = [
34
+ 'com.labre.slash-menu.date.yesterday',
35
+ 'Yesterday',
36
+ ];
37
+ export const SLASH_MENU_NOW = [
38
+ 'com.labre.slash-menu.date.now',
39
+ 'Now',
40
+ ];
41
+ /* ── Actions group ─────────────────────────────────────────────────────── */
42
+ /**
43
+ * "Move Up" and "Move Down" are shared with the note block's own move-up/down
44
+ * hotkey config (`packages/affine/blocks/note/src/move-block.ts`) — both this
45
+ * package and `blocks/note` are owned by the same lot, so the word moved to
46
+ * `chrome.ts` (`TOOLBAR_MOVE_UP` / `TOOLBAR_MOVE_DOWN`) rather than being
47
+ * declared here and reused there.
48
+ */
49
+ export const SLASH_MENU_MOVE_UP = TOOLBAR_MOVE_UP;
50
+ export const SLASH_MENU_MOVE_DOWN = TOOLBAR_MOVE_DOWN;
51
+ export const SLASH_MENU_MOVE_UP_DESCRIPTION = [
52
+ 'com.labre.slash-menu.actions.move-up.description',
53
+ 'Shift this line up.',
54
+ ];
55
+ export const SLASH_MENU_MOVE_DOWN_DESCRIPTION = [
56
+ 'com.labre.slash-menu.actions.move-down.description',
57
+ 'Shift this line down.',
58
+ ];
59
+ /**
60
+ * "Copy", "Duplicate" and "Delete" are the editor's shared verbs, already
61
+ * declared once for every toolbar in `chrome.ts`: one word, one key.
62
+ */
63
+ export const SLASH_MENU_COPY = TOOLBAR_COPY;
64
+ export const SLASH_MENU_DUPLICATE = TOOLBAR_DUPLICATE;
65
+ export const SLASH_MENU_DELETE = TOOLBAR_DELETE;
66
+ export const SLASH_MENU_COPY_DESCRIPTION = [
67
+ 'com.labre.slash-menu.actions.copy.description',
68
+ 'Copy this line to clipboard.',
69
+ ];
70
+ export const SLASH_MENU_DUPLICATE_DESCRIPTION = [
71
+ 'com.labre.slash-menu.actions.duplicate.description',
72
+ 'Create a duplicate of this line.',
73
+ ];
74
+ /**
75
+ * The tooltip Copy and Duplicate share (`config.ts` points both items at
76
+ * `slashMenuToolTips['Copy']`): one caption, one key, reused by both items —
77
+ * exactly the case `CHROME_WORDINGS`' own doc comment describes.
78
+ */
79
+ export const SLASH_MENU_COPY_DUPLICATE_CAPTION = [
80
+ 'com.labre.slash-menu.actions.copy-duplicate.caption',
81
+ 'Copy / Duplicate',
82
+ ];
83
+ export const SLASH_MENU_DELETE_DESCRIPTION = [
84
+ 'com.labre.slash-menu.actions.delete.description',
85
+ 'Remove this line permanently.',
86
+ ];
87
+ /* ── Group headers ─────────────────────────────────────────────────────── */
88
+ /**
89
+ * One `ChromeWording` per group header the slash menu can draw — a closed
90
+ * set inventoried across every `configs/slash-menu.ts` in the repo (`group:
91
+ * '<n>_<Name>@<i>'`, the `<Name>` between `_` and `@`):
92
+ *
93
+ * - `Basic` — callout, latex, note (paragraph/heading/list/quote/divider).
94
+ * - `Content & Media` — attachment, bookmark, image, latex, the generic embed
95
+ * (iframe) block, and (postponed, `blocks/table`) table.
96
+ * - `Page` — the linked-doc embed block.
97
+ * - `Edgeless Element` — surface-ref.
98
+ * - `Date`, `Actions` — this package's own groups (`./config.ts`).
99
+ *
100
+ * NOT included: `Database`, used only by the postponed `blocks/database` and
101
+ * `blocks/data-view` — the PO's decision excludes those surfaces, and
102
+ * `Database` has no other user today. A framework or a later lot that adds a
103
+ * group name not in this table is unaffected: `slashMenuGroupWording` returns
104
+ * `undefined` and the header renders the raw group name, same as before any
105
+ * of this existed.
106
+ */
107
+ export const SLASH_MENU_GROUP_BASIC = [
108
+ 'com.labre.slash-menu.group.basic',
109
+ 'Basic',
110
+ ];
111
+ export const SLASH_MENU_GROUP_CONTENT_MEDIA = [
112
+ 'com.labre.slash-menu.group.content-media',
113
+ 'Content & Media',
114
+ ];
115
+ export const SLASH_MENU_GROUP_PAGE = [
116
+ 'com.labre.slash-menu.group.page',
117
+ 'Document',
118
+ ];
119
+ export const SLASH_MENU_GROUP_EDGELESS_ELEMENT = [
120
+ 'com.labre.slash-menu.group.edgeless-element',
121
+ 'Canvas Element',
122
+ ];
123
+ export const SLASH_MENU_GROUP_DATE = [
124
+ 'com.labre.slash-menu.group.date',
125
+ 'Date',
126
+ ];
127
+ export const SLASH_MENU_GROUP_ACTIONS = [
128
+ 'com.labre.slash-menu.group.actions',
129
+ 'Actions',
130
+ ];
131
+ /** The group table, keyed by the raw group name `parseGroup` extracts. */
132
+ const SLASH_MENU_GROUP_WORDINGS = {
133
+ Basic: SLASH_MENU_GROUP_BASIC,
134
+ 'Content & Media': SLASH_MENU_GROUP_CONTENT_MEDIA,
135
+ Page: SLASH_MENU_GROUP_PAGE,
136
+ 'Edgeless Element': SLASH_MENU_GROUP_EDGELESS_ELEMENT,
137
+ Date: SLASH_MENU_GROUP_DATE,
138
+ Actions: SLASH_MENU_GROUP_ACTIONS,
139
+ };
140
+ /**
141
+ * The wording for a group header, or `undefined` for a group name outside the
142
+ * closed set above — rendered raw, same as before this table existed.
143
+ */
144
+ export function slashMenuGroupWording(groupName) {
145
+ return SLASH_MENU_GROUP_WORDINGS[groupName];
146
+ }
147
+ /**
148
+ * Every wording declared above, in declaration order — walked by
149
+ * `PACKAGE_WORDINGS` in `packages/affine/all/src/translations.ts` rather than
150
+ * restated there.
151
+ *
152
+ * `SLASH_MENU_MOVE_UP` / `_MOVE_DOWN` (aliases of the chrome table's
153
+ * `TOOLBAR_MOVE_UP` / `_MOVE_DOWN`) are deliberately NOT listed here, exactly
154
+ * like `SLASH_MENU_COPY` / `_DUPLICATE` / `_DELETE` above: an alias is walked
155
+ * once, from `CHROME_WORDINGS`, and listing it again here would offer a host
156
+ * the same key twice.
157
+ */
158
+ export const SLASH_MENU_WORDINGS = [
159
+ SLASH_MENU_TODAY,
160
+ SLASH_MENU_TOMORROW,
161
+ SLASH_MENU_YESTERDAY,
162
+ SLASH_MENU_NOW,
163
+ SLASH_MENU_MOVE_UP_DESCRIPTION,
164
+ SLASH_MENU_MOVE_DOWN_DESCRIPTION,
165
+ SLASH_MENU_COPY_DESCRIPTION,
166
+ SLASH_MENU_DUPLICATE_DESCRIPTION,
167
+ SLASH_MENU_COPY_DUPLICATE_CAPTION,
168
+ SLASH_MENU_DELETE_DESCRIPTION,
169
+ SLASH_MENU_GROUP_BASIC,
170
+ SLASH_MENU_GROUP_CONTENT_MEDIA,
171
+ SLASH_MENU_GROUP_PAGE,
172
+ SLASH_MENU_GROUP_EDGELESS_ELEMENT,
173
+ SLASH_MENU_GROUP_DATE,
174
+ SLASH_MENU_GROUP_ACTIONS,
175
+ ];
@@ -1,3 +1,4 @@
1
+ import type { ChromeWording } from '../affine-shared/services/index.js';
1
2
  import type { BlockStdScope } from '../std/index.js';
2
3
  import type { BlockModel } from '../store/index.js';
3
4
  import type { TemplateResult } from 'lit';
@@ -8,10 +9,27 @@ export type SlashMenuContext = {
8
9
  export type SlashMenuTooltip = {
9
10
  figure: TemplateResult;
10
11
  caption: string;
12
+ /**
13
+ * {@link caption}, said as an i18n key with its English default — resolved
14
+ * against the host's catalogue when the tooltip renders, and shown instead
15
+ * of `caption` there. Mirrors `ToolbarAction.labelWording`: a static
16
+ * literal is the one wording a host cannot override.
17
+ */
18
+ captionWording?: ChromeWording;
11
19
  };
12
20
  type SlashMenuItemBase = {
13
21
  name: string;
22
+ /**
23
+ * The same word as {@link name}, said as an i18n key with its English
24
+ * default — resolved against the host's catalogue when the item renders,
25
+ * and shown instead of `name` there. `name` stays the item's English
26
+ * identity: it is what tests and `searchAlias` match against, and what
27
+ * `slashItemClassName` derives a CSS class from.
28
+ */
29
+ nameWording?: ChromeWording;
14
30
  description?: string;
31
+ /** {@link nameWording}, for {@link description}. */
32
+ descriptionWording?: ChromeWording;
15
33
  icon?: TemplateResult;
16
34
  /**
17
35
  * This field defines sorting and grouping of menu items like VSCode.
@@ -1,4 +1,5 @@
1
- import type { SlashMenuActionItem, SlashMenuConfig, SlashMenuContext, SlashMenuItem, SlashMenuSubMenu } from './types.js';
1
+ import type { BlockStdScope } from '../std/index.js';
2
+ import type { SlashMenuActionItem, SlashMenuConfig, SlashMenuContext, SlashMenuItem, SlashMenuSubMenu, SlashMenuTooltip } from './types.js';
2
3
  /**
3
4
  * Whether a keydown is the user typing one more character into the query.
4
5
  *
@@ -11,6 +12,24 @@ export declare function isTextInputKey(event: KeyboardEvent): boolean;
11
12
  export declare function isActionItem(item: SlashMenuItem): item is SlashMenuActionItem;
12
13
  export declare function isSubMenuItem(item: SlashMenuItem): item is SlashMenuSubMenu;
13
14
  export declare function slashItemClassName({ name }: SlashMenuItem): string;
15
+ /**
16
+ * What an item SAYS, whether it declared a wording or a literal `name`.
17
+ * Mirrors `toolbarActionLabel`: the widget resolves `nameWording` at render,
18
+ * `name` stays the English identity used by tests and `searchAlias`.
19
+ */
20
+ export declare function resolveSlashItemName(std: BlockStdScope, item: SlashMenuItem): string;
21
+ /** {@link resolveSlashItemName}, for `description`. */
22
+ export declare function resolveSlashItemDescription(std: BlockStdScope, item: SlashMenuItem): string | undefined;
23
+ /** {@link resolveSlashItemName}, for a tooltip's `caption`. */
24
+ export declare function resolveSlashTooltipCaption(std: BlockStdScope, tooltip: SlashMenuTooltip): string;
25
+ /**
26
+ * Whether `item` matches a slash-menu search `query` — against its RESOLVED
27
+ * (translated) name, its English `name`, and its `searchAlias`, so a French
28
+ * user typing the translated word and a habitual user typing the English one
29
+ * both find the item. With no `TranslationProvider` the resolved name equals
30
+ * `name`, so this is unchanged from before wordings existed.
31
+ */
32
+ export declare function slashItemMatchesQuery(std: BlockStdScope, item: SlashMenuItem, query: string): boolean;
14
33
  export declare function parseGroup(group: NonNullable<SlashMenuItem['group']>): readonly [number, string, number];
15
34
  export declare function buildSlashMenuItems(items: SlashMenuItem[], context: SlashMenuContext, transform?: (item: SlashMenuItem) => SlashMenuItem): SlashMenuItem[];
16
35
  export declare function mergeSlashMenuConfigs(configs: Map<string, SlashMenuConfig>): SlashMenuConfig;
@@ -1,3 +1,5 @@
1
+ import { translateKey } from '../affine-shared/services/index.js';
2
+ import { isFuzzyMatch } from '../affine-shared/utils/index.js';
1
3
  /**
2
4
  * Whether a keydown is the user typing one more character into the query.
3
5
  *
@@ -31,6 +33,41 @@ export function isSubMenuItem(item) {
31
33
  export function slashItemClassName({ name }) {
32
34
  return name.split(' ').join('-').toLocaleLowerCase();
33
35
  }
36
+ /**
37
+ * What an item SAYS, whether it declared a wording or a literal `name`.
38
+ * Mirrors `toolbarActionLabel`: the widget resolves `nameWording` at render,
39
+ * `name` stays the English identity used by tests and `searchAlias`.
40
+ */
41
+ export function resolveSlashItemName(std, item) {
42
+ return item.nameWording ? translateKey(std, ...item.nameWording) : item.name;
43
+ }
44
+ /** {@link resolveSlashItemName}, for `description`. */
45
+ export function resolveSlashItemDescription(std, item) {
46
+ return item.descriptionWording
47
+ ? translateKey(std, ...item.descriptionWording)
48
+ : item.description;
49
+ }
50
+ /** {@link resolveSlashItemName}, for a tooltip's `caption`. */
51
+ export function resolveSlashTooltipCaption(std, tooltip) {
52
+ return tooltip.captionWording
53
+ ? translateKey(std, ...tooltip.captionWording)
54
+ : tooltip.caption;
55
+ }
56
+ /**
57
+ * Whether `item` matches a slash-menu search `query` — against its RESOLVED
58
+ * (translated) name, its English `name`, and its `searchAlias`, so a French
59
+ * user typing the translated word and a habitual user typing the English one
60
+ * both find the item. With no `TranslationProvider` the resolved name equals
61
+ * `name`, so this is unchanged from before wordings existed.
62
+ */
63
+ export function slashItemMatchesQuery(std, item, query) {
64
+ const { name, searchAlias = [] } = item;
65
+ const resolvedName = resolveSlashItemName(std, item);
66
+ const candidates = resolvedName === name
67
+ ? [name, ...searchAlias]
68
+ : [name, resolvedName, ...searchAlias];
69
+ return candidates.some(str => isFuzzyMatch(str, query));
70
+ }
34
71
  export function parseGroup(group) {
35
72
  return [
36
73
  parseInt(group.split('_')[0]),
@@ -0,0 +1,9 @@
1
+ import type { ChromeWording } from '../affine-shared/services/index.js';
2
+ /**
3
+ * The row's own "⋮" overflow menu button — its `aria-label` (naming the
4
+ * whole dropdown), distinct from `TOOLBAR_MORE` (`chrome.ts`, "More": the
5
+ * icon-button's own tooltip inside it).
6
+ */
7
+ export declare const TOOLBAR_MORE_MENU_ARIA: ChromeWording;
8
+ /** Every wording this package declares, in the order it renders them. */
9
+ export declare const TOOLBAR_WIDGET_WORDINGS: readonly ChromeWording[];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The row's own "⋮" overflow menu button — its `aria-label` (naming the
3
+ * whole dropdown), distinct from `TOOLBAR_MORE` (`chrome.ts`, "More": the
4
+ * icon-button's own tooltip inside it).
5
+ */
6
+ export const TOOLBAR_MORE_MENU_ARIA = [
7
+ 'com.labre.toolbar.more-menu',
8
+ 'More menu',
9
+ ];
10
+ /** Every wording this package declares, in the order it renders them. */
11
+ export const TOOLBAR_WIDGET_WORDINGS = [
12
+ TOOLBAR_MORE_MENU_ARIA,
13
+ ];
@@ -14,6 +14,7 @@ import mergeWith from 'lodash-es/mergeWith.js';
14
14
  import orderBy from 'lodash-es/orderBy.js';
15
15
  import partition from 'lodash-es/partition.js';
16
16
  import toPairs from 'lodash-es/toPairs.js';
17
+ import { TOOLBAR_MORE_MENU_ARIA } from './translations.js';
17
18
  export const sideMap = new Map([
18
19
  // includes frame element
19
20
  ['affine:surface:frame', { top: 28 }],
@@ -456,7 +457,7 @@ export function renderToolbar(toolbar, context, flavour, source = () => emptyToo
456
457
  action: { id: 'more' },
457
458
  template: html `${keyed(`${flavour}:${key}`, html `
458
459
  <editor-menu-button
459
- aria-label="More menu"
460
+ aria-label="${translateKey(context.std, ...TOOLBAR_MORE_MENU_ARIA)}"
460
461
  .contentPadding="${'8px'}"
461
462
  .button=${html `
462
463
  <editor-icon-button
@@ -13,6 +13,13 @@ import { type AnyCommandDescriptor } from './command-registry.js';
13
13
  * `packages/affine/all/src/commands.ts` and `scripts/build-bundles.mjs`).
14
14
  */
15
15
  export type TranslationKeySource = 'command' | 'framework' | 'role' | 'background' | 'rule' | 'nudge' | 'profile' | 'audit-criterion' | 'reading'
16
+ /**
17
+ * A `UniverseTagDefs` tag or tag-value label (`@labre/affine-shared`'s
18
+ * `TagDef.labelKey` / `TagValueDef.labelKey`) — the library's OWN pack only
19
+ * (`WARDLEY_TAG_DEFS`). A host's app-seeded pack carries its own wording in
20
+ * `label` and needs no key at all.
21
+ */
22
+ | 'tag'
16
23
  /**
17
24
  * The words a framework WRITES ONTO THE CANVAS when an artefact is placed —
18
25
  * the "Task" a fresh BPMN task is captioned with, the "People" under an EDGY
@@ -0,0 +1,24 @@
1
+ /**
2
+ * This package's own wordings, joined into `PACKAGE_WORDINGS` in
3
+ * `@labre/affine/translations` — see that file and
4
+ * `packages/affine/shared/src/services/translation-service/README.md`.
5
+ *
6
+ * A plain local tuple type, not `ChromeWording`
7
+ * (`@labre/affine-shared/services`): `@labre/std` must never import
8
+ * `@labre/affine-shared` (the dependency runs the other way — see
9
+ * `view/element/block-component.ts`'s own doc comment), so this package
10
+ * cannot reuse that type any more than it can reuse `translateKey` itself.
11
+ */
12
+ type Wording = readonly [key: string, fallback: string];
13
+ /**
14
+ * `BlockComponent.renderVersionMismatch`'s four wordings
15
+ * (`view/element/block-component.ts`) — the "Block Version Mismatched" card
16
+ * shown when a document carries a block flavour newer or older than this
17
+ * editor knows how to render.
18
+ */
19
+ export declare const STD_VERSION_MISMATCH_TITLE: Wording;
20
+ export declare const STD_VERSION_MISMATCH_BODY: Wording;
21
+ export declare const STD_VERSION_MISMATCH_EDITOR_VERSION: Wording;
22
+ export declare const STD_VERSION_MISMATCH_DATA_VERSION: Wording;
23
+ export declare const STD_WORDINGS: readonly Wording[];
24
+ export {};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * `BlockComponent.renderVersionMismatch`'s four wordings
3
+ * (`view/element/block-component.ts`) — the "Block Version Mismatched" card
4
+ * shown when a document carries a block flavour newer or older than this
5
+ * editor knows how to render.
6
+ */
7
+ export const STD_VERSION_MISMATCH_TITLE = [
8
+ 'com.labre.std.version-mismatch.title',
9
+ 'Block Version Mismatched',
10
+ ];
11
+ export const STD_VERSION_MISMATCH_BODY = [
12
+ 'com.labre.std.version-mismatch.body',
13
+ 'We can not render this {{flavour}} block because the version is mismatched.',
14
+ ];
15
+ export const STD_VERSION_MISMATCH_EDITOR_VERSION = [
16
+ 'com.labre.std.version-mismatch.editor-version',
17
+ 'Editor version: {{version}}',
18
+ ];
19
+ export const STD_VERSION_MISMATCH_DATA_VERSION = [
20
+ 'com.labre.std.version-mismatch.data-version',
21
+ 'Data version: {{version}}',
22
+ ];
23
+ export const STD_WORDINGS = [
24
+ STD_VERSION_MISMATCH_TITLE,
25
+ STD_VERSION_MISMATCH_BODY,
26
+ STD_VERSION_MISMATCH_EDITOR_VERSION,
27
+ STD_VERSION_MISMATCH_DATA_VERSION,
28
+ ];
@@ -32,6 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
+ import { createIdentifier } from '../../../global/di/index.js';
35
36
  import { BlockSuiteError, ErrorCode } from '../../../global/exceptions/index.js';
36
37
  import { SignalWatcher, WithDisposable } from '../../../global/lit/index.js';
37
38
  import { Store } from '../../../store/index.js';
@@ -44,10 +45,25 @@ import { when } from 'lit/directives/when.js';
44
45
  import { html } from 'lit/static-html.js';
45
46
  import { BlockServiceIdentifier } from '../../identifier.js';
46
47
  import { BlockSelection } from '../../selection/index.js';
48
+ import { STD_VERSION_MISMATCH_BODY, STD_VERSION_MISMATCH_DATA_VERSION, STD_VERSION_MISMATCH_EDITOR_VERSION, STD_VERSION_MISMATCH_TITLE, } from '../../translations.js';
47
49
  import { PropTypes, requiredProperties } from '../decorators/index.js';
48
50
  import { blockComponentSymbol, modelContext, serviceContext, } from './consts.js';
49
51
  import { stdContext, storeContext } from './lit-host.js';
50
52
  import { ShadowlessElement } from './shadowless-element.js';
53
+ const LocalTranslationProvider = createIdentifier('AffineTranslationService');
54
+ /** `translateKey`'s own contract, replicated (see {@link LocalTranslationService}). */
55
+ function localTranslate(std, key, fallback) {
56
+ const resolved = std.getOptional(LocalTranslationProvider)?.t(key);
57
+ return resolved !== undefined && resolved !== '' ? resolved : fallback;
58
+ }
59
+ const [VERSION_MISMATCH_TITLE_KEY, VERSION_MISMATCH_TITLE_FALLBACK] = STD_VERSION_MISMATCH_TITLE;
60
+ const [VERSION_MISMATCH_BODY_KEY, VERSION_MISMATCH_BODY_FALLBACK] = STD_VERSION_MISMATCH_BODY;
61
+ const [VERSION_MISMATCH_EDITOR_VERSION_KEY, VERSION_MISMATCH_EDITOR_VERSION_FALLBACK,] = STD_VERSION_MISMATCH_EDITOR_VERSION;
62
+ const [VERSION_MISMATCH_DATA_VERSION_KEY, VERSION_MISMATCH_DATA_VERSION_FALLBACK,] = STD_VERSION_MISMATCH_DATA_VERSION;
63
+ /** `translateKey`'s own `{{name}}` interpolation, replicated (see above). */
64
+ function fillPlaceholder(template, name, value) {
65
+ return template.replace(new RegExp(`\\{\\{\\s*${name}\\s*\\}\\}`), value);
66
+ }
51
67
  let BlockComponent = (() => {
52
68
  var _a;
53
69
  let _classDecorators = [requiredProperties({
@@ -259,18 +275,19 @@ let BlockComponent = (() => {
259
275
  * @param actualVersion The version of the block's crdt data.
260
276
  */
261
277
  renderVersionMismatch(expectedVersion, actualVersion) {
278
+ const title = localTranslate(this.std, VERSION_MISMATCH_TITLE_KEY, VERSION_MISMATCH_TITLE_FALLBACK);
279
+ const body = fillPlaceholder(localTranslate(this.std, VERSION_MISMATCH_BODY_KEY, VERSION_MISMATCH_BODY_FALLBACK), 'flavour', this.model.flavour);
280
+ const editorVersion = fillPlaceholder(localTranslate(this.std, VERSION_MISMATCH_EDITOR_VERSION_KEY, VERSION_MISMATCH_EDITOR_VERSION_FALLBACK), 'version', String(expectedVersion));
281
+ const dataVersion = fillPlaceholder(localTranslate(this.std, VERSION_MISMATCH_DATA_VERSION_KEY, VERSION_MISMATCH_DATA_VERSION_FALLBACK), 'version', String(actualVersion));
262
282
  return html `
263
283
  <dl class="version-mismatch-warning" contenteditable="false">
264
284
  <dt>
265
- <h4>Block Version Mismatched</h4>
285
+ <h4>${title}</h4>
266
286
  </dt>
267
287
  <dd>
268
- <p>
269
- We can not render this <var>${this.model.flavour}</var> block
270
- because the version is mismatched.
271
- </p>
272
- <p>Editor version: <var>${expectedVersion}</var></p>
273
- <p>Data version: <var>${actualVersion}</var></p>
288
+ <p>${body}</p>
289
+ <p>${editorVersion}</p>
290
+ <p>${dataVersion}</p>
274
291
  </dd>
275
292
  </dl>
276
293
  `;
@@ -1,8 +1,59 @@
1
- import { EXEMPTION_FALLBACK, PROVENANCE_FALLBACK, SEVERITY_FALLBACK, } from './_pkgs/affine-block-surface/index.js';
2
- import { CHROME_WORDINGS } from './_pkgs/affine-shared/services/index.js';
1
+ import { ATTACHMENT_WORDINGS } from './_pkgs/affine-block-attachment/translations.js';
2
+ import { BOOKMARK_WORDINGS } from './_pkgs/affine-block-bookmark/translations.js';
3
+ import { EMBED_WORDINGS } from './_pkgs/affine-block-embed/translations.js';
4
+ import { EMBED_DOC_WORDINGS } from './_pkgs/affine-block-embed-doc/translations.js';
5
+ import { FRAME_CHROME_WORDINGS, FRAME_WORDINGS, } from './_pkgs/affine-block-frame/translations.js';
6
+ import { IMAGE_WORDINGS } from './_pkgs/affine-block-image/translations.js';
7
+ import { EXEMPTION_FALLBACK, PROVENANCE_FALLBACK, SEVERITY_FALLBACK, SVG_SKETCH_WORDINGS, } from './_pkgs/affine-block-surface/index.js';
8
+ import { SURFACE_REF_CHROME_WORDINGS, SURFACE_REF_WORDINGS, } from './_pkgs/affine-block-surface-ref/translations.js';
9
+ import { ADAPTER_PANEL_WORDINGS } from './_pkgs/affine-fragment-adapter-panel/translations.js';
10
+ import { DOC_TITLE_WORDINGS } from './_pkgs/affine-fragment-doc-title/translations.js';
11
+ import { OUTLINE_WORDINGS } from './_pkgs/affine-fragment-outline/translations.js';
12
+ import { COMPONENTS_WORDINGS } from './_pkgs/affine-components/translations.js';
13
+ import { ROOT_CHROME_WORDINGS, ROOT_SEED_WORDINGS, } from './_pkgs/affine-block-root/translations.js';
14
+ import { BRUSH_WORDINGS } from './_pkgs/affine-gfx-brush/translations.js';
15
+ import { CONNECTOR_WORDINGS } from './_pkgs/affine-gfx-connector/translations.js';
16
+ import { GROUP_CHROME_WORDINGS, GROUP_WORDINGS, } from './_pkgs/affine-gfx-group/translations.js';
17
+ import { MINDMAP_CHROME_WORDINGS, MINDMAP_SEED_WORDINGS, } from './_pkgs/affine-gfx-mindmap/translations.js';
18
+ import { SHAPE_WORDINGS } from './_pkgs/affine-gfx-shape/translations.js';
19
+ import { POINTER_WORDINGS } from './_pkgs/affine-gfx-pointer/translations.js';
20
+ import { FRAME_PANEL_WORDINGS } from './_pkgs/affine-fragment-frame-panel/translations.js';
21
+ import { TEMPLATE_PACKAGE_WORDINGS, TEMPLATE_SEED_WORDINGS, } from './_pkgs/affine-gfx-template/translations.js';
22
+ import { TEXT_WORDINGS } from './_pkgs/affine-gfx-text/translations.js';
23
+ import { LATEX_WORDINGS as INLINE_LATEX_WORDINGS } from './_pkgs/affine-inline-latex/translations.js';
24
+ import { LINK_WORDINGS } from './_pkgs/affine-inline-link/translations.js';
25
+ import { MENTION_WORDINGS } from './_pkgs/affine-inline-mention/translations.js';
26
+ import { PRESET_WORDINGS } from './_pkgs/affine-inline-preset/translations.js';
27
+ import { REFERENCE_WORDINGS } from './_pkgs/affine-inline-reference/translations.js';
28
+ import { CHROME_WORDINGS, } from './_pkgs/affine-shared/services/index.js';
29
+ import { CALLOUT_WORDINGS } from './_pkgs/affine-block-callout/translations.js';
30
+ import { CODE_WORDINGS } from './_pkgs/affine-block-code/translations.js';
31
+ import { LATEX_WORDINGS } from './_pkgs/affine-block-latex/translations.js';
32
+ import { NOTE_WORDINGS } from './_pkgs/affine-block-note/translations.js';
33
+ import { PARAGRAPH_WORDINGS } from './_pkgs/affine-block-paragraph/translations.js';
34
+ import { GFX_NOTE_WORDINGS } from './_pkgs/affine-gfx-note/translations.js';
35
+ import { DRAG_HANDLE_WORDINGS } from './_pkgs/affine-widget-drag-handle/translations.js';
36
+ import { AUTO_CONNECT_WORDINGS } from './_pkgs/affine-widget-edgeless-auto-connect/translations.js';
37
+ import { EDGELESS_SELECTED_RECT_WORDINGS } from './_pkgs/affine-widget-edgeless-selected-rect/translations.js';
38
+ import { EDGELESS_TOOLBAR_WORDINGS } from './_pkgs/affine-widget-edgeless-toolbar/translations.js';
39
+ import { ZOOM_TOOLBAR_WORDINGS } from './_pkgs/affine-widget-edgeless-zoom-toolbar/translations.js';
40
+ import { LINKED_DOC_WORDINGS } from './_pkgs/affine-widget-linked-doc/translations.js';
41
+ import { REMOTE_SELECTION_WORDINGS } from './_pkgs/affine-widget-remote-selection/translations.js';
42
+ import { SLASH_MENU_WORDINGS } from './_pkgs/affine-widget-slash-menu/translations.js';
43
+ import { TOOLBAR_WIDGET_WORDINGS } from './_pkgs/affine-widget-toolbar/translations.js';
3
44
  import { collectTranslationKeys, commandCategoryTranslationEntries, commandTranslationEntries, mergeTranslationEntries, } from './_pkgs/std/index.js';
45
+ import { STD_WORDINGS } from './_pkgs/std/translations.js';
4
46
  import { getCommands } from './commands.js';
5
47
  import { FRAMEWORK_DESCRIPTORS } from './frameworks.js';
48
+ /**
49
+ * The auxiliary bundles' contributions (`AUXILIARY_BUNDLES` in `frameworks.ts`):
50
+ * packages that ship as their own bundle without being a framework. Same
51
+ * one-line `{ owner: '<label>', … }` shape as the framework groups, so
52
+ * `scripts/build-bundles.mjs` strips them from core's copy the same way.
53
+ */
54
+ const AUXILIARY_TRANSLATION_GROUPS = [
55
+ // One line per bundle: the bundler strips it by its `owner`.
56
+ ];
6
57
  const FRAMEWORK_TRANSLATION_GROUPS = [];
7
58
  /**
8
59
  * The chrome wordings that are TABLES: closed enumerations whose key is a
@@ -87,7 +138,10 @@ const CHROME_KEYS = [
87
138
  // Artefact catalogue sidepanel
88
139
  ['com.labre.catalogue.title', 'Artefacts'],
89
140
  ['com.labre.catalogue.close', 'Close'],
90
- ['com.labre.catalogue.other', 'Other'],
141
+ // `com.labre.catalogue.other` USED to be here — L7 dedupe moved it to
142
+ // `chrome.ts` (`CATALOGUE_OTHER`), the same word as the templates-panel's
143
+ // own "Other" category tab, and its one call site now imports the constant
144
+ // instead of restating the literal.
91
145
  ['com.labre.catalogue.ranked', 'Recent & frequent'],
92
146
  // Qualify (tags) toolbar
93
147
  ['com.labre.tags.toolbar.label', 'Qualify'],
@@ -181,6 +235,82 @@ const CHROME_KEYS = [
181
235
  ['com.labre.interchange.import.carried', 'carried'],
182
236
  ['com.labre.interchange.import.quarantined', 'quarantined'],
183
237
  ];
238
+ /**
239
+ * The block and widget packages' own wordings — one `readonly ChromeWording[]`
240
+ * per package, declared in that package's `translations.ts` beside the code
241
+ * that renders them, and walked here rather than restated.
242
+ *
243
+ * Per package and not one central table because the wordings belong to the
244
+ * package that renders them (an image toolbar's "Download" is the image
245
+ * block's), and because a single file every block edits is a file every
246
+ * parallel change conflicts on. Framework wordings do NOT go here: they travel
247
+ * in the framework's own `…TranslationEntries`, so a bundled host gets them
248
+ * with the framework bundle.
249
+ */
250
+ const PACKAGE_WORDINGS = [
251
+ SLASH_MENU_WORDINGS,
252
+ OUTLINE_WORDINGS,
253
+ TEMPLATE_PACKAGE_WORDINGS,
254
+ NOTE_WORDINGS,
255
+ GFX_NOTE_WORDINGS,
256
+ CODE_WORDINGS,
257
+ LATEX_WORDINGS,
258
+ CALLOUT_WORDINGS,
259
+ PARAGRAPH_WORDINGS,
260
+ ADAPTER_PANEL_WORDINGS,
261
+ DOC_TITLE_WORDINGS,
262
+ SHAPE_WORDINGS,
263
+ TEXT_WORDINGS,
264
+ MINDMAP_CHROME_WORDINGS,
265
+ DRAG_HANDLE_WORDINGS,
266
+ AUTO_CONNECT_WORDINGS,
267
+ EDGELESS_SELECTED_RECT_WORDINGS,
268
+ EDGELESS_TOOLBAR_WORDINGS,
269
+ ZOOM_TOOLBAR_WORDINGS,
270
+ LINKED_DOC_WORDINGS,
271
+ REMOTE_SELECTION_WORDINGS,
272
+ TOOLBAR_WIDGET_WORDINGS,
273
+ COMPONENTS_WORDINGS,
274
+ INLINE_LATEX_WORDINGS,
275
+ LINK_WORDINGS,
276
+ MENTION_WORDINGS,
277
+ PRESET_WORDINGS,
278
+ REFERENCE_WORDINGS,
279
+ BRUSH_WORDINGS,
280
+ CONNECTOR_WORDINGS,
281
+ GROUP_CHROME_WORDINGS,
282
+ POINTER_WORDINGS,
283
+ ROOT_CHROME_WORDINGS,
284
+ SVG_SKETCH_WORDINGS,
285
+ STD_WORDINGS,
286
+ ATTACHMENT_WORDINGS,
287
+ BOOKMARK_WORDINGS,
288
+ IMAGE_WORDINGS,
289
+ EMBED_WORDINGS,
290
+ EMBED_DOC_WORDINGS,
291
+ SURFACE_REF_CHROME_WORDINGS,
292
+ FRAME_CHROME_WORDINGS,
293
+ FRAME_PANEL_WORDINGS,
294
+ ];
295
+ /**
296
+ * Like {@link PACKAGE_WORDINGS}, for a non-framework package's SEEDS: text a
297
+ * creation action writes INTO the document, not chrome. Kept as its own
298
+ * source rather than folded into `PACKAGE_WORDINGS` under `chrome` — the two
299
+ * answer different questions for a host building a catalogue: a seed is
300
+ * translated once and becomes document content forever (a document created
301
+ * before the key existed keeps its plain text), while a chrome wording is
302
+ * re-rendered on every locale switch. `manifest.unit.spec.ts`'s "a placed
303
+ * artefact is seeded through the seam" pins a few of these by key, exactly as
304
+ * it does for a framework's own seeds.
305
+ */
306
+ const PACKAGE_SEED_WORDINGS = [
307
+ FRAME_WORDINGS,
308
+ GROUP_WORDINGS,
309
+ MINDMAP_SEED_WORDINGS,
310
+ SURFACE_REF_WORDINGS,
311
+ TEMPLATE_SEED_WORDINGS,
312
+ ROOT_SEED_WORDINGS,
313
+ ];
184
314
  /**
185
315
  * Every i18n key THIS package can ask the host for, with its English fallback
186
316
  * where one ships.
@@ -195,13 +325,13 @@ const CHROME_KEYS = [
195
325
  * not filtered either.
196
326
  */
197
327
  export function getTranslationKeyManifest() {
198
- return mergeTranslationEntries(commandTranslationEntries(getCommands()), collectTranslationKeys('framework', FRAMEWORK_DESCRIPTORS), ...FRAMEWORK_TRANSLATION_GROUPS.map(group => group.entries), chromeTableEntries(), catalogueCategoryEntries(),
328
+ return mergeTranslationEntries(commandTranslationEntries(getCommands()), collectTranslationKeys('framework', FRAMEWORK_DESCRIPTORS), ...FRAMEWORK_TRANSLATION_GROUPS.map(group => group.entries), ...AUXILIARY_TRANSLATION_GROUPS.map(group => group.entries), chromeTableEntries(), catalogueCategoryEntries(),
199
329
  // The editor's own shared vocabulary — the toasts, the toolbar verbs, the
200
330
  // view switcher, the board tooltips — DECLARED in
201
331
  // `@labre/affine-shared/services` beside nothing at all, and walked here
202
332
  // rather than restated. Same rule as the tables above: a wording added to
203
333
  // `CHROME_WORDINGS` reaches a host with no second edit.
204
- CHROME_WORDINGS.map(([key, fallback]) => ({
334
+ [...CHROME_WORDINGS, ...PACKAGE_WORDINGS.flat()].map(([key, fallback]) => ({
205
335
  key,
206
336
  fallback,
207
337
  source: 'chrome',
@@ -209,5 +339,14 @@ export function getTranslationKeyManifest() {
209
339
  key,
210
340
  fallback,
211
341
  source: 'chrome',
342
+ })),
343
+ // The non-framework packages' own SEEDS — text a creation action writes
344
+ // INTO the document (a frame's default title, a starter mindmap's
345
+ // captions), never re-rendered once placed. See
346
+ // `PACKAGE_SEED_WORDINGS`.
347
+ PACKAGE_SEED_WORDINGS.flat().map(([key, fallback]) => ({
348
+ key,
349
+ fallback,
350
+ source: 'seed',
212
351
  })));
213
352
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@formicoidea/labre-core",
3
3
  "description": "Labre editor — the full BlockSuite-derived editor as one package.",
4
- "version": "0.39.3",
4
+ "version": "0.41.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "author": "lajola",