@formicoidea/labre-core 0.40.0 → 0.42.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 (638) hide show
  1. package/LICENSE +384 -0
  2. package/dist/_pkgs/affine-block-attachment/attachment-block.js +7 -2
  3. package/dist/_pkgs/affine-block-attachment/components/rename-model.js +3 -2
  4. package/dist/_pkgs/affine-block-attachment/configs/slash-menu.js +7 -0
  5. package/dist/_pkgs/affine-block-attachment/configs/toolbar.js +11 -3
  6. package/dist/_pkgs/affine-block-attachment/configs/tooltips.js +4 -4
  7. package/dist/_pkgs/affine-block-attachment/translations.d.ts +49 -0
  8. package/dist/_pkgs/affine-block-attachment/translations.js +98 -0
  9. package/dist/_pkgs/affine-block-attachment/utils.js +9 -6
  10. package/dist/_pkgs/affine-block-bookmark/bookmark-block.js +2 -2
  11. package/dist/_pkgs/affine-block-bookmark/components/bookmark-card.js +13 -6
  12. package/dist/_pkgs/affine-block-bookmark/configs/slash-menu.js +6 -1
  13. package/dist/_pkgs/affine-block-bookmark/configs/toolbar.js +9 -1
  14. package/dist/_pkgs/affine-block-bookmark/configs/tooltips.js +2 -2
  15. package/dist/_pkgs/affine-block-bookmark/translations.d.ts +26 -0
  16. package/dist/_pkgs/affine-block-bookmark/translations.js +55 -0
  17. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +4 -0
  18. package/dist/_pkgs/affine-block-callout/configs/tooltips.js +2 -2
  19. package/dist/_pkgs/affine-block-callout/translations.d.ts +16 -0
  20. package/dist/_pkgs/affine-block-callout/translations.js +24 -0
  21. package/dist/_pkgs/affine-block-code/code-block.js +6 -3
  22. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +4 -2
  23. package/dist/_pkgs/affine-block-code/code-toolbar/components/lang-button.js +3 -2
  24. package/dist/_pkgs/affine-block-code/code-toolbar/components/preview-button.js +4 -3
  25. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +116 -72
  26. package/dist/_pkgs/affine-block-code/translations.d.ts +30 -0
  27. package/dist/_pkgs/affine-block-code/translations.js +84 -0
  28. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +9 -3
  29. package/dist/_pkgs/affine-block-embed/common/render-linked-doc.js +7 -6
  30. package/dist/_pkgs/affine-block-embed/configs/toolbar.js +11 -2
  31. package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-block.js +2 -1
  32. package/dist/_pkgs/affine-block-embed/embed-github-block/embed-github-block.js +2 -1
  33. package/dist/_pkgs/affine-block-embed/embed-html-block/components/fullscreen-toolbar.js +4 -3
  34. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/toolbar.js +5 -1
  35. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/tooltips.js +14 -14
  36. package/dist/_pkgs/affine-block-embed/embed-html-block/embed-html-block.js +7 -1
  37. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +11 -4
  38. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.d.ts +2 -0
  39. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.js +13 -3
  40. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-edit-popup.js +4 -2
  41. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-base.js +8 -5
  42. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-popup.js +21 -5
  43. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-loading-card.js +4 -1
  44. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/slash-menu/slash-menu.js +4 -0
  45. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.d.ts +2 -0
  46. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +6 -1
  47. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.d.ts +2 -0
  48. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.js +5 -0
  49. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.d.ts +1 -0
  50. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +33 -9
  51. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.d.ts +8 -0
  52. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.js +19 -0
  53. package/dist/_pkgs/affine-block-embed/embed-loom-block/embed-loom-block.js +2 -1
  54. package/dist/_pkgs/affine-block-embed/embed-youtube-block/embed-youtube-block.js +2 -1
  55. package/dist/_pkgs/affine-block-embed/translations.d.ts +46 -0
  56. package/dist/_pkgs/affine-block-embed/translations.js +114 -0
  57. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/slash-menu.js +7 -0
  58. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +29 -12
  59. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/tooltips.js +4 -4
  60. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +10 -4
  61. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/components/embed-synced-doc-card.js +8 -4
  62. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +28 -13
  63. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-edgeless-synced-doc-block.js +3 -2
  64. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +3 -2
  65. package/dist/_pkgs/affine-block-embed-doc/translations.d.ts +40 -0
  66. package/dist/_pkgs/affine-block-embed-doc/translations.js +85 -0
  67. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-dense-menu.js +29 -22
  68. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-menu.js +5 -1
  69. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-tool-button.js +2 -1
  70. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/presentation-toolbar.js +12 -9
  71. package/dist/_pkgs/affine-block-frame/frame-manager.js +8 -2
  72. package/dist/_pkgs/affine-block-frame/frame-tool.js +7 -2
  73. package/dist/_pkgs/affine-block-frame/frame-toolbar.js +18 -7
  74. package/dist/_pkgs/affine-block-frame/index.d.ts +1 -0
  75. package/dist/_pkgs/affine-block-frame/index.js +1 -0
  76. package/dist/_pkgs/affine-block-frame/present/frame-order-button.js +5 -1
  77. package/dist/_pkgs/affine-block-frame/present/navigator-setting-button.js +16 -6
  78. package/dist/_pkgs/affine-block-frame/present/present-button.js +3 -1
  79. package/dist/_pkgs/affine-block-frame/translations.d.ts +64 -0
  80. package/dist/_pkgs/affine-block-frame/translations.js +131 -0
  81. package/dist/_pkgs/affine-block-image/components/page-image-block.js +5 -2
  82. package/dist/_pkgs/affine-block-image/configs/slash-menu.js +4 -0
  83. package/dist/_pkgs/affine-block-image/configs/toolbar.js +7 -1
  84. package/dist/_pkgs/affine-block-image/configs/tooltips.js +1 -1
  85. package/dist/_pkgs/affine-block-image/image-block.js +3 -2
  86. package/dist/_pkgs/affine-block-image/image-edgeless-block.js +6 -3
  87. package/dist/_pkgs/affine-block-image/preview-image/page.js +5 -1
  88. package/dist/_pkgs/affine-block-image/translations.d.ts +35 -0
  89. package/dist/_pkgs/affine-block-image/translations.js +68 -0
  90. package/dist/_pkgs/affine-block-image/utils.js +9 -8
  91. package/dist/_pkgs/affine-block-latex/configs/slash-menu.d.ts +8 -0
  92. package/dist/_pkgs/affine-block-latex/configs/slash-menu.js +19 -3
  93. package/dist/_pkgs/affine-block-latex/latex-block.js +6 -2
  94. package/dist/_pkgs/affine-block-latex/translations.d.ts +35 -0
  95. package/dist/_pkgs/affine-block-latex/translations.js +60 -0
  96. package/dist/_pkgs/affine-block-list/list-keymap.js +7 -0
  97. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.d.ts +9 -0
  98. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.js +23 -6
  99. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.d.ts +4 -1
  100. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.js +26 -6
  101. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.d.ts +3 -0
  102. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.js +21 -10
  103. package/dist/_pkgs/affine-block-note/components/edgeless-note-style-panel.js +22 -8
  104. package/dist/_pkgs/affine-block-note/configs/slash-menu.js +13 -0
  105. package/dist/_pkgs/affine-block-note/configs/toolbar.js +26 -19
  106. package/dist/_pkgs/affine-block-note/configs/tooltips.js +57 -30
  107. package/dist/_pkgs/affine-block-note/move-block.js +8 -2
  108. package/dist/_pkgs/affine-block-note/note-keymap.js +7 -1
  109. package/dist/_pkgs/affine-block-note/translations.d.ts +91 -0
  110. package/dist/_pkgs/affine-block-note/translations.js +253 -0
  111. package/dist/_pkgs/affine-block-paragraph/paragraph-block.js +7 -2
  112. package/dist/_pkgs/affine-block-paragraph/paragraph-keymap.js +7 -1
  113. package/dist/_pkgs/affine-block-paragraph/translations.d.ts +31 -0
  114. package/dist/_pkgs/affine-block-paragraph/translations.js +44 -0
  115. package/dist/_pkgs/affine-block-paragraph/view.js +6 -1
  116. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +1 -8
  117. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +1 -8
  118. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +3 -1
  119. package/dist/_pkgs/affine-block-root/configs/toolbar.js +6 -3
  120. package/dist/_pkgs/affine-block-root/edgeless/clipboard/utils.js +1 -1
  121. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/alignment.js +26 -4
  122. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.d.ts +14 -0
  123. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.js +10 -3
  124. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.d.ts +8 -0
  125. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -0
  126. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.d.ts +9 -0
  127. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +66 -6
  128. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.d.ts +22 -0
  129. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +46 -0
  130. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.d.ts +0 -1
  131. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.js +0 -1
  132. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.d.ts +21 -0
  133. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.js +24 -0
  134. package/dist/_pkgs/affine-block-root/edgeless/utils/query.js +8 -0
  135. package/dist/_pkgs/affine-block-root/keyboard/keymap.js +1 -16
  136. package/dist/_pkgs/affine-block-root/translations.d.ts +61 -0
  137. package/dist/_pkgs/affine-block-root/translations.js +172 -0
  138. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
  139. package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
  140. package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +3 -1
  141. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.d.ts +23 -0
  142. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.js +89 -0
  143. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.d.ts +7 -0
  144. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.js +5 -0
  145. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.d.ts +41 -0
  146. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.js +70 -0
  147. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.d.ts +49 -0
  148. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.js +257 -0
  149. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.d.ts +16 -0
  150. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.js +24 -0
  151. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.d.ts +24 -0
  152. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.js +66 -0
  153. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +5 -0
  154. package/dist/_pkgs/affine-block-surface/extensions/index.js +5 -0
  155. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +66 -4
  156. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +272 -23
  157. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +58 -8
  158. package/dist/_pkgs/affine-block-surface/extensions/interchange.js +27 -0
  159. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.d.ts +81 -0
  160. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.js +81 -0
  161. package/dist/_pkgs/affine-block-surface/extensions/legend.d.ts +136 -0
  162. package/dist/_pkgs/affine-block-surface/extensions/legend.js +439 -0
  163. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +2 -2
  164. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +5 -2
  165. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +17 -3
  166. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +38 -15
  167. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +61 -1
  168. package/dist/_pkgs/affine-block-surface/extensions/reading.js +85 -39
  169. package/dist/_pkgs/affine-block-surface/extensions/record-action.d.ts +66 -0
  170. package/dist/_pkgs/affine-block-surface/extensions/record-action.js +145 -0
  171. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +48 -0
  172. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +120 -0
  173. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +36 -23
  174. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +5 -5
  175. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +253 -28
  176. package/dist/_pkgs/affine-block-surface/extensions/validation.js +489 -41
  177. package/dist/_pkgs/affine-block-surface/framework-background/background-view.d.ts +115 -0
  178. package/dist/_pkgs/affine-block-surface/framework-background/background-view.js +185 -0
  179. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +1 -0
  180. package/dist/_pkgs/affine-block-surface/framework-background/index.js +1 -0
  181. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +16 -1
  182. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +31 -21
  183. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +29 -5
  184. package/dist/_pkgs/affine-block-surface/framework-background/stacking.d.ts +6 -4
  185. package/dist/_pkgs/affine-block-surface/framework-background/stacking.js +56 -8
  186. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +12 -0
  187. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +15 -0
  188. package/dist/_pkgs/affine-block-surface/view.js +8 -1
  189. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.d.ts +2 -1
  190. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.js +21 -6
  191. package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +24 -7
  192. package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
  193. package/dist/_pkgs/affine-block-surface-ref/index.d.ts +1 -0
  194. package/dist/_pkgs/affine-block-surface-ref/index.js +1 -0
  195. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block-edgeless.js +1 -0
  196. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block.js +1 -0
  197. package/dist/_pkgs/affine-block-surface-ref/translations.d.ts +83 -0
  198. package/dist/_pkgs/affine-block-surface-ref/translations.js +175 -0
  199. package/dist/_pkgs/affine-block-surface-ref/utils.d.ts +8 -1
  200. package/dist/_pkgs/affine-block-surface-ref/utils.js +12 -4
  201. package/dist/_pkgs/affine-components/caption/block-caption.js +3 -1
  202. package/dist/_pkgs/affine-components/card-style-dropdown-menu/dropdown-menu.js +4 -3
  203. package/dist/_pkgs/affine-components/citation/citation.d.ts +2 -0
  204. package/dist/_pkgs/affine-components/citation/citation.js +19 -3
  205. package/dist/_pkgs/affine-components/color-picker/button.d.ts +62 -1
  206. package/dist/_pkgs/affine-components/color-picker/button.js +182 -23
  207. package/dist/_pkgs/affine-components/color-picker/color-panel.d.ts +8 -0
  208. package/dist/_pkgs/affine-components/color-picker/color-panel.js +17 -2
  209. package/dist/_pkgs/affine-components/color-picker/color-picker.d.ts +4 -0
  210. package/dist/_pkgs/affine-components/color-picker/color-picker.js +27 -3
  211. package/dist/_pkgs/affine-components/color-picker/framework-palette.d.ts +106 -0
  212. package/dist/_pkgs/affine-components/color-picker/framework-palette.js +177 -0
  213. package/dist/_pkgs/affine-components/color-picker/index.d.ts +2 -0
  214. package/dist/_pkgs/affine-components/color-picker/index.js +2 -0
  215. package/dist/_pkgs/affine-components/color-picker/palette-carousel.d.ts +85 -0
  216. package/dist/_pkgs/affine-components/color-picker/palette-carousel.js +440 -0
  217. package/dist/_pkgs/affine-components/color-picker/types.d.ts +21 -0
  218. package/dist/_pkgs/affine-components/color-picker/utils.d.ts +28 -2
  219. package/dist/_pkgs/affine-components/color-picker/utils.js +32 -0
  220. package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -0
  221. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +34 -7
  222. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.d.ts +2 -0
  223. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.js +21 -2
  224. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.d.ts +2 -0
  225. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.js +18 -2
  226. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +33 -1
  227. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +211 -56
  228. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-create-modal.js +5 -4
  229. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +11 -9
  230. package/dist/_pkgs/affine-components/filterable-list/index.d.ts +2 -0
  231. package/dist/_pkgs/affine-components/filterable-list/index.js +17 -2
  232. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.d.ts +3 -0
  233. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.js +40 -7
  234. package/dist/_pkgs/affine-components/icon-button/index.d.ts +1 -1
  235. package/dist/_pkgs/affine-components/icon-button/index.js +1 -1
  236. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +6 -0
  237. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +42 -7
  238. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +4 -0
  239. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +35 -5
  240. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +2 -0
  241. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +22 -5
  242. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.d.ts +2 -0
  243. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.js +16 -3
  244. package/dist/_pkgs/affine-components/notification/linked-doc.js +5 -4
  245. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.js +7 -4
  246. package/dist/_pkgs/affine-components/resource/resource.d.ts +16 -1
  247. package/dist/_pkgs/affine-components/resource/resource.js +48 -20
  248. package/dist/_pkgs/affine-components/resource/status.d.ts +2 -0
  249. package/dist/_pkgs/affine-components/resource/status.js +27 -12
  250. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.d.ts +4 -1
  251. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +23 -4
  252. package/dist/_pkgs/affine-components/toast/toast.d.ts +1 -1
  253. package/dist/_pkgs/affine-components/toast/toast.js +1 -1
  254. package/dist/_pkgs/affine-components/toggle-button/toggle-button.d.ts +3 -0
  255. package/dist/_pkgs/affine-components/toggle-button/toggle-button.js +18 -3
  256. package/dist/_pkgs/affine-components/toolbar/icon-button.d.ts +2 -0
  257. package/dist/_pkgs/affine-components/toolbar/icon-button.js +18 -2
  258. package/dist/_pkgs/affine-components/toolbar/tooltip.d.ts +3 -3
  259. package/dist/_pkgs/affine-components/toolbar/tooltip.js +3 -3
  260. package/dist/_pkgs/affine-components/translations.d.ts +149 -0
  261. package/dist/_pkgs/affine-components/translations.js +495 -0
  262. package/dist/_pkgs/affine-foundation/view.js +2 -1
  263. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.d.ts +3 -0
  264. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.js +12 -1
  265. package/dist/_pkgs/affine-fragment-adapter-panel/body/adapter-panel-body.js +4 -3
  266. package/dist/_pkgs/affine-fragment-adapter-panel/config.d.ts +13 -0
  267. package/dist/_pkgs/affine-fragment-adapter-panel/config.js +18 -4
  268. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-menu.js +2 -2
  269. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-panel-header.js +2 -2
  270. package/dist/_pkgs/affine-fragment-adapter-panel/translations.d.ts +24 -0
  271. package/dist/_pkgs/affine-fragment-adapter-panel/translations.js +37 -0
  272. package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +1 -0
  273. package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +9 -1
  274. package/dist/_pkgs/affine-fragment-doc-title/translations.d.ts +13 -0
  275. package/dist/_pkgs/affine-fragment-doc-title/translations.js +17 -0
  276. package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +3 -2
  277. package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +10 -4
  278. package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +18 -6
  279. package/dist/_pkgs/affine-fragment-frame-panel/translations.d.ts +16 -0
  280. package/dist/_pkgs/affine-fragment-frame-panel/translations.js +44 -0
  281. package/dist/_pkgs/affine-fragment-outline/body/outline-notice.js +10 -4
  282. package/dist/_pkgs/affine-fragment-outline/body/outline-panel-body.js +6 -3
  283. package/dist/_pkgs/affine-fragment-outline/card/outline-card.js +13 -6
  284. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.d.ts +1 -0
  285. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.js +16 -9
  286. package/dist/_pkgs/affine-fragment-outline/config.d.ts +1 -20
  287. package/dist/_pkgs/affine-fragment-outline/config.js +8 -23
  288. package/dist/_pkgs/affine-fragment-outline/header/outline-panel-header.js +10 -3
  289. package/dist/_pkgs/affine-fragment-outline/header/outline-setting-menu.js +9 -2
  290. package/dist/_pkgs/affine-fragment-outline/outline-viewer.js +6 -3
  291. package/dist/_pkgs/affine-fragment-outline/translations.d.ts +54 -0
  292. package/dist/_pkgs/affine-fragment-outline/translations.js +110 -0
  293. package/dist/_pkgs/affine-gfx-brush/element-renderer.js +2 -2
  294. package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/eraser-tool-button.js +3 -2
  295. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.d.ts +3 -0
  296. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.js +3 -0
  297. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-menu.js +5 -4
  298. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +3 -2
  299. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +10 -3
  300. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +10 -3
  301. package/dist/_pkgs/affine-gfx-brush/translations.d.ts +17 -0
  302. package/dist/_pkgs/affine-gfx-brush/translations.js +30 -0
  303. package/dist/_pkgs/affine-gfx-connector/connector-manager.d.ts +9 -1
  304. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +61 -0
  305. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +8 -1
  306. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +7 -1
  307. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.d.ts +7 -1
  308. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +87 -17
  309. package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +78 -17
  310. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.d.ts +24 -2
  311. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +31 -8
  312. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.d.ts +124 -3
  313. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +219 -56
  314. package/dist/_pkgs/affine-gfx-connector/text/text.d.ts +13 -4
  315. package/dist/_pkgs/affine-gfx-connector/text/text.js +13 -44
  316. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +60 -1
  317. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +95 -13
  318. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-dense-menu.js +7 -5
  319. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-menu.js +8 -6
  320. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-tool-button.js +4 -3
  321. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.d.ts +8 -0
  322. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.js +118 -0
  323. package/dist/_pkgs/affine-gfx-connector/translations.d.ts +32 -0
  324. package/dist/_pkgs/affine-gfx-connector/translations.js +79 -0
  325. package/dist/_pkgs/affine-gfx-connector/view/view.d.ts +37 -1
  326. package/dist/_pkgs/affine-gfx-connector/view/view.js +97 -8
  327. package/dist/_pkgs/affine-gfx-group/command/group-api.js +6 -1
  328. package/dist/_pkgs/affine-gfx-group/index.d.ts +1 -0
  329. package/dist/_pkgs/affine-gfx-group/index.js +1 -0
  330. package/dist/_pkgs/affine-gfx-group/store.js +0 -2
  331. package/dist/_pkgs/affine-gfx-group/toolbar/config.d.ts +6 -2
  332. package/dist/_pkgs/affine-gfx-group/toolbar/config.js +9 -4
  333. package/dist/_pkgs/affine-gfx-group/translations.d.ts +23 -0
  334. package/dist/_pkgs/affine-gfx-group/translations.js +29 -0
  335. package/dist/_pkgs/affine-gfx-link/toolbar/undo-dense-menu.js +2 -1
  336. package/dist/_pkgs/affine-gfx-link/toolbar/undo-tool-button.js +2 -1
  337. package/dist/_pkgs/affine-gfx-mindmap/index.d.ts +1 -0
  338. package/dist/_pkgs/affine-gfx-mindmap/index.js +1 -0
  339. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +628 -577
  340. package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +7 -3
  341. package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +9 -1
  342. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.d.ts +4 -0
  343. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.js +70 -7
  344. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +8 -5
  345. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +4 -2
  346. package/dist/_pkgs/affine-gfx-mindmap/toolbar/senior-tool.js +7 -2
  347. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.d.ts +2 -1
  348. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +16 -8
  349. package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +84 -0
  350. package/dist/_pkgs/affine-gfx-mindmap/translations.js +171 -0
  351. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.d.ts +8 -0
  352. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.js +24 -9
  353. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.d.ts +9 -0
  354. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.js +28 -8
  355. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.d.ts +2 -1
  356. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.js +42 -73
  357. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu.js +21 -17
  358. package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +3 -2
  359. package/dist/_pkgs/affine-gfx-note/toolbar/note-tool-button.js +3 -1
  360. package/dist/_pkgs/affine-gfx-note/toolbar/senior-tool.js +3 -1
  361. package/dist/_pkgs/affine-gfx-note/translations.d.ts +27 -0
  362. package/dist/_pkgs/affine-gfx-note/translations.js +59 -0
  363. package/dist/_pkgs/affine-gfx-pointer/quick-tool/default-tool-button.js +10 -2
  364. package/dist/_pkgs/affine-gfx-pointer/translations.d.ts +9 -0
  365. package/dist/_pkgs/affine-gfx-pointer/translations.js +17 -0
  366. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.d.ts +4 -0
  367. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.js +17 -3
  368. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.d.ts +4 -0
  369. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.js +23 -5
  370. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.d.ts +0 -1
  371. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.js +6 -46
  372. package/dist/_pkgs/affine-gfx-shape/draggable/shape-tool-button.js +3 -1
  373. package/dist/_pkgs/affine-gfx-shape/element-renderer/highlighter.js +2 -2
  374. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.d.ts +6 -0
  375. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +30 -1
  376. package/dist/_pkgs/affine-gfx-shape/polygon-tool.d.ts +20 -1
  377. package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +9 -1
  378. package/dist/_pkgs/affine-gfx-shape/toolbar/config.d.ts +2 -0
  379. package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +35 -9
  380. package/dist/_pkgs/affine-gfx-shape/toolbar/palette-color-action.js +11 -1
  381. package/dist/_pkgs/affine-gfx-shape/toolbar/senior-tool.js +2 -0
  382. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.d.ts +3 -0
  383. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.js +7 -0
  384. package/dist/_pkgs/affine-gfx-shape/translations.d.ts +37 -0
  385. package/dist/_pkgs/affine-gfx-shape/translations.js +93 -0
  386. package/dist/_pkgs/affine-gfx-template/builtin/other.js +70 -42
  387. package/dist/_pkgs/affine-gfx-template/contribute.js +8 -1
  388. package/dist/_pkgs/affine-gfx-template/index.d.ts +2 -0
  389. package/dist/_pkgs/affine-gfx-template/index.js +2 -0
  390. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.d.ts +6 -1
  391. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +43 -120
  392. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.d.ts +1 -0
  393. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.js +12 -0
  394. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.d.ts +25 -0
  395. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.js +36 -0
  396. package/dist/_pkgs/affine-gfx-template/toolbar/senior-tool.js +3 -1
  397. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.d.ts +1 -0
  398. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +30 -8
  399. package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +41 -0
  400. package/dist/_pkgs/affine-gfx-template/translations.d.ts +71 -0
  401. package/dist/_pkgs/affine-gfx-template/translations.js +209 -0
  402. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.d.ts +13 -1
  403. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.js +19 -4
  404. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.d.ts +41 -0
  405. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +60 -4
  406. package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +9 -2
  407. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +33 -10
  408. package/dist/_pkgs/affine-gfx-text/toolbar/text-menu.js +1 -0
  409. package/dist/_pkgs/affine-gfx-text/translations.d.ts +32 -0
  410. package/dist/_pkgs/affine-gfx-text/translations.js +65 -0
  411. package/dist/_pkgs/affine-inline-footnote/footnote-node/footnote-popup.js +8 -2
  412. package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +5 -2
  413. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +7 -2
  414. package/dist/_pkgs/affine-inline-latex/translations.d.ts +13 -0
  415. package/dist/_pkgs/affine-inline-latex/translations.js +16 -0
  416. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.d.ts +3 -3
  417. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.js +6 -5
  418. package/dist/_pkgs/affine-inline-link/link-node/link-popup/link-popup.js +11 -5
  419. package/dist/_pkgs/affine-inline-link/translations.d.ts +23 -0
  420. package/dist/_pkgs/affine-inline-link/translations.js +44 -0
  421. package/dist/_pkgs/affine-inline-mention/affine-mention.js +11 -5
  422. package/dist/_pkgs/affine-inline-mention/translations.d.ts +16 -0
  423. package/dist/_pkgs/affine-inline-mention/translations.js +29 -0
  424. package/dist/_pkgs/affine-inline-preset/command/config.d.ts +3 -0
  425. package/dist/_pkgs/affine-inline-preset/command/config.js +8 -0
  426. package/dist/_pkgs/affine-inline-preset/markdown.js +5 -1
  427. package/dist/_pkgs/affine-inline-preset/translations.d.ts +25 -0
  428. package/dist/_pkgs/affine-inline-preset/translations.js +28 -0
  429. package/dist/_pkgs/affine-inline-reference/reference-node/configs/toolbar.js +2 -2
  430. package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +3 -3
  431. package/dist/_pkgs/affine-inline-reference/reference-node/reference-popup/reference-popup.js +8 -6
  432. package/dist/_pkgs/affine-inline-reference/translations.d.ts +8 -0
  433. package/dist/_pkgs/affine-inline-reference/translations.js +13 -0
  434. package/dist/_pkgs/affine-model/consts/connector.d.ts +28 -2
  435. package/dist/_pkgs/affine-model/consts/connector.js +26 -0
  436. package/dist/_pkgs/affine-model/elements/bpmn/pool.js +1 -1
  437. package/dist/_pkgs/affine-model/elements/brush/brush.js +1 -1
  438. package/dist/_pkgs/affine-model/elements/c4/board.js +1 -1
  439. package/dist/_pkgs/affine-model/elements/c4/boundary.js +1 -1
  440. package/dist/_pkgs/affine-model/elements/connector/connector.d.ts +135 -0
  441. package/dist/_pkgs/affine-model/elements/connector/connector.js +246 -5
  442. package/dist/_pkgs/affine-model/elements/connector/end-label.d.ts +83 -0
  443. package/dist/_pkgs/affine-model/elements/connector/end-label.js +119 -0
  444. package/dist/_pkgs/affine-model/elements/connector/index.d.ts +1 -0
  445. package/dist/_pkgs/affine-model/elements/connector/index.js +1 -0
  446. package/dist/_pkgs/affine-model/elements/context-map/context-map.js +1 -1
  447. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +28 -0
  448. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +129 -2
  449. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.d.ts +8 -0
  450. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.js +45 -2
  451. package/dist/_pkgs/affine-model/elements/edgy/board.js +1 -1
  452. package/dist/_pkgs/affine-model/elements/edgy/facets.js +1 -1
  453. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.d.ts +6 -0
  454. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.js +36 -2
  455. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +18 -7
  456. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +23 -8
  457. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +16 -0
  458. package/dist/_pkgs/affine-model/elements/framework-background/background.js +18 -0
  459. package/dist/_pkgs/affine-model/elements/highlighter/highlighter.js +1 -1
  460. package/dist/_pkgs/affine-model/elements/index.d.ts +8 -0
  461. package/dist/_pkgs/affine-model/elements/index.js +1 -0
  462. package/dist/_pkgs/affine-model/elements/shape/shape.js +1 -1
  463. package/dist/_pkgs/affine-model/elements/text/text.js +1 -1
  464. package/dist/_pkgs/affine-model/elements/uml/band.d.ts +39 -0
  465. package/dist/_pkgs/affine-model/elements/uml/band.js +31 -0
  466. package/dist/_pkgs/affine-model/elements/uml/diagram.d.ts +158 -0
  467. package/dist/_pkgs/affine-model/elements/uml/diagram.js +229 -0
  468. package/dist/_pkgs/affine-model/elements/uml/fragment.d.ts +161 -0
  469. package/dist/_pkgs/affine-model/elements/uml/fragment.js +205 -0
  470. package/dist/_pkgs/affine-model/elements/uml/index.d.ts +8 -0
  471. package/dist/_pkgs/affine-model/elements/uml/index.js +8 -0
  472. package/dist/_pkgs/affine-model/elements/uml/lifeline.d.ts +77 -0
  473. package/dist/_pkgs/affine-model/elements/uml/lifeline.js +89 -0
  474. package/dist/_pkgs/affine-model/elements/uml/node.d.ts +142 -0
  475. package/dist/_pkgs/affine-model/elements/uml/node.js +190 -0
  476. package/dist/_pkgs/affine-model/elements/uml/partition.d.ts +106 -0
  477. package/dist/_pkgs/affine-model/elements/uml/partition.js +172 -0
  478. package/dist/_pkgs/affine-model/elements/uml/region.d.ts +75 -0
  479. package/dist/_pkgs/affine-model/elements/uml/region.js +150 -0
  480. package/dist/_pkgs/affine-model/elements/uml/subject.d.ts +37 -0
  481. package/dist/_pkgs/affine-model/elements/uml/subject.js +108 -0
  482. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +1 -1
  483. package/dist/_pkgs/affine-rich-text/conversion.d.ts +13 -0
  484. package/dist/_pkgs/affine-rich-text/conversion.js +27 -0
  485. package/dist/_pkgs/affine-shared/adapters/clipboard/clipboard.js +1 -1
  486. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.d.ts +2 -1
  487. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.js +6 -3
  488. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -2
  489. package/dist/_pkgs/affine-shared/adapters/mix-text.js +5 -2
  490. package/dist/_pkgs/affine-shared/adapters/plain-text/plain-text.js +5 -2
  491. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  492. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  493. package/dist/_pkgs/affine-shared/adapters/utils/wording.d.ts +9 -0
  494. package/dist/_pkgs/affine-shared/adapters/utils/wording.js +12 -0
  495. package/dist/_pkgs/affine-shared/services/comment-service/utils.js +2 -0
  496. package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +6 -3
  497. package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.d.ts +1 -0
  498. package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +7 -0
  499. package/dist/_pkgs/affine-shared/services/font-loader/config.js +43 -0
  500. package/dist/_pkgs/affine-shared/services/notification-service.js +18 -1
  501. package/dist/_pkgs/affine-shared/services/open-doc-config.d.ts +0 -1
  502. package/dist/_pkgs/affine-shared/services/open-doc-config.js +0 -2
  503. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +1 -9
  504. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.d.ts +53 -0
  505. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.js +95 -0
  506. package/dist/_pkgs/affine-shared/services/telemetry-service/index.d.ts +1 -0
  507. package/dist/_pkgs/affine-shared/services/telemetry-service/index.js +1 -0
  508. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +26 -1
  509. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  510. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.d.ts +34 -0
  511. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.js +63 -0
  512. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  513. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  514. package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +432 -0
  515. package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +1045 -3
  516. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +40 -2
  517. package/dist/_pkgs/affine-shared/services/translation-service/index.js +44 -3
  518. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +83 -2
  519. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +92 -0
  520. package/dist/_pkgs/affine-shared/styles/index.d.ts +1 -0
  521. package/dist/_pkgs/affine-shared/styles/index.js +1 -0
  522. package/dist/_pkgs/affine-shared/styles/motion.d.ts +14 -0
  523. package/dist/_pkgs/affine-shared/styles/motion.js +38 -0
  524. package/dist/_pkgs/affine-shared/utils/event.d.ts +10 -0
  525. package/dist/_pkgs/affine-shared/utils/event.js +20 -0
  526. package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +16 -0
  527. package/dist/_pkgs/affine-shared/utils/file/filesys.js +25 -0
  528. package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
  529. package/dist/_pkgs/affine-shared/utils/index.js +1 -0
  530. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.d.ts +12 -0
  531. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.js +13 -0
  532. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.d.ts +4 -0
  533. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.js +21 -8
  534. package/dist/_pkgs/affine-widget-drag-handle/helpers/preview-helper.js +1 -0
  535. package/dist/_pkgs/affine-widget-drag-handle/translations.d.ts +14 -0
  536. package/dist/_pkgs/affine-widget-drag-handle/translations.js +35 -0
  537. package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +4 -3
  538. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.d.ts +6 -0
  539. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.js +14 -0
  540. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +8 -5
  541. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +3 -2
  542. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +3 -1
  543. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.d.ts +17 -0
  544. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.js +30 -0
  545. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.d.ts +4 -0
  546. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.js +18 -2
  547. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +12 -4
  548. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +29 -6
  549. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.d.ts +2 -0
  550. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.js +3 -0
  551. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +18 -1
  552. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +8 -3
  553. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +38 -18
  554. package/dist/_pkgs/affine-widget-edgeless-toolbar/create-popper.js +13 -0
  555. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +2 -1
  556. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +2 -0
  557. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +2 -0
  558. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +80 -0
  559. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +270 -81
  560. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.d.ts +15 -0
  561. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.js +15 -0
  562. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.d.ts +8 -0
  563. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +38 -8
  564. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.d.ts +42 -0
  565. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.js +100 -0
  566. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.d.ts +100 -0
  567. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.js +274 -0
  568. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.d.ts +3 -0
  569. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.js +3 -0
  570. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.d.ts +25 -0
  571. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.js +67 -0
  572. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +15 -0
  573. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +20 -0
  574. package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +5 -0
  575. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.d.ts +7 -0
  576. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.js +23 -0
  577. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-bar-toggle-button.js +3 -1
  578. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-toolbar.js +5 -3
  579. package/dist/_pkgs/affine-widget-linked-doc/config.js +15 -10
  580. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.d.ts +12 -1
  581. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +27 -18
  582. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.d.ts +4 -1
  583. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.js +2 -2
  584. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +4 -1
  585. package/dist/_pkgs/affine-widget-linked-doc/mobile-linked-doc-menu.js +6 -2
  586. package/dist/_pkgs/affine-widget-linked-doc/transformers/html.js +3 -2
  587. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +3 -2
  588. package/dist/_pkgs/affine-widget-linked-doc/translations.d.ts +53 -0
  589. package/dist/_pkgs/affine-widget-linked-doc/translations.js +104 -0
  590. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +4 -1
  591. package/dist/_pkgs/affine-widget-remote-selection/translations.d.ts +12 -0
  592. package/dist/_pkgs/affine-widget-remote-selection/translations.js +12 -0
  593. package/dist/_pkgs/affine-widget-slash-menu/config.js +15 -0
  594. package/dist/_pkgs/affine-widget-slash-menu/index.d.ts +1 -0
  595. package/dist/_pkgs/affine-widget-slash-menu/index.js +1 -0
  596. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +30 -15
  597. package/dist/_pkgs/affine-widget-slash-menu/tooltips/copy.js +1 -1
  598. package/dist/_pkgs/affine-widget-slash-menu/tooltips/delete.js +2 -2
  599. package/dist/_pkgs/affine-widget-slash-menu/tooltips/index.js +9 -0
  600. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-down.js +2 -2
  601. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-up.js +2 -2
  602. package/dist/_pkgs/affine-widget-slash-menu/tooltips/now.js +3 -3
  603. package/dist/_pkgs/affine-widget-slash-menu/tooltips/today.js +2 -2
  604. package/dist/_pkgs/affine-widget-slash-menu/tooltips/tomorrow.js +3 -3
  605. package/dist/_pkgs/affine-widget-slash-menu/tooltips/yesterday.js +3 -3
  606. package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +91 -0
  607. package/dist/_pkgs/affine-widget-slash-menu/translations.js +175 -0
  608. package/dist/_pkgs/affine-widget-slash-menu/types.d.ts +18 -0
  609. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +20 -1
  610. package/dist/_pkgs/affine-widget-slash-menu/utils.js +37 -0
  611. package/dist/_pkgs/affine-widget-toolbar/translations.d.ts +9 -0
  612. package/dist/_pkgs/affine-widget-toolbar/translations.js +13 -0
  613. package/dist/_pkgs/affine-widget-toolbar/utils.js +2 -1
  614. package/dist/_pkgs/global/gfx/xywh.js +7 -0
  615. package/dist/_pkgs/std/extension/command-registry.d.ts +158 -1
  616. package/dist/_pkgs/std/extension/command-registry.js +22 -0
  617. package/dist/_pkgs/std/extension/translation-manifest.d.ts +7 -0
  618. package/dist/_pkgs/std/gfx/index.d.ts +1 -1
  619. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.d.ts +12 -0
  620. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +20 -1
  621. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +10 -0
  622. package/dist/_pkgs/std/gfx/interactivity/manager.js +12 -0
  623. package/dist/_pkgs/std/gfx/model/surface/element-model.js +12 -7
  624. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +56 -0
  625. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +84 -3
  626. package/dist/_pkgs/std/gfx/view/view.d.ts +11 -2
  627. package/dist/_pkgs/std/gfx/view/view.js +16 -2
  628. package/dist/_pkgs/std/translations.d.ts +24 -0
  629. package/dist/_pkgs/std/translations.js +28 -0
  630. package/dist/_pkgs/std/view/element/block-component.js +24 -7
  631. package/dist/commands.d.ts +6 -0
  632. package/dist/commands.js +8 -1
  633. package/dist/frameworks.d.ts +9 -0
  634. package/dist/frameworks.js +19 -0
  635. package/dist/translations.js +160 -5
  636. package/package.json +9 -4
  637. package/dist/_pkgs/affine-gfx-group/group-watcher.d.ts +0 -1
  638. package/dist/_pkgs/affine-gfx-group/group-watcher.js +0 -20
@@ -1,6 +1,8 @@
1
1
  import { ConnectorMode, FontFamily, FontWeight, PointStyle, ShapeStyle, StrokeStyle, TextAlign, } from '../../affine-model/index.js';
2
2
  import { NOTATION_NEUTRALS } from '../../affine-shared/consts/index.js';
3
+ import { fillPlaceholders, translateKey, } from '../../affine-shared/services/index.js';
3
4
  import { makeTemplateSnapshot, surfaceText, } from '../make-snapshot.js';
5
+ import { BMC_SEED_CHANNELS, BMC_SEED_COST_STRUCTURE, BMC_SEED_CUSTOMER_RELATIONSHIPS, BMC_SEED_CUSTOMER_SEGMENTS, BMC_SEED_DATE, BMC_SEED_DESIGNED_BY, BMC_SEED_DESIGNED_FOR, BMC_SEED_KEY_ACTIVITIES, BMC_SEED_KEY_PARTNERSHIPS, BMC_SEED_KEY_RESOURCES, BMC_SEED_REVENUE_STREAMS, BMC_SEED_TITLE, BMC_SEED_VALUE_PROPOSITIONS, BMC_SEED_VERSION, FISHBONE_SEED_CATEGORY, FISHBONE_SEED_EFFECT, FISHBONE_SEED_ITEM_1, FISHBONE_SEED_ITEM_2, GANTT_SEED_BUILD, GANTT_SEED_DESIGN, GANTT_SEED_DISCOVERY, GANTT_SEED_LAUNCH, GANTT_SEED_WEEK, KANBAN_SEED_CARD, KANBAN_SEED_DOING, KANBAN_SEED_DONE, KANBAN_SEED_TODO, SWOT_SEED_OPPORTUNITIES, SWOT_SEED_STRENGTHS, SWOT_SEED_THREATS, SWOT_SEED_WEAKNESSES, TEMPLATE_PANEL_CATEGORY_OTHER, } from '../translations.js';
4
6
  /**
5
7
  * The generic ("Other") diagrams: built ONLY from general BlockSuite shapes
6
8
  * (`shape` rect/polygon, `text`, `connector`) per the composition principle —
@@ -63,21 +65,27 @@ function line(x1, y1, x2, y2, opts = {}) {
63
65
  target: { position: [x2, y2] },
64
66
  };
65
67
  }
68
+ /** Resolve a wording through the host, or its English fallback with no host. */
69
+ function tr(std, wording, params) {
70
+ return std
71
+ ? translateKey(std, ...wording, params)
72
+ : fillPlaceholders(wording[1], params);
73
+ }
66
74
  // ── SWOT (window-mullion quadrant, black labels) ──────────────────────
67
- function swot() {
75
+ function swot(std) {
68
76
  const M = { fontSize: 22, weight: FontWeight.Medium };
69
77
  return {
70
78
  box: rect(0, 0, 520, 340),
71
79
  v: line(260, 0, 260, 340),
72
80
  h: line(0, 170, 520, 170),
73
- s: label(24, 24, 220, 30, 'Strengths', M),
74
- w: label(284, 24, 220, 30, 'Weaknesses', M),
75
- o: label(24, 194, 220, 30, 'Opportunities', M),
76
- t: label(284, 194, 220, 30, 'Threats', M),
81
+ s: label(24, 24, 220, 30, tr(std, SWOT_SEED_STRENGTHS), M),
82
+ w: label(284, 24, 220, 30, tr(std, SWOT_SEED_WEAKNESSES), M),
83
+ o: label(24, 194, 220, 30, tr(std, SWOT_SEED_OPPORTUNITIES), M),
84
+ t: label(284, 194, 220, 30, tr(std, SWOT_SEED_THREATS), M),
77
85
  };
78
86
  }
79
87
  // ── Kanban (To do / Doing / Done) ─────────────────────────────────────
80
- function kanban() {
88
+ function kanban(std) {
81
89
  const colOpts = {
82
90
  fill: NOTATION_NEUTRALS.cardFill,
83
91
  stroke: MUTED,
@@ -89,21 +97,22 @@ function kanban() {
89
97
  weight: FontWeight.Medium,
90
98
  align: TextAlign.Center,
91
99
  };
100
+ const cardText = tr(std, KANBAN_SEED_CARD);
92
101
  const card = (x, y, fill, stroke) => rect(x, y, 188, 60, {
93
102
  fill,
94
103
  stroke,
95
104
  sw: 1.5,
96
105
  radius: 8,
97
- text: 'Card',
106
+ text: cardText,
98
107
  fontSize: 14,
99
108
  });
100
109
  return {
101
110
  c1: rect(0, 0, 220, 420, colOpts),
102
111
  c2: rect(244, 0, 220, 420, colOpts),
103
112
  c3: rect(488, 0, 220, 420, colOpts),
104
- h1: label(0, 16, 220, 24, 'To do', head),
105
- h2: label(244, 16, 220, 24, 'Doing', head),
106
- h3: label(488, 16, 220, 24, 'Done', head),
113
+ h1: label(0, 16, 220, 24, tr(std, KANBAN_SEED_TODO), head),
114
+ h2: label(244, 16, 220, 24, tr(std, KANBAN_SEED_DOING), head),
115
+ h3: label(488, 16, 220, 24, tr(std, KANBAN_SEED_DONE), head),
107
116
  a1: card(16, 56, '#fde6c8', '#e0a23a'),
108
117
  a2: card(16, 128, '#fde6c8', '#e0a23a'),
109
118
  b1: card(260, 56, '#d6e4fb', '#4574c4'),
@@ -112,7 +121,7 @@ function kanban() {
112
121
  };
113
122
  }
114
123
  // ── Business Model Canvas (Strategyzer 9-block layout) ────────────────
115
- function bmc() {
124
+ function bmc(std) {
116
125
  const blk = { stroke: DARK, sw: 1.5 };
117
126
  const t = (x, y, s) => label(x + 12, y + 12, 180, 22, s, {
118
127
  fontSize: 14,
@@ -125,12 +134,12 @@ function bmc() {
125
134
  color: NOTATION_NEUTRALS.label,
126
135
  }),
127
136
  });
128
- const h1 = hdr(470, 'Designed for');
129
- const h2 = hdr(602, 'Designed by');
130
- const h3 = hdr(734, 'Date');
131
- const h4 = hdr(866, 'Version');
137
+ const h1 = hdr(470, tr(std, BMC_SEED_DESIGNED_FOR));
138
+ const h2 = hdr(602, tr(std, BMC_SEED_DESIGNED_BY));
139
+ const h3 = hdr(734, tr(std, BMC_SEED_DATE));
140
+ const h4 = hdr(866, tr(std, BMC_SEED_VERSION));
132
141
  return {
133
- title: label(0, 8, 440, 32, 'Business model canvas', {
142
+ title: label(0, 8, 440, 32, tr(std, BMC_SEED_TITLE), {
134
143
  fontSize: 24,
135
144
  weight: FontWeight.Medium,
136
145
  }),
@@ -151,20 +160,23 @@ function bmc() {
151
160
  cs: rect(800, 56, 196, 300, blk),
152
161
  cost: rect(0, 360, 496, 84, blk),
153
162
  rev: rect(500, 360, 496, 84, blk),
154
- tkp: t(0, 56, 'Key partnerships'),
155
- tka: t(200, 56, 'Key activities'),
156
- tkr: t(200, 206, 'Key resources'),
157
- tvp: t(400, 56, 'Value propositions'),
158
- tcr: t(600, 56, 'Customer relationships'),
159
- tch: t(600, 206, 'Channels'),
160
- tcs: t(800, 56, 'Customer segments'),
161
- tcost: t(0, 360, 'Cost structure'),
162
- trev: t(500, 360, 'Revenue streams'),
163
+ tkp: t(0, 56, tr(std, BMC_SEED_KEY_PARTNERSHIPS)),
164
+ tka: t(200, 56, tr(std, BMC_SEED_KEY_ACTIVITIES)),
165
+ tkr: t(200, 206, tr(std, BMC_SEED_KEY_RESOURCES)),
166
+ tvp: t(400, 56, tr(std, BMC_SEED_VALUE_PROPOSITIONS)),
167
+ tcr: t(600, 56, tr(std, BMC_SEED_CUSTOMER_RELATIONSHIPS)),
168
+ tch: t(600, 206, tr(std, BMC_SEED_CHANNELS)),
169
+ tcs: t(800, 56, tr(std, BMC_SEED_CUSTOMER_SEGMENTS)),
170
+ tcost: t(0, 360, tr(std, BMC_SEED_COST_STRUCTURE)),
171
+ trev: t(500, 360, tr(std, BMC_SEED_REVENUE_STREAMS)),
163
172
  };
164
173
  }
165
174
  // ── Fishbone / Ishikawa (spine + arrowhead bones + CATEGORY/ITEM) ─────
166
- function fishbone() {
167
- const cat = (x, y) => rect(x, y, 150, 44, { text: 'CATEGORY', fontSize: 13 });
175
+ function fishbone(std) {
176
+ const categoryText = tr(std, FISHBONE_SEED_CATEGORY);
177
+ const item1Text = tr(std, FISHBONE_SEED_ITEM_1);
178
+ const item2Text = tr(std, FISHBONE_SEED_ITEM_2);
179
+ const cat = (x, y) => rect(x, y, 150, 44, { text: categoryText, fontSize: 13 });
168
180
  const item = (x, y, n) => rect(x, y, 130, 40, {
169
181
  stroke: MUTED,
170
182
  sw: 1.4,
@@ -175,7 +187,10 @@ function fishbone() {
175
187
  });
176
188
  const out = {
177
189
  spine: line(80, 360, 1120, 360, { sw: 6 }),
178
- head: rect(1124, 332, 130, 56, { text: 'Effect', fontSize: 16 }),
190
+ head: rect(1124, 332, 130, 56, {
191
+ text: tr(std, FISHBONE_SEED_EFFECT),
192
+ fontSize: 16,
193
+ }),
179
194
  };
180
195
  // two rib-groups (junctions at x = 360 and 760)
181
196
  [360, 760].forEach((jx, g) => {
@@ -184,16 +199,21 @@ function fishbone() {
184
199
  out[`lb${g}`] = line(ox + 200, 470, jx, 362, { sw: 3, arrow: true });
185
200
  out[`uc${g}`] = cat(ox + 150, 224);
186
201
  out[`lc${g}`] = cat(ox + 150, 452);
187
- out[`ui1${g}`] = item(ox + 130, 286, 'ITEM 1');
188
- out[`ui2${g}`] = item(ox + 170, 326, 'ITEM 2');
189
- out[`li1${g}`] = item(ox + 130, 396, 'ITEM 1');
190
- out[`li2${g}`] = item(ox + 170, 356, 'ITEM 2');
202
+ out[`ui1${g}`] = item(ox + 130, 286, item1Text);
203
+ out[`ui2${g}`] = item(ox + 170, 326, item2Text);
204
+ out[`li1${g}`] = item(ox + 130, 396, item1Text);
205
+ out[`li2${g}`] = item(ox + 170, 356, item2Text);
191
206
  });
192
207
  return out;
193
208
  }
194
209
  // ── Gantt chart ───────────────────────────────────────────────────────
195
- function gantt() {
196
- const rows = ['Discovery', 'Design', 'Build', 'Launch'];
210
+ function gantt(std) {
211
+ const rows = [
212
+ tr(std, GANTT_SEED_DISCOVERY),
213
+ tr(std, GANTT_SEED_DESIGN),
214
+ tr(std, GANTT_SEED_BUILD),
215
+ tr(std, GANTT_SEED_LAUNCH),
216
+ ];
197
217
  const bars = [
198
218
  [220, 280, '#4574c4'],
199
219
  [340, 360, '#2f9e95'],
@@ -208,7 +228,7 @@ function gantt() {
208
228
  stroke: NOTATION_NEUTRALS.cardBorder,
209
229
  sw: 1,
210
230
  });
211
- out[`w${i}`] = label(x - 16, 12, 40, 20, `W${i + 1}`, {
231
+ out[`w${i}`] = label(x - 16, 12, 40, 20, tr(std, GANTT_SEED_WEEK, { n: i + 1 }), {
212
232
  fontSize: 12,
213
233
  color: NOTATION_NEUTRALS.label,
214
234
  align: TextAlign.Center,
@@ -235,21 +255,29 @@ const previews = {
235
255
  fishbone: `<svg ${ATTRS} fill="none"><path d="M14 40 H112" stroke="${DARK}" stroke-width="3"/><rect x="112" y="33" width="20" height="14" stroke="${DARK}" stroke-width="1.4"/><path d="M40 18 L52 40 M40 62 L52 40 M84 18 L96 40 M84 62 L96 40" stroke="${DARK}" stroke-width="1.4"/></svg>`,
236
256
  gantt: `<svg ${ATTRS} fill="none"><path d="M40 14 V70 M62 14 V70 M84 14 V70 M106 14 V70" stroke="${NOTATION_NEUTRALS.cardBorder}"/><rect x="40" y="22" width="34" height="8" rx="2" fill="#4574c4"/><rect x="52" y="36" width="44" height="8" rx="2" fill="#2f9e95"/><rect x="62" y="50" width="50" height="8" rx="2" fill="#d99a2b"/><rect x="84" y="64" width="28" height="8" rx="2" fill="#43a06b"/></svg>`,
237
257
  };
238
- function t(name, preview, elements) {
258
+ /**
259
+ * A hand-composed template — what is left once the artefacts are derived. The
260
+ * seeds a template writes into the document go through the translation seam
261
+ * at placement (ADR 0023); `content` stays the English build, and `localize`
262
+ * rebuilds the same snapshot with translated seeds.
263
+ */
264
+ function t(name, preview, build) {
239
265
  return {
240
266
  name,
241
267
  type: 'template',
242
268
  preview,
243
- content: makeTemplateSnapshot(elements, name),
269
+ content: makeTemplateSnapshot(build(), name),
270
+ localize: std => makeTemplateSnapshot(build(std), name),
244
271
  };
245
272
  }
246
273
  export const otherTemplateCategory = {
247
274
  name: 'Other',
275
+ nameKey: TEMPLATE_PANEL_CATEGORY_OTHER[0],
248
276
  templates: [
249
- t('SWOT', previews.swot, swot()),
250
- t('Kanban board', previews.kanban, kanban()),
251
- t('Business model canvas', previews.bmc, bmc()),
252
- t('Fishbone (Ishikawa)', previews.fishbone, fishbone()),
253
- t('Gantt chart', previews.gantt, gantt()),
277
+ t('SWOT', previews.swot, swot),
278
+ t('Kanban board', previews.kanban, kanban),
279
+ t('Business model canvas', previews.bmc, bmc),
280
+ t('Fishbone (Ishikawa)', previews.fishbone, fishbone),
281
+ t('Gantt chart', previews.gantt, gantt),
254
282
  ],
255
283
  };
@@ -1,5 +1,6 @@
1
1
  import { createIdentifier } from '../global/di/index.js';
2
2
  import { builtInTemplates } from './toolbar/builtin-templates.js';
3
+ import { resolveTemplateName } from './toolbar/resolve-name.js';
3
4
  /**
4
5
  * A framework registers its Templates-panel categories here; the panel reads
5
6
  * them back from the std of the edgeless it opens on. One identifier per
@@ -55,6 +56,7 @@ export function templateManagerFor(std) {
55
56
  ...contributed.map(c => c.name),
56
57
  ]),
57
58
  ],
59
+ categoryLabel: name => byName(name)?.nameKey ?? builtInTemplates.categoryLabel(name),
58
60
  // Both halves, so a host's `extend(...)` can still append to a framework's
59
61
  // own category (the global half answers `[]` for a name it does not know).
60
62
  list: async (name) => {
@@ -67,9 +69,14 @@ export function templateManagerFor(std) {
67
69
  search: async (keyword, name) => {
68
70
  const k = keyword.trim().toLocaleLowerCase();
69
71
  const pool = name ? [byName(name)].filter(c => !!c) : contributed;
72
+ // Matches the ENGLISH name (`templateFromCommand`'s baked-in `name`,
73
+ // still what a catalogue-less playground shows) or the host's own
74
+ // translation of it (`resolveTemplateName`, through the command's
75
+ // `labelKey`) — a search box must not go blind on a translated tile.
70
76
  const own = (await Promise.all(pool.map(loadCategory)))
71
77
  .flat()
72
- .filter(t => t.name?.toLocaleLowerCase().includes(k));
78
+ .filter(t => t.name?.toLocaleLowerCase().includes(k) ||
79
+ resolveTemplateName(std, t).toLocaleLowerCase().includes(k));
73
80
  return [...(await builtInTemplates.search(keyword, name)), ...own];
74
81
  },
75
82
  };
@@ -3,6 +3,8 @@ export * from './make-snapshot.js';
3
3
  export * from './services/template.js';
4
4
  export * from './snapshot-from-action.js';
5
5
  export * from './template-tool.js';
6
+ export * from './toolbar/resolve-name.js';
6
7
  export * from './toolbar/senior-tool.js';
7
8
  export * from './toolbar/template-panel.js';
8
9
  export * from './toolbar/template-type.js';
10
+ export * from './translations.js';
@@ -3,6 +3,8 @@ export * from './make-snapshot.js';
3
3
  export * from './services/template.js';
4
4
  export * from './snapshot-from-action.js';
5
5
  export * from './template-tool.js';
6
+ export * from './toolbar/resolve-name.js';
6
7
  export * from './toolbar/senior-tool.js';
7
8
  export * from './toolbar/template-panel.js';
8
9
  export * from './toolbar/template-type.js';
10
+ export * from './translations.js';
@@ -10,8 +10,13 @@ import type { Template } from './toolbar/template-type.js';
10
10
  * placement actions actually touch and throws on anything else, so an
11
11
  * unsupported action fails loudly at build time instead of producing a
12
12
  * half-empty template.
13
+ *
14
+ * `host` is the editor the template is being inserted into. Its
15
+ * `TranslationProvider`, and nothing else from it, is handed to the action, so
16
+ * the seeds the action writes come out in the host's language. Without a host,
17
+ * the action writes its English fallbacks.
13
18
  */
14
- export declare function snapshotFromAction(run: (std: BlockStdScope) => void, name: string): ReturnType<typeof makeTemplateSnapshot>;
19
+ export declare function snapshotFromAction(run: (std: BlockStdScope) => void, name: string, host?: BlockStdScope): ReturnType<typeof makeTemplateSnapshot>;
15
20
  /**
16
21
  * Derive a template from the command a user would have run — the template IS
17
22
  * the command, so the two can never say different things about what a
@@ -1,6 +1,5 @@
1
- import { EdgelessCRUDIdentifier } from '../affine-block-surface/index.js';
1
+ import { recordAction } from '../affine-block-surface/index.js';
2
2
  import { Bound } from '../global/gfx/index.js';
3
- import { generateKeyBetween, GfxControllerIdentifier } from '../std/gfx/index.js';
4
3
  import * as Y from 'yjs';
5
4
  import { makeTemplateSnapshot, surfaceText, surfaceYMap, } from './make-snapshot.js';
6
5
  /**
@@ -27,124 +26,46 @@ function materialize(text) {
27
26
  * placement actions actually touch and throws on anything else, so an
28
27
  * unsupported action fails loudly at build time instead of producing a
29
28
  * half-empty template.
29
+ *
30
+ * `host` is the editor the template is being inserted into. Its
31
+ * `TranslationProvider`, and nothing else from it, is handed to the action, so
32
+ * the seeds the action writes come out in the host's language. Without a host,
33
+ * the action writes its English fallbacks.
30
34
  */
31
- export function snapshotFromAction(run, name) {
32
- const elements = new Map();
33
- let n = 0;
34
- let lastIndex = null;
35
- const nextIndex = () => (lastIndex = generateKeyBetween(lastIndex, null));
36
- const addElement = (props) => {
37
- const id = `el-${n++}`;
38
- const record = {};
39
- for (const [key, value] of Object.entries(props)) {
40
- if (value !== undefined)
41
- record[key] = value;
42
- }
43
- record['id'] = id;
44
- // ponytail: the Y conversions are hard-coded (`text`, and a group's
45
- // `children` / `title`) instead of asking each element class for its own
46
- // `propsToY`. Ceiling: it covers every prop the framework actions pass
47
- // today. Upgrade path: run the real `propsToY` once the element-ctor map is
48
- // reachable without a live surface.
49
- const text = record['text'];
50
- if (typeof text === 'string')
51
- record['text'] = surfaceText(text);
52
- else if (text instanceof Y.Text)
53
- record['text'] = surfaceText(materialize(text));
54
- if (record['type'] === 'group') {
55
- const children = record['children'];
56
- if (children && typeof children === 'object') {
57
- record['children'] = surfaceYMap(Object.fromEntries(Object.keys(children).map(key => [key, true])));
58
- }
59
- const title = record['title'];
60
- if (typeof title === 'string')
61
- record['title'] = surfaceText(title);
62
- else if (title instanceof Y.Text)
63
- record['title'] = surfaceText(materialize(title));
64
- }
65
- if (record['index'] === undefined)
66
- record['index'] = nextIndex();
67
- // The model members an action reads back off `getElementById`, kept
68
- // non-enumerable so they never leak into the snapshot.
69
- Object.defineProperties(record, {
70
- group: { value: null },
71
- deserializedXYWH: {
72
- get: () => typeof record['xywh'] === 'string'
73
- ? Bound.deserialize(record['xywh'])
74
- : null,
75
- },
76
- });
77
- elements.set(id, record);
78
- return id;
79
- };
80
- const records = () => [...elements.values()];
81
- const surface = {
82
- addElement,
83
- getElementById: (id) => elements.get(id) ?? null,
84
- getElementsByType: (type) => records().filter(el => el['type'] === type),
85
- get elementModels() {
86
- return records();
87
- },
88
- };
89
- const gfx = {
90
- surface,
91
- viewport: { centerX: 0, centerY: 0, zoom: 1, center: { x: 0, y: 0 } },
92
- doc: { captureSync: () => { } },
93
- selection: { set: () => { }, selectedElements: [] },
94
- tool: { setTool: () => { } },
95
- layer: {
96
- generateIndex: () => nextIndex(),
97
- getReorderedIndex: (_model, direction) => {
98
- const sorted = records()
99
- .map(el => String(el['index']))
100
- .sort();
101
- return direction === 'back'
102
- ? generateKeyBetween(null, sorted[0] ?? null)
103
- : generateKeyBetween(sorted[sorted.length - 1] ?? null, null);
104
- },
105
- get canvasElements() {
106
- return records();
107
- },
108
- },
109
- std: null,
110
- };
111
- const crud = {
112
- addElement: (type, props) => addElement({ ...props, type }),
113
- };
114
- const std = {
115
- get: (identifier) => {
116
- if (identifier === GfxControllerIdentifier)
117
- return gfx;
118
- if (identifier === EdgelessCRUDIdentifier)
119
- return crud;
120
- throw new Error(`snapshotFromAction: unsupported service "${identifier?.identifierName ?? String(identifier)}"`);
121
- },
122
- getOptional: () => undefined,
123
- command: {
124
- // Really run the command, so a group built by `createGroupCommand` is
125
- // whatever that command says a group is — no second definition here.
126
- exec: (cmd, payload) => {
127
- let out;
128
- cmd({ std: gfx.std, ...payload }, r => {
129
- out = r;
130
- });
131
- return [{}, out ?? {}];
132
- },
133
- },
134
- store: {
135
- readonly: false,
136
- captureSync: () => { },
137
- id: 'doc:template',
138
- workspace: { meta: { getDocMeta: () => undefined } },
139
- },
140
- };
141
- gfx.std = std;
142
- run(gfx.std);
143
- if (elements.size === 0) {
35
+ export function snapshotFromAction(run, name, host) {
36
+ const { records } = recordAction(run, { host, encode: toSnapshotProps });
37
+ if (records.length === 0) {
144
38
  throw new Error('snapshotFromAction: the action added no element (a tool-arming command?)');
145
39
  }
146
- normalizeToOrigin(records());
147
- return makeTemplateSnapshot(Object.fromEntries(elements), name);
40
+ normalizeToOrigin(records);
41
+ return makeTemplateSnapshot(Object.fromEntries(records.map(record => [String(record['id']), record])), name);
42
+ }
43
+ /**
44
+ * The Y-carrying props, in the serialized form a snapshot holds them in.
45
+ *
46
+ * ponytail: the conversions are hard-coded (`text`, and a group's `children` /
47
+ * `title`) instead of asking each element class for its own `propsToY`.
48
+ * Ceiling: it covers every prop the framework actions pass today. Upgrade path:
49
+ * run the real `propsToY` once the element-ctor map is reachable without a live
50
+ * surface.
51
+ */
52
+ function toSnapshotProps(record) {
53
+ const text = record['text'];
54
+ if (typeof text === 'string')
55
+ record['text'] = surfaceText(text);
56
+ else if (text instanceof Y.Text)
57
+ record['text'] = surfaceText(materialize(text));
58
+ if (record['type'] === 'group') {
59
+ const children = record['children'];
60
+ if (children && typeof children === 'object') {
61
+ record['children'] = surfaceYMap(Object.fromEntries(Object.keys(children).map(key => [key, true])));
62
+ }
63
+ const title = record['title'];
64
+ if (typeof title === 'string')
65
+ record['title'] = surfaceText(title);
66
+ else if (title instanceof Y.Text)
67
+ record['title'] = surfaceText(materialize(title));
68
+ }
148
69
  }
149
70
  /** The connector endpoints that carry a free position rather than an anchor. */
150
71
  function freeEndpoints(el) {
@@ -193,13 +114,15 @@ function normalizeToOrigin(records) {
193
114
  * framework's artefact looks like.
194
115
  */
195
116
  export function templateFromCommand(command, preview, name = command.labelFallback ?? command.id) {
117
+ const run = (std) => {
118
+ void command.run(std, INVOCATION);
119
+ };
196
120
  return {
197
121
  name,
198
122
  type: 'template',
199
123
  preview,
200
124
  commandId: command.id,
201
- content: snapshotFromAction(std => {
202
- void command.run(std, INVOCATION);
203
- }, name),
125
+ content: snapshotFromAction(run, name),
126
+ localize: host => snapshotFromAction(run, name, host),
204
127
  };
205
128
  }
@@ -3,6 +3,7 @@ export declare const templates: TemplateCategory[];
3
3
  export declare const builtInTemplates: {
4
4
  list: (category: string) => Promise<Template[]>;
5
5
  categories: () => Promise<string[]>;
6
+ categoryLabel: (name: string) => string | undefined;
6
7
  search: (keyword: string, cateName?: string) => Promise<Template[]>;
7
8
  extend(manager: TemplateManager): void;
8
9
  };
@@ -40,6 +40,18 @@ export const builtInTemplates = {
40
40
  // eslint-disable-next-line sonarjs/no-empty-collection
41
41
  return templates.map(cate => cate.name).concat(extendCates);
42
42
  },
43
+ categoryLabel: (name) => {
44
+ // eslint-disable-next-line sonarjs/no-empty-collection
45
+ const own = templates.find(cate => cate.name === name)?.nameKey;
46
+ if (own)
47
+ return own;
48
+ for (const manager of extendTemplate) {
49
+ const key = manager.categoryLabel?.(name);
50
+ if (key)
51
+ return key;
52
+ }
53
+ return undefined;
54
+ },
43
55
  search: async (keyword, cateName) => {
44
56
  const candidates = flat(await Promise.all(extendTemplate.map(manager => manager.search(keyword, cateName))));
45
57
  keyword = keyword.trim().toLocaleLowerCase();
@@ -0,0 +1,25 @@
1
+ import { type BlockStdScope } from '../../std/index.js';
2
+ import type { Template } from './template-type.js';
3
+ /**
4
+ * The DISPLAYED name of a template — resolved through the command it was
5
+ * derived from ({@link Template.commandId}, set by `templateFromCommand`)
6
+ * when it carries one, so a framework artefact's tile shows the command's own
7
+ * translated label rather than the raw English text baked into `name` at
8
+ * build time. A hand-written template (no `commandId`) shows its own `name`,
9
+ * unresolved — those get a key of their own on a case-by-case basis, not
10
+ * through this generic seam.
11
+ *
12
+ * `Template.name` itself stays the STABLE identity `templateFromCommand`
13
+ * bakes in (the drag payload, the `repeat` key, the `templateCache` storage
14
+ * key) — and it is ALSO what gets passed as `translateKey`'s fallback, never
15
+ * `command.labelFallback`: most derived templates leave `name` at its default
16
+ * (the command's own fallback, so the two agree anyway), but a few tiles
17
+ * deliberately keep a name of their own, more specific than the command's
18
+ * (`edgy.addFacets`'s own label is "Enterprise Design facets"; its tile has
19
+ * always said "Facets diagram"). Falling back to `command.labelFallback`
20
+ * would silently swap that wording out from under a catalogue-less
21
+ * playground; reading through the command's `labelKey` while keeping the
22
+ * TEMPLATE's own fallback is what lets a host translate the tile without
23
+ * this function inventing a different English sentence for it first.
24
+ */
25
+ export declare function resolveTemplateName(std: BlockStdScope, template: Template): string;
@@ -0,0 +1,36 @@
1
+ import { translateKey } from '../../affine-shared/services/index.js';
2
+ import { getRegisteredCommands } from '../../std/index.js';
3
+ /**
4
+ * The DISPLAYED name of a template — resolved through the command it was
5
+ * derived from ({@link Template.commandId}, set by `templateFromCommand`)
6
+ * when it carries one, so a framework artefact's tile shows the command's own
7
+ * translated label rather than the raw English text baked into `name` at
8
+ * build time. A hand-written template (no `commandId`) shows its own `name`,
9
+ * unresolved — those get a key of their own on a case-by-case basis, not
10
+ * through this generic seam.
11
+ *
12
+ * `Template.name` itself stays the STABLE identity `templateFromCommand`
13
+ * bakes in (the drag payload, the `repeat` key, the `templateCache` storage
14
+ * key) — and it is ALSO what gets passed as `translateKey`'s fallback, never
15
+ * `command.labelFallback`: most derived templates leave `name` at its default
16
+ * (the command's own fallback, so the two agree anyway), but a few tiles
17
+ * deliberately keep a name of their own, more specific than the command's
18
+ * (`edgy.addFacets`'s own label is "Enterprise Design facets"; its tile has
19
+ * always said "Facets diagram"). Falling back to `command.labelFallback`
20
+ * would silently swap that wording out from under a catalogue-less
21
+ * playground; reading through the command's `labelKey` while keeping the
22
+ * TEMPLATE's own fallback is what lets a host translate the tile without
23
+ * this function inventing a different English sentence for it first.
24
+ */
25
+ export function resolveTemplateName(std, template) {
26
+ const fallback = template.name ?? '';
27
+ // Checked FIRST: a hand-composed template (a worked scene, an example map)
28
+ // carries no `commandId` at all, and `nameKey` is the only way its tile
29
+ // gets a translated wording of its own.
30
+ if (template.nameKey)
31
+ return translateKey(std, template.nameKey, fallback);
32
+ if (!template.commandId)
33
+ return fallback;
34
+ const command = getRegisteredCommands(std).find(c => c.id === template.commandId);
35
+ return command ? translateKey(std, command.labelKey, fallback) : fallback;
36
+ }
@@ -1,8 +1,10 @@
1
1
  import { SeniorToolExtension } from '../../affine-widget-edgeless-toolbar/index.js';
2
2
  import { html } from 'lit';
3
+ import { TEMPLATE_SENIOR_TOOL_NAME } from '../translations.js';
3
4
  export const templateSeniorTool = SeniorToolExtension('template', ({ block }) => {
4
5
  return {
5
- name: 'Template',
6
+ name: TEMPLATE_SENIOR_TOOL_NAME[1],
7
+ labelKey: TEMPLATE_SENIOR_TOOL_NAME[0],
6
8
  // Render after every framework senior tool (default order is 0).
7
9
  order: 100,
8
10
  content: html `<edgeless-template-button .edgeless=${block}>
@@ -13,6 +13,7 @@ export declare class EdgelessTemplatePanel extends EdgelessTemplatePanel_base {
13
13
  static templates: {
14
14
  list: (category: string) => Promise<Template[]>;
15
15
  categories: () => Promise<string[]>;
16
+ categoryLabel: (name: string) => string | undefined;
16
17
  search: (keyword: string, cateName?: string) => Promise<Template[]>;
17
18
  extend(manager: import("./template-type.js").TemplateManager): void;
18
19
  };