@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
@@ -3,6 +3,8 @@ import { ASTWalker, BaseAdapter, BlockSnapshotSchema, nanoid, } from '../../../s
3
3
  import { AdapterFactoryIdentifier, } from '../types/index.js';
4
4
  import { BlockPlainTextAdapterMatcherIdentifier, } from './block-adapter.js';
5
5
  import { InlineDeltaToPlainTextAdapterMatcherIdentifier, PlainTextDeltaConverter, } from './delta-converter.js';
6
+ import { CHROME_UNTITLED } from '../../services/translation-service/chrome.js';
7
+ import { resolveWording } from '../utils/wording.js';
6
8
  export class PlainTextAdapter extends BaseAdapter {
7
9
  constructor(job, provider) {
8
10
  super(job, provider);
@@ -125,11 +127,12 @@ export class PlainTextAdapter extends BaseAdapter {
125
127
  }
126
128
  toDocSnapshot(payload) {
127
129
  payload.file = payload.file.replaceAll('\r', '');
130
+ const untitled = resolveWording(this.provider, CHROME_UNTITLED);
128
131
  return {
129
132
  type: 'page',
130
133
  meta: {
131
134
  id: nanoid(),
132
- title: 'Untitled',
135
+ title: untitled,
133
136
  createDate: Date.now(),
134
137
  tags: [],
135
138
  },
@@ -142,7 +145,7 @@ export class PlainTextAdapter extends BaseAdapter {
142
145
  '$blocksuite:internal:text$': true,
143
146
  delta: [
144
147
  {
145
- insert: 'Untitled',
148
+ insert: untitled,
146
149
  },
147
150
  ],
148
151
  },
@@ -3,3 +3,4 @@ export * from './fetch.js';
3
3
  export * from './file-path.js';
4
4
  export * from './hast.js';
5
5
  export * from './text.js';
6
+ export * from './wording.js';
@@ -3,3 +3,4 @@ export * from './fetch.js';
3
3
  export * from './file-path.js';
4
4
  export * from './hast.js';
5
5
  export * from './text.js';
6
+ export * from './wording.js';
@@ -0,0 +1,9 @@
1
+ import type { ServiceProvider } from '../../../global/di/index.js';
2
+ /**
3
+ * `translateKey`'s own contract, over a `ServiceProvider` rather than a
4
+ * `BlockStdScope` — an adapter/transformer (`ClipboardAdapter`, the markdown
5
+ * / mix-text / plain-text `toDocSnapshot` importers…) has no `std`, only the
6
+ * provider `std.getOptional` itself delegates to. `undefined` (no provider
7
+ * handed in) resolves exactly like no host registered one.
8
+ */
9
+ export declare function resolveWording(provider: ServiceProvider | undefined, wording: readonly [key: string, fallback: string]): string;
@@ -0,0 +1,12 @@
1
+ import { TranslationProvider } from '../../services/translation-service/index.js';
2
+ /**
3
+ * `translateKey`'s own contract, over a `ServiceProvider` rather than a
4
+ * `BlockStdScope` — an adapter/transformer (`ClipboardAdapter`, the markdown
5
+ * / mix-text / plain-text `toDocSnapshot` importers…) has no `std`, only the
6
+ * provider `std.getOptional` itself delegates to. `undefined` (no provider
7
+ * handed in) resolves exactly like no host registered one.
8
+ */
9
+ export function resolveWording(provider, wording) {
10
+ const resolved = provider?.getOptional(TranslationProvider)?.t(wording[0]);
11
+ return resolved !== undefined && resolved !== '' ? resolved : wording[1];
12
+ }
@@ -1,5 +1,6 @@
1
1
  import { CommentIcon } from '@blocksuite/icons/lit';
2
2
  import { BlockSelection } from '../../../std/index.js';
3
+ import { TOOLBAR_COMMENT } from '../translation-service/chrome.js';
3
4
  import { CommentProviderIdentifier } from './comment-provider.js';
4
5
  export function findAllCommentedBlocks(store) {
5
6
  return store.getAllModels().filter((block) => {
@@ -15,6 +16,7 @@ export function findCommentedBlocks(store, commentId) {
15
16
  }
16
17
  export const blockCommentToolbarButton = {
17
18
  tooltip: 'Comment',
19
+ tooltipWording: TOOLBAR_COMMENT,
18
20
  when: ({ std }) => !!std.getOptional(CommentProviderIdentifier),
19
21
  icon: CommentIcon(),
20
22
  run: ctx => {
@@ -5,6 +5,8 @@ import { LifeCycleWatcher, StdIdentifier } from '../../std/index.js';
5
5
  import { computed, signal, } from '@preact/signals-core';
6
6
  import { referenceToNode } from '../utils/reference.js';
7
7
  import { DocModeProvider } from './doc-mode-service.js';
8
+ import { CHROME_DELETED_DOC, CHROME_UNTITLED, } from './translation-service/chrome.js';
9
+ import { translateKey } from './translation-service/index.js';
8
10
  export const DocDisplayMetaProvider = createIdentifier('DocDisplayMetaService');
9
11
  export class DocDisplayMetaService extends LifeCycleWatcher {
10
12
  constructor() {
@@ -77,14 +79,15 @@ export class DocDisplayMetaService extends LifeCycleWatcher {
77
79
  title(pageId, { title } = {}) {
78
80
  const doc = this.std.workspace.getDoc(pageId);
79
81
  if (!doc) {
80
- return computed(() => title || 'Deleted doc');
82
+ return computed(() => title || translateKey(this.std, ...CHROME_DELETED_DOC));
81
83
  }
82
84
  const store = doc.getStore();
83
85
  let title$ = this.titleMap.get(store);
84
86
  if (!title$) {
85
- title$ = signal(doc.meta?.title || 'Untitled');
87
+ title$ = signal(doc.meta?.title || translateKey(this.std, ...CHROME_UNTITLED));
86
88
  const disposable = this.std.workspace.slots.docListUpdated.subscribe(() => {
87
- title$.value = doc.meta?.title || 'Untitled';
89
+ title$.value =
90
+ doc.meta?.title || translateKey(this.std, ...CHROME_UNTITLED);
88
91
  });
89
92
  this.disposables.push(disposable);
90
93
  this.titleMap.set(store, title$);
@@ -23,6 +23,7 @@ export type IframeOptions = {
23
23
  allow?: string;
24
24
  allowFullscreen?: boolean;
25
25
  containerBorderRadius?: number;
26
+ sandbox?: string;
26
27
  };
27
28
  /**
28
29
  * Define the config of an embed iframe block
@@ -16,5 +16,12 @@ export declare const fontConfigSchema: z.ZodObject<{
16
16
  weight: string;
17
17
  }>;
18
18
  export type FontConfig = z.infer<typeof fontConfigSchema>;
19
+ /**
20
+ * The AFFiNE-hosted mirror. It carries strictly fewer files than the community
21
+ * list: `cdn.affine.pro` answers 404 for every `Inter-Bold`, `Poppins-Bold`
22
+ * and `BebasNeue-Bold` spelling, so those three families offer no 700 weight
23
+ * here. The Kalam / Satoshi / Lora `SemiBold` entries below already point at
24
+ * the 700 file — those families ship a single heavy face, not two.
25
+ */
19
26
  export declare const AffineCanvasTextFonts: FontConfig[];
20
27
  export declare const CommunityCanvasTextFonts: FontConfig[];
@@ -6,6 +6,13 @@ export const fontConfigSchema = z.object({
6
6
  url: z.string(),
7
7
  style: z.string(),
8
8
  });
9
+ /**
10
+ * The AFFiNE-hosted mirror. It carries strictly fewer files than the community
11
+ * list: `cdn.affine.pro` answers 404 for every `Inter-Bold`, `Poppins-Bold`
12
+ * and `BebasNeue-Bold` spelling, so those three families offer no 700 weight
13
+ * here. The Kalam / Satoshi / Lora `SemiBold` entries below already point at
14
+ * the 700 file — those families ship a single heavy face, not two.
15
+ */
9
16
  export const AffineCanvasTextFonts = [
10
17
  // Inter, https://fonts.cdnfonts.com/css/inter?styles=29139,29134,29135,29136,29140,29141
11
18
  {
@@ -221,13 +228,27 @@ export const CommunityCanvasTextFonts = [
221
228
  weight: FontWeight.Regular,
222
229
  style: FontStyle.Italic,
223
230
  },
231
+ {
232
+ font: FontFamily.Inter,
233
+ url: 'https://fonts.cdnfonts.com/s/19795/Inter-Bold.woff',
234
+ weight: FontWeight.Bold,
235
+ style: FontStyle.Normal,
236
+ },
224
237
  {
225
238
  font: FontFamily.Inter,
226
239
  url: 'https://fonts.cdnfonts.com/s/19795/Inter-SemiBoldItalic.woff',
227
240
  weight: FontWeight.SemiBold,
228
241
  style: FontStyle.Italic,
229
242
  },
243
+ {
244
+ font: FontFamily.Inter,
245
+ url: 'https://fonts.cdnfonts.com/s/19795/Inter-BoldItalic.woff',
246
+ weight: FontWeight.Bold,
247
+ style: FontStyle.Italic,
248
+ },
230
249
  // Kalam, https://fonts.cdnfonts.com/css/kalam?styles=15166,170689,170687
250
+ // Kalam ships no 600 face: its `SemiBold` entry below already IS the 700
251
+ // file, so the family offers one heavy weight, not two.
231
252
  {
232
253
  font: FontFamily.Kalam,
233
254
  url: 'https://fonts.cdnfonts.com/s/13130/Kalam-Light.woff',
@@ -308,6 +329,12 @@ export const CommunityCanvasTextFonts = [
308
329
  weight: FontWeight.SemiBold,
309
330
  style: FontStyle.Normal,
310
331
  },
332
+ {
333
+ font: FontFamily.Poppins,
334
+ url: 'https://fonts.cdnfonts.com/s/16009/Poppins-Bold.woff',
335
+ weight: FontWeight.Bold,
336
+ style: FontStyle.Normal,
337
+ },
311
338
  {
312
339
  font: FontFamily.Poppins,
313
340
  url: 'https://fonts.cdnfonts.com/s/16009/Poppins-LightItalic.woff',
@@ -326,7 +353,15 @@ export const CommunityCanvasTextFonts = [
326
353
  weight: FontWeight.SemiBold,
327
354
  style: FontStyle.Italic,
328
355
  },
356
+ {
357
+ font: FontFamily.Poppins,
358
+ url: 'https://fonts.cdnfonts.com/s/16009/Poppins-BoldItalic.woff',
359
+ weight: FontWeight.Bold,
360
+ style: FontStyle.Italic,
361
+ },
329
362
  // Lora, https://fonts.cdnfonts.com/css/lora-4?styles=50357,50356,50354,50355
363
+ // Lora ships no 600 face either: as with Kalam and Satoshi, the entries
364
+ // below map the 700 file onto `SemiBold` and the family has a single heavy.
330
365
  {
331
366
  font: FontFamily.Lora,
332
367
  url: 'https://fonts.cdnfonts.com/s/29883/Lora-Regular.woff',
@@ -364,6 +399,14 @@ export const CommunityCanvasTextFonts = [
364
399
  weight: FontWeight.Regular,
365
400
  style: FontStyle.Normal,
366
401
  },
402
+ {
403
+ font: FontFamily.BebasNeue,
404
+ // The bold face is the one Bebas Neue file whose name is spelled with a
405
+ // space, like the light one above and unlike the regular one.
406
+ url: 'https://fonts.cdnfonts.com/s/14902/BebasNeue%20Bold.woff',
407
+ weight: FontWeight.Bold,
408
+ style: FontStyle.Normal,
409
+ },
367
410
  // OrelegaOne, https://fonts.cdnfonts.com/css/orelega-one?styles=148618
368
411
  {
369
412
  font: FontFamily.OrelegaOne,
@@ -1,6 +1,8 @@
1
1
  import { createIdentifier } from '../../global/di/index.js';
2
2
  import { EditorLifeCycleExtension } from '../../std/index.js';
3
3
  import { StoreIdentifier } from '../../store/index.js';
4
+ import { TOOLBAR_UNDO } from './translation-service/chrome.js';
5
+ import { TranslationProvider } from './translation-service/index.js';
4
6
  export const NotificationProvider = createIdentifier('AffineNotificationService');
5
7
  export function NotificationExtension(notificationService) {
6
8
  return {
@@ -16,6 +18,21 @@ export function NotificationExtension(notificationService) {
16
18
  },
17
19
  };
18
20
  }
21
+ /**
22
+ * `translateKey`'s own contract, replicated over a `ServiceProvider` rather
23
+ * than a `BlockStdScope`: `notifyWithUndoActionImpl` sits under the DI setup
24
+ * (`NotificationExtension`), not under an editor, so it only ever has the
25
+ * provider `std.getOptional` itself delegates to — `std.getOptional ===
26
+ * std.provider.getOptional.bind(std.provider)` (`framework/std`'s
27
+ * `BlockStdScope`), so this resolves through the exact same registered
28
+ * `TranslationProvider` a `translateKey(std, …)` call site would.
29
+ */
30
+ function undoLabel(provider) {
31
+ const resolved = provider
32
+ .getOptional(TranslationProvider)
33
+ ?.t(TOOLBAR_UNDO[0]);
34
+ return resolved !== undefined && resolved !== '' ? resolved : TOOLBAR_UNDO[1];
35
+ }
19
36
  function notifyWithUndoActionImpl(provider, notify, options) {
20
37
  const store = provider.get(StoreIdentifier);
21
38
  const abortController = new AbortController();
@@ -39,7 +56,7 @@ function notifyWithUndoActionImpl(provider, notify, options) {
39
56
  actions: [
40
57
  {
41
58
  key: 'notification-card-undo',
42
- label: 'Undo',
59
+ label: undoLabel(provider),
43
60
  onClick: () => {
44
61
  store.undo();
45
62
  abortController.abort();
@@ -3,7 +3,6 @@ import type { TemplateResult } from 'lit';
3
3
  export type OpenDocMode = 'open-in-active-view' | 'open-in-new-view' | 'open-in-new-tab' | 'open-in-center-peek';
4
4
  export interface OpenDocConfigItem {
5
5
  type: OpenDocMode;
6
- label: string;
7
6
  icon: TemplateResult<1>;
8
7
  }
9
8
  export interface OpenDocConfig {
@@ -6,12 +6,10 @@ const defaultConfig = {
6
6
  items: [
7
7
  {
8
8
  type: 'open-in-active-view',
9
- label: 'Open this doc',
10
9
  icon: ExpandFullIcon(),
11
10
  },
12
11
  {
13
12
  type: 'open-in-center-peek',
14
- label: 'Open in center peek',
15
13
  icon: CenterPeekIcon(),
16
14
  },
17
15
  ],
@@ -42,8 +42,7 @@
42
42
  * materiality by scanning `collectPivotOccurrences`. Derived materialities are
43
43
  * a cache of the boards, never a second original.
44
44
  */
45
- import { LifeCycleWatcher } from '../../std/index.js';
46
- import { FRAMEWORK_IDS } from '../../std/index.js';
45
+ import { frameworkOfRole, LifeCycleWatcher } from '../../std/index.js';
47
46
  import { GfxControllerIdentifier, isPivotBound, readElementTags, } from '../../std/gfx/index.js';
48
47
  import { effect } from '@preact/signals-core';
49
48
  import { PivotPropertiesProvider, publishOccurrenceMaterialities, } from './pivot-properties-service.js';
@@ -51,13 +50,6 @@ import { PivotPropertiesProvider, publishOccurrenceMaterialities, } from './pivo
51
50
  const MATERIAL_PROPS = new Set(['tags', 'role', 'pivotDocId']);
52
51
  const touchesMateriality = (payload) => Object.keys(payload.props).some(key => MATERIAL_PROPS.has(key)) ||
53
52
  Object.keys(payload.oldValues).some(key => MATERIAL_PROPS.has(key));
54
- /** `'wardley:component'` → `'wardley'`, when that names a real framework. */
55
- function frameworkOfRole(role) {
56
- const namespace = role?.split(':')[0];
57
- return FRAMEWORK_IDS.includes(namespace ?? '')
58
- ? namespace
59
- : undefined;
60
- }
61
53
  /**
62
54
  * `(pivotDocId, elementId)` — the host's primary key for a derived materiality.
63
55
  *
@@ -0,0 +1,53 @@
1
+ import { LifeCycleWatcher } from '../../../std/index.js';
2
+ import type { SurfaceElementDamage, SurfaceElementDamageReport } from '../../../std/gfx/index.js';
3
+ /**
4
+ * The whole surface API this watcher touches, named structurally on purpose:
5
+ * it is also the entire harness a unit spec has to stand up, and it keeps the
6
+ * watcher from caring which block flavour grew a `damagedElements` map next.
7
+ */
8
+ export type DamageReportingSurface = {
9
+ readonly damagedElements: ReadonlyMap<string, SurfaceElementDamage>;
10
+ readonly elementDamaged: {
11
+ subscribe(next: (report: SurfaceElementDamageReport) => void): {
12
+ unsubscribe(): void;
13
+ };
14
+ };
15
+ };
16
+ export declare function isDamageReportingSurface(model: unknown): model is DamageReportingSurface;
17
+ /**
18
+ * Reports `DocumentDamaged` — how many documents open carrying elements the
19
+ * editor cannot draw (#318, follow-up of #321).
20
+ *
21
+ * **Why a state read and not only a subscription.** The surface builds its
22
+ * element models when the block model is created, well before any view or
23
+ * `LifeCycleWatcher` is mounted, so every element the document OPENED with is
24
+ * already damaged by the time this watcher exists. It therefore reads
25
+ * `surface.damagedElements` once at mount for the opening batch, and only then
26
+ * subscribes for what a remote sync delivers afterwards.
27
+ *
28
+ * **One event per batch, elements deduplicated for the watcher's lifetime.**
29
+ * A sync can deliver several damaged elements in one go; sending one event per
30
+ * element would make "how many damaged documents" unreadable, and re-sending an
31
+ * id already counted would make it wrong. Later arrivals are therefore
32
+ * aggregated in a microtask and filtered against what was already reported.
33
+ *
34
+ * `page` is left unset here for the reason `BlockLifecycleTelemetryWatcher`
35
+ * leaves it unset: this is store plumbing, it has no editor mode to state, and
36
+ * a damaged document is damaged in either one.
37
+ *
38
+ * Inert when no `TelemetryService` is injected.
39
+ */
40
+ export declare class DocumentDamageTelemetryWatcher extends LifeCycleWatcher {
41
+ static readonly key = "document-damage-telemetry";
42
+ /** Ids already counted, so a document never counts an element twice. */
43
+ private readonly _counted;
44
+ private readonly _pending;
45
+ private _flushScheduled;
46
+ private _stopped;
47
+ private _subscriptions;
48
+ private _telemetry?;
49
+ mounted(): void;
50
+ unmounted(): void;
51
+ private _schedule;
52
+ private _flush;
53
+ }
@@ -0,0 +1,95 @@
1
+ import { LifeCycleWatcher } from '../../../std/index.js';
2
+ import { TelemetryProvider, } from './telemetry-service.js';
3
+ export function isDamageReportingSurface(model) {
4
+ const candidate = model;
5
+ return (!!candidate &&
6
+ candidate.damagedElements instanceof Map &&
7
+ typeof candidate.elementDamaged?.subscribe === 'function');
8
+ }
9
+ /**
10
+ * Reports `DocumentDamaged` — how many documents open carrying elements the
11
+ * editor cannot draw (#318, follow-up of #321).
12
+ *
13
+ * **Why a state read and not only a subscription.** The surface builds its
14
+ * element models when the block model is created, well before any view or
15
+ * `LifeCycleWatcher` is mounted, so every element the document OPENED with is
16
+ * already damaged by the time this watcher exists. It therefore reads
17
+ * `surface.damagedElements` once at mount for the opening batch, and only then
18
+ * subscribes for what a remote sync delivers afterwards.
19
+ *
20
+ * **One event per batch, elements deduplicated for the watcher's lifetime.**
21
+ * A sync can deliver several damaged elements in one go; sending one event per
22
+ * element would make "how many damaged documents" unreadable, and re-sending an
23
+ * id already counted would make it wrong. Later arrivals are therefore
24
+ * aggregated in a microtask and filtered against what was already reported.
25
+ *
26
+ * `page` is left unset here for the reason `BlockLifecycleTelemetryWatcher`
27
+ * leaves it unset: this is store plumbing, it has no editor mode to state, and
28
+ * a damaged document is damaged in either one.
29
+ *
30
+ * Inert when no `TelemetryService` is injected.
31
+ */
32
+ export class DocumentDamageTelemetryWatcher extends LifeCycleWatcher {
33
+ constructor() {
34
+ super(...arguments);
35
+ /** Ids already counted, so a document never counts an element twice. */
36
+ this._counted = new Set();
37
+ this._pending = new Set();
38
+ this._flushScheduled = false;
39
+ this._stopped = false;
40
+ this._subscriptions = [];
41
+ }
42
+ static { this.key = 'document-damage-telemetry'; }
43
+ mounted() {
44
+ const telemetry = this.std.getOptional(TelemetryProvider);
45
+ if (!telemetry)
46
+ return;
47
+ this._telemetry = telemetry;
48
+ // Structural, not `instanceof SurfaceBlockModel`: the watcher needs two
49
+ // members, not a class, and the guard is what states that.
50
+ const surfaces = this.std.store.getModelsByFlavour('affine:surface').filter(isDamageReportingSurface);
51
+ for (const surface of surfaces) {
52
+ for (const id of surface.damagedElements.keys())
53
+ this._pending.add(id);
54
+ this._subscriptions.push(surface.elementDamaged.subscribe(({ id }) => {
55
+ this._pending.add(id);
56
+ this._schedule();
57
+ }));
58
+ }
59
+ // The opening batch, synchronously: it is complete already, and nothing
60
+ // gained by making the host wait a tick for the number it opened with.
61
+ this._flush();
62
+ }
63
+ unmounted() {
64
+ this._stopped = true;
65
+ for (const subscription of this._subscriptions)
66
+ subscription.unsubscribe();
67
+ this._subscriptions = [];
68
+ this._pending.clear();
69
+ this._counted.clear();
70
+ this._telemetry = undefined;
71
+ super.unmounted();
72
+ }
73
+ _schedule() {
74
+ if (this._flushScheduled)
75
+ return;
76
+ this._flushScheduled = true;
77
+ queueMicrotask(() => {
78
+ this._flushScheduled = false;
79
+ if (!this._stopped)
80
+ this._flush();
81
+ });
82
+ }
83
+ _flush() {
84
+ const fresh = [...this._pending].filter(id => !this._counted.has(id));
85
+ this._pending.clear();
86
+ if (fresh.length === 0)
87
+ return;
88
+ for (const id of fresh)
89
+ this._counted.add(id);
90
+ this._telemetry?.track('DocumentDamaged', {
91
+ reason: 'missing-xywh',
92
+ elementCount: fresh.length,
93
+ });
94
+ }
95
+ }
@@ -1,6 +1,7 @@
1
1
  export * from './block-lifecycle-watcher.js';
2
2
  export * from './citation.js';
3
3
  export * from './database.js';
4
+ export * from './document-damage-watcher.js';
4
5
  export * from './lifecycle.js';
5
6
  export * from './link.js';
6
7
  export * from './noop.js';
@@ -1,6 +1,7 @@
1
1
  export * from './block-lifecycle-watcher.js';
2
2
  export * from './citation.js';
3
3
  export * from './database.js';
4
+ export * from './document-damage-watcher.js';
4
5
  export * from './lifecycle.js';
5
6
  export * from './link.js';
6
7
  export * from './noop.js';
@@ -34,7 +34,7 @@ export type BlockLifecycleEvents = {
34
34
  * manipulated ('background:classic', 'node:market', 'connector:link'…).
35
35
  */
36
36
  export interface FrameworkElementEvent extends TelemetryEvent {
37
- framework: 'wardley' | 'edgy' | 'cynefin' | 'bpmn' | 'c4' | 'event-storming' | 'core-domain' | 'context-map';
37
+ framework: 'wardley' | 'edgy' | 'cynefin' | 'bpmn' | 'c4' | 'event-storming' | 'core-domain' | 'context-map' | 'uml';
38
38
  element: string;
39
39
  }
40
40
  /**
@@ -295,3 +295,28 @@ export type AuditEvents = {
295
295
  MapAuditCompleted: MapAuditCompletedEvent;
296
296
  MapAuditInterrupted: MapAuditInterruptedEvent;
297
297
  };
298
+ /**
299
+ * A document was opened carrying elements the editor cannot draw — today, a
300
+ * surface element whose `xywh` never arrived (#318), which reads a zero-size
301
+ * bound and paints nothing.
302
+ *
303
+ * **Not a lifecycle event and not a user gesture: a health event.** The block
304
+ * taxonomy describes what someone did; this one describes what a document IS
305
+ * when it lands, which no existing event can say. It was already reported as a
306
+ * `console.warn` by the surface model — invisible to analytics, and therefore
307
+ * unable to answer the one question that matters after the app-side
308
+ * persistence fix: *how many documents open damaged*. The metric the dashboard
309
+ * reads is the count of DISTINCT documents, not of events.
310
+ *
311
+ * Counts only. Never an element id, never a type name, never board content.
312
+ */
313
+ export interface DocumentDamagedEvent extends TelemetryEvent {
314
+ page?: 'doc editor' | 'whiteboard editor';
315
+ /** What is wrong with the elements this event counts. */
316
+ reason: 'missing-xywh';
317
+ /** How many damaged elements this batch found. */
318
+ elementCount: number;
319
+ }
320
+ export type DocumentHealthEvents = {
321
+ DocumentDamaged: DocumentDamagedEvent;
322
+ };
@@ -2,12 +2,12 @@ import type { ExtensionType } from '../../../store/index.js';
2
2
  import type { CitationEvents } from './citation.js';
3
3
  import type { CodeBlockEvents } from './code-block.js';
4
4
  import type { OutDatabaseAllEvents } from './database.js';
5
- import type { AuditEvents, BlockLifecycleEvents, FrameworkDiagramEvents, ValidationEvents } from './lifecycle.js';
5
+ import type { AuditEvents, BlockLifecycleEvents, DocumentHealthEvents, FrameworkDiagramEvents, ValidationEvents } from './lifecycle.js';
6
6
  import type { LinkToolbarEvents } from './link.js';
7
7
  import type { NoteEvents } from './note.js';
8
8
  import type { SlashMenuEvents } from './slash-menu.js';
9
9
  import type { AttachmentReloadedEvent, AttachmentReloadedEventInToolbar, AttachmentUpgradedEvent, AttachmentUploadedEvent, BlockCreationEvent, DocCreatedEvent, EdgelessToolPickedEvent, ElementCreationEvent, ElementLockEvent, ElementUpdatedEvent, LatexEvent, LinkedDocCreatedEvent, LinkEvent, MindMapCollapseEvent, TelemetryEvent } from './types.js';
10
- export type TelemetryEventMap = OutDatabaseAllEvents & LinkToolbarEvents & SlashMenuEvents & CodeBlockEvents & NoteEvents & CitationEvents & BlockLifecycleEvents & FrameworkDiagramEvents & ValidationEvents & AuditEvents & {
10
+ export type TelemetryEventMap = OutDatabaseAllEvents & LinkToolbarEvents & SlashMenuEvents & CodeBlockEvents & NoteEvents & CitationEvents & BlockLifecycleEvents & FrameworkDiagramEvents & ValidationEvents & AuditEvents & DocumentHealthEvents & {
11
11
  DocCreated: DocCreatedEvent;
12
12
  Link: TelemetryEvent;
13
13
  LinkedDocCreated: LinkedDocCreatedEvent;
@@ -0,0 +1,34 @@
1
+ import type { TemplateResult } from 'lit';
2
+ import { type ToolbarActionGenerator } from './action.js';
3
+ /**
4
+ * A "⋮" entry that INVOKES a registered command instead of restating what it
5
+ * does — the shape `docs/adr/0010` M3 introduced, and the reason an export has
6
+ * one behaviour, one availability rule and one telemetry emission whether it is
7
+ * reached from here, from the catalogue, from the palette, from
8
+ * Settings › Shortcuts or from the agent.
9
+ *
10
+ * Two things the widget imposes: a menu line is drawn from `label` (a tooltip
11
+ * on a line that is already words would be a second copy of them), and
12
+ * `placement: ActionPlacement.More` is what partitions it out of the row in the
13
+ * first place — `renderToolbar` splits on exactly that flag, and the entries it
14
+ * collects come from every module contributing to the element, so a framework
15
+ * can add to the "⋮" without owning it.
16
+ *
17
+ * `generate` rather than a static entry because the i18n seam needs `std`:
18
+ * `translateKey` is what reaches the host's catalogue, and a hard-coded English
19
+ * label would be the one wording a host could not override.
20
+ *
21
+ * ## Why it lives here
22
+ *
23
+ * It was written three times — BPMN's pool row, C4's board row and Wardley's
24
+ * map row — each copy a few words of comment apart from the others, because a
25
+ * framework's toolbar has no layer below it to share with. The generic SVG
26
+ * export (`export.svg`, ADR 0025) is the fourth caller and the first that is
27
+ * not a framework at all, which is what settles the question: the shape belongs
28
+ * to the toolbar service, beside the module registry it plugs into, not to
29
+ * whichever framework happened to need it first.
30
+ *
31
+ * `translateKey` lives in this same package, and `@labre/std` is already a
32
+ * dependency of it, so nothing here closes an import cycle.
33
+ */
34
+ export declare function commandMoreAction(id: string, commandId: string, labelKey: string, labelFallback: string, icon: TemplateResult): ToolbarActionGenerator;
@@ -0,0 +1,63 @@
1
+ import { getRegisteredCommands, runCommand } from '../../../std/index.js';
2
+ import { translateKey } from '../translation-service/index.js';
3
+ import { ActionPlacement } from './action.js';
4
+ /** The registered command an entry drives, or `undefined` when it is not. */
5
+ const findCommand = (ctx, id) => getRegisteredCommands(ctx.std).find(candidate => candidate.id === id);
6
+ /**
7
+ * A "⋮" entry that INVOKES a registered command instead of restating what it
8
+ * does — the shape `docs/adr/0010` M3 introduced, and the reason an export has
9
+ * one behaviour, one availability rule and one telemetry emission whether it is
10
+ * reached from here, from the catalogue, from the palette, from
11
+ * Settings › Shortcuts or from the agent.
12
+ *
13
+ * Two things the widget imposes: a menu line is drawn from `label` (a tooltip
14
+ * on a line that is already words would be a second copy of them), and
15
+ * `placement: ActionPlacement.More` is what partitions it out of the row in the
16
+ * first place — `renderToolbar` splits on exactly that flag, and the entries it
17
+ * collects come from every module contributing to the element, so a framework
18
+ * can add to the "⋮" without owning it.
19
+ *
20
+ * `generate` rather than a static entry because the i18n seam needs `std`:
21
+ * `translateKey` is what reaches the host's catalogue, and a hard-coded English
22
+ * label would be the one wording a host could not override.
23
+ *
24
+ * ## Why it lives here
25
+ *
26
+ * It was written three times — BPMN's pool row, C4's board row and Wardley's
27
+ * map row — each copy a few words of comment apart from the others, because a
28
+ * framework's toolbar has no layer below it to share with. The generic SVG
29
+ * export (`export.svg`, ADR 0025) is the fourth caller and the first that is
30
+ * not a framework at all, which is what settles the question: the shape belongs
31
+ * to the toolbar service, beside the module registry it plugs into, not to
32
+ * whichever framework happened to need it first.
33
+ *
34
+ * `translateKey` lives in this same package, and `@labre/std` is already a
35
+ * dependency of it, so nothing here closes an import cycle.
36
+ */
37
+ export function commandMoreAction(id, commandId, labelKey, labelFallback, icon) {
38
+ return {
39
+ id,
40
+ placement: ActionPlacement.More,
41
+ when: (ctx) => {
42
+ const command = findCommand(ctx, commandId);
43
+ return command !== undefined && (command.when?.(ctx.std) ?? true);
44
+ },
45
+ generate: (ctx) => ({
46
+ icon,
47
+ label: translateKey(ctx.std, labelKey, labelFallback),
48
+ run: (runCtx) => {
49
+ const command = findCommand(runCtx, commandId);
50
+ if (!command)
51
+ return;
52
+ // The same `source` the row's own entries report: the "⋮" is a
53
+ // degradation of the row, not a surface of its own, and the
54
+ // `ElementCreationSource` union deliberately names places rather than
55
+ // widths (`docs/adr/0008`).
56
+ runCommand(runCtx.std, command, {
57
+ surface: 'contextual-toolbar',
58
+ source: 'toolbar:general',
59
+ });
60
+ },
61
+ }),
62
+ };
63
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './action.js';
2
+ export * from './command-action.js';
2
3
  export * from './config.js';
3
4
  export * from './context.js';
4
5
  export { Flag as ToolbarFlag } from './flags.js';
@@ -1,4 +1,5 @@
1
1
  export * from './action.js';
2
+ export * from './command-action.js';
2
3
  export * from './config.js';
3
4
  export * from './context.js';
4
5
  export { Flag as ToolbarFlag } from './flags.js';