@formicoidea/labre-core 0.40.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/LICENSE +384 -0
  2. package/dist/_pkgs/affine-block-attachment/attachment-block.js +7 -2
  3. package/dist/_pkgs/affine-block-attachment/components/rename-model.js +3 -2
  4. package/dist/_pkgs/affine-block-attachment/configs/slash-menu.js +7 -0
  5. package/dist/_pkgs/affine-block-attachment/configs/toolbar.js +11 -3
  6. package/dist/_pkgs/affine-block-attachment/configs/tooltips.js +4 -4
  7. package/dist/_pkgs/affine-block-attachment/translations.d.ts +49 -0
  8. package/dist/_pkgs/affine-block-attachment/translations.js +98 -0
  9. package/dist/_pkgs/affine-block-attachment/utils.js +9 -6
  10. package/dist/_pkgs/affine-block-bookmark/bookmark-block.js +2 -2
  11. package/dist/_pkgs/affine-block-bookmark/components/bookmark-card.js +13 -6
  12. package/dist/_pkgs/affine-block-bookmark/configs/slash-menu.js +6 -1
  13. package/dist/_pkgs/affine-block-bookmark/configs/toolbar.js +9 -1
  14. package/dist/_pkgs/affine-block-bookmark/configs/tooltips.js +2 -2
  15. package/dist/_pkgs/affine-block-bookmark/translations.d.ts +26 -0
  16. package/dist/_pkgs/affine-block-bookmark/translations.js +55 -0
  17. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +4 -0
  18. package/dist/_pkgs/affine-block-callout/configs/tooltips.js +2 -2
  19. package/dist/_pkgs/affine-block-callout/translations.d.ts +16 -0
  20. package/dist/_pkgs/affine-block-callout/translations.js +24 -0
  21. package/dist/_pkgs/affine-block-code/code-block.js +6 -3
  22. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +4 -2
  23. package/dist/_pkgs/affine-block-code/code-toolbar/components/lang-button.js +3 -2
  24. package/dist/_pkgs/affine-block-code/code-toolbar/components/preview-button.js +4 -3
  25. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +116 -72
  26. package/dist/_pkgs/affine-block-code/translations.d.ts +30 -0
  27. package/dist/_pkgs/affine-block-code/translations.js +84 -0
  28. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +9 -3
  29. package/dist/_pkgs/affine-block-embed/common/render-linked-doc.js +7 -6
  30. package/dist/_pkgs/affine-block-embed/configs/toolbar.js +11 -2
  31. package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-block.js +2 -1
  32. package/dist/_pkgs/affine-block-embed/embed-github-block/embed-github-block.js +2 -1
  33. package/dist/_pkgs/affine-block-embed/embed-html-block/components/fullscreen-toolbar.js +4 -3
  34. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/toolbar.js +5 -1
  35. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/tooltips.js +14 -14
  36. package/dist/_pkgs/affine-block-embed/embed-html-block/embed-html-block.js +7 -1
  37. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +11 -4
  38. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.d.ts +2 -0
  39. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.js +13 -3
  40. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-edit-popup.js +4 -2
  41. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-base.js +8 -5
  42. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-popup.js +21 -5
  43. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-loading-card.js +4 -1
  44. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/slash-menu/slash-menu.js +4 -0
  45. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.d.ts +2 -0
  46. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +6 -1
  47. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.d.ts +2 -0
  48. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.js +5 -0
  49. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.d.ts +1 -0
  50. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +33 -9
  51. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.d.ts +8 -0
  52. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.js +19 -0
  53. package/dist/_pkgs/affine-block-embed/embed-loom-block/embed-loom-block.js +2 -1
  54. package/dist/_pkgs/affine-block-embed/embed-youtube-block/embed-youtube-block.js +2 -1
  55. package/dist/_pkgs/affine-block-embed/translations.d.ts +46 -0
  56. package/dist/_pkgs/affine-block-embed/translations.js +114 -0
  57. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/slash-menu.js +7 -0
  58. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +29 -12
  59. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/tooltips.js +4 -4
  60. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +10 -4
  61. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/components/embed-synced-doc-card.js +8 -4
  62. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +28 -13
  63. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-edgeless-synced-doc-block.js +3 -2
  64. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +3 -2
  65. package/dist/_pkgs/affine-block-embed-doc/translations.d.ts +40 -0
  66. package/dist/_pkgs/affine-block-embed-doc/translations.js +85 -0
  67. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-dense-menu.js +29 -22
  68. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-menu.js +5 -1
  69. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-tool-button.js +2 -1
  70. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/presentation-toolbar.js +12 -9
  71. package/dist/_pkgs/affine-block-frame/frame-manager.js +8 -2
  72. package/dist/_pkgs/affine-block-frame/frame-tool.js +7 -2
  73. package/dist/_pkgs/affine-block-frame/frame-toolbar.js +18 -7
  74. package/dist/_pkgs/affine-block-frame/index.d.ts +1 -0
  75. package/dist/_pkgs/affine-block-frame/index.js +1 -0
  76. package/dist/_pkgs/affine-block-frame/present/frame-order-button.js +5 -1
  77. package/dist/_pkgs/affine-block-frame/present/navigator-setting-button.js +16 -6
  78. package/dist/_pkgs/affine-block-frame/present/present-button.js +3 -1
  79. package/dist/_pkgs/affine-block-frame/translations.d.ts +64 -0
  80. package/dist/_pkgs/affine-block-frame/translations.js +131 -0
  81. package/dist/_pkgs/affine-block-image/components/page-image-block.js +5 -2
  82. package/dist/_pkgs/affine-block-image/configs/slash-menu.js +4 -0
  83. package/dist/_pkgs/affine-block-image/configs/toolbar.js +7 -1
  84. package/dist/_pkgs/affine-block-image/configs/tooltips.js +1 -1
  85. package/dist/_pkgs/affine-block-image/image-block.js +3 -2
  86. package/dist/_pkgs/affine-block-image/image-edgeless-block.js +6 -3
  87. package/dist/_pkgs/affine-block-image/preview-image/page.js +5 -1
  88. package/dist/_pkgs/affine-block-image/translations.d.ts +35 -0
  89. package/dist/_pkgs/affine-block-image/translations.js +68 -0
  90. package/dist/_pkgs/affine-block-image/utils.js +9 -8
  91. package/dist/_pkgs/affine-block-latex/configs/slash-menu.d.ts +8 -0
  92. package/dist/_pkgs/affine-block-latex/configs/slash-menu.js +19 -3
  93. package/dist/_pkgs/affine-block-latex/latex-block.js +6 -2
  94. package/dist/_pkgs/affine-block-latex/translations.d.ts +35 -0
  95. package/dist/_pkgs/affine-block-latex/translations.js +60 -0
  96. package/dist/_pkgs/affine-block-list/list-keymap.js +7 -0
  97. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.d.ts +9 -0
  98. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.js +23 -6
  99. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.d.ts +4 -1
  100. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.js +26 -6
  101. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.d.ts +3 -0
  102. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.js +21 -10
  103. package/dist/_pkgs/affine-block-note/components/edgeless-note-style-panel.js +22 -8
  104. package/dist/_pkgs/affine-block-note/configs/slash-menu.js +13 -0
  105. package/dist/_pkgs/affine-block-note/configs/toolbar.js +26 -19
  106. package/dist/_pkgs/affine-block-note/configs/tooltips.js +57 -30
  107. package/dist/_pkgs/affine-block-note/move-block.js +8 -2
  108. package/dist/_pkgs/affine-block-note/note-keymap.js +7 -1
  109. package/dist/_pkgs/affine-block-note/translations.d.ts +91 -0
  110. package/dist/_pkgs/affine-block-note/translations.js +253 -0
  111. package/dist/_pkgs/affine-block-paragraph/paragraph-block.js +7 -2
  112. package/dist/_pkgs/affine-block-paragraph/paragraph-keymap.js +7 -1
  113. package/dist/_pkgs/affine-block-paragraph/translations.d.ts +31 -0
  114. package/dist/_pkgs/affine-block-paragraph/translations.js +44 -0
  115. package/dist/_pkgs/affine-block-paragraph/view.js +6 -1
  116. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +1 -8
  117. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +1 -8
  118. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +3 -1
  119. package/dist/_pkgs/affine-block-root/configs/toolbar.js +6 -3
  120. package/dist/_pkgs/affine-block-root/edgeless/clipboard/utils.js +1 -1
  121. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/alignment.js +26 -4
  122. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.d.ts +14 -0
  123. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.js +10 -3
  124. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.d.ts +8 -0
  125. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -0
  126. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.d.ts +9 -0
  127. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +66 -6
  128. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.d.ts +22 -0
  129. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +46 -0
  130. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.d.ts +0 -1
  131. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.js +0 -1
  132. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.d.ts +21 -0
  133. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.js +24 -0
  134. package/dist/_pkgs/affine-block-root/edgeless/utils/query.js +8 -0
  135. package/dist/_pkgs/affine-block-root/keyboard/keymap.js +1 -16
  136. package/dist/_pkgs/affine-block-root/translations.d.ts +61 -0
  137. package/dist/_pkgs/affine-block-root/translations.js +172 -0
  138. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
  139. package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
  140. package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +3 -1
  141. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.d.ts +23 -0
  142. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.js +89 -0
  143. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.d.ts +7 -0
  144. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.js +5 -0
  145. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.d.ts +41 -0
  146. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.js +70 -0
  147. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.d.ts +49 -0
  148. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.js +257 -0
  149. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.d.ts +16 -0
  150. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.js +24 -0
  151. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.d.ts +24 -0
  152. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.js +66 -0
  153. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +5 -0
  154. package/dist/_pkgs/affine-block-surface/extensions/index.js +5 -0
  155. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +66 -4
  156. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +272 -23
  157. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +58 -8
  158. package/dist/_pkgs/affine-block-surface/extensions/interchange.js +27 -0
  159. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.d.ts +81 -0
  160. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.js +81 -0
  161. package/dist/_pkgs/affine-block-surface/extensions/legend.d.ts +136 -0
  162. package/dist/_pkgs/affine-block-surface/extensions/legend.js +439 -0
  163. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +2 -2
  164. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +5 -2
  165. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +17 -3
  166. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +38 -15
  167. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +61 -1
  168. package/dist/_pkgs/affine-block-surface/extensions/reading.js +85 -39
  169. package/dist/_pkgs/affine-block-surface/extensions/record-action.d.ts +66 -0
  170. package/dist/_pkgs/affine-block-surface/extensions/record-action.js +145 -0
  171. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +48 -0
  172. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +120 -0
  173. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +36 -23
  174. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +5 -5
  175. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +253 -28
  176. package/dist/_pkgs/affine-block-surface/extensions/validation.js +489 -41
  177. package/dist/_pkgs/affine-block-surface/framework-background/background-view.d.ts +115 -0
  178. package/dist/_pkgs/affine-block-surface/framework-background/background-view.js +185 -0
  179. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +1 -0
  180. package/dist/_pkgs/affine-block-surface/framework-background/index.js +1 -0
  181. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +16 -1
  182. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +31 -21
  183. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +29 -5
  184. package/dist/_pkgs/affine-block-surface/framework-background/stacking.d.ts +6 -4
  185. package/dist/_pkgs/affine-block-surface/framework-background/stacking.js +56 -8
  186. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +12 -0
  187. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +15 -0
  188. package/dist/_pkgs/affine-block-surface/view.js +8 -1
  189. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.d.ts +2 -1
  190. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.js +21 -6
  191. package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +24 -7
  192. package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
  193. package/dist/_pkgs/affine-block-surface-ref/index.d.ts +1 -0
  194. package/dist/_pkgs/affine-block-surface-ref/index.js +1 -0
  195. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block-edgeless.js +1 -0
  196. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block.js +1 -0
  197. package/dist/_pkgs/affine-block-surface-ref/translations.d.ts +83 -0
  198. package/dist/_pkgs/affine-block-surface-ref/translations.js +175 -0
  199. package/dist/_pkgs/affine-block-surface-ref/utils.d.ts +8 -1
  200. package/dist/_pkgs/affine-block-surface-ref/utils.js +12 -4
  201. package/dist/_pkgs/affine-components/caption/block-caption.js +3 -1
  202. package/dist/_pkgs/affine-components/card-style-dropdown-menu/dropdown-menu.js +4 -3
  203. package/dist/_pkgs/affine-components/citation/citation.d.ts +2 -0
  204. package/dist/_pkgs/affine-components/citation/citation.js +19 -3
  205. package/dist/_pkgs/affine-components/color-picker/button.d.ts +62 -1
  206. package/dist/_pkgs/affine-components/color-picker/button.js +182 -23
  207. package/dist/_pkgs/affine-components/color-picker/color-panel.d.ts +8 -0
  208. package/dist/_pkgs/affine-components/color-picker/color-panel.js +17 -2
  209. package/dist/_pkgs/affine-components/color-picker/color-picker.d.ts +4 -0
  210. package/dist/_pkgs/affine-components/color-picker/color-picker.js +27 -3
  211. package/dist/_pkgs/affine-components/color-picker/framework-palette.d.ts +106 -0
  212. package/dist/_pkgs/affine-components/color-picker/framework-palette.js +177 -0
  213. package/dist/_pkgs/affine-components/color-picker/index.d.ts +2 -0
  214. package/dist/_pkgs/affine-components/color-picker/index.js +2 -0
  215. package/dist/_pkgs/affine-components/color-picker/palette-carousel.d.ts +85 -0
  216. package/dist/_pkgs/affine-components/color-picker/palette-carousel.js +440 -0
  217. package/dist/_pkgs/affine-components/color-picker/types.d.ts +21 -0
  218. package/dist/_pkgs/affine-components/color-picker/utils.d.ts +28 -2
  219. package/dist/_pkgs/affine-components/color-picker/utils.js +32 -0
  220. package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -0
  221. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +34 -7
  222. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.d.ts +2 -0
  223. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.js +21 -2
  224. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.d.ts +2 -0
  225. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.js +18 -2
  226. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +33 -1
  227. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +211 -56
  228. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-create-modal.js +5 -4
  229. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +11 -9
  230. package/dist/_pkgs/affine-components/filterable-list/index.d.ts +2 -0
  231. package/dist/_pkgs/affine-components/filterable-list/index.js +17 -2
  232. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.d.ts +3 -0
  233. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.js +40 -7
  234. package/dist/_pkgs/affine-components/icon-button/index.d.ts +1 -1
  235. package/dist/_pkgs/affine-components/icon-button/index.js +1 -1
  236. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +6 -0
  237. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +42 -7
  238. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +4 -0
  239. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +35 -5
  240. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +2 -0
  241. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +22 -5
  242. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.d.ts +2 -0
  243. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.js +16 -3
  244. package/dist/_pkgs/affine-components/notification/linked-doc.js +5 -4
  245. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.js +7 -4
  246. package/dist/_pkgs/affine-components/resource/resource.d.ts +16 -1
  247. package/dist/_pkgs/affine-components/resource/resource.js +48 -20
  248. package/dist/_pkgs/affine-components/resource/status.d.ts +2 -0
  249. package/dist/_pkgs/affine-components/resource/status.js +27 -12
  250. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.d.ts +4 -1
  251. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +23 -4
  252. package/dist/_pkgs/affine-components/toast/toast.d.ts +1 -1
  253. package/dist/_pkgs/affine-components/toast/toast.js +1 -1
  254. package/dist/_pkgs/affine-components/toggle-button/toggle-button.d.ts +3 -0
  255. package/dist/_pkgs/affine-components/toggle-button/toggle-button.js +18 -3
  256. package/dist/_pkgs/affine-components/toolbar/icon-button.d.ts +2 -0
  257. package/dist/_pkgs/affine-components/toolbar/icon-button.js +18 -2
  258. package/dist/_pkgs/affine-components/toolbar/tooltip.d.ts +3 -3
  259. package/dist/_pkgs/affine-components/toolbar/tooltip.js +3 -3
  260. package/dist/_pkgs/affine-components/translations.d.ts +149 -0
  261. package/dist/_pkgs/affine-components/translations.js +495 -0
  262. package/dist/_pkgs/affine-foundation/view.js +2 -1
  263. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.d.ts +3 -0
  264. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.js +12 -1
  265. package/dist/_pkgs/affine-fragment-adapter-panel/body/adapter-panel-body.js +4 -3
  266. package/dist/_pkgs/affine-fragment-adapter-panel/config.d.ts +13 -0
  267. package/dist/_pkgs/affine-fragment-adapter-panel/config.js +18 -4
  268. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-menu.js +2 -2
  269. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-panel-header.js +2 -2
  270. package/dist/_pkgs/affine-fragment-adapter-panel/translations.d.ts +24 -0
  271. package/dist/_pkgs/affine-fragment-adapter-panel/translations.js +37 -0
  272. package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +1 -0
  273. package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +9 -1
  274. package/dist/_pkgs/affine-fragment-doc-title/translations.d.ts +13 -0
  275. package/dist/_pkgs/affine-fragment-doc-title/translations.js +17 -0
  276. package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +3 -2
  277. package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +10 -4
  278. package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +18 -6
  279. package/dist/_pkgs/affine-fragment-frame-panel/translations.d.ts +16 -0
  280. package/dist/_pkgs/affine-fragment-frame-panel/translations.js +44 -0
  281. package/dist/_pkgs/affine-fragment-outline/body/outline-notice.js +10 -4
  282. package/dist/_pkgs/affine-fragment-outline/body/outline-panel-body.js +6 -3
  283. package/dist/_pkgs/affine-fragment-outline/card/outline-card.js +13 -6
  284. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.d.ts +1 -0
  285. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.js +16 -9
  286. package/dist/_pkgs/affine-fragment-outline/config.d.ts +1 -20
  287. package/dist/_pkgs/affine-fragment-outline/config.js +8 -23
  288. package/dist/_pkgs/affine-fragment-outline/header/outline-panel-header.js +10 -3
  289. package/dist/_pkgs/affine-fragment-outline/header/outline-setting-menu.js +9 -2
  290. package/dist/_pkgs/affine-fragment-outline/outline-viewer.js +6 -3
  291. package/dist/_pkgs/affine-fragment-outline/translations.d.ts +54 -0
  292. package/dist/_pkgs/affine-fragment-outline/translations.js +110 -0
  293. package/dist/_pkgs/affine-gfx-brush/element-renderer.js +2 -2
  294. package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/eraser-tool-button.js +3 -2
  295. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.d.ts +3 -0
  296. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.js +3 -0
  297. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-menu.js +5 -4
  298. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +3 -2
  299. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +10 -3
  300. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +10 -3
  301. package/dist/_pkgs/affine-gfx-brush/translations.d.ts +17 -0
  302. package/dist/_pkgs/affine-gfx-brush/translations.js +30 -0
  303. package/dist/_pkgs/affine-gfx-connector/connector-manager.d.ts +9 -1
  304. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +61 -0
  305. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +8 -1
  306. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +7 -1
  307. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.d.ts +7 -1
  308. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +87 -17
  309. package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +78 -17
  310. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.d.ts +24 -2
  311. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +31 -8
  312. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.d.ts +124 -3
  313. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +219 -56
  314. package/dist/_pkgs/affine-gfx-connector/text/text.d.ts +13 -4
  315. package/dist/_pkgs/affine-gfx-connector/text/text.js +13 -44
  316. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +60 -1
  317. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +95 -13
  318. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-dense-menu.js +7 -5
  319. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-menu.js +8 -6
  320. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-tool-button.js +4 -3
  321. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.d.ts +8 -0
  322. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.js +118 -0
  323. package/dist/_pkgs/affine-gfx-connector/translations.d.ts +32 -0
  324. package/dist/_pkgs/affine-gfx-connector/translations.js +79 -0
  325. package/dist/_pkgs/affine-gfx-connector/view/view.d.ts +37 -1
  326. package/dist/_pkgs/affine-gfx-connector/view/view.js +97 -8
  327. package/dist/_pkgs/affine-gfx-group/command/group-api.js +6 -1
  328. package/dist/_pkgs/affine-gfx-group/index.d.ts +1 -0
  329. package/dist/_pkgs/affine-gfx-group/index.js +1 -0
  330. package/dist/_pkgs/affine-gfx-group/store.js +0 -2
  331. package/dist/_pkgs/affine-gfx-group/toolbar/config.d.ts +6 -2
  332. package/dist/_pkgs/affine-gfx-group/toolbar/config.js +9 -4
  333. package/dist/_pkgs/affine-gfx-group/translations.d.ts +23 -0
  334. package/dist/_pkgs/affine-gfx-group/translations.js +29 -0
  335. package/dist/_pkgs/affine-gfx-link/toolbar/undo-dense-menu.js +2 -1
  336. package/dist/_pkgs/affine-gfx-link/toolbar/undo-tool-button.js +2 -1
  337. package/dist/_pkgs/affine-gfx-mindmap/index.d.ts +1 -0
  338. package/dist/_pkgs/affine-gfx-mindmap/index.js +1 -0
  339. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +628 -577
  340. package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +7 -3
  341. package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +9 -1
  342. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.d.ts +4 -0
  343. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.js +70 -7
  344. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +8 -5
  345. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +4 -2
  346. package/dist/_pkgs/affine-gfx-mindmap/toolbar/senior-tool.js +7 -2
  347. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.d.ts +2 -1
  348. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +16 -8
  349. package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +84 -0
  350. package/dist/_pkgs/affine-gfx-mindmap/translations.js +171 -0
  351. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.d.ts +8 -0
  352. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.js +24 -9
  353. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.d.ts +9 -0
  354. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.js +28 -8
  355. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.d.ts +2 -1
  356. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.js +42 -73
  357. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu.js +21 -17
  358. package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +3 -2
  359. package/dist/_pkgs/affine-gfx-note/toolbar/note-tool-button.js +3 -1
  360. package/dist/_pkgs/affine-gfx-note/toolbar/senior-tool.js +3 -1
  361. package/dist/_pkgs/affine-gfx-note/translations.d.ts +27 -0
  362. package/dist/_pkgs/affine-gfx-note/translations.js +59 -0
  363. package/dist/_pkgs/affine-gfx-pointer/quick-tool/default-tool-button.js +10 -2
  364. package/dist/_pkgs/affine-gfx-pointer/translations.d.ts +9 -0
  365. package/dist/_pkgs/affine-gfx-pointer/translations.js +17 -0
  366. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.d.ts +4 -0
  367. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.js +17 -3
  368. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.d.ts +4 -0
  369. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.js +23 -5
  370. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.d.ts +0 -1
  371. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.js +6 -46
  372. package/dist/_pkgs/affine-gfx-shape/draggable/shape-tool-button.js +3 -1
  373. package/dist/_pkgs/affine-gfx-shape/element-renderer/highlighter.js +2 -2
  374. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.d.ts +6 -0
  375. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +30 -1
  376. package/dist/_pkgs/affine-gfx-shape/polygon-tool.d.ts +20 -1
  377. package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +9 -1
  378. package/dist/_pkgs/affine-gfx-shape/toolbar/config.d.ts +2 -0
  379. package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +35 -9
  380. package/dist/_pkgs/affine-gfx-shape/toolbar/palette-color-action.js +11 -1
  381. package/dist/_pkgs/affine-gfx-shape/toolbar/senior-tool.js +2 -0
  382. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.d.ts +3 -0
  383. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.js +7 -0
  384. package/dist/_pkgs/affine-gfx-shape/translations.d.ts +37 -0
  385. package/dist/_pkgs/affine-gfx-shape/translations.js +93 -0
  386. package/dist/_pkgs/affine-gfx-template/builtin/other.js +70 -42
  387. package/dist/_pkgs/affine-gfx-template/contribute.js +8 -1
  388. package/dist/_pkgs/affine-gfx-template/index.d.ts +2 -0
  389. package/dist/_pkgs/affine-gfx-template/index.js +2 -0
  390. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.d.ts +6 -1
  391. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +43 -120
  392. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.d.ts +1 -0
  393. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.js +12 -0
  394. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.d.ts +25 -0
  395. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.js +36 -0
  396. package/dist/_pkgs/affine-gfx-template/toolbar/senior-tool.js +3 -1
  397. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.d.ts +1 -0
  398. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +30 -8
  399. package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +41 -0
  400. package/dist/_pkgs/affine-gfx-template/translations.d.ts +71 -0
  401. package/dist/_pkgs/affine-gfx-template/translations.js +209 -0
  402. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.d.ts +13 -1
  403. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.js +19 -4
  404. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.d.ts +41 -0
  405. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +60 -4
  406. package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +9 -2
  407. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +33 -10
  408. package/dist/_pkgs/affine-gfx-text/toolbar/text-menu.js +1 -0
  409. package/dist/_pkgs/affine-gfx-text/translations.d.ts +32 -0
  410. package/dist/_pkgs/affine-gfx-text/translations.js +65 -0
  411. package/dist/_pkgs/affine-inline-footnote/footnote-node/footnote-popup.js +8 -2
  412. package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +5 -2
  413. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +7 -2
  414. package/dist/_pkgs/affine-inline-latex/translations.d.ts +13 -0
  415. package/dist/_pkgs/affine-inline-latex/translations.js +16 -0
  416. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.d.ts +3 -3
  417. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.js +6 -5
  418. package/dist/_pkgs/affine-inline-link/link-node/link-popup/link-popup.js +11 -5
  419. package/dist/_pkgs/affine-inline-link/translations.d.ts +23 -0
  420. package/dist/_pkgs/affine-inline-link/translations.js +44 -0
  421. package/dist/_pkgs/affine-inline-mention/affine-mention.js +11 -5
  422. package/dist/_pkgs/affine-inline-mention/translations.d.ts +16 -0
  423. package/dist/_pkgs/affine-inline-mention/translations.js +29 -0
  424. package/dist/_pkgs/affine-inline-preset/command/config.d.ts +3 -0
  425. package/dist/_pkgs/affine-inline-preset/command/config.js +8 -0
  426. package/dist/_pkgs/affine-inline-preset/markdown.js +5 -1
  427. package/dist/_pkgs/affine-inline-preset/translations.d.ts +25 -0
  428. package/dist/_pkgs/affine-inline-preset/translations.js +28 -0
  429. package/dist/_pkgs/affine-inline-reference/reference-node/configs/toolbar.js +2 -2
  430. package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +3 -3
  431. package/dist/_pkgs/affine-inline-reference/reference-node/reference-popup/reference-popup.js +8 -6
  432. package/dist/_pkgs/affine-inline-reference/translations.d.ts +8 -0
  433. package/dist/_pkgs/affine-inline-reference/translations.js +13 -0
  434. package/dist/_pkgs/affine-model/consts/connector.d.ts +28 -2
  435. package/dist/_pkgs/affine-model/consts/connector.js +26 -0
  436. package/dist/_pkgs/affine-model/elements/bpmn/pool.js +1 -1
  437. package/dist/_pkgs/affine-model/elements/brush/brush.js +1 -1
  438. package/dist/_pkgs/affine-model/elements/c4/board.js +1 -1
  439. package/dist/_pkgs/affine-model/elements/c4/boundary.js +1 -1
  440. package/dist/_pkgs/affine-model/elements/connector/connector.d.ts +135 -0
  441. package/dist/_pkgs/affine-model/elements/connector/connector.js +246 -5
  442. package/dist/_pkgs/affine-model/elements/connector/end-label.d.ts +83 -0
  443. package/dist/_pkgs/affine-model/elements/connector/end-label.js +119 -0
  444. package/dist/_pkgs/affine-model/elements/connector/index.d.ts +1 -0
  445. package/dist/_pkgs/affine-model/elements/connector/index.js +1 -0
  446. package/dist/_pkgs/affine-model/elements/context-map/context-map.js +1 -1
  447. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +28 -0
  448. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +129 -2
  449. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.d.ts +8 -0
  450. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.js +45 -2
  451. package/dist/_pkgs/affine-model/elements/edgy/board.js +1 -1
  452. package/dist/_pkgs/affine-model/elements/edgy/facets.js +1 -1
  453. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.d.ts +6 -0
  454. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.js +36 -2
  455. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +18 -7
  456. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +23 -8
  457. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +16 -0
  458. package/dist/_pkgs/affine-model/elements/framework-background/background.js +18 -0
  459. package/dist/_pkgs/affine-model/elements/highlighter/highlighter.js +1 -1
  460. package/dist/_pkgs/affine-model/elements/index.d.ts +8 -0
  461. package/dist/_pkgs/affine-model/elements/index.js +1 -0
  462. package/dist/_pkgs/affine-model/elements/shape/shape.js +1 -1
  463. package/dist/_pkgs/affine-model/elements/text/text.js +1 -1
  464. package/dist/_pkgs/affine-model/elements/uml/band.d.ts +39 -0
  465. package/dist/_pkgs/affine-model/elements/uml/band.js +31 -0
  466. package/dist/_pkgs/affine-model/elements/uml/diagram.d.ts +158 -0
  467. package/dist/_pkgs/affine-model/elements/uml/diagram.js +229 -0
  468. package/dist/_pkgs/affine-model/elements/uml/fragment.d.ts +161 -0
  469. package/dist/_pkgs/affine-model/elements/uml/fragment.js +205 -0
  470. package/dist/_pkgs/affine-model/elements/uml/index.d.ts +8 -0
  471. package/dist/_pkgs/affine-model/elements/uml/index.js +8 -0
  472. package/dist/_pkgs/affine-model/elements/uml/lifeline.d.ts +77 -0
  473. package/dist/_pkgs/affine-model/elements/uml/lifeline.js +89 -0
  474. package/dist/_pkgs/affine-model/elements/uml/node.d.ts +142 -0
  475. package/dist/_pkgs/affine-model/elements/uml/node.js +190 -0
  476. package/dist/_pkgs/affine-model/elements/uml/partition.d.ts +106 -0
  477. package/dist/_pkgs/affine-model/elements/uml/partition.js +172 -0
  478. package/dist/_pkgs/affine-model/elements/uml/region.d.ts +75 -0
  479. package/dist/_pkgs/affine-model/elements/uml/region.js +150 -0
  480. package/dist/_pkgs/affine-model/elements/uml/subject.d.ts +37 -0
  481. package/dist/_pkgs/affine-model/elements/uml/subject.js +108 -0
  482. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +1 -1
  483. package/dist/_pkgs/affine-rich-text/conversion.d.ts +13 -0
  484. package/dist/_pkgs/affine-rich-text/conversion.js +27 -0
  485. package/dist/_pkgs/affine-shared/adapters/clipboard/clipboard.js +1 -1
  486. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.d.ts +2 -1
  487. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.js +6 -3
  488. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -2
  489. package/dist/_pkgs/affine-shared/adapters/mix-text.js +5 -2
  490. package/dist/_pkgs/affine-shared/adapters/plain-text/plain-text.js +5 -2
  491. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  492. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  493. package/dist/_pkgs/affine-shared/adapters/utils/wording.d.ts +9 -0
  494. package/dist/_pkgs/affine-shared/adapters/utils/wording.js +12 -0
  495. package/dist/_pkgs/affine-shared/services/comment-service/utils.js +2 -0
  496. package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +6 -3
  497. package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.d.ts +1 -0
  498. package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +7 -0
  499. package/dist/_pkgs/affine-shared/services/font-loader/config.js +43 -0
  500. package/dist/_pkgs/affine-shared/services/notification-service.js +18 -1
  501. package/dist/_pkgs/affine-shared/services/open-doc-config.d.ts +0 -1
  502. package/dist/_pkgs/affine-shared/services/open-doc-config.js +0 -2
  503. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +1 -9
  504. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.d.ts +53 -0
  505. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.js +95 -0
  506. package/dist/_pkgs/affine-shared/services/telemetry-service/index.d.ts +1 -0
  507. package/dist/_pkgs/affine-shared/services/telemetry-service/index.js +1 -0
  508. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +26 -1
  509. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  510. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.d.ts +34 -0
  511. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.js +63 -0
  512. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  513. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  514. package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +432 -0
  515. package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +1045 -3
  516. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +40 -2
  517. package/dist/_pkgs/affine-shared/services/translation-service/index.js +44 -3
  518. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +83 -2
  519. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +92 -0
  520. package/dist/_pkgs/affine-shared/styles/index.d.ts +1 -0
  521. package/dist/_pkgs/affine-shared/styles/index.js +1 -0
  522. package/dist/_pkgs/affine-shared/styles/motion.d.ts +14 -0
  523. package/dist/_pkgs/affine-shared/styles/motion.js +38 -0
  524. package/dist/_pkgs/affine-shared/utils/event.d.ts +10 -0
  525. package/dist/_pkgs/affine-shared/utils/event.js +20 -0
  526. package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +16 -0
  527. package/dist/_pkgs/affine-shared/utils/file/filesys.js +25 -0
  528. package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
  529. package/dist/_pkgs/affine-shared/utils/index.js +1 -0
  530. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.d.ts +12 -0
  531. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.js +13 -0
  532. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.d.ts +4 -0
  533. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.js +21 -8
  534. package/dist/_pkgs/affine-widget-drag-handle/helpers/preview-helper.js +1 -0
  535. package/dist/_pkgs/affine-widget-drag-handle/translations.d.ts +14 -0
  536. package/dist/_pkgs/affine-widget-drag-handle/translations.js +35 -0
  537. package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +4 -3
  538. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.d.ts +6 -0
  539. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.js +14 -0
  540. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +8 -5
  541. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +3 -2
  542. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +3 -1
  543. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.d.ts +17 -0
  544. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.js +30 -0
  545. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.d.ts +4 -0
  546. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.js +18 -2
  547. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +12 -4
  548. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +29 -6
  549. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.d.ts +2 -0
  550. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.js +3 -0
  551. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +18 -1
  552. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +8 -3
  553. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +38 -18
  554. package/dist/_pkgs/affine-widget-edgeless-toolbar/create-popper.js +13 -0
  555. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +2 -1
  556. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +2 -0
  557. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +2 -0
  558. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +80 -0
  559. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +270 -81
  560. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.d.ts +15 -0
  561. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.js +15 -0
  562. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.d.ts +8 -0
  563. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +38 -8
  564. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.d.ts +42 -0
  565. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.js +100 -0
  566. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.d.ts +100 -0
  567. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.js +274 -0
  568. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.d.ts +3 -0
  569. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.js +3 -0
  570. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.d.ts +25 -0
  571. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.js +67 -0
  572. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +15 -0
  573. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +20 -0
  574. package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +5 -0
  575. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.d.ts +7 -0
  576. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.js +23 -0
  577. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-bar-toggle-button.js +3 -1
  578. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-toolbar.js +5 -3
  579. package/dist/_pkgs/affine-widget-linked-doc/config.js +15 -10
  580. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.d.ts +12 -1
  581. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +27 -18
  582. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.d.ts +4 -1
  583. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.js +2 -2
  584. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +4 -1
  585. package/dist/_pkgs/affine-widget-linked-doc/mobile-linked-doc-menu.js +6 -2
  586. package/dist/_pkgs/affine-widget-linked-doc/transformers/html.js +3 -2
  587. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +3 -2
  588. package/dist/_pkgs/affine-widget-linked-doc/translations.d.ts +53 -0
  589. package/dist/_pkgs/affine-widget-linked-doc/translations.js +104 -0
  590. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +4 -1
  591. package/dist/_pkgs/affine-widget-remote-selection/translations.d.ts +12 -0
  592. package/dist/_pkgs/affine-widget-remote-selection/translations.js +12 -0
  593. package/dist/_pkgs/affine-widget-slash-menu/config.js +15 -0
  594. package/dist/_pkgs/affine-widget-slash-menu/index.d.ts +1 -0
  595. package/dist/_pkgs/affine-widget-slash-menu/index.js +1 -0
  596. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +30 -15
  597. package/dist/_pkgs/affine-widget-slash-menu/tooltips/copy.js +1 -1
  598. package/dist/_pkgs/affine-widget-slash-menu/tooltips/delete.js +2 -2
  599. package/dist/_pkgs/affine-widget-slash-menu/tooltips/index.js +9 -0
  600. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-down.js +2 -2
  601. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-up.js +2 -2
  602. package/dist/_pkgs/affine-widget-slash-menu/tooltips/now.js +3 -3
  603. package/dist/_pkgs/affine-widget-slash-menu/tooltips/today.js +2 -2
  604. package/dist/_pkgs/affine-widget-slash-menu/tooltips/tomorrow.js +3 -3
  605. package/dist/_pkgs/affine-widget-slash-menu/tooltips/yesterday.js +3 -3
  606. package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +91 -0
  607. package/dist/_pkgs/affine-widget-slash-menu/translations.js +175 -0
  608. package/dist/_pkgs/affine-widget-slash-menu/types.d.ts +18 -0
  609. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +20 -1
  610. package/dist/_pkgs/affine-widget-slash-menu/utils.js +37 -0
  611. package/dist/_pkgs/affine-widget-toolbar/translations.d.ts +9 -0
  612. package/dist/_pkgs/affine-widget-toolbar/translations.js +13 -0
  613. package/dist/_pkgs/affine-widget-toolbar/utils.js +2 -1
  614. package/dist/_pkgs/global/gfx/xywh.js +7 -0
  615. package/dist/_pkgs/std/extension/command-registry.d.ts +158 -1
  616. package/dist/_pkgs/std/extension/command-registry.js +22 -0
  617. package/dist/_pkgs/std/extension/translation-manifest.d.ts +7 -0
  618. package/dist/_pkgs/std/gfx/index.d.ts +1 -1
  619. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.d.ts +12 -0
  620. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +20 -1
  621. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +10 -0
  622. package/dist/_pkgs/std/gfx/interactivity/manager.js +12 -0
  623. package/dist/_pkgs/std/gfx/model/surface/element-model.js +12 -7
  624. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +56 -0
  625. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +84 -3
  626. package/dist/_pkgs/std/gfx/view/view.d.ts +11 -2
  627. package/dist/_pkgs/std/gfx/view/view.js +16 -2
  628. package/dist/_pkgs/std/translations.d.ts +24 -0
  629. package/dist/_pkgs/std/translations.js +28 -0
  630. package/dist/_pkgs/std/view/element/block-component.js +24 -7
  631. package/dist/commands.d.ts +6 -0
  632. package/dist/commands.js +8 -1
  633. package/dist/frameworks.d.ts +9 -0
  634. package/dist/frameworks.js +19 -0
  635. package/dist/translations.js +160 -5
  636. package/package.json +9 -4
  637. package/dist/_pkgs/affine-gfx-group/group-watcher.d.ts +0 -1
  638. package/dist/_pkgs/affine-gfx-group/group-watcher.js +0 -20
@@ -1,4 +1,5 @@
1
- import type { SlashMenuActionItem, SlashMenuConfig, SlashMenuContext, SlashMenuItem, SlashMenuSubMenu } from './types.js';
1
+ import type { BlockStdScope } from '../std/index.js';
2
+ import type { SlashMenuActionItem, SlashMenuConfig, SlashMenuContext, SlashMenuItem, SlashMenuSubMenu, SlashMenuTooltip } from './types.js';
2
3
  /**
3
4
  * Whether a keydown is the user typing one more character into the query.
4
5
  *
@@ -11,6 +12,24 @@ export declare function isTextInputKey(event: KeyboardEvent): boolean;
11
12
  export declare function isActionItem(item: SlashMenuItem): item is SlashMenuActionItem;
12
13
  export declare function isSubMenuItem(item: SlashMenuItem): item is SlashMenuSubMenu;
13
14
  export declare function slashItemClassName({ name }: SlashMenuItem): string;
15
+ /**
16
+ * What an item SAYS, whether it declared a wording or a literal `name`.
17
+ * Mirrors `toolbarActionLabel`: the widget resolves `nameWording` at render,
18
+ * `name` stays the English identity used by tests and `searchAlias`.
19
+ */
20
+ export declare function resolveSlashItemName(std: BlockStdScope, item: SlashMenuItem): string;
21
+ /** {@link resolveSlashItemName}, for `description`. */
22
+ export declare function resolveSlashItemDescription(std: BlockStdScope, item: SlashMenuItem): string | undefined;
23
+ /** {@link resolveSlashItemName}, for a tooltip's `caption`. */
24
+ export declare function resolveSlashTooltipCaption(std: BlockStdScope, tooltip: SlashMenuTooltip): string;
25
+ /**
26
+ * Whether `item` matches a slash-menu search `query` — against its RESOLVED
27
+ * (translated) name, its English `name`, and its `searchAlias`, so a French
28
+ * user typing the translated word and a habitual user typing the English one
29
+ * both find the item. With no `TranslationProvider` the resolved name equals
30
+ * `name`, so this is unchanged from before wordings existed.
31
+ */
32
+ export declare function slashItemMatchesQuery(std: BlockStdScope, item: SlashMenuItem, query: string): boolean;
14
33
  export declare function parseGroup(group: NonNullable<SlashMenuItem['group']>): readonly [number, string, number];
15
34
  export declare function buildSlashMenuItems(items: SlashMenuItem[], context: SlashMenuContext, transform?: (item: SlashMenuItem) => SlashMenuItem): SlashMenuItem[];
16
35
  export declare function mergeSlashMenuConfigs(configs: Map<string, SlashMenuConfig>): SlashMenuConfig;
@@ -1,3 +1,5 @@
1
+ import { translateKey } from '../affine-shared/services/index.js';
2
+ import { isFuzzyMatch } from '../affine-shared/utils/index.js';
1
3
  /**
2
4
  * Whether a keydown is the user typing one more character into the query.
3
5
  *
@@ -31,6 +33,41 @@ export function isSubMenuItem(item) {
31
33
  export function slashItemClassName({ name }) {
32
34
  return name.split(' ').join('-').toLocaleLowerCase();
33
35
  }
36
+ /**
37
+ * What an item SAYS, whether it declared a wording or a literal `name`.
38
+ * Mirrors `toolbarActionLabel`: the widget resolves `nameWording` at render,
39
+ * `name` stays the English identity used by tests and `searchAlias`.
40
+ */
41
+ export function resolveSlashItemName(std, item) {
42
+ return item.nameWording ? translateKey(std, ...item.nameWording) : item.name;
43
+ }
44
+ /** {@link resolveSlashItemName}, for `description`. */
45
+ export function resolveSlashItemDescription(std, item) {
46
+ return item.descriptionWording
47
+ ? translateKey(std, ...item.descriptionWording)
48
+ : item.description;
49
+ }
50
+ /** {@link resolveSlashItemName}, for a tooltip's `caption`. */
51
+ export function resolveSlashTooltipCaption(std, tooltip) {
52
+ return tooltip.captionWording
53
+ ? translateKey(std, ...tooltip.captionWording)
54
+ : tooltip.caption;
55
+ }
56
+ /**
57
+ * Whether `item` matches a slash-menu search `query` — against its RESOLVED
58
+ * (translated) name, its English `name`, and its `searchAlias`, so a French
59
+ * user typing the translated word and a habitual user typing the English one
60
+ * both find the item. With no `TranslationProvider` the resolved name equals
61
+ * `name`, so this is unchanged from before wordings existed.
62
+ */
63
+ export function slashItemMatchesQuery(std, item, query) {
64
+ const { name, searchAlias = [] } = item;
65
+ const resolvedName = resolveSlashItemName(std, item);
66
+ const candidates = resolvedName === name
67
+ ? [name, ...searchAlias]
68
+ : [name, resolvedName, ...searchAlias];
69
+ return candidates.some(str => isFuzzyMatch(str, query));
70
+ }
34
71
  export function parseGroup(group) {
35
72
  return [
36
73
  parseInt(group.split('_')[0]),
@@ -0,0 +1,9 @@
1
+ import type { ChromeWording } from '../affine-shared/services/index.js';
2
+ /**
3
+ * The row's own "⋮" overflow menu button — its `aria-label` (naming the
4
+ * whole dropdown), distinct from `TOOLBAR_MORE` (`chrome.ts`, "More": the
5
+ * icon-button's own tooltip inside it).
6
+ */
7
+ export declare const TOOLBAR_MORE_MENU_ARIA: ChromeWording;
8
+ /** Every wording this package declares, in the order it renders them. */
9
+ export declare const TOOLBAR_WIDGET_WORDINGS: readonly ChromeWording[];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The row's own "⋮" overflow menu button — its `aria-label` (naming the
3
+ * whole dropdown), distinct from `TOOLBAR_MORE` (`chrome.ts`, "More": the
4
+ * icon-button's own tooltip inside it).
5
+ */
6
+ export const TOOLBAR_MORE_MENU_ARIA = [
7
+ 'com.labre.toolbar.more-menu',
8
+ 'More menu',
9
+ ];
10
+ /** Every wording this package declares, in the order it renders them. */
11
+ export const TOOLBAR_WIDGET_WORDINGS = [
12
+ TOOLBAR_MORE_MENU_ARIA,
13
+ ];
@@ -14,6 +14,7 @@ import mergeWith from 'lodash-es/mergeWith.js';
14
14
  import orderBy from 'lodash-es/orderBy.js';
15
15
  import partition from 'lodash-es/partition.js';
16
16
  import toPairs from 'lodash-es/toPairs.js';
17
+ import { TOOLBAR_MORE_MENU_ARIA } from './translations.js';
17
18
  export const sideMap = new Map([
18
19
  // includes frame element
19
20
  ['affine:surface:frame', { top: 28 }],
@@ -456,7 +457,7 @@ export function renderToolbar(toolbar, context, flavour, source = () => emptyToo
456
457
  action: { id: 'more' },
457
458
  template: html `${keyed(`${flavour}:${key}`, html `
458
459
  <editor-menu-button
459
- aria-label="More menu"
460
+ aria-label="${translateKey(context.std, ...TOOLBAR_MORE_MENU_ARIA)}"
460
461
  .contentPadding="${'8px'}"
461
462
  .button=${html `
462
463
  <editor-icon-button
@@ -2,6 +2,13 @@ export function serializeXYWH(x, y, w, h) {
2
2
  return `[${x},${y},${w},${h}]`;
3
3
  }
4
4
  export function deserializeXYWH(xywh) {
5
+ // An ABSENT value is not a parse failure: a document whose Yjs state has
6
+ // pending structs can hand us an element whose `xywh` key is simply missing.
7
+ // Say nothing here — this getter runs several times per frame per element,
8
+ // and the surface already reports the damaged element once, at mount.
9
+ if (xywh === null || xywh === undefined) {
10
+ return [0, 0, 0, 0];
11
+ }
5
12
  try {
6
13
  return JSON.parse(xywh);
7
14
  }
@@ -2,6 +2,7 @@ import type { ExtensionType } from '../../store/index.js';
2
2
  import type { TemplateResult } from 'lit';
3
3
  import type { z } from 'zod';
4
4
  import type { BlockStdScope } from '../scope/index.js';
5
+ import type { RoleId } from '../gfx/model/surface/role.js';
5
6
  import { type ShortcutDescriptor, type ShortcutScope } from './shortcut.js';
6
7
  /**
7
8
  * Where an element/tool creation was triggered from. Historically declared in
@@ -20,9 +21,25 @@ export type ElementCreationSource = 'shortcut' | 'toolbar:general' | 'toolbar:dn
20
21
  * `ddd-aggregate` is deliberately absent: it ships DDD *templates* only — no
21
22
  * senior button, no commands — so it is a packaging bundle, not a framework.
22
23
  */
23
- export declare const FRAMEWORK_IDS: readonly ["wardley", "edgy", "cynefin-estuarine", "bpmn", "c4", "ddd-event-storming", "ddd-core-domain", "ddd-context-map"];
24
+ export declare const FRAMEWORK_IDS: readonly ["wardley", "edgy", "cynefin-estuarine", "bpmn", "c4", "ddd-event-storming", "ddd-core-domain", "ddd-context-map", "uml"];
24
25
  export type FrameworkId = (typeof FRAMEWORK_IDS)[number];
25
26
  export type CommandOwner = 'core' | FrameworkId;
27
+ /**
28
+ * `'wardley:component'` → `'wardley'`, when that names a real framework.
29
+ *
30
+ * A role id is namespaced by its framework (`<framework>:<role>`, see
31
+ * `gfx/model/surface/role.ts`), so the namespace IS the framework — for every
32
+ * element that carries one, board included (`wardley:map`, `edgy:board`…).
33
+ * Anything else — a neutral element, a namespace no framework claims — answers
34
+ * `undefined`, which is what "this element belongs to no framework" means
35
+ * everywhere this is read.
36
+ *
37
+ * Lives here, beside {@link FRAMEWORK_IDS}, because it is the only knowledge it
38
+ * needs and because four call sites had each copied it: the materiality
39
+ * publisher, the pivot and tag commands, and now the colour pickers' palette
40
+ * carousel.
41
+ */
42
+ export declare function frameworkOfRole(role: string | undefined): FrameworkId | undefined;
26
43
  /**
27
44
  * Serializable precondition. Closed union; extended only by an amendment to
28
45
  * `docs/adr/0008`. `'always'` is the default when omitted.
@@ -130,6 +147,28 @@ export interface CommandDescriptor<P = void> {
130
147
  * it as the `role` dimension.
131
148
  */
132
149
  telemetry?: CommandTelemetry;
150
+ /**
151
+ * The legend row (or rows) this command's artefact puts in its board's
152
+ * legend — `docs/adr/0009`'s sibling for the legend: a framework subscribes
153
+ * its notation instead of maintaining a second table of it.
154
+ *
155
+ * Declared on the command that DRAWS the thing, so the row and the gesture
156
+ * cannot drift: renaming the role renames the row, restyling the preset
157
+ * restyles the swatch. The board's own command declares {@link legendBox}
158
+ * instead — it is the sheet the legend is drawn on, not an artefact on it.
159
+ *
160
+ * A LIST because one command may put several rows down: EDGY's twelve
161
+ * official elements are all stamped by one template command, and no "add a
162
+ * Content" gesture exists to hang them off individually.
163
+ */
164
+ legend?: CommandLegendEntry | readonly CommandLegendEntry[];
165
+ /**
166
+ * How the legend BOX of this framework's board is laid out, and what it adds
167
+ * beyond the rows. Declared on the board command (`telemetry.board`) and
168
+ * read by nothing else — a framework whose rows are 16-unit chips declares
169
+ * none of it.
170
+ */
171
+ legendBox?: CommandLegendBox;
133
172
  }
134
173
  /** See {@link CommandDescriptor.telemetry}. */
135
174
  export interface CommandTelemetry {
@@ -137,6 +176,124 @@ export interface CommandTelemetry {
137
176
  element: string;
138
177
  board?: true;
139
178
  }
179
+ /**
180
+ * What a legend SWATCH is, without its label: the command already carries a
181
+ * wording, and the role it stamps carries one too, so a table that restated the
182
+ * text would be a third spelling of the same word.
183
+ */
184
+ export interface CommandLegendRow {
185
+ swatch: 'dot' | 'square' | 'line' | 'glyph' | 'edge' | 'custom';
186
+ color: string;
187
+ /** `square` swatches: the letter drawn inside it (Team Topologies' C/X/F). */
188
+ letter?: string;
189
+ /** `line` swatches: draw the sample as two segments, so a dash reads as one. */
190
+ dashed?: boolean;
191
+ /**
192
+ * `glyph` / `edge` swatches: the props of the REAL element to draw in the
193
+ * swatch box, geometry excluded — the layout fills in `xywh` (a glyph) or the
194
+ * two endpoint positions (an edge).
195
+ *
196
+ * A `role` here is stripped by the drawing side and must not be declared: a
197
+ * legend is drawn ON the board it describes and the scan detects by role, so
198
+ * a swatch carrying one would list itself the next time a legend is
199
+ * generated — and would be counted by every validation rule.
200
+ */
201
+ props?: Record<string, unknown>;
202
+ /** `glyph` swatches: the artefact's aspect ratio, fitted inside the box. */
203
+ aspect?: number;
204
+ /**
205
+ * `glyph` swatches: an explicit size in model units, which SHORT-CIRCUITS the
206
+ * fit-to-box. Wardley's gradation (component 16 < method 18 < ecosystem 20 <
207
+ * market 22) is notation rather than decoration, and fitting every pastille
208
+ * to the same box would erase it.
209
+ */
210
+ size?: readonly [width: number, height: number];
211
+ /**
212
+ * `custom` swatches: draw the sample yourself and return the ids created.
213
+ *
214
+ * The escape hatch for a COMPOSITE glyph — Wardley's market (a circle, three
215
+ * dots and three connectors), its pipeline (a body and a handle), its Porter
216
+ * rose (a circle, four derived arrows and a letter). Their geometry is
217
+ * derived rather than literal, and a table of static rectangles would re-fix
218
+ * what the framework computes.
219
+ */
220
+ draw?: (surface: CommandLegendSurface, box: {
221
+ x: number;
222
+ y: number;
223
+ w: number;
224
+ h: number;
225
+ }, std: BlockStdScope) => string[];
226
+ }
227
+ /**
228
+ * Where a `custom` swatch (and a {@link CommandLegendExtra}) puts what it
229
+ * draws. Structural on purpose: `std` declares WHAT a framework may say, and
230
+ * the surface block that receives it is what knows how to draw — importing it
231
+ * here would point this layer at one of its own consumers.
232
+ */
233
+ export interface CommandLegendSurface {
234
+ addElement(props: Record<string, unknown>): string;
235
+ }
236
+ /** See {@link CommandDescriptor.legend}. */
237
+ export interface CommandLegendEntry {
238
+ /**
239
+ * The role this row stands for — usually the one the command stamps, but not
240
+ * always: C4 writes ONE "Boundary" row on the parent `c4:boundary` for its
241
+ * two boundary commands, and the second declares nothing.
242
+ */
243
+ role: RoleId;
244
+ row: CommandLegendRow;
245
+ /**
246
+ * Match `role` and `role` ALONE, without the specialisation walk. Reach for
247
+ * it when the parent row would be a lie on a board carrying only children —
248
+ * EDGY's bare "Object", BPMN's blank "Task".
249
+ */
250
+ exact?: boolean;
251
+ /** Static prefix kept in front of the resolved wording ("PS — Partnership"). */
252
+ labelPrefix?: string;
253
+ /**
254
+ * The row's OWN wording, ahead of the role's. Wardley's rows explain the
255
+ * notation ("Need / capability (activity, practice, data…)") where the role
256
+ * merely names it ("Component"); without this the legend would lose its prose.
257
+ */
258
+ labelWording?: readonly [key: string, fallback: string];
259
+ /**
260
+ * The sub-title this row files itself under, ahead of the command's
261
+ * `category`. Three of the DDD frameworks put every command in ONE category
262
+ * and still show two or three sub-titles, and EDGY's twelve elements come
263
+ * from one command and span four.
264
+ */
265
+ section?: readonly [key: string, fallback: string];
266
+ }
267
+ /**
268
+ * A block of the legend box that is not a row: Wardley's evolution gradient,
269
+ * its Porter panel. `height` is a VALUE rather than a second callback because
270
+ * the box has to be measured before it is placed.
271
+ */
272
+ export interface CommandLegendExtra {
273
+ /** Total height in model units, separator included. Known BEFORE drawing. */
274
+ height: number;
275
+ draw(surface: CommandLegendSurface, std: BlockStdScope, x: number, y: number, width: number): string[];
276
+ }
277
+ /** See {@link CommandLegendBox.extras}. */
278
+ export type CommandLegendExtras = (ctx: {
279
+ std: BlockStdScope;
280
+ /** The board the legend describes. Cast by whoever needs more than its box. */
281
+ board: {
282
+ xywh: string;
283
+ };
284
+ present: ReadonlySet<RoleId>;
285
+ }) => CommandLegendExtra[];
286
+ /** See {@link CommandDescriptor.legendBox}. */
287
+ export interface CommandLegendBox {
288
+ /** Box title; every board that has one says "Legend" and omits this. */
289
+ titleWording?: readonly [key: string, fallback: string];
290
+ width?: number;
291
+ /** Row pitch; the swatch is drawn centred in it. */
292
+ rowHeight?: number;
293
+ swatchWidth?: number;
294
+ swatchHeight?: number;
295
+ extras?: CommandLegendExtras;
296
+ }
140
297
  /**
141
298
  * A command with its parameter contract erased — what the REGISTRY holds.
142
299
  *
@@ -19,7 +19,29 @@ export const FRAMEWORK_IDS = [
19
19
  'ddd-event-storming',
20
20
  'ddd-core-domain',
21
21
  'ddd-context-map',
22
+ 'uml',
22
23
  ];
24
+ /**
25
+ * `'wardley:component'` → `'wardley'`, when that names a real framework.
26
+ *
27
+ * A role id is namespaced by its framework (`<framework>:<role>`, see
28
+ * `gfx/model/surface/role.ts`), so the namespace IS the framework — for every
29
+ * element that carries one, board included (`wardley:map`, `edgy:board`…).
30
+ * Anything else — a neutral element, a namespace no framework claims — answers
31
+ * `undefined`, which is what "this element belongs to no framework" means
32
+ * everywhere this is read.
33
+ *
34
+ * Lives here, beside {@link FRAMEWORK_IDS}, because it is the only knowledge it
35
+ * needs and because four call sites had each copied it: the materiality
36
+ * publisher, the pivot and tag commands, and now the colour pickers' palette
37
+ * carousel.
38
+ */
39
+ export function frameworkOfRole(role) {
40
+ const namespace = role?.split(':')[0];
41
+ return FRAMEWORK_IDS.includes(namespace ?? '')
42
+ ? namespace
43
+ : undefined;
44
+ }
23
45
  /** Multi-instance: one registered {@link CommandDescriptor} per impl. */
24
46
  export const CommandDescriptorIdentifier = createIdentifier('CommandDescriptor');
25
47
  /** Multi-instance: one `iconKey → template` table per contributing package. */
@@ -13,6 +13,13 @@ import { type AnyCommandDescriptor } from './command-registry.js';
13
13
  * `packages/affine/all/src/commands.ts` and `scripts/build-bundles.mjs`).
14
14
  */
15
15
  export type TranslationKeySource = 'command' | 'framework' | 'role' | 'background' | 'rule' | 'nudge' | 'profile' | 'audit-criterion' | 'reading'
16
+ /**
17
+ * A `UniverseTagDefs` tag or tag-value label (`@labre/affine-shared`'s
18
+ * `TagDef.labelKey` / `TagValueDef.labelKey`) — the library's OWN pack only
19
+ * (`WARDLEY_TAG_DEFS`). A host's app-seeded pack carries its own wording in
20
+ * `label` and needs no key at all.
21
+ */
22
+ | 'tag'
16
23
  /**
17
24
  * The words a framework WRITES ONTO THE CANVAS when an artefact is placed —
18
25
  * the "Task" a fresh BPMN task is captioned with, the "People" under an EDGY
@@ -20,7 +20,7 @@ export { GfxLocalElementModel, prop, } from './model/surface/local-element-model
20
20
  export { collectPivotOccurrences, isPivotBound, type PivotBoundElement, type PivotOccurrence, resolvePivotBinding, } from './model/surface/pivot.js';
21
21
  export { type EdgeDirectionDef, findRoleDef, isTypedEdgeRole, type RoleDef, type RoleDefs, type RoleId, roleIsA, type RoleKind, RoleVocabularyExtension, RoleVocabularyIdentifier, } from './model/surface/role.js';
22
22
  export { ELEMENT_TAGS_FIELD, type ElementTags, elementTagValues, hasElementTagValue, readElementTags, setElementTag, tagsPropToY, } from './model/surface/tags.js';
23
- export { type ElementUpdatedData, SURFACE_TEXT_UNIQ_IDENTIFIER, SURFACE_YMAP_UNIQ_IDENTIFIER, SurfaceBlockModel, type SurfaceBlockProps, type SurfaceMiddleware, } from './model/surface/surface-model.js';
23
+ export { type ElementUpdatedData, SURFACE_TEXT_UNIQ_IDENTIFIER, SURFACE_YMAP_UNIQ_IDENTIFIER, SurfaceBlockModel, type SurfaceBlockProps, type SurfaceDamageReason, type SurfaceElementDamage, type SurfaceElementDamageReport, type SurfaceMiddleware, } from './model/surface/surface-model.js';
24
24
  export { measureOperation } from './perf.js';
25
25
  export { GfxSelectionManager } from './selection.js';
26
26
  export { SurfaceMiddlewareBuilder, SurfaceMiddlewareExtension, } from './surface-middleware.js';
@@ -59,6 +59,18 @@ export declare class GfxViewEventManager {
59
59
  * cannot see.
60
60
  */
61
61
  private _answersAt;
62
+ /**
63
+ * Whether ANY view answers at a model point — "is this spot taken?" asked of
64
+ * the view layer rather than of the models.
65
+ *
66
+ * The two layers do not answer the same thing (see {@link _answersAt}), so
67
+ * whoever treats a point as empty canvas has to ask both: the model says
68
+ * "select me?", the view says "is this mine?". A framework background is the
69
+ * case that forced this out — it is picked by its border alone, yet its
70
+ * labels answer the double-click that renames them, so the model calls their
71
+ * zone empty while the view is about to use it.
72
+ */
73
+ hasViewAt(x: number, y: number): boolean;
62
74
  /**
63
75
  * The views under a MODEL point, in PAINT ORDER — the topmost last.
64
76
  *
@@ -71,7 +71,12 @@ export class GfxViewEventManager {
71
71
  if (this._draggingElement) {
72
72
  this._draggingElement.dispatch('dragend', _evt);
73
73
  }
74
- this._draggingElement = last(this._hoveredElementsStack) ?? null;
74
+ // The same re-pick by point a click makes, and for the same reason: a
75
+ // stack only `pointermove` rebuilds is stale whenever the pointer
76
+ // arrived without one — after a toolbar action that rewrote what is
77
+ // under it, for instance — and a drag would then be handed to the view
78
+ // that USED to be there.
79
+ this._draggingElement = this._targetOf(_evt);
75
80
  return this._draggingElement?.dispatch('dragstart', _evt) ?? false;
76
81
  }
77
82
  case 'dragmove': {
@@ -109,6 +114,20 @@ export class GfxViewEventManager {
109
114
  ? (model.externalBound?.isPointInBound([x, y]) ?? false)
110
115
  : false));
111
116
  }
117
+ /**
118
+ * Whether ANY view answers at a model point — "is this spot taken?" asked of
119
+ * the view layer rather than of the models.
120
+ *
121
+ * The two layers do not answer the same thing (see {@link _answersAt}), so
122
+ * whoever treats a point as empty canvas has to ask both: the model says
123
+ * "select me?", the view says "is this mine?". A framework background is the
124
+ * case that forced this out — it is picked by its border alone, yet its
125
+ * labels answer the double-click that renames them, so the model calls their
126
+ * zone empty while the view is about to use it.
127
+ */
128
+ hasViewAt(x, y) {
129
+ return this._viewsAt(x, y).length > 0;
130
+ }
112
131
  /**
113
132
  * The views under a MODEL point, in PAINT ORDER — the topmost last.
114
133
  *
@@ -45,6 +45,16 @@ export declare class InteractivityManager extends GfxExtension {
45
45
  preventDefaultState: boolean;
46
46
  handledByView: boolean;
47
47
  } | undefined;
48
+ /**
49
+ * Whether a view claims the model point — the answer the pointer router will
50
+ * give this coordinate, made available BEFORE the router runs.
51
+ *
52
+ * `dispatchEvent` emits to the extensions first and to the views second, so
53
+ * an extension that wants to know whether the point is free (rather than
54
+ * react after the fact) has no `handledByView` to read yet. This is that
55
+ * answer, asked ahead of time.
56
+ */
57
+ hasViewAt(x: number, y: number): boolean;
48
58
  private _getSelectionConfig;
49
59
  private _getSuggestedTarget;
50
60
  /**
@@ -78,6 +78,18 @@ export class InteractivityManager extends GfxExtension {
78
78
  handledByView,
79
79
  };
80
80
  }
81
+ /**
82
+ * Whether a view claims the model point — the answer the pointer router will
83
+ * give this coordinate, made available BEFORE the router runs.
84
+ *
85
+ * `dispatchEvent` emits to the extensions first and to the views second, so
86
+ * an extension that wants to know whether the point is free (rather than
87
+ * react after the fact) has no `handledByView` to read yet. This is that
88
+ * answer, asked ahead of time.
89
+ */
90
+ hasViewAt(x, y) {
91
+ return this.canvasEventHandler.hasViewAt(x, y);
92
+ }
81
93
  _getSelectionConfig(models) {
82
94
  const selectionConfigMap = new Map();
83
95
  models.forEach(model => {
@@ -45,20 +45,25 @@ import { convertProps, field, getDerivedProps, getFieldPropsSet, hasObserveMeta,
45
45
  /**
46
46
  * Declared `@field()`s that {@link GfxPrimitiveElementModel.clearField} refuses
47
47
  * to remove, because they have no meaningful ABSENT state: every one of them is
48
- * read unconditionally, with no fallback, by code that has no way to cope.
48
+ * read unconditionally by code that has no way to cope with its absence.
49
49
  *
50
50
  * - `index` — the fractional z-order key. Gone, the element's stacking is
51
51
  * `undefined` and the layer manager sorts it nowhere, silently.
52
- * - `xywh` — gone, `elementBound` collapses to `{0,0,0,0}` and the renderer
53
- * throws `"undefined" is not valid JSON` on every frame.
52
+ * - `xywh` — gone, the element reads `[0,0,0,0]` (its declared fallback, so it
53
+ * draws nothing rather than a phantom shape at the origin) and the surface
54
+ * reports it once, at mount. A zero-size element is unusable, not optional,
55
+ * so it stays here: nothing may CLEAR a bound on purpose.
54
56
  * - `seed` — the roughness seed; gone, the hand-drawn renderers produce a
55
57
  * different shape on every repaint.
56
58
  *
57
59
  * An optional field is exactly one whose accessor declares a usable default (or
58
- * `undefined`), and those stay clearable. This list is the short answer to
59
- * "which declared fields are not optional"; it is a deny-list on purpose, so a
60
- * new optional field needs no ceremony and a new structural one is a deliberate
61
- * addition here.
60
+ * `undefined`), and those stay clearable. A read fallback is not the same thing
61
+ * as a usable default: `xywh` now falls back to `[0,0,0,0]` so a damaged
62
+ * document keeps painting, which is damage control, not an optional state.
63
+ *
64
+ * This list is the short answer to "which declared fields are not optional"; it
65
+ * is a deny-list on purpose, so a new optional field needs no ceremony and a
66
+ * new structural one is a deliberate addition here.
62
67
  */
63
68
  const UNCLEARABLE_ELEMENT_FIELDS = new Set(['index', 'seed', 'xywh']);
64
69
  /**
@@ -32,6 +32,17 @@ export type MiddlewareCtx = {
32
32
  };
33
33
  };
34
34
  export type SurfaceMiddleware = (ctx: MiddlewareCtx) => void;
35
+ /** Why an element is considered damaged. One reason so far. */
36
+ export type SurfaceDamageReason = 'missing-xywh';
37
+ /** What the surface knows about one damaged element. */
38
+ export type SurfaceElementDamage = {
39
+ type: string;
40
+ reason: SurfaceDamageReason;
41
+ };
42
+ /** The same fact, pushed as it happens. */
43
+ export type SurfaceElementDamageReport = SurfaceElementDamage & {
44
+ id: string;
45
+ };
35
46
  export declare class SurfaceBlockModel extends BlockModel<SurfaceBlockProps> {
36
47
  /**
37
48
  * The props that are known to move the bound of the containing group, so a
@@ -73,6 +84,12 @@ export declare class SurfaceBlockModel extends BlockModel<SurfaceBlockProps> {
73
84
  local: boolean;
74
85
  }>;
75
86
  elementUpdated: Subject<ElementUpdatedData>;
87
+ /**
88
+ * An element was found damaged — see {@link damagedElements}. Pushed at the
89
+ * same moment the console line is written, so a subscriber that arrives
90
+ * later reads the map instead and misses nothing.
91
+ */
92
+ elementDamaged: Subject<SurfaceElementDamageReport>;
76
93
  localElementAdded: Subject<GfxLocalElementModel>;
77
94
  localElementDeleted: Subject<GfxLocalElementModel>;
78
95
  localElementUpdated: Subject<{
@@ -81,6 +98,20 @@ export declare class SurfaceBlockModel extends BlockModel<SurfaceBlockProps> {
81
98
  oldValues: Record<string, unknown>;
82
99
  }>;
83
100
  private readonly _isEmpty$;
101
+ private readonly _damagedElements;
102
+ /**
103
+ * The elements this surface built from a Y.Map that was missing a key it
104
+ * declares — today only `xywh`, the bound without which the element paints
105
+ * nothing (see {@link _createElementFromYMap}).
106
+ *
107
+ * **State, not just a signal.** The element models are built when the block
108
+ * model is created, before any view or `LifeCycleWatcher` is mounted, so a
109
+ * subscriber to {@link elementDamaged} would always be too late for the
110
+ * elements the document opened with. Whoever wants to count damaged
111
+ * documents reads this map at mount, then subscribes for what sync brings
112
+ * afterwards.
113
+ */
114
+ get damagedElements(): ReadonlyMap<string, SurfaceElementDamage>;
84
115
  get elementModels(): GfxPrimitiveElementModel<import("./element-model.js").BaseElementProps>[];
85
116
  get elements(): Boxed<Y.Map<Y.Map<unknown>>>;
86
117
  get localElementModels(): Set<GfxLocalElementModel>;
@@ -166,6 +197,31 @@ export declare class SurfaceBlockModel extends BlockModel<SurfaceBlockProps> {
166
197
  addElement<T extends object = Record<string, unknown>>(props: Partial<T> & {
167
198
  type: string;
168
199
  }): string;
200
+ /**
201
+ * Build the element `addElement` would build from `props`, and stop there:
202
+ * FOR PREVIEWS ONLY — the model never enters the document.
203
+ *
204
+ * The props take the insertion path up to the moment the Y.Map would be
205
+ * attached — the `beforeAdd` middlewares (the author's last-used style), the
206
+ * class's `propsToY` (a string `text` becomes a `Y.Text`), the declared-prop
207
+ * routing — so a preview paints exactly what the placed element will. What
208
+ * `addElement` does next is skipped: the model is not registered (no
209
+ * `getElementById`, no `elementModels`), is never mounted (no observers, no
210
+ * `onChange`), emits no `elementAdded`, and opens no transaction.
211
+ *
212
+ * Its Y.Map is then parked in a throwaway `Y.Doc` of its own, because the
213
+ * values of a map that belongs to no document cannot be read (a `Y.Text`
214
+ * reads empty) — and a renderer needs to read them. That doc is not the
215
+ * store's; a renderer that WROTE to the model would still reach the store's
216
+ * `transact`, which is why a preview must only ever be rendered.
217
+ *
218
+ * `props.id` is required and is the caller's: nothing checks it against the
219
+ * document, since nothing is added to it.
220
+ */
221
+ createDetachedElement(props: Record<string, unknown> & {
222
+ type: string;
223
+ id: string;
224
+ }): GfxPrimitiveElementModel;
169
225
  addLocalElement(elem: GfxLocalElementModel): void;
170
226
  applyMiddlewares(middlewares: SurfaceMiddleware[]): void;
171
227
  deleteElement(id: string): void;