@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,172 @@
1
+ import { TOOL_NAME_FRAME, TOOLBAR_CREATE_LINKED_DOC_TITLE, TOOLBAR_RELOAD, TOOLBAR_REMOVE_LINK, } from '../affine-shared/services/index.js';
2
+ /**
3
+ * This package's own wordings, joined into `PACKAGE_WORDINGS` /
4
+ * `PACKAGE_SEED_WORDINGS` in `@labre/affine/translations` — see that file and
5
+ * `packages/affine/shared/src/services/translation-service/README.md`.
6
+ */
7
+ /* ── The block contextual toolbar (`configs/toolbar.ts`) ──────────────── */
8
+ export const ROOT_TOOLBAR_CONVERSIONS_ARIA = [
9
+ 'com.labre.root.toolbar.conversions',
10
+ 'Conversions',
11
+ ];
12
+ export const ROOT_TOOLBAR_TURN_INTO = [
13
+ 'com.labre.root.toolbar.turn-into',
14
+ 'Turn into',
15
+ ];
16
+ export const ROOT_TOOLBAR_CREATE_TABLE = [
17
+ 'com.labre.root.toolbar.create-table',
18
+ 'Create Table',
19
+ ];
20
+ /**
21
+ * An alias (L7 dedupe): the same Title Case word as
22
+ * {@link TOOLBAR_CREATE_LINKED_DOC_TITLE}, distinct from the shared
23
+ * sentence-case `TOOLBAR_CREATE_LINKED_DOC` chrome wording
24
+ * (`com.labre.toolbar.create-linked-doc`, "Create linked doc").
25
+ */
26
+ export const ROOT_TOOLBAR_CREATE_LINKED_DOC = TOOLBAR_CREATE_LINKED_DOC_TITLE;
27
+ /* ── The edgeless alignment menu (`edgeless/configs/toolbar/alignment.ts`) ── */
28
+ export const ROOT_ALIGNMENT_MENU_ARIA = [
29
+ 'com.labre.root.toolbar.alignment-menu',
30
+ 'alignment-menu',
31
+ ];
32
+ export const ROOT_ALIGN_LEFT = [
33
+ 'com.labre.root.toolbar.align-left',
34
+ 'Align left',
35
+ ];
36
+ export const ROOT_ALIGN_HORIZONTALLY = [
37
+ 'com.labre.root.toolbar.align-horizontally',
38
+ 'Align horizontally',
39
+ ];
40
+ export const ROOT_ALIGN_RIGHT = [
41
+ 'com.labre.root.toolbar.align-right',
42
+ 'Align right',
43
+ ];
44
+ export const ROOT_DISTRIBUTE_HORIZONTALLY = [
45
+ 'com.labre.root.toolbar.distribute-horizontally',
46
+ 'Distribute horizontally',
47
+ ];
48
+ export const ROOT_ALIGN_TOP = [
49
+ 'com.labre.root.toolbar.align-top',
50
+ 'Align top',
51
+ ];
52
+ export const ROOT_ALIGN_VERTICALLY = [
53
+ 'com.labre.root.toolbar.align-vertically',
54
+ 'Align vertically',
55
+ ];
56
+ export const ROOT_ALIGN_BOTTOM = [
57
+ 'com.labre.root.toolbar.align-bottom',
58
+ 'Align bottom',
59
+ ];
60
+ export const ROOT_DISTRIBUTE_VERTICALLY = [
61
+ 'com.labre.root.toolbar.distribute-vertically',
62
+ 'Distribute vertically',
63
+ ];
64
+ export const ROOT_AUTO_ARRANGE = [
65
+ 'com.labre.root.toolbar.auto-arrange',
66
+ 'Auto arrange',
67
+ ];
68
+ export const ROOT_RESIZE_AND_ALIGN = [
69
+ 'com.labre.root.toolbar.resize-and-align',
70
+ 'Resize & Align',
71
+ ];
72
+ /* ── The edgeless misc contextual toolbar (`edgeless/configs/toolbar/misc.ts`) ── */
73
+ export const ROOT_TOOLBAR_RELEASE_FROM_GROUP = [
74
+ 'com.labre.root.toolbar.release-from-group',
75
+ 'Release from group',
76
+ ];
77
+ export const ROOT_TOOLBAR_FRAME = TOOL_NAME_FRAME;
78
+ export const ROOT_TOOLBAR_GROUP = [
79
+ 'com.labre.root.toolbar.group',
80
+ 'Group',
81
+ ];
82
+ export const ROOT_TOOLBAR_ALIGN_OBJECTS = [
83
+ 'com.labre.root.toolbar.align-objects',
84
+ 'Align objects',
85
+ ];
86
+ export const ROOT_TOOLBAR_CLICK_TO_UNLOCK = [
87
+ 'com.labre.root.toolbar.click-to-unlock',
88
+ 'Click to unlock',
89
+ ];
90
+ /* ── The edgeless "More" sub-menu (`edgeless/configs/toolbar/more.ts`) ─── */
91
+ export const ROOT_TOOLBAR_FRAME_SECTION = [
92
+ 'com.labre.root.toolbar.frame-section',
93
+ 'Frame section',
94
+ ];
95
+ export const ROOT_TOOLBAR_GROUP_SECTION = [
96
+ 'com.labre.root.toolbar.group-section',
97
+ 'Group section',
98
+ ];
99
+ export const ROOT_TOOLBAR_BRING_FORWARD = [
100
+ 'com.labre.root.toolbar.bring-forward',
101
+ 'Bring Forward',
102
+ ];
103
+ export const ROOT_TOOLBAR_SEND_BACKWARD = [
104
+ 'com.labre.root.toolbar.send-backward',
105
+ 'Send Backward',
106
+ ];
107
+ export const ROOT_TOOLBAR_RELOAD = TOOLBAR_RELOAD;
108
+ export const ROOT_TOOLBAR_TURN_INTO_LINKED_DOC = [
109
+ 'com.labre.root.toolbar.turn-into-linked-doc',
110
+ 'Turn into linked doc',
111
+ ];
112
+ export const ROOT_TOOLBAR_EDIT_LINK = [
113
+ 'com.labre.root.toolbar.edit-link',
114
+ 'Edit link',
115
+ ];
116
+ export const ROOT_TOOLBAR_REMOVE_LINK = TOOLBAR_REMOVE_LINK;
117
+ /* ── The edgeless keyboard shortcuts (`edgeless/edgeless-keyboard.ts`) ─── */
118
+ export const ROOT_TOAST_ZOOM_TO_SELECTION = [
119
+ 'com.labre.root.toast.zoom-to-selection',
120
+ 'Zoom to selection',
121
+ ];
122
+ /**
123
+ * The Tab/Enter mindmap shortcuts' seed for a freshly added node — the same
124
+ * word `MindmapElementModel.addNode`'s own default falls back to (that
125
+ * default is model/red-zone, left untouched: the creation site now passes
126
+ * this text explicitly instead of relying on it). Declared here rather than
127
+ * in `@labre/affine-gfx-mindmap` because that package's own translations
128
+ * table does not carry this key yet (see that lot's own translations.ts,
129
+ * owned by a different lot — imported, never edited, per this lot's brief).
130
+ */
131
+ export const ROOT_MINDMAP_SEED_NEW_NODE = [
132
+ 'com.labre.mindmap.seed.new-node',
133
+ 'New node',
134
+ ];
135
+ /**
136
+ * This package's own CHROME wordings — L7 dedupe aliased
137
+ * `ROOT_TOOLBAR_CREATE_LINKED_DOC`, `ROOT_TOOLBAR_FRAME`, `ROOT_TOOLBAR_RELOAD`
138
+ * and `ROOT_TOOLBAR_REMOVE_LINK` to `chrome.ts` wordings — not listed again
139
+ * here, same rule the note/slash-menu packages' own chrome aliases already
140
+ * follow.
141
+ */
142
+ export const ROOT_CHROME_WORDINGS = [
143
+ ROOT_TOOLBAR_CONVERSIONS_ARIA,
144
+ ROOT_TOOLBAR_TURN_INTO,
145
+ ROOT_TOOLBAR_CREATE_TABLE,
146
+ ROOT_ALIGNMENT_MENU_ARIA,
147
+ ROOT_ALIGN_LEFT,
148
+ ROOT_ALIGN_HORIZONTALLY,
149
+ ROOT_ALIGN_RIGHT,
150
+ ROOT_DISTRIBUTE_HORIZONTALLY,
151
+ ROOT_ALIGN_TOP,
152
+ ROOT_ALIGN_VERTICALLY,
153
+ ROOT_ALIGN_BOTTOM,
154
+ ROOT_DISTRIBUTE_VERTICALLY,
155
+ ROOT_AUTO_ARRANGE,
156
+ ROOT_RESIZE_AND_ALIGN,
157
+ ROOT_TOOLBAR_RELEASE_FROM_GROUP,
158
+ ROOT_TOOLBAR_GROUP,
159
+ ROOT_TOOLBAR_ALIGN_OBJECTS,
160
+ ROOT_TOOLBAR_CLICK_TO_UNLOCK,
161
+ ROOT_TOOLBAR_FRAME_SECTION,
162
+ ROOT_TOOLBAR_GROUP_SECTION,
163
+ ROOT_TOOLBAR_BRING_FORWARD,
164
+ ROOT_TOOLBAR_SEND_BACKWARD,
165
+ ROOT_TOOLBAR_TURN_INTO_LINKED_DOC,
166
+ ROOT_TOOLBAR_EDIT_LINK,
167
+ ROOT_TOAST_ZOOM_TO_SELECTION,
168
+ ];
169
+ /** This package's own seed, joined into `PACKAGE_SEED_WORDINGS`. */
170
+ export const ROOT_SEED_WORDINGS = [
171
+ ROOT_MINDMAP_SEED_NEW_NODE,
172
+ ];
@@ -1,6 +1,7 @@
1
1
  import { ImageBlockModel } from '../../../affine-model/index.js';
2
2
  import { FetchUtils, ImageProxyService } from '../../../affine-shared/adapters/index.js';
3
3
  import { CANVAS_EXPORT_IGNORE_TAGS } from '../../../affine-shared/consts/index.js';
4
+ import { CHROME_UNTITLED, translateKey } from '../../../affine-shared/services/index.js';
4
5
  import { isInsidePageEditor, matchModels } from '../../../affine-shared/utils/index.js';
5
6
  import { BlockSuiteError, ErrorCode } from '../../../global/exceptions/index.js';
6
7
  import { deserializeXYWH } from '../../../global/gfx/index.js';
@@ -388,7 +389,8 @@ export class ExportManager {
388
389
  if (!canvasImage) {
389
390
  return;
390
391
  }
391
- FileExporter.exportPng(this.doc.root.props.title.toString(), canvasImage.toDataURL('image/png'));
392
+ const title = this.doc.root.props.title.toString();
393
+ FileExporter.exportPng(title.trim() || translateKey(this.std, ...CHROME_UNTITLED), canvasImage.toDataURL('image/png'));
392
394
  }
393
395
  }
394
396
  export const ExportManagerExtension = {
@@ -19,6 +19,7 @@ export * from './reading-widget.js';
19
19
  export * from './spotlight.js';
20
20
  export * from './surface-middleware.js';
21
21
  export * from './svg-sketch.js';
22
+ export * from './svg-sketch-translations.js';
22
23
  export * from './tags-toolbar.js';
23
24
  export * from './validation.js';
24
25
  export * from './validation-toolbar.js';
@@ -19,6 +19,7 @@ export * from './reading-widget.js';
19
19
  export * from './spotlight.js';
20
20
  export * from './surface-middleware.js';
21
21
  export * from './svg-sketch.js';
22
+ export * from './svg-sketch-translations.js';
22
23
  export * from './tags-toolbar.js';
23
24
  export * from './validation.js';
24
25
  export * from './validation-toolbar.js';
@@ -4,7 +4,7 @@ import { openSingleFileWithSpec } from '../../affine-shared/utils/index.js';
4
4
  import { getCommonBound } from '../../global/gfx/index.js';
5
5
  import { GfxControllerIdentifier } from '../../std/gfx/index.js';
6
6
  import { DefaultTool } from '../tool/default-tool.js';
7
- import { interchangeCapabilities, } from './interchange.js';
7
+ import { InterchangeImportError, interchangeCapabilities, } from './interchange.js';
8
8
  /**
9
9
  * **The public import API** — what an editor, a host application or a plugin
10
10
  * calls to turn a foreign file into a board (`docs/adr/0012`).
@@ -126,18 +126,28 @@ const REMARKS_IN_A_NOTIFICATION = 5;
126
126
  */
127
127
  const formatLabel = (format) => format.id.toUpperCase();
128
128
  /**
129
- * One remark, as the line a reader sees.
129
+ * One remark's own wording — the reader that produced it had no `std` and
130
+ * could not translate it (P3), so this is where a remark that declared a key
131
+ * (`InterchangeNote.messageKey`) gets it, `{{name}}` holes filled from
132
+ * `messageParams` with no host catalogue exactly as they were filled by the
133
+ * reader's own string interpolation before either field existed. A remark
134
+ * with no key is one that names something out of the file with no sentence
135
+ * shape worth sharing, and is shown as the reader wrote it.
130
136
  *
131
- * The reader that produced it had no `std` and could not translate it (P3), so
132
- * this is where a remark that declared a key gets its wording — with its own
133
- * `message` as the English default, exactly like every other `translateKey`
134
- * call site. A remark with no key is one that names something out of the file
135
- * and is shown as the reader wrote it (see `InterchangeNote.messageKey`).
137
+ * The one function every READER of `note.message` goes through — the
138
+ * notification line below (`remarkLine`) and the console table
139
+ * (`reportInterchangeImport`) both resolve through it, so a note keyed via
140
+ * the `TABLE.key[1]` pattern (its OWN fallback, not a hand-rebuilt literal)
141
+ * reads identically in both rather than showing raw `{{tag}}` in the console.
136
142
  */
137
- function remarkLine(std, note) {
138
- const message = note.messageKey
139
- ? translateKey(std, note.messageKey, note.message)
143
+ function resolveNoteMessage(std, note) {
144
+ return note.messageKey
145
+ ? translateKey(std, note.messageKey, note.message, note.messageParams)
140
146
  : note.message;
147
+ }
148
+ /** One remark, as the line a reader sees. */
149
+ function remarkLine(std, note) {
150
+ const message = resolveNoteMessage(std, note);
141
151
  const subject = note.sourceId ?? note.element;
142
152
  return subject ? `${subject}: ${message}` : message;
143
153
  }
@@ -220,7 +230,7 @@ export function reportInterchangeImport(std, format, report) {
220
230
  kind: note.kind,
221
231
  source: note.sourceId ?? '',
222
232
  element: note.element ?? '',
223
- message: note.message,
233
+ message: resolveNoteMessage(std, note),
224
234
  })));
225
235
  notifyImport(std, {
226
236
  title: translateKey(std, IMPORT_REMARKS_KEY, IMPORT_REMARKS_FALLBACK),
@@ -317,9 +327,18 @@ export async function importInterchangeFile(std, capability, file) {
317
327
  result = capability.run(await file.text(), { name: file.name });
318
328
  }
319
329
  catch (error) {
330
+ // `InterchangeImportError` checked FIRST: a reader that throws it declared
331
+ // a key for its own refusal, resolved exactly like a note's `messageKey`
332
+ // (see `remarkLine`, above). Any other `Error` (or a non-`Error` throw)
333
+ // reads as it always did.
334
+ const message = error instanceof InterchangeImportError && error.messageKey
335
+ ? translateKey(std, error.messageKey, error.message, error.messageParams)
336
+ : error instanceof Error
337
+ ? error.message
338
+ : String(error);
320
339
  notifyImport(std, {
321
340
  title: translateKey(std, IMPORT_FAILED_KEY, IMPORT_FAILED_FALLBACK),
322
- message: error instanceof Error ? error.message : String(error),
341
+ message,
323
342
  accent: 'error',
324
343
  });
325
344
  return;
@@ -97,21 +97,26 @@ export interface InterchangeNote {
97
97
  message: string;
98
98
  /**
99
99
  * The i18n key {@link message} is the English default of — set only when the
100
- * remark is a FIXED sentence.
100
+ * remark is a FIXED sentence, one per SHAPE of sentence rather than one per
101
+ * exact string (a `{{name}}` hole is filled by {@link messageParams}, not by
102
+ * minting a new key for every value the file happens to carry).
101
103
  *
102
104
  * A reader is a pure function of text (`docs/adr/0012`, P3): it has no `std`,
103
105
  * so it cannot reach the host's catalogue and hands the key over instead, and
104
106
  * `reportInterchangeImport` resolves it when it draws the report. That is the
105
- * whole of the seam here, and it deliberately covers only the remarks that
106
- * say the same thing every time.
107
+ * whole of the seam here.
107
108
  *
108
- * A remark that NAMES something out of the file — an element, an id, a count
109
- * of lanes — carries no key and stays English. The seam has no interpolation
110
- * and no pluralisation (both are the host's), so the alternative would be to
111
- * invent a grammar for sentences with holes in them, which is exactly what
112
- * the three interchange count labels already refuse to do.
109
+ * A remark that names something out of the file with no sentence shape worth
110
+ * sharing (a raw dump, a one-off diagnostic) carries no key and stays
111
+ * English — the seam still has no pluralisation, which is the host's.
113
112
  */
114
113
  messageKey?: string;
114
+ /**
115
+ * `{{name}}`-style values for {@link messageKey}'s placeholders — the file's
116
+ * own words (a unit, a tag name), never a sentence of their own. Ignored
117
+ * when {@link messageKey} is absent.
118
+ */
119
+ messageParams?: Record<string, string | number>;
115
120
  }
116
121
  /**
117
122
  * The five things worth saying about one item, and no sixth.
@@ -161,6 +166,33 @@ export interface InterchangeReport {
161
166
  */
162
167
  sourceVersion?: string;
163
168
  }
169
+ /**
170
+ * A reader's own refusal — THROWN, not returned, because the report's three
171
+ * counts (`InterchangeReport`) cannot say "this is not a file I can read": a
172
+ * report of three zeroes would claim an empty document where there was none
173
+ * (see `importInterchangeFile`, "Failure is an exception, and it says which
174
+ * one", `interchange-import.ts`).
175
+ *
176
+ * Carries the reader's own English sentence as `Error.message`, so every
177
+ * existing `catch` site that only ever did `error.message` keeps reading
178
+ * exactly what it read before — plus the same optional key/params pair
179
+ * {@link InterchangeNote} carries, on the same seam: a reader has no `std`
180
+ * (`docs/adr/0012`, P3) and cannot translate its own refusal, so the catch
181
+ * site that DOES have one (`importInterchangeFile`) resolves it exactly as
182
+ * `remarkLine` resolves a note.
183
+ *
184
+ * Optional and additive: a reader that still throws a plain `Error` (or any
185
+ * other capability's failure) is caught exactly as before — this class only
186
+ * gives the catch site a SECOND thing to check, never a first requirement.
187
+ */
188
+ export declare class InterchangeImportError extends Error {
189
+ readonly messageKey?: string;
190
+ readonly messageParams?: Record<string, string | number>;
191
+ constructor(message: string, options?: {
192
+ messageKey?: string;
193
+ messageParams?: Record<string, string | number>;
194
+ });
195
+ }
164
196
  /** What the caller tells an exporter about the document it is producing. */
165
197
  export interface InterchangeExportContext {
166
198
  /**
@@ -1,4 +1,31 @@
1
1
  import { createIdentifier } from '../../global/di/index.js';
2
+ /**
3
+ * A reader's own refusal — THROWN, not returned, because the report's three
4
+ * counts (`InterchangeReport`) cannot say "this is not a file I can read": a
5
+ * report of three zeroes would claim an empty document where there was none
6
+ * (see `importInterchangeFile`, "Failure is an exception, and it says which
7
+ * one", `interchange-import.ts`).
8
+ *
9
+ * Carries the reader's own English sentence as `Error.message`, so every
10
+ * existing `catch` site that only ever did `error.message` keeps reading
11
+ * exactly what it read before — plus the same optional key/params pair
12
+ * {@link InterchangeNote} carries, on the same seam: a reader has no `std`
13
+ * (`docs/adr/0012`, P3) and cannot translate its own refusal, so the catch
14
+ * site that DOES have one (`importInterchangeFile`) resolves it exactly as
15
+ * `remarkLine` resolves a note.
16
+ *
17
+ * Optional and additive: a reader that still throws a plain `Error` (or any
18
+ * other capability's failure) is caught exactly as before — this class only
19
+ * gives the catch site a SECOND thing to check, never a first requirement.
20
+ */
21
+ export class InterchangeImportError extends Error {
22
+ constructor(message, options) {
23
+ super(message);
24
+ this.name = 'InterchangeImportError';
25
+ this.messageKey = options?.messageKey;
26
+ this.messageParams = options?.messageParams;
27
+ }
28
+ }
2
29
  /** The separator the triple is built from, and therefore reserved in its parts. */
3
30
  const ID_SEPARATOR = ':';
4
31
  /** The one way to spell a capability's id. */
@@ -1,5 +1,5 @@
1
1
  import { type ToolbarContext, type ToolbarModuleConfig } from '../../affine-shared/services/index.js';
2
- import type { FrameworkId } from '../../std/index.js';
2
+ import type { BlockStdScope, FrameworkId } from '../../std/index.js';
3
3
  import type { GfxPrimitiveElementModel } from '../../std/gfx/index.js';
4
4
  import type { TemplateResult } from 'lit';
5
5
  /**
@@ -148,7 +148,7 @@ export interface MorphSpec<K extends string = string> {
148
148
  * still says what the SOURCE kind derived may be rewritten, and a line the
149
149
  * author typed over is theirs.
150
150
  */
151
- afterMorph?(model: GfxPrimitiveElementModel, from: K, to: K): void;
151
+ afterMorph?(model: GfxPrimitiveElementModel, from: K, to: K, std?: BlockStdScope): void;
152
152
  /** The role a kind means — the `from` / `to` of the telemetry, ids only. */
153
153
  roleOf(kind: K): string;
154
154
  /**
@@ -158,8 +158,11 @@ export function applyMorph(ctx, spec, kind) {
158
158
  entry.target.clearField(field);
159
159
  // Inside the loop and inside the one checkpoint above: whatever the rest of
160
160
  // a composite owes this morph — C4's type line — is part of the same single
161
- // ctrl+z as the kind that made it necessary.
162
- spec.afterMorph?.(entry.selected, entry.kind, kind);
161
+ // ctrl+z as the kind that made it necessary. `ctx.std` is handed through so
162
+ // a rewrite can tell an untouched TRANSLATED placeholder from real content
163
+ // (`c4MorphedTypeLine`, `wardleyMorphedLabel`) — with no host it behaves
164
+ // exactly as it always has, English only.
165
+ spec.afterMorph?.(entry.selected, entry.kind, kind, ctx.std);
163
166
  }
164
167
  // The one DIRECT emission in this module, and the arbitrated exception is the
165
168
  // same one the C4 legend button makes: there is no command behind this
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { buildOccurrencePatch, getUniverseRegistry, publishOccurrenceMaterialities, translateKey, } from '../../affine-shared/services/index.js';
35
+ import { buildOccurrencePatch, getUniverseRegistry, publishOccurrenceMaterialities, translateKey, translateTagLabel, } from '../../affine-shared/services/index.js';
36
36
  import { getRegisteredCommands, runCommand, WidgetViewExtension, } from '../../std/index.js';
37
37
  import { resolvePivotBinding } from '../../std/gfx/index.js';
38
38
  import { effect } from '@preact/signals-core';
@@ -330,7 +330,8 @@ let ReadingProposalWidget = (() => {
330
330
  const def = getUniverseRegistry(this.std).tag(tagId);
331
331
  if (!def || def.values === 'open')
332
332
  return valueId;
333
- return def.values.find(value => value.id === valueId)?.label || valueId;
333
+ const value = def.values.find(value => value.id === valueId);
334
+ return (value && translateTagLabel(this.std, value)) || valueId;
334
335
  }
335
336
  _field(testid, label, body) {
336
337
  return html `<div class="reading-field" data-testid=${testid}>
@@ -0,0 +1,48 @@
1
+ import type { ChromeWording } from '../../affine-shared/services/index.js';
2
+ /**
3
+ * The SVG importer's own remarks (`svg-sketch.ts`) — one key per SENTENCE
4
+ * SHAPE, not per exact string: a `{{name}}` hole is filled by
5
+ * `InterchangeNote.messageParams` at report time
6
+ * (`interchange-import.ts`'s `remarkLine`), never split into two keys or
7
+ * baked into the key itself.
8
+ *
9
+ * The reader that raises these is a pure function of text (`docs/adr/0012`,
10
+ * P3): it has no `std`, so each note carries its key and (where it has one)
11
+ * its params, and `reportInterchangeImport` resolves both when it draws the
12
+ * report — see `InterchangeNote.messageKey` / `.messageParams`.
13
+ *
14
+ * NOT included: the three `throw new Error(...)` refusals `parseSvgRoot`
15
+ * raises for a malformed or empty file. Those are caught by
16
+ * `importInterchangeFile`'s single, format-agnostic `catch` — shared by
17
+ * every interchange reader (BPMN, mermaid, OWM, this one) — which shows
18
+ * `error.message` verbatim BY DESIGN ("shown as it is rather than replaced
19
+ * with a wording of our own that knows less"). Keying them would mean
20
+ * teaching that shared catch to resolve a per-reader key, a mechanism this
21
+ * lot does not own the other readers to touch — flagged in this lot's report
22
+ * instead of invented here.
23
+ */
24
+ export declare const SVG_SKETCH_FONT_UNIT: ChromeWording;
25
+ export declare const SVG_SKETCH_HIDDEN_DISPLAY: ChromeWording;
26
+ export declare const SVG_SKETCH_HIDDEN_VISIBILITY: ChromeWording;
27
+ export declare const SVG_SKETCH_OPACITY: ChromeWording;
28
+ export declare const SVG_SKETCH_PAINT_SERVER: ChromeWording;
29
+ export declare const SVG_SKETCH_CURRENT_COLOR: ChromeWording;
30
+ export declare const SVG_SKETCH_TRANSFORM: ChromeWording;
31
+ export declare const SVG_SKETCH_LONE_POINT: ChromeWording;
32
+ export declare const SVG_SKETCH_CURVE: ChromeWording;
33
+ export declare const SVG_SKETCH_EMPTY_BOX: ChromeWording;
34
+ export declare const SVG_SKETCH_PERCENT_RADIUS: ChromeWording;
35
+ export declare const SVG_SKETCH_FLAT_POLYGON: ChromeWording;
36
+ export declare const SVG_SKETCH_EMPTY_TEXT: ChromeWording;
37
+ export declare const SVG_SKETCH_SWITCH: ChromeWording;
38
+ export declare const SVG_SKETCH_SKIPPED: ChromeWording;
39
+ export declare const SVG_SKETCH_REMOVED: ChromeWording;
40
+ export declare const SVG_SKETCH_REMOVED_ATTRIBUTE: ChromeWording;
41
+ export declare const SVG_SKETCH_EMPTY: ChromeWording;
42
+ /**
43
+ * Every wording declared above, in declaration order — joined into
44
+ * `PACKAGE_WORDINGS` (`packages/affine/all/src/translations.ts`) alongside
45
+ * `PROVENANCE_FALLBACK`/`SEVERITY_FALLBACK`/`EXEMPTION_FALLBACK`, this
46
+ * package's other manifest contributions.
47
+ */
48
+ export declare const SVG_SKETCH_WORDINGS: readonly ChromeWording[];
@@ -0,0 +1,120 @@
1
+ /**
2
+ * The SVG importer's own remarks (`svg-sketch.ts`) — one key per SENTENCE
3
+ * SHAPE, not per exact string: a `{{name}}` hole is filled by
4
+ * `InterchangeNote.messageParams` at report time
5
+ * (`interchange-import.ts`'s `remarkLine`), never split into two keys or
6
+ * baked into the key itself.
7
+ *
8
+ * The reader that raises these is a pure function of text (`docs/adr/0012`,
9
+ * P3): it has no `std`, so each note carries its key and (where it has one)
10
+ * its params, and `reportInterchangeImport` resolves both when it draws the
11
+ * report — see `InterchangeNote.messageKey` / `.messageParams`.
12
+ *
13
+ * NOT included: the three `throw new Error(...)` refusals `parseSvgRoot`
14
+ * raises for a malformed or empty file. Those are caught by
15
+ * `importInterchangeFile`'s single, format-agnostic `catch` — shared by
16
+ * every interchange reader (BPMN, mermaid, OWM, this one) — which shows
17
+ * `error.message` verbatim BY DESIGN ("shown as it is rather than replaced
18
+ * with a wording of our own that knows less"). Keying them would mean
19
+ * teaching that shared catch to resolve a per-reader key, a mechanism this
20
+ * lot does not own the other readers to touch — flagged in this lot's report
21
+ * instead of invented here.
22
+ */
23
+ export const SVG_SKETCH_FONT_UNIT = [
24
+ 'com.labre.interchange.svg.font-unit',
25
+ 'Font sizes in `{{unit}}` cannot be resolved without a page to measure against; those labels use the inherited size.',
26
+ ];
27
+ export const SVG_SKETCH_HIDDEN_DISPLAY = [
28
+ 'com.labre.interchange.svg.hidden-display',
29
+ 'Parts of the file marked `display:none` were not imported — they draw nothing where the file came from either.',
30
+ ];
31
+ export const SVG_SKETCH_HIDDEN_VISIBILITY = [
32
+ 'com.labre.interchange.svg.hidden-visibility',
33
+ 'Parts of the file marked `visibility:hidden` were not imported — they draw nothing where the file came from either.',
34
+ ];
35
+ export const SVG_SKETCH_OPACITY = [
36
+ 'com.labre.interchange.svg.opacity',
37
+ 'Transparency is not carried: partly transparent shapes arrive at full strength.',
38
+ ];
39
+ export const SVG_SKETCH_PAINT_SERVER = [
40
+ 'com.labre.interchange.svg.paint-server',
41
+ 'Gradients and patterns are not read; the shapes that used one are a flat neutral.',
42
+ ];
43
+ export const SVG_SKETCH_CURRENT_COLOR = [
44
+ 'com.labre.interchange.svg.current-color',
45
+ '`currentColor` has no page to inherit from here; the shapes that used it are a flat neutral.',
46
+ ];
47
+ export const SVG_SKETCH_TRANSFORM = [
48
+ 'com.labre.interchange.svg.transform',
49
+ '`{{kind}}` transforms are ignored (best effort): what carried one is placed as if it did not.',
50
+ ];
51
+ export const SVG_SKETCH_LONE_POINT = [
52
+ 'com.labre.interchange.svg.lone-point',
53
+ 'A path that never moved anywhere draws nothing and was skipped.',
54
+ ];
55
+ export const SVG_SKETCH_CURVE = [
56
+ 'com.labre.interchange.svg.curve',
57
+ 'Curves are approximated by their endpoints (best effort), so a curved path arrives as straight segments.',
58
+ ];
59
+ export const SVG_SKETCH_EMPTY_BOX = [
60
+ 'com.labre.interchange.svg.empty-box',
61
+ 'Shapes with no width or height were skipped.',
62
+ ];
63
+ export const SVG_SKETCH_PERCENT_RADIUS = [
64
+ 'com.labre.interchange.svg.percent-radius',
65
+ 'Corner radii given as a percentage were not read; those corners arrive square.',
66
+ ];
67
+ export const SVG_SKETCH_FLAT_POLYGON = [
68
+ 'com.labre.interchange.svg.flat-polygon',
69
+ 'A polygon with fewer than three corners, or flat on one axis, arrives as its bounding rectangle.',
70
+ ];
71
+ export const SVG_SKETCH_EMPTY_TEXT = [
72
+ 'com.labre.interchange.svg.empty-text',
73
+ 'Empty text elements were skipped.',
74
+ ];
75
+ export const SVG_SKETCH_SWITCH = [
76
+ 'com.labre.interchange.svg.switch',
77
+ 'A `<switch>` offers alternative renderings; the first was imported and the others were not.',
78
+ ];
79
+ export const SVG_SKETCH_SKIPPED = [
80
+ 'com.labre.interchange.svg.skipped',
81
+ '`<{{name}}>` is not recognised and was skipped.',
82
+ ];
83
+ export const SVG_SKETCH_REMOVED = [
84
+ 'com.labre.interchange.svg.removed',
85
+ '`<{{name}}>` was removed while sanitizing the file — it is one of the constructs an SVG can carry code in — so nothing it drew was imported.',
86
+ ];
87
+ export const SVG_SKETCH_REMOVED_ATTRIBUTE = [
88
+ 'com.labre.interchange.svg.removed-attribute',
89
+ 'Attributes outside the safe SVG drawing vocabulary — event handlers, script URLs, and anything else the sanitizer does not know — were removed before the file was read.',
90
+ ];
91
+ export const SVG_SKETCH_EMPTY = [
92
+ 'com.labre.interchange.svg.empty',
93
+ 'No shape or text was recognised in this SVG, so nothing was drawn.',
94
+ ];
95
+ /**
96
+ * Every wording declared above, in declaration order — joined into
97
+ * `PACKAGE_WORDINGS` (`packages/affine/all/src/translations.ts`) alongside
98
+ * `PROVENANCE_FALLBACK`/`SEVERITY_FALLBACK`/`EXEMPTION_FALLBACK`, this
99
+ * package's other manifest contributions.
100
+ */
101
+ export const SVG_SKETCH_WORDINGS = [
102
+ SVG_SKETCH_FONT_UNIT,
103
+ SVG_SKETCH_HIDDEN_DISPLAY,
104
+ SVG_SKETCH_HIDDEN_VISIBILITY,
105
+ SVG_SKETCH_OPACITY,
106
+ SVG_SKETCH_PAINT_SERVER,
107
+ SVG_SKETCH_CURRENT_COLOR,
108
+ SVG_SKETCH_TRANSFORM,
109
+ SVG_SKETCH_LONE_POINT,
110
+ SVG_SKETCH_CURVE,
111
+ SVG_SKETCH_EMPTY_BOX,
112
+ SVG_SKETCH_PERCENT_RADIUS,
113
+ SVG_SKETCH_FLAT_POLYGON,
114
+ SVG_SKETCH_EMPTY_TEXT,
115
+ SVG_SKETCH_SWITCH,
116
+ SVG_SKETCH_SKIPPED,
117
+ SVG_SKETCH_REMOVED,
118
+ SVG_SKETCH_REMOVED_ATTRIBUTE,
119
+ SVG_SKETCH_EMPTY,
120
+ ];