@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
@@ -0,0 +1,49 @@
1
+ /**
2
+ * A 2D context that records an SVG document instead of pixels, shaped so the
3
+ * existing canvas renderers can paint into it unchanged.
4
+ */
5
+ export interface SvgContext {
6
+ /** What the element renderers draw into. */
7
+ ctx: CanvasRenderingContext2D;
8
+ /** What `new RoughCanvas(...)` takes: `getContext('2d')` returns {@link ctx}. */
9
+ canvas: HTMLCanvasElement;
10
+ /** The finished document, with `viewBox`, `width`/`height` in px and `xmlns`. */
11
+ serialize(): string;
12
+ }
13
+ /** Marks a {@link RecordingPath2D} and carries what it recorded. */
14
+ declare const RECORDED_D: unique symbol;
15
+ interface RecordedPath {
16
+ [RECORDED_D]: string;
17
+ }
18
+ /** A `Path2D` that also remembers itself as an SVG `d`, in the caller's space. */
19
+ export type RecordingPath2D = Path2D & RecordedPath & {
20
+ readonly d: string;
21
+ };
22
+ /**
23
+ * Runs `render` with `globalThis.Path2D` swapped for the recording subclass, so
24
+ * the `new Path2D(d)` a renderer builds can be replayed into the SVG document.
25
+ *
26
+ * Swapping a global is safe here because the swap and the restore bracket a
27
+ * SYNCHRONOUS call on a single-threaded runtime: no other code can run — let
28
+ * alone observe `Path2D` — between the two, and the `finally` restores the
29
+ * original even when a renderer throws.
30
+ */
31
+ export declare function runWithRecordingPath2D<T>(render: () => T): T;
32
+ /**
33
+ * The dash pattern svgcanvas holds, as the `number[]` Canvas2D's `getLineDash`
34
+ * returns.
35
+ *
36
+ * svgcanvas 2.6.0 implements `setLineDash` but not `getLineDash`, and a
37
+ * renderer that reads the pattern back (to put it back after a dashed stroke)
38
+ * would throw and abort the whole export. Its `setLineDash` stores the pattern
39
+ * in the `lineDash` style — a comma-joined string, `null` once cleared, the
40
+ * default `[]` before any call — and that style is saved and restored with the
41
+ * rest of the drawing state, so reading it is exact.
42
+ */
43
+ export declare function readLineDash(lineDash: unknown): number[];
44
+ /**
45
+ * An SVG-emitting 2D context of `width` × `height` user units, ready to be
46
+ * handed to {@link CanvasRenderer.renderBoundTo}.
47
+ */
48
+ export declare function createSvgContext(width: number, height: number): SvgContext;
49
+ export {};
@@ -0,0 +1,257 @@
1
+ import { Context } from 'svgcanvas/dist/svgcanvas.esm.js';
2
+ const PATH_OPS = ['fill', 'stroke', 'clip'];
3
+ /** Marks a {@link RecordingPath2D} and carries what it recorded. */
4
+ const RECORDED_D = Symbol('labre.export-svg.recorded-d');
5
+ function isRecordingPath(value) {
6
+ return (typeof value?.[RECORDED_D] === 'string');
7
+ }
8
+ /**
9
+ * The SVG `d` of a path argument, or `undefined` when it cannot be read.
10
+ *
11
+ * Duck-typed on a string `d` so it covers both paths this module recorded and
12
+ * the native ones `taggedPath2D` tagged — a renderer is free to memoise those,
13
+ * and a memo built during an ordinary canvas paint must still be readable here.
14
+ */
15
+ function readablePathD(value) {
16
+ const d = value?.d;
17
+ return typeof d === 'string' ? d : undefined;
18
+ }
19
+ /** A path argument whose geometry is unreadable: a bare native `Path2D`. */
20
+ function isOpaquePath(value) {
21
+ return (typeof value === 'object' &&
22
+ value !== null &&
23
+ readablePathD(value) === undefined);
24
+ }
25
+ function isEvenOdd(value) {
26
+ return value === 'evenodd';
27
+ }
28
+ function unsupported(method) {
29
+ return new Error(`SVG export: Path2D.${method}() is not recorded. Add it to RecordingPath2D ` +
30
+ `in extensions/export-svg/svg-context.ts, or draw it on the context directly.`);
31
+ }
32
+ let recordingPath2D;
33
+ /**
34
+ * Built on first use rather than at import time: it extends the platform
35
+ * `Path2D`, which does not exist under Node, and merely importing this module
36
+ * must not throw there (same arrangement as `gfx/cynefin-estuarine`'s lazy
37
+ * curves).
38
+ *
39
+ * It EXTENDS `Path2D` on purpose. A renderer is free to memoise the paths it
40
+ * builds (`gfx/cynefin-estuarine` does), so an instance created while the shim
41
+ * is installed can outlive the export and be handed to a real canvas context
42
+ * later — which only works if it is a genuine `Path2D` as well.
43
+ */
44
+ function getRecordingPath2D() {
45
+ var _a;
46
+ if (recordingPath2D)
47
+ return recordingPath2D;
48
+ const Base = globalThis.Path2D;
49
+ if (!Base) {
50
+ throw new Error('SVG export: Path2D is unavailable in this environment.');
51
+ }
52
+ class RecordingPath2DImpl extends Base {
53
+ static { _a = RECORDED_D; }
54
+ get d() {
55
+ return this[RECORDED_D];
56
+ }
57
+ constructor(source) {
58
+ super(source);
59
+ this[_a] = '';
60
+ if (typeof source === 'string') {
61
+ this[RECORDED_D] = source;
62
+ }
63
+ else if (isRecordingPath(source)) {
64
+ this[RECORDED_D] = source[RECORDED_D];
65
+ }
66
+ else if (source) {
67
+ throw unsupported('constructor(Path2D)');
68
+ }
69
+ }
70
+ _push(command) {
71
+ this[RECORDED_D] += this[RECORDED_D] ? ` ${command}` : command;
72
+ }
73
+ addPath(path, transform) {
74
+ if (transform)
75
+ throw unsupported('addPath(path, transform)');
76
+ if (!isRecordingPath(path))
77
+ throw unsupported('addPath(Path2D)');
78
+ super.addPath(path);
79
+ this._push(path[RECORDED_D]);
80
+ }
81
+ arc() {
82
+ throw unsupported('arc');
83
+ }
84
+ arcTo() {
85
+ throw unsupported('arcTo');
86
+ }
87
+ bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {
88
+ super.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
89
+ this._push(`C ${cp1x} ${cp1y} ${cp2x} ${cp2y} ${x} ${y}`);
90
+ }
91
+ closePath() {
92
+ super.closePath();
93
+ this._push('Z');
94
+ }
95
+ ellipse() {
96
+ throw unsupported('ellipse');
97
+ }
98
+ lineTo(x, y) {
99
+ super.lineTo(x, y);
100
+ this._push(`L ${x} ${y}`);
101
+ }
102
+ moveTo(x, y) {
103
+ super.moveTo(x, y);
104
+ this._push(`M ${x} ${y}`);
105
+ }
106
+ quadraticCurveTo(cpx, cpy, x, y) {
107
+ super.quadraticCurveTo(cpx, cpy, x, y);
108
+ this._push(`Q ${cpx} ${cpy} ${x} ${y}`);
109
+ }
110
+ rect(x, y, w, h) {
111
+ super.rect(x, y, w, h);
112
+ this._push(`M ${x} ${y} L ${x + w} ${y} L ${x + w} ${y + h} L ${x} ${y + h} Z`);
113
+ }
114
+ roundRect() {
115
+ throw unsupported('roundRect');
116
+ }
117
+ }
118
+ recordingPath2D =
119
+ RecordingPath2DImpl;
120
+ return recordingPath2D;
121
+ }
122
+ /**
123
+ * Runs `render` with `globalThis.Path2D` swapped for the recording subclass, so
124
+ * the `new Path2D(d)` a renderer builds can be replayed into the SVG document.
125
+ *
126
+ * Swapping a global is safe here because the swap and the restore bracket a
127
+ * SYNCHRONOUS call on a single-threaded runtime: no other code can run — let
128
+ * alone observe `Path2D` — between the two, and the `finally` restores the
129
+ * original even when a renderer throws.
130
+ */
131
+ export function runWithRecordingPath2D(render) {
132
+ const original = globalThis.Path2D;
133
+ globalThis.Path2D = getRecordingPath2D();
134
+ try {
135
+ return render();
136
+ }
137
+ finally {
138
+ globalThis.Path2D = original;
139
+ }
140
+ }
141
+ /**
142
+ * Teaches `fill`/`stroke`/`clip` the two things svgcanvas drops on the floor:
143
+ * the `Path2D` argument, and the fill rule.
144
+ */
145
+ function installPathOps(ctx) {
146
+ for (const op of PATH_OPS) {
147
+ const original = ctx[op];
148
+ ctx[op] = (...args) => {
149
+ const d = args.map(readablePathD).find(value => value !== undefined);
150
+ const hasPath = d !== undefined;
151
+ const evenOdd = args.some(isEvenOdd);
152
+ if (hasPath) {
153
+ // svgcanvas ignores Path2D arguments and always paints its "current
154
+ // default path", so the path's `d` becomes exactly that.
155
+ ctx.beginPath();
156
+ ctx.__currentDefaultPath = d;
157
+ }
158
+ else if (args.some(isOpaquePath)) {
159
+ // An untagged native Path2D. Nothing can read its geometry back, so
160
+ // drop it loudly rather than let svgcanvas paint whatever path happened
161
+ // to be current. `taggedPath2D` is the fix at the call site.
162
+ ctx.beginPath();
163
+ ctx.__currentDefaultPath = '';
164
+ console.warn('SVG export: an untagged Path2D cannot be read back; that shape is ' +
165
+ 'missing from the SVG. Build it with `taggedPath2D`.');
166
+ }
167
+ // `clip()` moves this node into a <clipPath>, so grab it beforehand.
168
+ const element = ctx.__currentElement;
169
+ const lineWidth = ctx.lineWidth;
170
+ original.call(ctx);
171
+ if (hasPath) {
172
+ // svgcanvas BAKES the current matrix into every coordinate it emits;
173
+ // an injected `d` never went through that, so the matrix rides along
174
+ // as a `transform` attribute instead…
175
+ ctx.__applyTransformation(element);
176
+ // …and the stroke width, which svgcanvas pre-multiplied by the matrix
177
+ // scale, goes back to its raw value or the transform scales it twice.
178
+ if (op === 'stroke') {
179
+ element.setAttribute('stroke-width', `${lineWidth}`);
180
+ }
181
+ }
182
+ if (evenOdd) {
183
+ element.setAttribute(op === 'clip' ? 'clip-rule' : 'fill-rule', 'evenodd');
184
+ }
185
+ };
186
+ }
187
+ }
188
+ /**
189
+ * The dash pattern svgcanvas holds, as the `number[]` Canvas2D's `getLineDash`
190
+ * returns.
191
+ *
192
+ * svgcanvas 2.6.0 implements `setLineDash` but not `getLineDash`, and a
193
+ * renderer that reads the pattern back (to put it back after a dashed stroke)
194
+ * would throw and abort the whole export. Its `setLineDash` stores the pattern
195
+ * in the `lineDash` style — a comma-joined string, `null` once cleared, the
196
+ * default `[]` before any call — and that style is saved and restored with the
197
+ * rest of the drawing state, so reading it is exact.
198
+ */
199
+ export function readLineDash(lineDash) {
200
+ if (Array.isArray(lineDash))
201
+ return lineDash.map(Number);
202
+ if (typeof lineDash !== 'string' || lineDash === '')
203
+ return [];
204
+ return lineDash.split(',').map(Number);
205
+ }
206
+ /** Adds `viewBox` / `xmlns` / px units to the root `<svg>` if they are missing. */
207
+ function finishSvg(svg, width, height) {
208
+ return (svg
209
+ // Models store fonts under the loader's own face name
210
+ // (`blocksuite:surface:Inter`); outside the editor only `Inter` exists.
211
+ .replace(/blocksuite:surface:/g, '')
212
+ // svgcanvas writes the (unset) text decoration out literally.
213
+ .replace(/ text-decoration="undefined"/g, '')
214
+ .replace(/<svg\b[^>]*>/, tag => {
215
+ let out = tag;
216
+ if (!/\sviewBox=/.test(out)) {
217
+ out = out.replace(/^<svg/, `<svg viewBox="0 0 ${width} ${height}"`);
218
+ }
219
+ if (!/\sxmlns=/.test(out)) {
220
+ out = out.replace(/^<svg/, `<svg xmlns="http://www.w3.org/2000/svg"`);
221
+ }
222
+ out = /\swidth=/.test(out)
223
+ ? out.replace(/\swidth="[^"]*"/, ` width="${width}px"`)
224
+ : out.replace(/^<svg/, `<svg width="${width}px"`);
225
+ out = /\sheight=/.test(out)
226
+ ? out.replace(/\sheight="[^"]*"/, ` height="${height}px"`)
227
+ : out.replace(/^<svg/, `<svg height="${height}px"`);
228
+ return out;
229
+ }));
230
+ }
231
+ /**
232
+ * An SVG-emitting 2D context of `width` × `height` user units, ready to be
233
+ * handed to {@link CanvasRenderer.renderBoundTo}.
234
+ */
235
+ export function createSvgContext(width, height) {
236
+ const context = new Context({ width, height });
237
+ const ctx = context;
238
+ // `RoughCanvas` takes the CANVAS and calls `getContext('2d')` on it.
239
+ // svgcanvas already points `canvas` back at the context, so one method
240
+ // closes the loop.
241
+ context.getContext = () => ctx;
242
+ // Text renderers temporarily attach a detached canvas to <body> to measure
243
+ // RTL runs. This context is not a DOM node, so claim it is already attached.
244
+ context.isConnected = true;
245
+ // …and they set `dir` on the canvas before every text run; a no-op keeps
246
+ // that call from reaching an object that is not an element.
247
+ context.setAttribute = () => { };
248
+ // The one Canvas2D method a renderer calls that svgcanvas lacks — see
249
+ // `readLineDash`. Without it a single `getLineDash()` aborts the export.
250
+ context.getLineDash = () => readLineDash(context.lineDash);
251
+ installPathOps(context);
252
+ return {
253
+ ctx,
254
+ canvas: ctx.canvas,
255
+ serialize: () => finishSvg(context.getSerializedSvg(true), width, height),
256
+ };
257
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A `Path2D` that carries the `d` it was built from.
3
+ *
4
+ * The SVG export replays the element renderers into an SVG-emitting context,
5
+ * and a native `Path2D` is a black box: nothing can read its geometry back, so
6
+ * a shape drawn through one would be missing from the export. The tag is what
7
+ * the export reads — see `svg-context.ts`.
8
+ *
9
+ * Use it anywhere a renderer builds a `Path2D` FROM A STRING. A path built by
10
+ * calling methods (`new Path2D()` then `rect(...)`) needs no tag: the export
11
+ * records those calls itself.
12
+ *
13
+ * It is a plain function, not a constant: `Path2D` does not exist under Node,
14
+ * so this must only ever run on a paint, never at module load.
15
+ */
16
+ export declare function taggedPath2D(d: string): Path2D;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * A `Path2D` that carries the `d` it was built from.
3
+ *
4
+ * The SVG export replays the element renderers into an SVG-emitting context,
5
+ * and a native `Path2D` is a black box: nothing can read its geometry back, so
6
+ * a shape drawn through one would be missing from the export. The tag is what
7
+ * the export reads — see `svg-context.ts`.
8
+ *
9
+ * Use it anywhere a renderer builds a `Path2D` FROM A STRING. A path built by
10
+ * calling methods (`new Path2D()` then `rect(...)`) needs no tag: the export
11
+ * records those calls itself.
12
+ *
13
+ * It is a plain function, not a constant: `Path2D` does not exist under Node,
14
+ * so this must only ever run on a paint, never at module load.
15
+ */
16
+ export function taggedPath2D(d) {
17
+ const path = new Path2D(d);
18
+ // While the export's recording `Path2D` is installed, the instance already
19
+ // exposes `d` through a getter; writing it again would throw.
20
+ if (typeof path.d !== 'string') {
21
+ Object.defineProperty(path, 'd', { value: d, enumerable: true });
22
+ }
23
+ return path;
24
+ }
@@ -0,0 +1,24 @@
1
+ import { type ToolbarContext } from '../../../affine-shared/services/index.js';
2
+ export declare const exportSvgToolbarConfig: {
3
+ readonly actions: [import("../../../affine-shared/services/index.js").ToolbarActionGenerator];
4
+ readonly when: (ctx: ToolbarContext) => boolean;
5
+ };
6
+ /**
7
+ * "Export SVG" in the "⋮" of EVERY framework board (ADR 0025).
8
+ *
9
+ * ## Where it is registered
10
+ *
11
+ * `custom:affine:surface:*` — the wildcard slot merged into the toolbar of every
12
+ * canvas element — with an OWNER suffix. The bare key is already taken by
13
+ * `validation-toolbar.ts` (and `affine:surface:*` by the root's built-in misc
14
+ * module), so a second module on either would be a
15
+ * `DuplicateServiceDefinitionError` at setup rather than a menu entry;
16
+ * {@link toolbarModuleKey} is what gives a second contributor a distinct DI
17
+ * variant while `modulesFor` still hands it to the row drawn for that flavour.
18
+ *
19
+ * One registration therefore covers all eleven board kinds and every one that
20
+ * follows, which is the whole claim of the ADR: the export is generic, so it is
21
+ * registered once, generically, and a new framework inherits it by extending
22
+ * `FrameworkBackgroundElementModel` and doing nothing else.
23
+ */
24
+ export declare const exportSvgToolbarExtension: import("../../../store/index.js").ExtensionType;
@@ -0,0 +1,66 @@
1
+ import { FrameworkBackgroundElementModel } from '../../../affine-model/index.js';
2
+ import { commandMoreAction, ToolbarModuleExtension, toolbarModuleKey, } from '../../../affine-shared/services/index.js';
3
+ import { BlockFlavourIdentifier } from '../../../std/index.js';
4
+ import { html } from 'lit';
5
+ /**
6
+ * A sheet with an arrow leaving it: the board, on its way out of the editor.
7
+ *
8
+ * Drawn inline like its neighbours in this package (`reading-toolbar.ts`,
9
+ * `tags-toolbar.ts`, `validation-toolbar.ts`): the surface block does not
10
+ * depend on `@blocksuite/icons`, and one glyph is not worth a new dependency.
11
+ */
12
+ const ExportSvgIcon = html `<svg
13
+ width="20"
14
+ height="20"
15
+ viewBox="0 0 24 24"
16
+ fill="none"
17
+ stroke="currentColor"
18
+ stroke-width="2"
19
+ stroke-linecap="round"
20
+ stroke-linejoin="round"
21
+ >
22
+ <path d="M12 3v12" />
23
+ <path d="M8 11l4 4 4-4" />
24
+ <path d="M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2" />
25
+ </svg>`;
26
+ /** The keys the command declares; spelled once, read here and nowhere else. */
27
+ const EXPORT_SVG_COMMAND_ID = 'export.svg';
28
+ const EXPORT_SVG_LABEL_KEY = 'com.labre.command.export.svg';
29
+ const EXPORT_SVG_LABEL_FALLBACK = 'Export SVG';
30
+ export const exportSvgToolbarConfig = {
31
+ actions: [
32
+ commandMoreAction(
33
+ // `z.z-` and not `z.`: a framework's own export (`z.export-owm`,
34
+ // `z.export-xml`, `z.export-mermaid`) is the format that says what the
35
+ // board MEANS, and it reads first. The picture reads last, under
36
+ // everything, which is also where a reader looks for it.
37
+ 'z.z-export-svg', EXPORT_SVG_COMMAND_ID, EXPORT_SVG_LABEL_KEY, EXPORT_SVG_LABEL_FALLBACK, ExportSvgIcon),
38
+ ],
39
+ // The module says "a board is selected"; the command's own `when` says the
40
+ // same thing from the registry side, and the two are deliberately both there
41
+ // — the entry is drawn from the module and the behaviour is guarded by the
42
+ // command, whichever surface reaches it.
43
+ when: (ctx) => ctx.getSurfaceModelsByType(FrameworkBackgroundElementModel).length > 0,
44
+ };
45
+ /**
46
+ * "Export SVG" in the "⋮" of EVERY framework board (ADR 0025).
47
+ *
48
+ * ## Where it is registered
49
+ *
50
+ * `custom:affine:surface:*` — the wildcard slot merged into the toolbar of every
51
+ * canvas element — with an OWNER suffix. The bare key is already taken by
52
+ * `validation-toolbar.ts` (and `affine:surface:*` by the root's built-in misc
53
+ * module), so a second module on either would be a
54
+ * `DuplicateServiceDefinitionError` at setup rather than a menu entry;
55
+ * {@link toolbarModuleKey} is what gives a second contributor a distinct DI
56
+ * variant while `modulesFor` still hands it to the row drawn for that flavour.
57
+ *
58
+ * One registration therefore covers all eleven board kinds and every one that
59
+ * follows, which is the whole claim of the ADR: the export is generic, so it is
60
+ * registered once, generically, and a new framework inherits it by extending
61
+ * `FrameworkBackgroundElementModel` and doing nothing else.
62
+ */
63
+ export const exportSvgToolbarExtension = ToolbarModuleExtension({
64
+ id: BlockFlavourIdentifier(toolbarModuleKey('custom:affine:surface:*', 'export-svg')),
65
+ config: exportSvgToolbarConfig,
66
+ });
@@ -6,9 +6,12 @@ export * from './edit-props-middleware-builder.js';
6
6
  export * from './editor-anchored-panel.js';
7
7
  export * from './element-renderer.js';
8
8
  export * from './export-manager/index.js';
9
+ export * from './export-svg/index.js';
9
10
  export * from './interchange.js';
10
11
  export * from './interchange-import.js';
11
12
  export * from './legacy-slot-extension.js';
13
+ export * from './legend.js';
14
+ export * from './legend-toolbar.js';
12
15
  export * from './map-quality.js';
13
16
  export * from './map-quality-widget.js';
14
17
  export * from './morph-toolbar.js';
@@ -16,9 +19,11 @@ export * from './query.js';
16
19
  export * from './reading.js';
17
20
  export * from './reading-toolbar.js';
18
21
  export * from './reading-widget.js';
22
+ export * from './record-action.js';
19
23
  export * from './spotlight.js';
20
24
  export * from './surface-middleware.js';
21
25
  export * from './svg-sketch.js';
26
+ export * from './svg-sketch-translations.js';
22
27
  export * from './tags-toolbar.js';
23
28
  export * from './validation.js';
24
29
  export * from './validation-toolbar.js';
@@ -6,9 +6,12 @@ export * from './edit-props-middleware-builder.js';
6
6
  export * from './editor-anchored-panel.js';
7
7
  export * from './element-renderer.js';
8
8
  export * from './export-manager/index.js';
9
+ export * from './export-svg/index.js';
9
10
  export * from './interchange.js';
10
11
  export * from './interchange-import.js';
11
12
  export * from './legacy-slot-extension.js';
13
+ export * from './legend.js';
14
+ export * from './legend-toolbar.js';
12
15
  export * from './map-quality.js';
13
16
  export * from './map-quality-widget.js';
14
17
  export * from './morph-toolbar.js';
@@ -16,9 +19,11 @@ export * from './query.js';
16
19
  export * from './reading.js';
17
20
  export * from './reading-toolbar.js';
18
21
  export * from './reading-widget.js';
22
+ export * from './record-action.js';
19
23
  export * from './spotlight.js';
20
24
  export * from './surface-middleware.js';
21
25
  export * from './svg-sketch.js';
26
+ export * from './svg-sketch-translations.js';
22
27
  export * from './tags-toolbar.js';
23
28
  export * from './validation.js';
24
29
  export * from './validation-toolbar.js';
@@ -1,6 +1,6 @@
1
1
  import type { ServiceProvider } from '../../global/di/index.js';
2
2
  import type { BlockStdScope } from '../../std/index.js';
3
- import { type InterchangeFormat, type InterchangeImportCapability, type InterchangeReport, type SerializedElementProps } from './interchange.js';
3
+ import { type InterchangeFormat, type InterchangeImportCapability, type InterchangeNote, type InterchangeReport, type SerializedElementProps } from './interchange.js';
4
4
  /**
5
5
  * **The public import API** — what an editor, a host application or a plugin
6
6
  * calls to turn a foreign file into a board (`docs/adr/0012`).
@@ -50,11 +50,49 @@ import { type InterchangeFormat, type InterchangeImportCapability, type Intercha
50
50
  * whole blob and `addElement` writes it with everything else, which is the
51
51
  * whole-record LWW the field's own contract asks for (D2).
52
52
  *
53
+ * ## The reader's OWN names, and why there is a second map
54
+ *
55
+ * A source id is the file's, and there are two things a reader has to point at
56
+ * that the file never named: an element it MINTED (a framework artefact is
57
+ * routinely several elements — a shape, its compartments, and the group that
58
+ * makes them one thing), and the group membership between them. So a reader may
59
+ * also hand each element a provisional `id` of its own. `surface.addElement`
60
+ * overwrites it with a nanoid and is documented to, which is precisely what
61
+ * makes it safe to use as a local name: it reaches no document, and it is read
62
+ * here and nowhere else.
63
+ *
64
+ * A GROUP's `children` are therefore rewritten BEFORE the group is created, out
65
+ * of the map built so far — which costs nothing and asks the reader for the one
66
+ * thing it can always give: emit an element before the group that holds it. A
67
+ * connector is the opposite case (a flow may be written before either of its
68
+ * ends) and keeps its second pass.
69
+ *
70
+ * Source ids win over provisional ones wherever both could answer, so a reader
71
+ * that mints no local name behaves exactly as it did before this was here.
72
+ *
73
+ * ## Beside what is already drawn
74
+ *
75
+ * A reader writes the coordinates its FILE gave it, so importing the same file
76
+ * twice put the second board exactly on top of the first. The offset is applied
77
+ * here, once, for every framework, because the only thing that knows what the
78
+ * canvas already holds is the function doing the writing — see
79
+ * {@link importOffset}, and note that an empty surface is left alone.
80
+ *
81
+ * ## A read-only document is answered, not thrown at
82
+ *
83
+ * This is a public API — a host (labre-mcp) writes through it with no command
84
+ * in front of it — so the guard belongs here too and not only at the callers:
85
+ * a readonly document answers the empty array, which is the same "nothing was
86
+ * minted" every other refusal of this function returns, rather than an
87
+ * exception a caller would have to know to catch.
88
+ *
53
89
  * @param formatId the format whose payload key carries the source ids — the
54
90
  * `id` of the capability's {@link InterchangeFormat}, and the ONLY thing this
55
91
  * function ever knew about BPMN.
56
92
  */
57
- export declare function materializeInterchangeImport(std: BlockStdScope, formatId: string, elements: readonly SerializedElementProps[]): string[];
93
+ export declare function materializeInterchangeImport(std: BlockStdScope, formatId: string, elements: readonly SerializedElementProps[], options?: {
94
+ onNote?: (note: InterchangeNote) => void;
95
+ }): string[];
58
96
  /**
59
97
  * Say what the import did — the summary, and the remarks.
60
98
  *
@@ -109,7 +147,31 @@ export declare function reportInterchangeImport(std: BlockStdScope, format: Inte
109
147
  * deliberately so: a dialog a document cannot honour should never open in the
110
148
  * first place.
111
149
  */
112
- export declare function runInterchangeImportFile(std: BlockStdScope, capability: InterchangeImportCapability): Promise<void>;
150
+ export declare function runInterchangeImportFile(std: BlockStdScope, capability: InterchangeImportCapability, options?: InterchangeImportOptions): Promise<void>;
151
+ /** What a caller can put between the file's bytes and the declared reader. */
152
+ export interface InterchangeImportOptions {
153
+ /**
154
+ * Turn the file's text into the text the reader takes — the seam for a
155
+ * format whose container is not the document.
156
+ *
157
+ * A reader is a PURE, synchronous function of text (`docs/adr/0012` P3), and
158
+ * that is not negotiable: it is what lets labre-mcp call the same function
159
+ * the command calls. Some containers put an asynchronous platform API between
160
+ * the bytes and the document all the same — a `.drawio` file holds its
161
+ * `<mxGraphModel>` as base64 of a raw deflate, and inflating it needs
162
+ * `DecompressionStream` (`gfx/uml/src/drawio-decode.ts`, `docs/adr/0019`);
163
+ * a zipped container would be the next one.
164
+ *
165
+ * So the unwrapping happens HERE, where a caller already has an editor and an
166
+ * `await`, and the reader keeps its purity. Anything this throws is shown as
167
+ * the import's failure notification, exactly as a reader's own refusal is —
168
+ * so the sentence it throws should name what is wrong with the file.
169
+ *
170
+ * Absent for every format whose file IS its document, which is all of them
171
+ * bar one.
172
+ */
173
+ decode?: (text: string, file: File) => string | Promise<string>;
174
+ }
113
175
  /**
114
176
  * The import itself, over a file the caller ALREADY HAS: run the declared
115
177
  * capability (`docs/adr/0012`), write what it returned, bring it into view, and
@@ -147,7 +209,7 @@ export declare function runInterchangeImportFile(std: BlockStdScope, capability:
147
209
  * its refusals it was, so it is shown as it is rather than replaced with a
148
210
  * wording of our own that knows less.
149
211
  */
150
- export declare function importInterchangeFile(std: BlockStdScope, capability: InterchangeImportCapability, file: File): Promise<void>;
212
+ export declare function importInterchangeFile(std: BlockStdScope, capability: InterchangeImportCapability, file: File, options?: InterchangeImportOptions): Promise<void>;
151
213
  /**
152
214
  * Every registered importer, indexed by the extensions it declares.
153
215
  *