@formicoidea/labre-core 0.31.0 → 0.33.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 (637) hide show
  1. package/dist/_pkgs/affine-block-attachment/attachment-block.js +1 -1
  2. package/dist/_pkgs/affine-block-callout/callout-block.d.ts +6 -0
  3. package/dist/_pkgs/affine-block-callout/callout-block.js +26 -4
  4. package/dist/_pkgs/affine-block-callout/callout-keymap.js +59 -19
  5. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.d.ts +20 -0
  6. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.js +60 -0
  7. package/dist/_pkgs/affine-block-callout/commands/split-callout.d.ts +17 -0
  8. package/dist/_pkgs/affine-block-callout/commands/split-callout.js +42 -0
  9. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +9 -6
  10. package/dist/_pkgs/affine-block-callout/emoji-margin.d.ts +9 -0
  11. package/dist/_pkgs/affine-block-callout/emoji-margin.js +36 -0
  12. package/dist/_pkgs/affine-block-callout/emoji-menu.d.ts +5 -1
  13. package/dist/_pkgs/affine-block-callout/emoji-menu.js +5 -0
  14. package/dist/_pkgs/affine-block-code/code-block-inline.js +1 -1
  15. package/dist/_pkgs/affine-block-code/code-block.d.ts +14 -0
  16. package/dist/_pkgs/affine-block-code/code-block.js +44 -6
  17. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.d.ts +2 -0
  18. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +23 -14
  19. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.d.ts +16 -0
  20. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.js +93 -0
  21. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +54 -5
  22. package/dist/_pkgs/affine-block-code/code-toolbar/index.js +1 -1
  23. package/dist/_pkgs/affine-block-code/effects.d.ts +2 -0
  24. package/dist/_pkgs/affine-block-code/effects.js +2 -0
  25. package/dist/_pkgs/affine-block-code/highlight/affine-code-unit.js +6 -1
  26. package/dist/_pkgs/affine-block-code/index.d.ts +1 -0
  27. package/dist/_pkgs/affine-block-code/index.js +1 -0
  28. package/dist/_pkgs/affine-block-code/line-numbers.d.ts +25 -0
  29. package/dist/_pkgs/affine-block-code/line-numbers.js +27 -0
  30. package/dist/_pkgs/affine-block-code/styles.js +31 -0
  31. package/dist/_pkgs/affine-block-data-view/data-view-block.js +1 -0
  32. package/dist/_pkgs/affine-block-database/components/title/index.js +4 -1
  33. package/dist/_pkgs/affine-block-database/configs/slash-menu.js +28 -1
  34. package/dist/_pkgs/affine-block-database/data-source.js +1 -2
  35. package/dist/_pkgs/affine-block-database/database-block.js +13 -0
  36. package/dist/_pkgs/affine-block-database/external-data-source.js +1 -1
  37. package/dist/_pkgs/affine-block-database/properties/paste-url.d.ts +24 -0
  38. package/dist/_pkgs/affine-block-database/properties/paste-url.js +98 -0
  39. package/dist/_pkgs/affine-block-database/properties/rich-text/cell-renderer.js +9 -19
  40. package/dist/_pkgs/affine-block-database/properties/title/text.js +20 -25
  41. package/dist/_pkgs/affine-block-database/views/index.js +1 -0
  42. package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +11 -1
  43. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.d.ts +3 -0
  44. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +48 -1
  45. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.d.ts +17 -0
  46. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.js +24 -0
  47. package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-service.js +1 -1
  48. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +2 -2
  49. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.d.ts +9 -0
  50. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.js +10 -0
  51. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +1 -1
  52. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +8 -4
  53. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/utils.js +1 -1
  54. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +1 -1
  55. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts +4 -0
  56. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +23 -4
  57. package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
  58. package/dist/_pkgs/affine-block-frame/frame-manager.js +34 -2
  59. package/dist/_pkgs/affine-block-frame/frame-tool.js +1 -1
  60. package/dist/_pkgs/affine-block-image/components/page-image-block.js +1 -1
  61. package/dist/_pkgs/affine-block-image/image-edgeless-block.js +1 -1
  62. package/dist/_pkgs/affine-block-latex/styles.js +6 -1
  63. package/dist/_pkgs/affine-block-list/utils/forward-delete.js +1 -1
  64. package/dist/_pkgs/affine-block-note/commands/select-block.js +1 -1
  65. package/dist/_pkgs/affine-block-note/commands/select-blocks-between.js +1 -1
  66. package/dist/_pkgs/affine-block-note/move-block.js +1 -1
  67. package/dist/_pkgs/affine-block-note/note-edgeless-block.d.ts +9 -0
  68. package/dist/_pkgs/affine-block-note/note-edgeless-block.js +29 -1
  69. package/dist/_pkgs/affine-block-paragraph/utils/forward-delete.js +2 -2
  70. package/dist/_pkgs/affine-block-paragraph/utils/merge-with-prev.js +1 -1
  71. package/dist/_pkgs/affine-block-root/commands/pivot-commands.d.ts +37 -0
  72. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +168 -0
  73. package/dist/_pkgs/affine-block-root/commands/reading-commands.d.ts +23 -0
  74. package/dist/_pkgs/affine-block-root/commands/reading-commands.js +107 -0
  75. package/dist/_pkgs/affine-block-root/commands/tag-commands.d.ts +47 -0
  76. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +159 -0
  77. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -0
  78. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +10 -3
  79. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/render-linked-doc.js +1 -1
  80. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +27 -2
  81. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +11 -2
  82. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-service.js +14 -0
  83. package/dist/_pkgs/affine-block-root/edgeless/index.d.ts +1 -0
  84. package/dist/_pkgs/affine-block-root/edgeless/index.js +1 -0
  85. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.d.ts +21 -0
  86. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.js +34 -0
  87. package/dist/_pkgs/affine-block-root/edgeless/utils/clipboard-utils.js +1 -1
  88. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.d.ts +7 -1
  89. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.js +11 -2
  90. package/dist/_pkgs/affine-block-root/index.d.ts +4 -1
  91. package/dist/_pkgs/affine-block-root/index.js +4 -1
  92. package/dist/_pkgs/affine-block-root/keyboard/commands.d.ts +2 -0
  93. package/dist/_pkgs/affine-block-root/keyboard/commands.js +147 -0
  94. package/dist/_pkgs/affine-block-root/view.js +13 -4
  95. package/dist/_pkgs/affine-block-surface/adapters/markdown/element-adapter/type.js +1 -1
  96. package/dist/_pkgs/affine-block-surface/adapters/plain-text/element-adapter/type.js +1 -1
  97. package/dist/_pkgs/affine-block-surface/commands/reassociate-connectors.js +0 -1
  98. package/dist/_pkgs/affine-block-surface/effects.js +6 -0
  99. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
  100. package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
  101. package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
  102. package/dist/_pkgs/affine-block-surface/extensions/audit.js +489 -0
  103. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
  104. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +37 -5
  105. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.d.ts +133 -0
  106. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.js +327 -0
  107. package/dist/_pkgs/affine-block-surface/extensions/element-renderer.js +1 -1
  108. package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +1 -1
  109. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +17 -0
  110. package/dist/_pkgs/affine-block-surface/extensions/index.js +17 -0
  111. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +172 -0
  112. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +393 -0
  113. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +306 -0
  114. package/dist/_pkgs/affine-block-surface/extensions/interchange.js +64 -0
  115. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.d.ts +146 -0
  116. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.js +528 -0
  117. package/dist/_pkgs/affine-block-surface/extensions/map-quality.d.ts +109 -0
  118. package/dist/_pkgs/affine-block-surface/extensions/map-quality.js +84 -0
  119. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +248 -0
  120. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +248 -0
  121. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.d.ts +15 -0
  122. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +158 -0
  123. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +145 -0
  124. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +588 -0
  125. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +494 -0
  126. package/dist/_pkgs/affine-block-surface/extensions/reading.js +767 -0
  127. package/dist/_pkgs/affine-block-surface/extensions/spotlight.d.ts +45 -0
  128. package/dist/_pkgs/affine-block-surface/extensions/spotlight.js +177 -0
  129. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.d.ts +107 -0
  130. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +958 -0
  131. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.d.ts +10 -0
  132. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +295 -0
  133. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.d.ts +27 -0
  134. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.js +361 -0
  135. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +2129 -0
  136. package/dist/_pkgs/affine-block-surface/extensions/validation.js +4620 -0
  137. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +330 -0
  138. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +1004 -0
  139. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.d.ts +80 -0
  140. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.js +123 -0
  141. package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +610 -0
  142. package/dist/_pkgs/affine-block-surface/framework-background/def.js +206 -0
  143. package/dist/_pkgs/affine-block-surface/framework-background/facts.d.ts +188 -0
  144. package/dist/_pkgs/affine-block-surface/framework-background/facts.js +284 -0
  145. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +5 -0
  146. package/dist/_pkgs/affine-block-surface/framework-background/index.js +5 -0
  147. package/dist/_pkgs/affine-block-surface/framework-background/interaction.d.ts +12 -0
  148. package/dist/_pkgs/affine-block-surface/framework-background/interaction.js +24 -0
  149. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +99 -0
  150. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +193 -0
  151. package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
  152. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +399 -0
  153. package/dist/_pkgs/affine-block-surface/index.d.ts +1 -0
  154. package/dist/_pkgs/affine-block-surface/index.js +1 -0
  155. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +69 -3
  156. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +333 -44
  157. package/dist/_pkgs/affine-block-surface/renderer/dom-renderer.js +18 -2
  158. package/dist/_pkgs/affine-block-surface/renderer/overlay.js +1 -1
  159. package/dist/_pkgs/affine-block-surface/tool/default-tool.js +8 -0
  160. package/dist/_pkgs/affine-block-surface/utils/font.js +9 -3
  161. package/dist/_pkgs/affine-block-surface/view.d.ts +17 -0
  162. package/dist/_pkgs/affine-block-surface/view.js +57 -2
  163. package/dist/_pkgs/affine-block-surface-ref/portal/note.js +2 -2
  164. package/dist/_pkgs/affine-block-table/commands.js +1 -1
  165. package/dist/_pkgs/affine-block-table/selection-controller.d.ts +6 -0
  166. package/dist/_pkgs/affine-block-table/selection-controller.js +24 -1
  167. package/dist/_pkgs/affine-block-table/table-block.js +8 -2
  168. package/dist/_pkgs/affine-block-table/table-cell.js +5 -6
  169. package/dist/_pkgs/affine-block-table/table-keymap.d.ts +18 -0
  170. package/dist/_pkgs/affine-block-table/table-keymap.js +41 -0
  171. package/dist/_pkgs/affine-block-table/utils.d.ts +7 -0
  172. package/dist/_pkgs/affine-block-table/utils.js +12 -0
  173. package/dist/_pkgs/affine-block-table/view.js +2 -0
  174. package/dist/_pkgs/affine-components/caption/captioned-block-component.js +2 -1
  175. package/dist/_pkgs/affine-components/context-menu/button.d.ts +7 -0
  176. package/dist/_pkgs/affine-components/context-menu/button.js +7 -2
  177. package/dist/_pkgs/affine-components/context-menu/input.d.ts +4 -0
  178. package/dist/_pkgs/affine-components/context-menu/input.js +12 -0
  179. package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +2 -0
  180. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +8 -1
  181. package/dist/_pkgs/affine-components/context-menu/sub-menu.js +3 -0
  182. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +1 -1
  183. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +1 -1
  184. package/dist/_pkgs/affine-components/filterable-list/styles.js +1 -1
  185. package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
  186. package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
  187. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +28 -0
  188. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +231 -0
  189. package/dist/_pkgs/affine-components/icon-picker/emoji-data.d.ts +40 -0
  190. package/dist/_pkgs/affine-components/icon-picker/emoji-data.js +99 -0
  191. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +32 -0
  192. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +276 -0
  193. package/dist/_pkgs/affine-components/icon-picker/icon-data.d.ts +34 -0
  194. package/dist/_pkgs/affine-components/icon-picker/icon-data.js +83 -0
  195. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +39 -0
  196. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +233 -0
  197. package/dist/_pkgs/affine-components/icon-picker/index.d.ts +8 -0
  198. package/dist/_pkgs/affine-components/icon-picker/index.js +15 -0
  199. package/dist/_pkgs/affine-components/icon-picker/recent-store.d.ts +8 -0
  200. package/dist/_pkgs/affine-components/icon-picker/recent-store.js +41 -0
  201. package/dist/_pkgs/affine-components/icon-picker/styles.d.ts +5 -0
  202. package/dist/_pkgs/affine-components/icon-picker/styles.js +166 -0
  203. package/dist/_pkgs/affine-components/icon-picker/types.d.ts +22 -0
  204. package/dist/_pkgs/affine-components/icon-picker/types.js +10 -0
  205. package/dist/_pkgs/affine-components/icons/text.js +426 -426
  206. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.d.ts +1 -0
  207. package/dist/_pkgs/affine-components/peek/peekable.js +1 -1
  208. package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
  209. package/dist/_pkgs/affine-components/toolbar/index.d.ts +1 -0
  210. package/dist/_pkgs/affine-components/toolbar/index.js +1 -0
  211. package/dist/_pkgs/affine-components/toolbar/menu-button.js +2 -1
  212. package/dist/_pkgs/affine-components/toolbar/picker-menu.d.ts +55 -0
  213. package/dist/_pkgs/affine-components/toolbar/picker-menu.js +47 -0
  214. package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
  215. package/dist/_pkgs/affine-foundation/view.js +11 -2
  216. package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +2 -2
  217. package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +2 -2
  218. package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +1 -1
  219. package/dist/_pkgs/affine-fragment-outline/mobile-outline-panel.js +1 -1
  220. package/dist/_pkgs/affine-gfx-brush/index.d.ts +1 -0
  221. package/dist/_pkgs/affine-gfx-brush/index.js +1 -0
  222. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.d.ts +1 -0
  223. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.js +11 -0
  224. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.d.ts +1 -0
  225. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.js +11 -0
  226. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.d.ts +2 -0
  227. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.js +2 -0
  228. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.d.ts +14 -0
  229. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.js +54 -0
  230. package/dist/_pkgs/affine-gfx-brush/renderer/index.d.ts +1 -0
  231. package/dist/_pkgs/affine-gfx-brush/renderer/index.js +4 -0
  232. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +1 -1
  233. package/dist/_pkgs/affine-gfx-brush/view.d.ts +14 -0
  234. package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
  235. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +39 -16
  236. package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +26 -1
  237. package/dist/_pkgs/affine-gfx-connector/connector-tool.js +12 -3
  238. package/dist/_pkgs/affine-gfx-connector/connector-watcher.js +1 -4
  239. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
  240. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +282 -0
  241. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.d.ts +65 -0
  242. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.js +395 -0
  243. package/dist/_pkgs/affine-gfx-connector/direction/index.d.ts +4 -0
  244. package/dist/_pkgs/affine-gfx-connector/direction/index.js +4 -0
  245. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +72 -0
  246. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +185 -0
  247. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.d.ts +69 -0
  248. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.js +66 -0
  249. package/dist/_pkgs/affine-gfx-connector/effects.d.ts +2 -0
  250. package/dist/_pkgs/affine-gfx-connector/effects.js +2 -0
  251. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +78 -41
  252. package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +1 -1
  253. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +1 -1
  254. package/dist/_pkgs/affine-gfx-connector/index.d.ts +1 -0
  255. package/dist/_pkgs/affine-gfx-connector/index.js +1 -0
  256. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +50 -0
  257. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +68 -2
  258. package/dist/_pkgs/affine-gfx-connector/view.js +16 -0
  259. package/dist/_pkgs/affine-gfx-group/command/group-api.js +150 -62
  260. package/dist/_pkgs/affine-gfx-group/text/edgeless-group-title-editor.js +4 -1
  261. package/dist/_pkgs/affine-gfx-mindmap/adapter/markdown/index.js +1 -1
  262. package/dist/_pkgs/affine-gfx-mindmap/adapter/utils.js +1 -1
  263. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +583 -4
  264. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +23 -23
  265. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +5 -1
  266. package/dist/_pkgs/affine-gfx-mindmap/view/utils.js +1 -1
  267. package/dist/_pkgs/affine-gfx-note/overlay/overlay.js +1 -1
  268. package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +1 -1
  269. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.d.ts +16 -0
  270. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.js +102 -32
  271. package/dist/_pkgs/affine-gfx-shape/commands.d.ts +2 -0
  272. package/dist/_pkgs/affine-gfx-shape/commands.js +33 -0
  273. package/dist/_pkgs/affine-gfx-shape/consts.js +1 -1
  274. package/dist/_pkgs/affine-gfx-shape/draggable/shape-draggable.js +1 -1
  275. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/polygon.js +17 -9
  276. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/utils.js +8 -3
  277. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape-dom/index.js +48 -19
  278. package/dist/_pkgs/affine-gfx-shape/element-view.js +19 -12
  279. package/dist/_pkgs/affine-gfx-shape/index.d.ts +1 -1
  280. package/dist/_pkgs/affine-gfx-shape/index.js +1 -1
  281. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +1 -1
  282. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-vertex-editing-overlay.js +12 -7
  283. package/dist/_pkgs/affine-gfx-shape/overlay/shape-overlay.js +1 -1
  284. package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +4 -2
  285. package/dist/_pkgs/affine-gfx-shape/shape-tool.js +1 -1
  286. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.d.ts +26 -0
  287. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -15
  288. package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
  289. package/dist/_pkgs/affine-gfx-template/builtin/other.js +66 -17
  290. package/dist/_pkgs/affine-gfx-template/toolbar/overlay-scrollbar.js +1 -1
  291. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +1 -1
  292. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.d.ts +2 -0
  293. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.js +18 -1
  294. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +9 -5
  295. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +1 -1
  296. package/dist/_pkgs/affine-inline-latex/command.js +46 -26
  297. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.d.ts +10 -0
  298. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +23 -0
  299. package/dist/_pkgs/affine-inline-link/command.js +1 -1
  300. package/dist/_pkgs/affine-inline-link/link-node/affine-link.js +4 -1
  301. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.d.ts +3 -0
  302. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.js +29 -1
  303. package/dist/_pkgs/affine-inline-preset/command/format-block.js +1 -1
  304. package/dist/_pkgs/affine-inline-preset/command/format-native.js +2 -2
  305. package/dist/_pkgs/affine-inline-preset/command/format-text.js +1 -1
  306. package/dist/_pkgs/affine-inline-preset/inline-spec.js +1 -1
  307. package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +1 -1
  308. package/dist/_pkgs/affine-model/blocks/code/code-model.d.ts +1 -0
  309. package/dist/_pkgs/affine-model/blocks/code/code-model.js +1 -0
  310. package/dist/_pkgs/affine-model/elements/bpmn/node.d.ts +40 -7
  311. package/dist/_pkgs/affine-model/elements/bpmn/node.js +4 -2
  312. package/dist/_pkgs/affine-model/elements/bpmn/pool.d.ts +74 -17
  313. package/dist/_pkgs/affine-model/elements/bpmn/pool.js +55 -26
  314. package/dist/_pkgs/affine-model/elements/c4/board.d.ts +88 -0
  315. package/dist/_pkgs/affine-model/elements/c4/board.js +128 -0
  316. package/dist/_pkgs/affine-model/elements/c4/boundary.d.ts +63 -0
  317. package/dist/_pkgs/affine-model/elements/c4/boundary.js +134 -0
  318. package/dist/_pkgs/affine-model/elements/c4/index.d.ts +3 -0
  319. package/dist/_pkgs/affine-model/elements/c4/index.js +3 -0
  320. package/dist/_pkgs/affine-model/elements/c4/node.d.ts +97 -0
  321. package/dist/_pkgs/affine-model/elements/c4/node.js +130 -0
  322. package/dist/_pkgs/affine-model/elements/connector/connector.js +25 -1
  323. package/dist/_pkgs/affine-model/elements/context-map/context-map.d.ts +27 -0
  324. package/dist/_pkgs/affine-model/elements/context-map/context-map.js +94 -0
  325. package/dist/_pkgs/affine-model/elements/context-map/index.d.ts +1 -0
  326. package/dist/_pkgs/affine-model/elements/context-map/index.js +1 -0
  327. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +34 -17
  328. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +28 -26
  329. package/dist/_pkgs/affine-model/elements/edgy/board.d.ts +32 -0
  330. package/dist/_pkgs/affine-model/elements/edgy/board.js +112 -0
  331. package/dist/_pkgs/affine-model/elements/edgy/facets.d.ts +12 -0
  332. package/dist/_pkgs/affine-model/elements/edgy/facets.js +25 -1
  333. package/dist/_pkgs/affine-model/elements/edgy/index.d.ts +1 -0
  334. package/dist/_pkgs/affine-model/elements/edgy/index.js +1 -0
  335. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +36 -0
  336. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +103 -0
  337. package/dist/_pkgs/affine-model/elements/event-storming/index.d.ts +1 -0
  338. package/dist/_pkgs/affine-model/elements/event-storming/index.js +1 -0
  339. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +42 -0
  340. package/dist/_pkgs/affine-model/elements/framework-background/background.js +42 -0
  341. package/dist/_pkgs/affine-model/elements/framework-background/index.d.ts +1 -0
  342. package/dist/_pkgs/affine-model/elements/framework-background/index.js +1 -0
  343. package/dist/_pkgs/affine-model/elements/index.d.ts +14 -1
  344. package/dist/_pkgs/affine-model/elements/index.js +4 -0
  345. package/dist/_pkgs/affine-model/elements/mindmap/mindmap.js +8 -3
  346. package/dist/_pkgs/affine-model/elements/mindmap/style.d.ts +10 -0
  347. package/dist/_pkgs/affine-model/elements/mindmap/style.js +8 -0
  348. package/dist/_pkgs/affine-model/elements/shape/api/polygon.js +2 -8
  349. package/dist/_pkgs/affine-model/elements/wardley/wardley.d.ts +21 -29
  350. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
  351. package/dist/_pkgs/affine-shared/adapters/html/block-adapter.js +1 -1
  352. package/dist/_pkgs/affine-shared/adapters/markdown/block-adapter.js +1 -1
  353. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
  354. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +161 -3
  355. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -1
  356. package/dist/_pkgs/affine-shared/adapters/notion-html/block-adapter.js +1 -1
  357. package/dist/_pkgs/affine-shared/adapters/notion-html/delta-converter.js +1 -1
  358. package/dist/_pkgs/affine-shared/adapters/plain-text/block-adapter.js +1 -1
  359. package/dist/_pkgs/affine-shared/adapters/plain-text/delta-converter.js +1 -1
  360. package/dist/_pkgs/affine-shared/adapters/types/delta-converter.d.ts +1 -0
  361. package/dist/_pkgs/affine-shared/adapters/utils/color.d.ts +24 -0
  362. package/dist/_pkgs/affine-shared/adapters/utils/color.js +283 -0
  363. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  364. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  365. package/dist/_pkgs/affine-shared/commands/block-crud/get-selected-blocks.js +10 -2
  366. package/dist/_pkgs/affine-shared/commands/model-crud/draft-selected-models.js +1 -1
  367. package/dist/_pkgs/affine-shared/commands/selection/focus-block-end.js +1 -1
  368. package/dist/_pkgs/affine-shared/commands/selection/focus-block-start.js +1 -1
  369. package/dist/_pkgs/affine-shared/consts/index.d.ts +10 -0
  370. package/dist/_pkgs/affine-shared/consts/index.js +10 -0
  371. package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.d.ts +55 -0
  372. package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.js +35 -0
  373. package/dist/_pkgs/affine-shared/services/audit-service.d.ts +311 -0
  374. package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
  375. package/dist/_pkgs/affine-shared/services/command-usage-service.d.ts +31 -0
  376. package/dist/_pkgs/affine-shared/services/command-usage-service.js +109 -0
  377. package/dist/_pkgs/affine-shared/services/comment-service/block-comment-manager.js +1 -1
  378. package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +1 -1
  379. package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +7 -0
  380. package/dist/_pkgs/affine-shared/services/edit-props-store.js +11 -0
  381. package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.js +1 -1
  382. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +26 -1
  383. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.js +124 -7
  384. package/dist/_pkgs/affine-shared/services/index.d.ts +7 -0
  385. package/dist/_pkgs/affine-shared/services/index.js +7 -0
  386. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
  387. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +312 -0
  388. package/dist/_pkgs/affine-shared/services/pivot-properties-service.d.ts +217 -0
  389. package/dist/_pkgs/affine-shared/services/pivot-properties-service.js +114 -0
  390. package/dist/_pkgs/affine-shared/services/telemetry-service/code-block.d.ts +1 -1
  391. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +255 -1
  392. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  393. package/dist/_pkgs/affine-shared/services/telemetry-service/types.d.ts +6 -1
  394. package/dist/_pkgs/affine-shared/services/toolbar-service/action.d.ts +10 -0
  395. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  396. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  397. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.d.ts +134 -0
  398. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.js +146 -0
  399. package/dist/_pkgs/affine-shared/services/toolbar-service/registry.d.ts +44 -0
  400. package/dist/_pkgs/affine-shared/services/toolbar-service/registry.js +161 -3
  401. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +68 -0
  402. package/dist/_pkgs/affine-shared/services/translation-service/index.js +39 -0
  403. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +155 -0
  404. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +256 -0
  405. package/dist/_pkgs/affine-shared/test-utils/affine-template.js +1 -1
  406. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.d.ts +4 -0
  407. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.js +58 -2
  408. package/dist/_pkgs/affine-shared/utils/dom/viewport.d.ts +60 -0
  409. package/dist/_pkgs/affine-shared/utils/dom/viewport.js +58 -0
  410. package/dist/_pkgs/affine-shared/utils/edgeless.js +1 -1
  411. package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +34 -0
  412. package/dist/_pkgs/affine-shared/utils/file/filesys.js +48 -7
  413. package/dist/_pkgs/affine-shared/utils/print-to-pdf.d.ts +21 -0
  414. package/dist/_pkgs/affine-shared/utils/print-to-pdf.js +166 -32
  415. package/dist/_pkgs/affine-shared/utils/zod-schema.d.ts +7 -0
  416. package/dist/_pkgs/affine-shared/utils/zod-schema.js +25 -1
  417. package/dist/_pkgs/affine-widget-drag-handle/utils.js +1 -1
  418. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.d.ts +19 -10
  419. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.js +122 -23
  420. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.d.ts +2 -0
  421. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.js +25 -4
  422. package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +1 -1
  423. package/dist/_pkgs/affine-widget-edgeless-dragging-area/edgeless-dragging-area-rect.js +1 -1
  424. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +10 -5
  425. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.d.ts +15 -1
  426. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +37 -32
  427. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +5 -4
  428. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-selected-rect.js +19 -9
  429. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.d.ts +16 -2
  430. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +19 -2
  431. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.d.ts +14 -0
  432. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.js +40 -0
  433. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +158 -0
  434. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +572 -0
  435. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.d.ts +46 -0
  436. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.js +66 -0
  437. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.d.ts +13 -0
  438. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.js +50 -0
  439. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.d.ts +6 -0
  440. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +15 -5
  441. package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.d.ts +2 -0
  442. package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.js +2 -0
  443. package/dist/_pkgs/affine-widget-edgeless-toolbar/extension/index.d.ts +7 -0
  444. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +5 -0
  445. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +5 -0
  446. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +57 -0
  447. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +140 -0
  448. package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +9 -0
  449. package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +4 -1
  450. package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
  451. package/dist/_pkgs/affine-widget-keyboard-toolbar/keyboard-tool-panel.js +1 -1
  452. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +1 -1
  453. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +2 -15
  454. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.d.ts +10 -1
  455. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +133 -6
  456. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.d.ts +10 -0
  457. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.js +120 -3
  458. package/dist/_pkgs/affine-widget-linked-doc/utils.d.ts +12 -0
  459. package/dist/_pkgs/affine-widget-linked-doc/utils.js +33 -0
  460. package/dist/_pkgs/affine-widget-page-dragging-area/index.js +1 -1
  461. package/dist/_pkgs/affine-widget-remote-selection/doc/doc-remote-selection.js +1 -1
  462. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +6 -4
  463. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +8 -4
  464. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +9 -0
  465. package/dist/_pkgs/affine-widget-slash-menu/utils.js +24 -0
  466. package/dist/_pkgs/affine-widget-toolbar/toolbar.d.ts +6 -0
  467. package/dist/_pkgs/affine-widget-toolbar/toolbar.js +40 -8
  468. package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
  469. package/dist/_pkgs/affine-widget-toolbar/utils.js +744 -58
  470. package/dist/_pkgs/data-view/core/common/property-menu.js +3 -16
  471. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +4 -0
  472. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +28 -1
  473. package/dist/_pkgs/data-view/core/data-view.d.ts +3 -1
  474. package/dist/_pkgs/data-view/core/data-view.js +25 -3
  475. package/dist/_pkgs/data-view/core/detail/field.js +2 -2
  476. package/dist/_pkgs/data-view/core/detail/selection.d.ts +4 -2
  477. package/dist/_pkgs/data-view/core/detail/selection.js +23 -7
  478. package/dist/_pkgs/data-view/core/effect.js +2 -0
  479. package/dist/_pkgs/data-view/core/filter/eval.js +36 -23
  480. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.d.ts +7 -0
  481. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.js +12 -0
  482. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.d.ts +11 -0
  483. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.js +55 -0
  484. package/dist/_pkgs/data-view/core/group-by/define.d.ts +6 -0
  485. package/dist/_pkgs/data-view/core/group-by/define.js +114 -0
  486. package/dist/_pkgs/data-view/core/group-by/matcher.d.ts +7 -0
  487. package/dist/_pkgs/data-view/core/group-by/matcher.js +13 -0
  488. package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +11 -11
  489. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.d.ts +9 -0
  490. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.js +97 -0
  491. package/dist/_pkgs/data-view/core/group-by/setting.js +86 -7
  492. package/dist/_pkgs/data-view/core/group-by/trait.d.ts +34 -0
  493. package/dist/_pkgs/data-view/core/group-by/trait.js +106 -10
  494. package/dist/_pkgs/data-view/core/utils/menu-title.js +17 -17
  495. package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
  496. package/dist/_pkgs/data-view/property-presets/number/define.js +2 -1
  497. package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
  498. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.d.ts +70 -0
  499. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.js +449 -0
  500. package/dist/_pkgs/data-view/view-presets/calendar/define.d.ts +10 -0
  501. package/dist/_pkgs/data-view/view-presets/calendar/define.js +27 -0
  502. package/dist/_pkgs/data-view/view-presets/calendar/effect.d.ts +1 -0
  503. package/dist/_pkgs/data-view/view-presets/calendar/effect.js +4 -0
  504. package/dist/_pkgs/data-view/view-presets/calendar/index.d.ts +6 -0
  505. package/dist/_pkgs/data-view/view-presets/calendar/index.js +6 -0
  506. package/dist/_pkgs/data-view/view-presets/calendar/layout.d.ts +37 -0
  507. package/dist/_pkgs/data-view/view-presets/calendar/layout.js +138 -0
  508. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.d.ts +7 -0
  509. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.js +64 -0
  510. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.d.ts +32 -0
  511. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.js +159 -0
  512. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.d.ts +1 -0
  513. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.js +7 -0
  514. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.d.ts +1 -0
  515. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.js +28 -0
  516. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.d.ts +1 -0
  517. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.js +707 -0
  518. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.d.ts +89 -0
  519. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.js +849 -0
  520. package/dist/_pkgs/data-view/view-presets/calendar/renderer.d.ts +2 -0
  521. package/dist/_pkgs/data-view/view-presets/calendar/renderer.js +8 -0
  522. package/dist/_pkgs/data-view/view-presets/calendar/source.d.ts +8 -0
  523. package/dist/_pkgs/data-view/view-presets/calendar/source.js +3 -0
  524. package/dist/_pkgs/data-view/view-presets/calendar/types.d.ts +79 -0
  525. package/dist/_pkgs/data-view/view-presets/calendar/types.js +1 -0
  526. package/dist/_pkgs/data-view/view-presets/convert.js +28 -0
  527. package/dist/_pkgs/data-view/view-presets/effect.js +2 -0
  528. package/dist/_pkgs/data-view/view-presets/index.d.ts +2 -0
  529. package/dist/_pkgs/data-view/view-presets/index.js +3 -0
  530. package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +3 -1
  531. package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +2 -2
  532. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +18 -0
  533. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +36 -0
  534. package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +2 -2
  535. package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +11 -0
  536. package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +89 -4
  537. package/dist/_pkgs/data-view/view-presets/table/pc/cell.d.ts +3 -0
  538. package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +11 -2
  539. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.d.ts +1 -0
  540. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +39 -33
  541. package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +10 -0
  542. package/dist/_pkgs/data-view/view-presets/table/pc/group.js +86 -5
  543. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.d.ts +1 -0
  544. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +39 -33
  545. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +18 -18
  546. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.d.ts +3 -0
  547. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +8 -0
  548. package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +3 -1
  549. package/dist/_pkgs/data-view/view-presets/table/utils.d.ts +3 -0
  550. package/dist/_pkgs/data-view/view-presets/table/utils.js +16 -1
  551. package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +3 -1
  552. package/dist/_pkgs/global/gfx/curve.js +4 -3
  553. package/dist/_pkgs/std/clipboard/clipboard.js +13 -3
  554. package/dist/_pkgs/std/clipboard/utils.d.ts +5 -0
  555. package/dist/_pkgs/std/clipboard/utils.js +10 -0
  556. package/dist/_pkgs/std/event/dispatcher.js +27 -1
  557. package/dist/_pkgs/std/event/keymap.js +16 -6
  558. package/dist/_pkgs/std/extension/command-registry.d.ts +475 -0
  559. package/dist/_pkgs/std/extension/command-registry.js +431 -0
  560. package/dist/_pkgs/std/extension/dnd/index.d.ts +1 -1
  561. package/dist/_pkgs/std/extension/index.d.ts +2 -0
  562. package/dist/_pkgs/std/extension/index.js +2 -0
  563. package/dist/_pkgs/std/extension/shortcut.js +2 -1
  564. package/dist/_pkgs/std/extension/translation-manifest.d.ts +49 -0
  565. package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
  566. package/dist/_pkgs/std/gfx/grid.js +1 -1
  567. package/dist/_pkgs/std/gfx/index.d.ts +7 -3
  568. package/dist/_pkgs/std/gfx/index.js +6 -2
  569. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +6 -1
  570. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +8 -0
  571. package/dist/_pkgs/std/gfx/interactivity/manager.js +18 -0
  572. package/dist/_pkgs/std/gfx/layer.d.ts +1 -1
  573. package/dist/_pkgs/std/gfx/layer.js +1 -2
  574. package/dist/_pkgs/std/gfx/model/surface/decorators/field.js +9 -0
  575. package/dist/_pkgs/std/gfx/model/surface/decorators/index.d.ts +2 -2
  576. package/dist/_pkgs/std/gfx/model/surface/decorators/index.js +2 -2
  577. package/dist/_pkgs/std/gfx/model/surface/decorators/local.d.ts +14 -0
  578. package/dist/_pkgs/std/gfx/model/surface/decorators/local.js +22 -0
  579. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.d.ts +2 -0
  580. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.js +40 -1
  581. package/dist/_pkgs/std/gfx/model/surface/element-model.d.ts +442 -0
  582. package/dist/_pkgs/std/gfx/model/surface/element-model.js +510 -25
  583. package/dist/_pkgs/std/gfx/model/surface/pivot.d.ts +48 -0
  584. package/dist/_pkgs/std/gfx/model/surface/pivot.js +34 -0
  585. package/dist/_pkgs/std/gfx/model/surface/role.d.ts +153 -0
  586. package/dist/_pkgs/std/gfx/model/surface/role.js +117 -0
  587. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
  588. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +305 -17
  589. package/dist/_pkgs/std/gfx/model/surface/tags.d.ts +77 -0
  590. package/dist/_pkgs/std/gfx/model/surface/tags.js +246 -0
  591. package/dist/_pkgs/std/gfx/perf.d.ts +10 -0
  592. package/dist/_pkgs/std/gfx/perf.js +30 -0
  593. package/dist/_pkgs/std/gfx/selection.js +1 -1
  594. package/dist/_pkgs/std/gfx/tool/tool-controller.d.ts +13 -0
  595. package/dist/_pkgs/std/gfx/tool/tool-controller.js +26 -0
  596. package/dist/_pkgs/std/gfx/viewport.d.ts +12 -0
  597. package/dist/_pkgs/std/gfx/viewport.js +20 -2
  598. package/dist/_pkgs/std/inline/extensions/inline-manager.js +1 -1
  599. package/dist/_pkgs/std/inline/extensions/markdown-matcher.js +1 -1
  600. package/dist/_pkgs/std/inline/services/event.d.ts +2 -0
  601. package/dist/_pkgs/std/inline/services/event.js +96 -21
  602. package/dist/_pkgs/std/utils/layer.js +2 -6
  603. package/dist/_pkgs/std/utils/tree.d.ts +14 -0
  604. package/dist/_pkgs/std/utils/tree.js +59 -8
  605. package/dist/_pkgs/std/view/element/gfx-block-component.js +23 -13
  606. package/dist/_pkgs/store/extension/workspace/workspace-meta.d.ts +10 -0
  607. package/dist/_pkgs/store/model/block/flat-sync-controller.js +2 -12
  608. package/dist/_pkgs/store/model/store/crud.js +10 -4
  609. package/dist/_pkgs/store/reactive/flat-native-y/index.d.ts +1 -1
  610. package/dist/_pkgs/store/reactive/flat-native-y/index.js +24 -2
  611. package/dist/commands.d.ts +58 -0
  612. package/dist/commands.js +66 -0
  613. package/dist/extensions/command-telemetry.d.ts +21 -0
  614. package/dist/extensions/command-telemetry.js +89 -0
  615. package/dist/extensions/command-usage.d.ts +23 -0
  616. package/dist/extensions/command-usage.js +37 -0
  617. package/dist/extensions/store.d.ts +9 -4
  618. package/dist/extensions/store.js +27 -24
  619. package/dist/extensions/view.d.ts +9 -4
  620. package/dist/extensions/view.js +35 -8
  621. package/dist/flags.d.ts +98 -21
  622. package/dist/flags.js +103 -22
  623. package/dist/frameworks.d.ts +45 -0
  624. package/dist/frameworks.js +186 -0
  625. package/dist/schemas.d.ts +8 -5
  626. package/dist/schemas.js +28 -32
  627. package/dist/shortcuts.d.ts +16 -16
  628. package/dist/shortcuts.js +8 -36
  629. package/dist/translations.d.ts +56 -0
  630. package/dist/translations.js +200 -0
  631. package/package.json +16 -4
  632. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.d.ts +0 -8
  633. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.js +0 -48
  634. package/dist/_pkgs/affine-gfx-shape/shortcuts.d.ts +0 -6
  635. package/dist/_pkgs/affine-gfx-shape/shortcuts.js +0 -28
  636. package/dist/_pkgs/data-view/core/utils/cache.d.ts +0 -5
  637. package/dist/_pkgs/data-view/core/utils/cache.js +0 -28
@@ -17,6 +17,7 @@ export declare class OpenDocDropdownMenu extends OpenDocDropdownMenu_base {
17
17
  when?: ((cx: ToolbarContext) => boolean) | boolean;
18
18
  active?: ((cx: ToolbarContext) => boolean) | boolean;
19
19
  placement?: import("../../affine-shared/services/index.js").ActionPlacement;
20
+ priority?: number;
20
21
  } & {
21
22
  label?: string;
22
23
  showLabel?: boolean;
@@ -1,7 +1,7 @@
1
1
  import { NoteBlockModel } from '../../affine-model/index.js';
2
2
  import { DocModeProvider } from '../../affine-shared/services/index.js';
3
3
  import { isInsideEdgelessEditor, matchModels, } from '../../affine-shared/utils/index.js';
4
- import { GfxBlockElementModel, GfxControllerIdentifier, } from '../../std/gfx/index.js';
4
+ import { GfxBlockElementModel, GfxControllerIdentifier } from '../../std/gfx/index.js';
5
5
  import { PeekableController } from './controller.js';
6
6
  const symbol = Symbol('peekable');
7
7
  export const isPeekable = (e) => {
@@ -17,7 +17,7 @@ import { LitElement, type TemplateResult } from 'lit';
17
17
  */
18
18
  export declare class Portal extends LitElement {
19
19
  private _portalRoot;
20
- createRenderRoot(): ShadowRoot | HTMLDivElement;
20
+ createRenderRoot(): HTMLDivElement | ShadowRoot;
21
21
  disconnectedCallback(): void;
22
22
  render(): TemplateResult | undefined;
23
23
  accessor container: HTMLElement;
@@ -3,6 +3,7 @@ export { ToolbarMoreMenuConfigExtension } from './config.js';
3
3
  export { EditorIconButton } from './icon-button.js';
4
4
  export { EditorMenuAction, EditorMenuButton, EditorMenuContent, } from './menu-button.js';
5
5
  export { MenuContext } from './menu-context.js';
6
+ export { type PickerMenu, type PickerMenuItem, renderCurrentPickerItemWith, renderPickerMenu, renderPickerMenuItems, } from './picker-menu.js';
6
7
  export { EditorToolbarSeparator } from './separator.js';
7
8
  export { darkToolbarStyles, lightToolbarStyles } from './styles.js';
8
9
  export { EditorToolbar } from './toolbar.js';
@@ -8,6 +8,7 @@ export { ToolbarMoreMenuConfigExtension } from './config.js';
8
8
  export { EditorIconButton } from './icon-button.js';
9
9
  export { EditorMenuAction, EditorMenuButton, EditorMenuContent, } from './menu-button.js';
10
10
  export { MenuContext } from './menu-context.js';
11
+ export { renderCurrentPickerItemWith, renderPickerMenu, renderPickerMenuItems, } from './picker-menu.js';
11
12
  export { EditorToolbarSeparator } from './separator.js';
12
13
  export { darkToolbarStyles, lightToolbarStyles } from './styles.js';
13
14
  export { EditorToolbar } from './toolbar.js';
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { panelBaseStyle, scrollbarStyle, } from '../../affine-shared/styles/index.js';
35
+ import { panelBaseStyle, scrollbarStyle } from '../../affine-shared/styles/index.js';
36
36
  import { createButtonPopper, } from '../../affine-shared/utils/index.js';
37
37
  import { WithDisposable } from '../../global/lit/index.js';
38
38
  import { css, html, LitElement, } from 'lit';
@@ -235,6 +235,7 @@ export class EditorMenuAction extends LitElement {
235
235
  color: var(--affine-text-primary-color);
236
236
  font-weight: 400;
237
237
  min-height: 30px; // 22 + 8
238
+ user-select: none;
238
239
  }
239
240
 
240
241
  :host(:hover),
@@ -0,0 +1,55 @@
1
+ import { type TemplateResult } from 'lit';
2
+ /**
3
+ * The **one-of-many picker** every toolbar in this editor uses: a chevron
4
+ * button that opens a row of icons, one of which is lit because it is what the
5
+ * selection currently is.
6
+ *
7
+ * "Switch shape type" is the one everybody knows; the framework morph dropdown
8
+ * is the same object. It lives HERE, in the shared component package, and not
9
+ * where it was first written (`@labre/affine-widget-edgeless-toolbar`) for a
10
+ * dependency reason that is not going away: that widget package depends on
11
+ * `@labre/affine-block-surface`, so nothing in the surface package — which is
12
+ * where the generic, framework-parameterized toolbar modules live — can import
13
+ * from it without closing a cycle. This package is below both, which is why the
14
+ * toolbar's buttons, its menu shells and its chevron already live here.
15
+ *
16
+ * The edgeless-toolbar copy is deliberately untouched by the change that added
17
+ * this file: it is what the shape toolbar and its neighbours already call, and
18
+ * collapsing the two is a follow-up whose blast radius is every shape entry in
19
+ * the editor rather than one new dropdown. Until then the two are the same
20
+ * markup twice — knowingly, and named here so the follow-up is findable.
21
+ *
22
+ * ## Names
23
+ *
24
+ * `PickerMenu` / `PickerMenuItem` rather than `Menu` / `MenuItem`: this package
25
+ * already exports a `MenuItem`, and it is a different thing entirely (a line in
26
+ * the "⋮" overflow menu, with a label and an action). Two types called
27
+ * `MenuItem` in one entry point is a trap, not a convenience.
28
+ */
29
+ /** One option: what it is worth, what it looks like, what it is called. */
30
+ export type PickerMenuItem<T> = {
31
+ /** Tooltip and accessible name. */
32
+ key?: string;
33
+ value: T;
34
+ icon?: TemplateResult;
35
+ disabled?: boolean;
36
+ };
37
+ export type PickerMenu<T> = {
38
+ label: string;
39
+ icon?: TemplateResult;
40
+ tooltip?: string;
41
+ items: PickerMenuItem<T>[];
42
+ currentValue: T;
43
+ onPick: (value: T) => void;
44
+ /**
45
+ * `data-testid` for the host element and, suffixed with `-option`, for each
46
+ * line. Optional: the shape toolbar's picker has never needed one, and a
47
+ * framework module that wants to be reachable from an integration spec says
48
+ * so rather than making every caller carry an attribute it does not use.
49
+ */
50
+ testId?: string;
51
+ };
52
+ /** The field of the item that currently matches — its icon, usually. */
53
+ export declare function renderCurrentPickerItemWith<T, F extends keyof PickerMenuItem<T>>(items: PickerMenuItem<T>[], currentValue: T, field: F): PickerMenuItem<T>[F] | undefined;
54
+ export declare function renderPickerMenu<T>({ label, tooltip, icon, items, currentValue, onPick, testId, }: PickerMenu<T>): TemplateResult<1>;
55
+ export declare function renderPickerMenuItems<T>(items: PickerMenuItem<T>[], currentValue: T, onPick: (value: T) => void, testId?: string): unknown;
@@ -0,0 +1,47 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit/directives/if-defined.js';
3
+ import { repeat } from 'lit/directives/repeat.js';
4
+ import { EditorChevronDown } from './chevron-down.js';
5
+ /** The field of the item that currently matches — its icon, usually. */
6
+ export function renderCurrentPickerItemWith(items, currentValue, field) {
7
+ return items.find(({ value }) => value === currentValue)?.[field];
8
+ }
9
+ export function renderPickerMenu({ label, tooltip, icon, items, currentValue, onPick, testId, }) {
10
+ return html `
11
+ <editor-menu-button
12
+ data-testid=${ifDefined(testId)}
13
+ aria-label="${`${label.toLowerCase()}-menu`}"
14
+ .button=${html `
15
+ <editor-icon-button
16
+ data-testid=${ifDefined(testId ? `${testId}-button` : undefined)}
17
+ aria-label="${label}"
18
+ .tooltip="${tooltip ?? label}"
19
+ >
20
+ ${icon ?? renderCurrentPickerItemWith(items, currentValue, 'icon')}
21
+ ${EditorChevronDown}
22
+ </editor-icon-button>
23
+ `}
24
+ >
25
+ ${renderPickerMenuItems(items, currentValue, onPick, testId)}
26
+ </editor-menu-button>
27
+ `;
28
+ }
29
+ export function renderPickerMenuItems(items, currentValue, onPick, testId) {
30
+ // Keyed by `value`: the option list is rebuilt on every selection change, and
31
+ // an unkeyed repeat would recycle one kind's button into another's rather
32
+ // than moving it — which is what makes an icon and its tooltip disagree.
33
+ return repeat(items, item => item.value, ({ key, value, icon, disabled }) => html `
34
+ <editor-icon-button
35
+ data-testid=${ifDefined(testId ? `${testId}-option` : undefined)}
36
+ data-value=${ifDefined(typeof value === 'string' ? value : undefined)}
37
+ aria-label="${ifDefined(key)}"
38
+ .disabled=${ifDefined(disabled)}
39
+ .tooltip="${ifDefined(key)}"
40
+ .active="${currentValue === value}"
41
+ .activeMode="${'background'}"
42
+ @click=${() => onPick(value)}
43
+ >
44
+ ${icon}
45
+ </editor-icon-button>
46
+ `);
47
+ }
@@ -6,14 +6,13 @@ export class EditorToolbar extends WithDisposable(LitElement) {
6
6
  static { this.styles = css `
7
7
  ${panelBaseStyle(':host')}
8
8
  :host {
9
- min-height: 36px;
9
+ /* ONE line, always: the toolbar's height never depends on the selection,
10
+ so it never moves under the cursor. When the row runs out of room the
11
+ widget spends its entries — icon only first, then into the "⋮" menu —
12
+ rather than growing a second row (PO arbitration of 02/08/2026). */
13
+ height: 36px;
10
14
  box-sizing: content-box;
11
- /* ponytail: wrap to a second row instead of overflowing on mobile. The
12
- width is capped to availableWidth by floating-ui's size middleware;
13
- wrapping (not scrolling) keeps the "More" dropdown clickable — it is a
14
- descendant of this toolbar, so an overflow container would clip it. */
15
- flex-wrap: wrap;
16
- row-gap: 4px;
15
+ flex-wrap: nowrap;
17
16
  }
18
17
 
19
18
  :host([data-without-bg]) {
@@ -24,9 +23,11 @@ export class EditorToolbar extends WithDisposable(LitElement) {
24
23
 
25
24
  ::slotted(*) {
26
25
  display: flex;
27
- /* fixed row height (not 100%) so each item stays one row tall when the
28
- toolbar wraps to multiple rows */
29
- height: 36px;
26
+ height: 100%;
27
+ /* Entries keep their natural width: squashing them into the row would
28
+ hide the overflow the widget has to measure, and a button squeezed to
29
+ half a word is worse than the same button in the "⋮" menu. */
30
+ flex-shrink: 0;
30
31
  justify-content: center;
31
32
  align-items: center;
32
33
  gap: 8px;
@@ -1,7 +1,7 @@
1
1
  import { FileDropExtension } from '../affine-components/drop-indicator/index.js';
2
2
  import { PeekViewExtension, } from '../affine-components/peek/index.js';
3
3
  import { ViewExtensionProvider, } from '../affine-ext-loader/index.js';
4
- import { AutoClearSelectionService, BlockCommentManager, BlockLifecycleTelemetryWatcher, CitationService, DefaultOpenDocExtension, DNDAPIExtension, DocDisplayMetaService, DocModeService, EditPropsStore, EmbedOptionService, FileSizeLimitService, FontConfigExtension, fontConfigSchema, FontLoaderService, LinkPreviewCache, LinkPreviewCacheConfigSchema, LinkPreviewCacheExtension, LinkPreviewService, PageViewportServiceExtension, TelemetryExtension, ThemeService, ToolbarRegistryExtension, } from '../affine-shared/services/index.js';
4
+ import { AutoClearSelectionService, BlockCommentManager, BlockLifecycleTelemetryWatcher, CitationService, DefaultOpenDocExtension, DNDAPIExtension, DocDisplayMetaService, DocModeService, EditPropsStore, EmbedOptionService, FileSizeLimitService, FontConfigExtension, fontConfigSchema, FontLoaderService, LinkPreviewCache, LinkPreviewCacheConfigSchema, LinkPreviewCacheExtension, LinkPreviewService, PageViewportServiceExtension, PivotMaterialityPublisher, TelemetryExtension, ThemeService, ToolbarRegistryExtension, } from '../affine-shared/services/index.js';
5
5
  import { InteractivityManager, ToolController } from '../std/gfx/index.js';
6
6
  import { z } from 'zod';
7
7
  import { clipboardConfigs } from './clipboard.js';
@@ -47,7 +47,16 @@ export class FoundationViewExtension extends ViewExtensionProvider {
47
47
  ]);
48
48
  context.register(clipboardConfigs);
49
49
  if (this.isEdgeless(context.scope)) {
50
- context.register([InteractivityManager, ToolController]);
50
+ context.register([
51
+ InteractivityManager,
52
+ ToolController,
53
+ // Inert without a host `PivotPropertiesProvider` that implements the
54
+ // write-back; see ADR 0006 § 4. NOT flag-gated: reflecting a bound
55
+ // element's qualification onto its record is a property of the
56
+ // document, not a piece of framework tooling, and it must keep working
57
+ // for a board whose framework flag is off.
58
+ PivotMaterialityPublisher,
59
+ ]);
51
60
  }
52
61
  const fontConfig = options?.fontConfig;
53
62
  if (fontConfig) {
@@ -33,12 +33,12 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  return useValue ? value : void 0;
34
34
  };
35
35
  import { EdgelessFrameManager } from '../../affine-block-frame/index.js';
36
- import { DocModeProvider, EditPropsStore, } from '../../affine-shared/services/index.js';
36
+ import { DocModeProvider, EditPropsStore } from '../../affine-shared/services/index.js';
37
37
  import { DisposableGroup } from '../../global/disposable/index.js';
38
38
  import { Bound } from '../../global/gfx/index.js';
39
39
  import { SignalWatcher, WithDisposable } from '../../global/lit/index.js';
40
40
  import { ShadowlessElement } from '../../std/index.js';
41
- import { generateKeyBetweenV2, GfxControllerIdentifier, } from '../../std/gfx/index.js';
41
+ import { generateKeyBetweenV2, GfxControllerIdentifier } from '../../std/gfx/index.js';
42
42
  import { css, html, nothing } from 'lit';
43
43
  import { property, query, state } from 'lit/decorators.js';
44
44
  import { keyed } from 'lit/directives/keyed.js';
@@ -32,9 +32,9 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { PresentTool, } from '../../affine-block-frame/index.js';
35
+ import { PresentTool } from '../../affine-block-frame/index.js';
36
36
  import { EdgelessLegacySlotIdentifier } from '../../affine-block-surface/index.js';
37
- import { DocModeProvider, EditPropsStore, } from '../../affine-shared/services/index.js';
37
+ import { DocModeProvider, EditPropsStore } from '../../affine-shared/services/index.js';
38
38
  import { createButtonPopper } from '../../affine-shared/utils/index.js';
39
39
  import { DisposableGroup } from '../../global/disposable/index.js';
40
40
  import { WithDisposable } from '../../global/lit/index.js';
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  return useValue ? value : void 0;
34
34
  };
35
35
  import { EdgelessLegacySlotIdentifier } from '../../affine-block-surface/index.js';
36
- import { DocModeProvider, EditPropsStore, } from '../../affine-shared/services/index.js';
36
+ import { DocModeProvider, EditPropsStore } from '../../affine-shared/services/index.js';
37
37
  import { WithDisposable } from '../../global/lit/index.js';
38
38
  import { css, html, LitElement } from 'lit';
39
39
  import { property, state } from 'lit/decorators.js';
@@ -37,7 +37,7 @@ import { DocModeProvider } from '../affine-shared/services/index.js';
37
37
  import { unsafeCSSVarV2 } from '../affine-shared/theme/index.js';
38
38
  import { matchModels } from '../affine-shared/utils/index.js';
39
39
  import { SignalWatcher, WithDisposable } from '../global/lit/index.js';
40
- import { PropTypes, requiredProperties, } from '../std/index.js';
40
+ import { PropTypes, requiredProperties } from '../std/index.js';
41
41
  import { signal } from '@preact/signals-core';
42
42
  import { css, html, LitElement, nothing } from 'lit';
43
43
  import { property } from 'lit/decorators.js';
@@ -3,5 +3,6 @@ export * from './brush-tool.js';
3
3
  export * from './element-renderer.js';
4
4
  export * from './eraser-tool.js';
5
5
  export * from './highlighter-tool.js';
6
+ export * from './renderer/index.js';
6
7
  export * from './toolbar/configs/index.js';
7
8
  export * from './toolbar/senior-tool.js';
@@ -3,5 +3,6 @@ export * from './brush-tool.js';
3
3
  export * from './element-renderer.js';
4
4
  export * from './eraser-tool.js';
5
5
  export * from './highlighter-tool.js';
6
+ export * from './renderer/index.js';
6
7
  export * from './toolbar/configs/index.js';
7
8
  export * from './toolbar/senior-tool.js';
@@ -0,0 +1 @@
1
+ export declare const BrushDomRendererExtension: import("../../../store/index.js").ExtensionType;
@@ -0,0 +1,11 @@
1
+ import { DomElementRendererExtension, } from '../../../affine-block-surface/index.js';
2
+ import { DefaultTheme } from '../../../affine-model/index.js';
3
+ import { renderBrushLikeDom } from './shared.js';
4
+ export const BrushDomRendererExtension = DomElementRendererExtension('brush', (model, domElement, renderer) => {
5
+ renderBrushLikeDom({
6
+ model,
7
+ domElement,
8
+ renderer,
9
+ color: renderer.getColorValue(model.color, DefaultTheme.black, true),
10
+ });
11
+ });
@@ -0,0 +1 @@
1
+ export declare const HighlighterDomRendererExtension: import("../../../store/index.js").ExtensionType;
@@ -0,0 +1,11 @@
1
+ import { DomElementRendererExtension, } from '../../../affine-block-surface/index.js';
2
+ import { DefaultTheme } from '../../../affine-model/index.js';
3
+ import { renderBrushLikeDom } from './shared.js';
4
+ export const HighlighterDomRendererExtension = DomElementRendererExtension('highlighter', (model, domElement, renderer) => {
5
+ renderBrushLikeDom({
6
+ model,
7
+ domElement,
8
+ renderer,
9
+ color: renderer.getColorValue(model.color, DefaultTheme.hightlighterColor, true),
10
+ });
11
+ });
@@ -0,0 +1,2 @@
1
+ export { BrushDomRendererExtension } from './brush.js';
2
+ export { HighlighterDomRendererExtension } from './highlighter.js';
@@ -0,0 +1,2 @@
1
+ export { BrushDomRendererExtension } from './brush.js';
2
+ export { HighlighterDomRendererExtension } from './highlighter.js';
@@ -0,0 +1,14 @@
1
+ import type { DomRenderer } from '../../../affine-block-surface/index.js';
2
+ import type { BrushElementModel, HighlighterElementModel } from '../../../affine-model/index.js';
3
+ type BrushLikeModel = BrushElementModel | HighlighterElementModel;
4
+ /**
5
+ * Paints a brush or highlighter stroke into its host element. The z-index is
6
+ * owned by `DomRenderer`, which reads it from the layer manager.
7
+ */
8
+ export declare function renderBrushLikeDom({ color, domElement, model, renderer, }: {
9
+ color: string;
10
+ domElement: HTMLElement;
11
+ model: BrushLikeModel;
12
+ renderer: DomRenderer;
13
+ }): void;
14
+ export {};
@@ -0,0 +1,54 @@
1
+ const SVG_NS = 'http://www.w3.org/2000/svg';
2
+ /**
3
+ * The nodes a stroke host already owns, kept across renders. Rebuilding the
4
+ * `<svg>` on every frame allocated one element per stroke per pan or zoom;
5
+ * the attributes are cheap to overwrite in place.
6
+ */
7
+ const retainedBrushDom = new WeakMap();
8
+ function clearBrushLikeDom(domElement) {
9
+ retainedBrushDom.delete(domElement);
10
+ domElement.replaceChildren();
11
+ }
12
+ function getRetainedBrushDom(domElement) {
13
+ const existing = retainedBrushDom.get(domElement);
14
+ if (existing) {
15
+ return existing;
16
+ }
17
+ const svg = document.createElementNS(SVG_NS, 'svg');
18
+ svg.style.position = 'absolute';
19
+ svg.style.left = '0';
20
+ svg.style.top = '0';
21
+ svg.style.overflow = 'visible';
22
+ svg.style.pointerEvents = 'none';
23
+ const path = document.createElementNS(SVG_NS, 'path');
24
+ path.setAttribute('stroke', 'none');
25
+ svg.append(path);
26
+ const retained = { svg, path };
27
+ retainedBrushDom.set(domElement, retained);
28
+ domElement.replaceChildren(svg);
29
+ return retained;
30
+ }
31
+ /**
32
+ * Paints a brush or highlighter stroke into its host element. The z-index is
33
+ * owned by `DomRenderer`, which reads it from the layer manager.
34
+ */
35
+ export function renderBrushLikeDom({ color, domElement, model, renderer, }) {
36
+ const { zoom } = renderer.viewport;
37
+ const [, , w, h] = model.deserializedXYWH;
38
+ if (w <= 0 || h <= 0 || !model.commands) {
39
+ clearBrushLikeDom(domElement);
40
+ return;
41
+ }
42
+ const { path, svg } = getRetainedBrushDom(domElement);
43
+ svg.style.width = `${w * zoom}px`;
44
+ svg.style.height = `${h * zoom}px`;
45
+ svg.style.transform = model.rotate === 0 ? '' : `rotate(${model.rotate}deg)`;
46
+ svg.style.transformOrigin = model.rotate === 0 ? '' : 'center';
47
+ svg.setAttribute('viewBox', `0 0 ${w} ${h}`);
48
+ path.setAttribute('d', model.commands);
49
+ path.setAttribute('fill', color);
50
+ domElement.style.width = `${w * zoom}px`;
51
+ domElement.style.height = `${h * zoom}px`;
52
+ domElement.style.overflow = 'visible';
53
+ domElement.style.pointerEvents = 'none';
54
+ }
@@ -0,0 +1 @@
1
+ export * from './dom/index.js';
@@ -0,0 +1,4 @@
1
+ // The canvas (2d context) renderers still live in `../element-renderer.ts`
2
+ // (brush) and in `@labre/affine-gfx-shape` (highlighter); only the DOM
3
+ // variants are collected here.
4
+ export * from './dom/index.js';
@@ -1,5 +1,5 @@
1
1
  import { keepColor } from '../../../../affine-components/color-picker/index.js';
2
- import { EditPropsStore, ThemeProvider, } from '../../../../affine-shared/services/index.js';
2
+ import { EditPropsStore, ThemeProvider } from '../../../../affine-shared/services/index.js';
3
3
  import { EdgelessToolbarToolMixin } from '../../../../affine-widget-edgeless-toolbar/index.js';
4
4
  import { SignalWatcher } from '../../../../global/lit/index.js';
5
5
  import { computed, signal } from '@preact/signals-core';
@@ -1,4 +1,18 @@
1
1
  import { type ViewExtensionContext, ViewExtensionProvider } from '../affine-ext-loader/index.js';
2
+ /**
3
+ * Brush / highlighter rendering — ALWAYS registered, independent of any flag.
4
+ * Disabling `brush` hides only the pen senior button and the tools it opens
5
+ * (see {@link BrushViewExtension}); strokes already drawn must still paint,
6
+ * stay selectable and keep their contextual toolbar. See `docs/adr/0009`.
7
+ */
8
+ export declare class BrushRenderViewExtension extends ViewExtensionProvider {
9
+ name: string;
10
+ setup(context: ViewExtensionContext): void;
11
+ }
12
+ /**
13
+ * Pen creation tooling — flag-gated (`brush`): the senior toolbar button and
14
+ * the brush / highlighter / eraser tools it opens.
15
+ */
2
16
  export declare class BrushViewExtension extends ViewExtensionProvider {
3
17
  name: string;
4
18
  effect(): void;
@@ -4,8 +4,36 @@ import { effects } from './effects.js';
4
4
  import { BrushElementRendererExtension } from './element-renderer.js';
5
5
  import { EraserTool } from './eraser-tool.js';
6
6
  import { HighlighterTool } from './highlighter-tool.js';
7
+ import { BrushDomRendererExtension, HighlighterDomRendererExtension, } from './renderer/index.js';
7
8
  import { brushToolbarExtension, highlighterToolbarExtension, } from './toolbar/configs/index.js';
8
9
  import { penSeniorTool } from './toolbar/senior-tool.js';
10
+ /**
11
+ * Brush / highlighter rendering — ALWAYS registered, independent of any flag.
12
+ * Disabling `brush` hides only the pen senior button and the tools it opens
13
+ * (see {@link BrushViewExtension}); strokes already drawn must still paint,
14
+ * stay selectable and keep their contextual toolbar. See `docs/adr/0009`.
15
+ */
16
+ export class BrushRenderViewExtension extends ViewExtensionProvider {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.name = 'affine-brush-render-gfx';
20
+ }
21
+ setup(context) {
22
+ super.setup(context);
23
+ context.register(BrushElementRendererExtension);
24
+ // DOM variants of the same two strokes. The canvas renderer for the
25
+ // highlighter still ships with `@labre/affine-gfx-shape`; both providers
26
+ // are always-on, so the pair stays complete whatever the `brush` flag says.
27
+ context.register(BrushDomRendererExtension);
28
+ context.register(HighlighterDomRendererExtension);
29
+ context.register(brushToolbarExtension);
30
+ context.register(highlighterToolbarExtension);
31
+ }
32
+ }
33
+ /**
34
+ * Pen creation tooling — flag-gated (`brush`): the senior toolbar button and
35
+ * the brush / highlighter / eraser tools it opens.
36
+ */
9
37
  export class BrushViewExtension extends ViewExtensionProvider {
10
38
  constructor() {
11
39
  super(...arguments);
@@ -13,6 +41,7 @@ export class BrushViewExtension extends ViewExtensionProvider {
13
41
  }
14
42
  effect() {
15
43
  super.effect();
44
+ // Defines the pen/eraser tool buttons and the pen menu — tooling only.
16
45
  effects();
17
46
  }
18
47
  setup(context) {
@@ -20,9 +49,6 @@ export class BrushViewExtension extends ViewExtensionProvider {
20
49
  context.register(BrushTool);
21
50
  context.register(EraserTool);
22
51
  context.register(HighlighterTool);
23
- context.register(BrushElementRendererExtension);
24
- context.register(brushToolbarExtension);
25
- context.register(highlighterToolbarExtension);
26
52
  context.register(penSeniorTool);
27
53
  }
28
54
  }
@@ -1,6 +1,6 @@
1
1
  import { AStarRunner, Overlay } from '../affine-block-surface/index.js';
2
2
  import { ConnectorElementModel, ConnectorMode, DEFAULT_POLYGON_VERTICES, GroupElementModel, ShapeElementModel, ShapeType, } from '../affine-model/index.js';
3
- import { EditPropsStore, ThemeProvider, } from '../affine-shared/services/index.js';
3
+ import { EditPropsStore, ThemeProvider } from '../affine-shared/services/index.js';
4
4
  import { BlockSuiteError } from '../global/exceptions/index.js';
5
5
  import { almostEqual, Bound, getBezierCurveBoundingBox, getBezierParameters, getBoundFromPoints, getBoundWithRotation, getPointFromBoundsWithRotation, isOverlap, isVecZero, lineIntersects, PI2, PointLocation, polygonCentroid, sign, toRadian, Vec, } from '../global/gfx/index.js';
6
6
  import { assertType } from '../global/utils/index.js';
@@ -212,11 +212,12 @@ export function getAnchors(ele, includeCenterAnchor = true) {
212
212
  // getLineIntersections.
213
213
  if (ele.centerAnchorOnly) {
214
214
  const centerPoint = getPointFromBoundsWithRotation({ ...bound, rotate }, bound.center);
215
- return [{ point: new PointLocation(centerPoint), coord: [0.5, 0.5] }];
215
+ return [
216
+ { point: new PointLocation(centerPoint), coord: [0.5, 0.5] },
217
+ ];
216
218
  }
217
219
  // For polygon shapes, generate anchors at each vertex and edge midpoint
218
- if (ele instanceof ShapeElementModel &&
219
- ele.shapeType === ShapeType.Polygon) {
220
+ if (ele instanceof ShapeElementModel && ele.shapeType === ShapeType.Polygon) {
220
221
  const verts = ele.vertices ?? DEFAULT_POLYGON_VERTICES;
221
222
  for (let i = 0; i < verts.length; i++) {
222
223
  const curr = verts[i];
@@ -240,10 +241,7 @@ export function getAnchors(ele, includeCenterAnchor = true) {
240
241
  coord: vertCoord,
241
242
  });
242
243
  // --- Edge midpoint anchor ---
243
- const midCoord = [
244
- (curr[0] + next[0]) / 2,
245
- (curr[1] + next[1]) / 2,
246
- ];
244
+ const midCoord = [(curr[0] + next[0]) / 2, (curr[1] + next[1]) / 2];
247
245
  const midAbs = [
248
246
  bound.x + midCoord[0] * bound.w,
249
247
  bound.y + midCoord[1] * bound.h,
@@ -985,6 +983,17 @@ export class ConnectorPathGenerator extends PathGenerator {
985
983
  getElementById: elementGetter ?? (() => null),
986
984
  });
987
985
  const points = path ?? instance._generateConnectorPath(connector) ?? [];
986
+ // Degraded state: no resolvable endpoints (an endpoint references a
987
+ // missing element and has no fallback position). Keep the last bound and
988
+ // paint nothing rather than derive a bbox from an empty point set.
989
+ if (points.length === 0) {
990
+ if (connector.path.length > 0) {
991
+ connector.updatingPath = true;
992
+ connector.path = [];
993
+ connector.updatingPath = false;
994
+ }
995
+ return;
996
+ }
988
997
  const bound = connector.mode === ConnectorMode.Curve
989
998
  ? getBezierCurveBoundingBox(getBezierParameters(points))
990
999
  : getBoundFromPoints(points);
@@ -1052,6 +1061,11 @@ export class ConnectorPathGenerator extends PathGenerator {
1052
1061
  const start = this._getConnectorEndElement(connector, 'source');
1053
1062
  const end = this._getConnectorEndElement(connector, 'target');
1054
1063
  const [startPoint, endPoint] = this._computeStartEndPoint(connector);
1064
+ // _computeStartEndPoint returns [] when an endpoint cannot be resolved
1065
+ // (e.g. its element is gone and no position is stored) — bail out
1066
+ // instead of feeding undefined points to the orthogonal router.
1067
+ if (!startPoint || !endPoint)
1068
+ return [];
1055
1069
  const startBound = start
1056
1070
  ? Bound.from(getBoundWithRotation(rBound(start)))
1057
1071
  : null;
@@ -1076,9 +1090,12 @@ export class ConnectorPathGenerator extends PathGenerator {
1076
1090
  let startPoint = null;
1077
1091
  let endPoint = null;
1078
1092
  if (source.id || target.id) {
1079
- if (!source.position && !target.position) {
1080
- const start = this._getConnectorEndElement(connector, 'source');
1081
- const end = this._getConnectorEndElement(connector, 'target');
1093
+ const start = this._getConnectorEndElement(connector, 'source');
1094
+ const end = this._getConnectorEndElement(connector, 'target');
1095
+ // An endpoint id may reference an element that no longer exists.
1096
+ // Only take the anchor-to-anchor shortcut when both resolve; otherwise
1097
+ // degrade through _getConnectionPoint (stored position or empty path).
1098
+ if (start && end && !source.position && !target.position) {
1082
1099
  const sb = Bound.deserialize(start.xywh);
1083
1100
  const eb = Bound.deserialize(end.xywh);
1084
1101
  startPoint = getNearestConnectableAnchor(start, eb.center);
@@ -1150,9 +1167,16 @@ export class ConnectorPathGenerator extends PathGenerator {
1150
1167
  }
1151
1168
  _generateStraightConnectorPath(connector) {
1152
1169
  const { source, target } = connector;
1153
- if (source.id && !source.position && target.id && !target.position) {
1154
- const start = this._getConnectorEndElement(connector, 'source');
1155
- const end = this._getConnectorEndElement(connector, 'target');
1170
+ const start = this._getConnectorEndElement(connector, 'source');
1171
+ const end = this._getConnectorEndElement(connector, 'target');
1172
+ // Same degraded state as in _generateCurveConnectorPath: an endpoint id
1173
+ // whose element is gone falls through to _getConnectionPoint.
1174
+ if (source.id &&
1175
+ !source.position &&
1176
+ target.id &&
1177
+ !target.position &&
1178
+ start &&
1179
+ end) {
1156
1180
  const sb = Bound.deserialize(start.xywh);
1157
1181
  const eb = Bound.deserialize(end.xywh);
1158
1182
  const startPoint = getNearestConnectableAnchor(start, eb.center);
@@ -1215,8 +1239,7 @@ export class ConnectorPathGenerator extends PathGenerator {
1215
1239
  _isPointAtShapeCenter(connectable, point) {
1216
1240
  const bound = Bound.deserialize(connectable.xywh);
1217
1241
  const center = getPointFromBoundsWithRotation({ ...bound, rotate: connectable.rotate }, bound.center);
1218
- return (almostEqual(point[0], center[0], 1) &&
1219
- almostEqual(point[1], center[1], 1));
1242
+ return (almostEqual(point[0], center[0], 1) && almostEqual(point[1], center[1], 1));
1220
1243
  }
1221
1244
  _getConnectionPoint(connector, type) {
1222
1245
  const connection = connector[type];