@formicoidea/labre-core 0.31.0 → 0.32.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 (483) hide show
  1. package/dist/_pkgs/affine-block-callout/callout-block.d.ts +6 -0
  2. package/dist/_pkgs/affine-block-callout/callout-block.js +25 -3
  3. package/dist/_pkgs/affine-block-callout/callout-keymap.js +59 -19
  4. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.d.ts +20 -0
  5. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.js +60 -0
  6. package/dist/_pkgs/affine-block-callout/commands/split-callout.d.ts +17 -0
  7. package/dist/_pkgs/affine-block-callout/commands/split-callout.js +42 -0
  8. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +9 -6
  9. package/dist/_pkgs/affine-block-callout/emoji-margin.d.ts +9 -0
  10. package/dist/_pkgs/affine-block-callout/emoji-margin.js +36 -0
  11. package/dist/_pkgs/affine-block-callout/emoji-menu.d.ts +5 -1
  12. package/dist/_pkgs/affine-block-callout/emoji-menu.js +5 -0
  13. package/dist/_pkgs/affine-block-code/code-block.d.ts +14 -0
  14. package/dist/_pkgs/affine-block-code/code-block.js +44 -6
  15. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.d.ts +2 -0
  16. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +23 -14
  17. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.d.ts +16 -0
  18. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.js +93 -0
  19. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +52 -5
  20. package/dist/_pkgs/affine-block-code/effects.d.ts +2 -0
  21. package/dist/_pkgs/affine-block-code/effects.js +2 -0
  22. package/dist/_pkgs/affine-block-code/highlight/affine-code-unit.js +6 -1
  23. package/dist/_pkgs/affine-block-code/index.d.ts +1 -0
  24. package/dist/_pkgs/affine-block-code/index.js +1 -0
  25. package/dist/_pkgs/affine-block-code/line-numbers.d.ts +25 -0
  26. package/dist/_pkgs/affine-block-code/line-numbers.js +27 -0
  27. package/dist/_pkgs/affine-block-code/styles.js +31 -0
  28. package/dist/_pkgs/affine-block-data-view/data-view-block.js +1 -0
  29. package/dist/_pkgs/affine-block-database/components/title/index.js +4 -1
  30. package/dist/_pkgs/affine-block-database/configs/slash-menu.js +28 -1
  31. package/dist/_pkgs/affine-block-database/database-block.js +13 -0
  32. package/dist/_pkgs/affine-block-database/properties/paste-url.d.ts +24 -0
  33. package/dist/_pkgs/affine-block-database/properties/paste-url.js +98 -0
  34. package/dist/_pkgs/affine-block-database/properties/rich-text/cell-renderer.js +9 -19
  35. package/dist/_pkgs/affine-block-database/properties/title/text.js +20 -25
  36. package/dist/_pkgs/affine-block-database/views/index.js +1 -0
  37. package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +10 -0
  38. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.d.ts +3 -0
  39. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +48 -1
  40. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.d.ts +17 -0
  41. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.js +24 -0
  42. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.d.ts +9 -0
  43. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.js +10 -0
  44. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +8 -4
  45. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts +4 -0
  46. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +22 -3
  47. package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
  48. package/dist/_pkgs/affine-block-frame/frame-manager.js +32 -2
  49. package/dist/_pkgs/affine-block-latex/styles.js +6 -1
  50. package/dist/_pkgs/affine-block-note/note-edgeless-block.d.ts +9 -0
  51. package/dist/_pkgs/affine-block-note/note-edgeless-block.js +29 -1
  52. package/dist/_pkgs/affine-block-root/commands/pivot-commands.d.ts +37 -0
  53. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +168 -0
  54. package/dist/_pkgs/affine-block-root/commands/reading-commands.d.ts +23 -0
  55. package/dist/_pkgs/affine-block-root/commands/reading-commands.js +107 -0
  56. package/dist/_pkgs/affine-block-root/commands/tag-commands.d.ts +47 -0
  57. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +159 -0
  58. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -0
  59. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -2
  60. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/render-linked-doc.js +1 -1
  61. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +26 -1
  62. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +11 -2
  63. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-service.js +14 -0
  64. package/dist/_pkgs/affine-block-root/edgeless/index.d.ts +1 -0
  65. package/dist/_pkgs/affine-block-root/edgeless/index.js +1 -0
  66. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.d.ts +21 -0
  67. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.js +34 -0
  68. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.d.ts +7 -1
  69. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.js +11 -2
  70. package/dist/_pkgs/affine-block-root/index.d.ts +4 -1
  71. package/dist/_pkgs/affine-block-root/index.js +4 -1
  72. package/dist/_pkgs/affine-block-root/keyboard/commands.d.ts +2 -0
  73. package/dist/_pkgs/affine-block-root/keyboard/commands.js +147 -0
  74. package/dist/_pkgs/affine-block-root/view.js +13 -4
  75. package/dist/_pkgs/affine-block-surface/commands/reassociate-connectors.js +0 -1
  76. package/dist/_pkgs/affine-block-surface/effects.js +6 -0
  77. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +5 -2
  78. package/dist/_pkgs/affine-block-surface/element-model/index.js +4 -2
  79. package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
  80. package/dist/_pkgs/affine-block-surface/extensions/audit.js +472 -0
  81. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
  82. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +27 -0
  83. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.d.ts +133 -0
  84. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.js +326 -0
  85. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +13 -0
  86. package/dist/_pkgs/affine-block-surface/extensions/index.js +13 -0
  87. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.d.ts +146 -0
  88. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.js +528 -0
  89. package/dist/_pkgs/affine-block-surface/extensions/map-quality.d.ts +109 -0
  90. package/dist/_pkgs/affine-block-surface/extensions/map-quality.js +84 -0
  91. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.d.ts +15 -0
  92. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +158 -0
  93. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +145 -0
  94. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +590 -0
  95. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +494 -0
  96. package/dist/_pkgs/affine-block-surface/extensions/reading.js +767 -0
  97. package/dist/_pkgs/affine-block-surface/extensions/spotlight.d.ts +45 -0
  98. package/dist/_pkgs/affine-block-surface/extensions/spotlight.js +177 -0
  99. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.d.ts +10 -0
  100. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +295 -0
  101. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.d.ts +27 -0
  102. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.js +361 -0
  103. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +1340 -0
  104. package/dist/_pkgs/affine-block-surface/extensions/validation.js +3009 -0
  105. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +286 -0
  106. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +907 -0
  107. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.d.ts +80 -0
  108. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.js +123 -0
  109. package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +321 -0
  110. package/dist/_pkgs/affine-block-surface/framework-background/def.js +81 -0
  111. package/dist/_pkgs/affine-block-surface/framework-background/facts.d.ts +188 -0
  112. package/dist/_pkgs/affine-block-surface/framework-background/facts.js +284 -0
  113. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +5 -0
  114. package/dist/_pkgs/affine-block-surface/framework-background/index.js +5 -0
  115. package/dist/_pkgs/affine-block-surface/framework-background/interaction.d.ts +12 -0
  116. package/dist/_pkgs/affine-block-surface/framework-background/interaction.js +24 -0
  117. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +59 -0
  118. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +117 -0
  119. package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
  120. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +238 -0
  121. package/dist/_pkgs/affine-block-surface/index.d.ts +1 -0
  122. package/dist/_pkgs/affine-block-surface/index.js +1 -0
  123. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +69 -3
  124. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +333 -44
  125. package/dist/_pkgs/affine-block-surface/renderer/dom-renderer.js +18 -2
  126. package/dist/_pkgs/affine-block-surface/tool/default-tool.js +8 -0
  127. package/dist/_pkgs/affine-block-surface/utils/font.js +9 -3
  128. package/dist/_pkgs/affine-block-surface/view.d.ts +17 -0
  129. package/dist/_pkgs/affine-block-surface/view.js +57 -2
  130. package/dist/_pkgs/affine-block-table/selection-controller.d.ts +6 -0
  131. package/dist/_pkgs/affine-block-table/selection-controller.js +24 -1
  132. package/dist/_pkgs/affine-block-table/table-block.js +8 -2
  133. package/dist/_pkgs/affine-block-table/table-cell.js +5 -6
  134. package/dist/_pkgs/affine-block-table/table-keymap.d.ts +18 -0
  135. package/dist/_pkgs/affine-block-table/table-keymap.js +41 -0
  136. package/dist/_pkgs/affine-block-table/utils.d.ts +7 -0
  137. package/dist/_pkgs/affine-block-table/utils.js +12 -0
  138. package/dist/_pkgs/affine-block-table/view.js +2 -0
  139. package/dist/_pkgs/affine-components/caption/captioned-block-component.js +2 -1
  140. package/dist/_pkgs/affine-components/context-menu/button.d.ts +7 -0
  141. package/dist/_pkgs/affine-components/context-menu/button.js +7 -2
  142. package/dist/_pkgs/affine-components/context-menu/input.d.ts +4 -0
  143. package/dist/_pkgs/affine-components/context-menu/input.js +12 -0
  144. package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +2 -0
  145. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +8 -1
  146. package/dist/_pkgs/affine-components/context-menu/sub-menu.js +3 -0
  147. package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
  148. package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
  149. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +28 -0
  150. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +231 -0
  151. package/dist/_pkgs/affine-components/icon-picker/emoji-data.d.ts +40 -0
  152. package/dist/_pkgs/affine-components/icon-picker/emoji-data.js +99 -0
  153. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +32 -0
  154. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +276 -0
  155. package/dist/_pkgs/affine-components/icon-picker/icon-data.d.ts +34 -0
  156. package/dist/_pkgs/affine-components/icon-picker/icon-data.js +83 -0
  157. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +39 -0
  158. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +233 -0
  159. package/dist/_pkgs/affine-components/icon-picker/index.d.ts +8 -0
  160. package/dist/_pkgs/affine-components/icon-picker/index.js +15 -0
  161. package/dist/_pkgs/affine-components/icon-picker/recent-store.d.ts +8 -0
  162. package/dist/_pkgs/affine-components/icon-picker/recent-store.js +41 -0
  163. package/dist/_pkgs/affine-components/icon-picker/styles.d.ts +5 -0
  164. package/dist/_pkgs/affine-components/icon-picker/styles.js +166 -0
  165. package/dist/_pkgs/affine-components/icon-picker/types.d.ts +22 -0
  166. package/dist/_pkgs/affine-components/icon-picker/types.js +10 -0
  167. package/dist/_pkgs/affine-components/icons/text.js +426 -426
  168. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.d.ts +1 -0
  169. package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
  170. package/dist/_pkgs/affine-components/toolbar/menu-button.js +1 -0
  171. package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
  172. package/dist/_pkgs/affine-foundation/view.js +11 -2
  173. package/dist/_pkgs/affine-gfx-brush/index.d.ts +1 -0
  174. package/dist/_pkgs/affine-gfx-brush/index.js +1 -0
  175. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.d.ts +1 -0
  176. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.js +11 -0
  177. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.d.ts +1 -0
  178. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.js +11 -0
  179. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.d.ts +2 -0
  180. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.js +2 -0
  181. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.d.ts +14 -0
  182. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.js +54 -0
  183. package/dist/_pkgs/affine-gfx-brush/renderer/index.d.ts +1 -0
  184. package/dist/_pkgs/affine-gfx-brush/renderer/index.js +4 -0
  185. package/dist/_pkgs/affine-gfx-brush/view.d.ts +14 -0
  186. package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
  187. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +32 -6
  188. package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +7 -0
  189. package/dist/_pkgs/affine-gfx-connector/connector-tool.js +2 -1
  190. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
  191. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +281 -0
  192. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.d.ts +65 -0
  193. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.js +395 -0
  194. package/dist/_pkgs/affine-gfx-connector/direction/index.d.ts +4 -0
  195. package/dist/_pkgs/affine-gfx-connector/direction/index.js +4 -0
  196. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +72 -0
  197. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +187 -0
  198. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.d.ts +69 -0
  199. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.js +66 -0
  200. package/dist/_pkgs/affine-gfx-connector/effects.d.ts +2 -0
  201. package/dist/_pkgs/affine-gfx-connector/effects.js +2 -0
  202. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +78 -41
  203. package/dist/_pkgs/affine-gfx-connector/index.d.ts +1 -0
  204. package/dist/_pkgs/affine-gfx-connector/index.js +1 -0
  205. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +50 -0
  206. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +67 -1
  207. package/dist/_pkgs/affine-gfx-connector/view.js +16 -0
  208. package/dist/_pkgs/affine-gfx-group/command/group-api.js +150 -62
  209. package/dist/_pkgs/affine-gfx-group/text/edgeless-group-title-editor.js +4 -1
  210. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.d.ts +16 -0
  211. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.js +102 -32
  212. package/dist/_pkgs/affine-gfx-shape/commands.d.ts +2 -0
  213. package/dist/_pkgs/affine-gfx-shape/commands.js +33 -0
  214. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape-dom/index.js +48 -19
  215. package/dist/_pkgs/affine-gfx-shape/index.d.ts +1 -1
  216. package/dist/_pkgs/affine-gfx-shape/index.js +1 -1
  217. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.d.ts +26 -0
  218. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -13
  219. package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
  220. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.d.ts +2 -0
  221. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.js +18 -1
  222. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +9 -5
  223. package/dist/_pkgs/affine-inline-latex/command.js +46 -26
  224. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.d.ts +10 -0
  225. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +23 -0
  226. package/dist/_pkgs/affine-inline-link/link-node/affine-link.js +4 -1
  227. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.d.ts +3 -0
  228. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.js +29 -1
  229. package/dist/_pkgs/affine-model/blocks/code/code-model.d.ts +1 -0
  230. package/dist/_pkgs/affine-model/blocks/code/code-model.js +1 -0
  231. package/dist/_pkgs/affine-model/elements/connector/connector.js +24 -0
  232. package/dist/_pkgs/affine-model/elements/edgy/board.d.ts +32 -0
  233. package/dist/_pkgs/affine-model/elements/edgy/board.js +112 -0
  234. package/dist/_pkgs/affine-model/elements/edgy/facets.d.ts +12 -0
  235. package/dist/_pkgs/affine-model/elements/edgy/facets.js +25 -1
  236. package/dist/_pkgs/affine-model/elements/edgy/index.d.ts +1 -0
  237. package/dist/_pkgs/affine-model/elements/edgy/index.js +1 -0
  238. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +42 -0
  239. package/dist/_pkgs/affine-model/elements/framework-background/background.js +42 -0
  240. package/dist/_pkgs/affine-model/elements/framework-background/index.d.ts +1 -0
  241. package/dist/_pkgs/affine-model/elements/framework-background/index.js +1 -0
  242. package/dist/_pkgs/affine-model/elements/index.d.ts +3 -1
  243. package/dist/_pkgs/affine-model/elements/index.js +1 -0
  244. package/dist/_pkgs/affine-model/elements/mindmap/mindmap.js +8 -3
  245. package/dist/_pkgs/affine-model/elements/mindmap/style.d.ts +10 -0
  246. package/dist/_pkgs/affine-model/elements/mindmap/style.js +8 -0
  247. package/dist/_pkgs/affine-model/elements/wardley/wardley.d.ts +21 -29
  248. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
  249. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
  250. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +160 -2
  251. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -1
  252. package/dist/_pkgs/affine-shared/adapters/types/delta-converter.d.ts +1 -0
  253. package/dist/_pkgs/affine-shared/adapters/utils/color.d.ts +24 -0
  254. package/dist/_pkgs/affine-shared/adapters/utils/color.js +280 -0
  255. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  256. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  257. package/dist/_pkgs/affine-shared/commands/block-crud/get-selected-blocks.js +10 -2
  258. package/dist/_pkgs/affine-shared/services/audit-service.d.ts +300 -0
  259. package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
  260. package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +7 -0
  261. package/dist/_pkgs/affine-shared/services/edit-props-store.js +11 -0
  262. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +26 -1
  263. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.js +124 -7
  264. package/dist/_pkgs/affine-shared/services/index.d.ts +5 -0
  265. package/dist/_pkgs/affine-shared/services/index.js +5 -0
  266. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
  267. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +311 -0
  268. package/dist/_pkgs/affine-shared/services/pivot-properties-service.d.ts +217 -0
  269. package/dist/_pkgs/affine-shared/services/pivot-properties-service.js +114 -0
  270. package/dist/_pkgs/affine-shared/services/telemetry-service/code-block.d.ts +1 -1
  271. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +182 -0
  272. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  273. package/dist/_pkgs/affine-shared/services/telemetry-service/types.d.ts +6 -1
  274. package/dist/_pkgs/affine-shared/services/toolbar-service/action.d.ts +10 -0
  275. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  276. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  277. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.d.ts +134 -0
  278. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.js +146 -0
  279. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +68 -0
  280. package/dist/_pkgs/affine-shared/services/translation-service/index.js +39 -0
  281. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +155 -0
  282. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +254 -0
  283. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.d.ts +4 -0
  284. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.js +58 -2
  285. package/dist/_pkgs/affine-shared/utils/dom/viewport.d.ts +60 -0
  286. package/dist/_pkgs/affine-shared/utils/dom/viewport.js +58 -0
  287. package/dist/_pkgs/affine-shared/utils/print-to-pdf.d.ts +21 -0
  288. package/dist/_pkgs/affine-shared/utils/print-to-pdf.js +166 -32
  289. package/dist/_pkgs/affine-shared/utils/zod-schema.d.ts +7 -0
  290. package/dist/_pkgs/affine-shared/utils/zod-schema.js +27 -1
  291. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.d.ts +19 -10
  292. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.js +122 -23
  293. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.d.ts +2 -0
  294. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.js +25 -4
  295. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +10 -5
  296. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.d.ts +15 -1
  297. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +37 -32
  298. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +5 -4
  299. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-selected-rect.js +19 -9
  300. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.d.ts +16 -2
  301. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +19 -2
  302. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +1 -0
  303. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +1 -0
  304. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +38 -0
  305. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +99 -0
  306. package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +4 -1
  307. package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
  308. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +2 -15
  309. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.d.ts +10 -1
  310. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +133 -6
  311. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.d.ts +10 -0
  312. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.js +120 -3
  313. package/dist/_pkgs/affine-widget-linked-doc/utils.d.ts +12 -0
  314. package/dist/_pkgs/affine-widget-linked-doc/utils.js +33 -0
  315. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +6 -4
  316. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +8 -4
  317. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +9 -0
  318. package/dist/_pkgs/affine-widget-slash-menu/utils.js +24 -0
  319. package/dist/_pkgs/affine-widget-toolbar/toolbar.d.ts +6 -0
  320. package/dist/_pkgs/affine-widget-toolbar/toolbar.js +34 -6
  321. package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
  322. package/dist/_pkgs/affine-widget-toolbar/utils.js +738 -56
  323. package/dist/_pkgs/data-view/core/common/property-menu.js +3 -16
  324. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +4 -0
  325. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +28 -1
  326. package/dist/_pkgs/data-view/core/data-view.d.ts +3 -1
  327. package/dist/_pkgs/data-view/core/data-view.js +25 -3
  328. package/dist/_pkgs/data-view/core/detail/field.js +2 -2
  329. package/dist/_pkgs/data-view/core/detail/selection.d.ts +4 -2
  330. package/dist/_pkgs/data-view/core/detail/selection.js +23 -7
  331. package/dist/_pkgs/data-view/core/effect.js +2 -0
  332. package/dist/_pkgs/data-view/core/filter/eval.js +36 -23
  333. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.d.ts +7 -0
  334. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.js +12 -0
  335. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.d.ts +11 -0
  336. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.js +55 -0
  337. package/dist/_pkgs/data-view/core/group-by/define.d.ts +6 -0
  338. package/dist/_pkgs/data-view/core/group-by/define.js +114 -0
  339. package/dist/_pkgs/data-view/core/group-by/matcher.d.ts +7 -0
  340. package/dist/_pkgs/data-view/core/group-by/matcher.js +13 -0
  341. package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +11 -11
  342. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.d.ts +9 -0
  343. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.js +97 -0
  344. package/dist/_pkgs/data-view/core/group-by/setting.js +86 -7
  345. package/dist/_pkgs/data-view/core/group-by/trait.d.ts +34 -0
  346. package/dist/_pkgs/data-view/core/group-by/trait.js +106 -10
  347. package/dist/_pkgs/data-view/core/utils/menu-title.js +17 -17
  348. package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
  349. package/dist/_pkgs/data-view/property-presets/number/define.js +2 -1
  350. package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
  351. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.d.ts +70 -0
  352. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.js +449 -0
  353. package/dist/_pkgs/data-view/view-presets/calendar/define.d.ts +10 -0
  354. package/dist/_pkgs/data-view/view-presets/calendar/define.js +27 -0
  355. package/dist/_pkgs/data-view/view-presets/calendar/effect.d.ts +1 -0
  356. package/dist/_pkgs/data-view/view-presets/calendar/effect.js +4 -0
  357. package/dist/_pkgs/data-view/view-presets/calendar/index.d.ts +6 -0
  358. package/dist/_pkgs/data-view/view-presets/calendar/index.js +6 -0
  359. package/dist/_pkgs/data-view/view-presets/calendar/layout.d.ts +37 -0
  360. package/dist/_pkgs/data-view/view-presets/calendar/layout.js +138 -0
  361. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.d.ts +7 -0
  362. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.js +68 -0
  363. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.d.ts +32 -0
  364. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.js +159 -0
  365. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.d.ts +1 -0
  366. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.js +7 -0
  367. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.d.ts +1 -0
  368. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.js +28 -0
  369. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.d.ts +1 -0
  370. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.js +707 -0
  371. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.d.ts +89 -0
  372. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.js +837 -0
  373. package/dist/_pkgs/data-view/view-presets/calendar/renderer.d.ts +2 -0
  374. package/dist/_pkgs/data-view/view-presets/calendar/renderer.js +8 -0
  375. package/dist/_pkgs/data-view/view-presets/calendar/source.d.ts +8 -0
  376. package/dist/_pkgs/data-view/view-presets/calendar/source.js +3 -0
  377. package/dist/_pkgs/data-view/view-presets/calendar/types.d.ts +79 -0
  378. package/dist/_pkgs/data-view/view-presets/calendar/types.js +1 -0
  379. package/dist/_pkgs/data-view/view-presets/convert.js +28 -0
  380. package/dist/_pkgs/data-view/view-presets/effect.js +2 -0
  381. package/dist/_pkgs/data-view/view-presets/index.d.ts +2 -0
  382. package/dist/_pkgs/data-view/view-presets/index.js +3 -0
  383. package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +3 -1
  384. package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +2 -2
  385. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +18 -0
  386. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +36 -0
  387. package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +2 -2
  388. package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +11 -0
  389. package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +87 -4
  390. package/dist/_pkgs/data-view/view-presets/table/pc/cell.d.ts +3 -0
  391. package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +11 -2
  392. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.d.ts +1 -0
  393. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +39 -33
  394. package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +10 -0
  395. package/dist/_pkgs/data-view/view-presets/table/pc/group.js +84 -5
  396. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.d.ts +1 -0
  397. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +39 -33
  398. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +18 -18
  399. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.d.ts +3 -0
  400. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +8 -0
  401. package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +3 -1
  402. package/dist/_pkgs/data-view/view-presets/table/utils.d.ts +3 -0
  403. package/dist/_pkgs/data-view/view-presets/table/utils.js +16 -1
  404. package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +3 -1
  405. package/dist/_pkgs/global/gfx/curve.js +4 -3
  406. package/dist/_pkgs/std/clipboard/clipboard.js +13 -3
  407. package/dist/_pkgs/std/clipboard/utils.d.ts +5 -0
  408. package/dist/_pkgs/std/clipboard/utils.js +7 -0
  409. package/dist/_pkgs/std/event/dispatcher.js +27 -1
  410. package/dist/_pkgs/std/event/keymap.js +16 -6
  411. package/dist/_pkgs/std/extension/command-registry.d.ts +321 -0
  412. package/dist/_pkgs/std/extension/command-registry.js +233 -0
  413. package/dist/_pkgs/std/extension/dnd/index.d.ts +1 -1
  414. package/dist/_pkgs/std/extension/index.d.ts +2 -0
  415. package/dist/_pkgs/std/extension/index.js +2 -0
  416. package/dist/_pkgs/std/extension/translation-manifest.d.ts +49 -0
  417. package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
  418. package/dist/_pkgs/std/gfx/index.d.ts +7 -3
  419. package/dist/_pkgs/std/gfx/index.js +6 -2
  420. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +6 -1
  421. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +8 -0
  422. package/dist/_pkgs/std/gfx/interactivity/manager.js +18 -0
  423. package/dist/_pkgs/std/gfx/layer.d.ts +1 -1
  424. package/dist/_pkgs/std/gfx/layer.js +1 -2
  425. package/dist/_pkgs/std/gfx/model/surface/decorators/field.js +9 -0
  426. package/dist/_pkgs/std/gfx/model/surface/decorators/index.d.ts +2 -2
  427. package/dist/_pkgs/std/gfx/model/surface/decorators/index.js +2 -2
  428. package/dist/_pkgs/std/gfx/model/surface/decorators/local.d.ts +14 -0
  429. package/dist/_pkgs/std/gfx/model/surface/decorators/local.js +22 -0
  430. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.d.ts +2 -0
  431. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.js +40 -1
  432. package/dist/_pkgs/std/gfx/model/surface/element-model.d.ts +282 -0
  433. package/dist/_pkgs/std/gfx/model/surface/element-model.js +436 -25
  434. package/dist/_pkgs/std/gfx/model/surface/pivot.d.ts +48 -0
  435. package/dist/_pkgs/std/gfx/model/surface/pivot.js +34 -0
  436. package/dist/_pkgs/std/gfx/model/surface/role.d.ts +153 -0
  437. package/dist/_pkgs/std/gfx/model/surface/role.js +115 -0
  438. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
  439. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +304 -17
  440. package/dist/_pkgs/std/gfx/model/surface/tags.d.ts +77 -0
  441. package/dist/_pkgs/std/gfx/model/surface/tags.js +246 -0
  442. package/dist/_pkgs/std/gfx/perf.d.ts +10 -0
  443. package/dist/_pkgs/std/gfx/perf.js +30 -0
  444. package/dist/_pkgs/std/gfx/tool/tool-controller.d.ts +13 -0
  445. package/dist/_pkgs/std/gfx/tool/tool-controller.js +26 -0
  446. package/dist/_pkgs/std/gfx/viewport.d.ts +12 -0
  447. package/dist/_pkgs/std/gfx/viewport.js +19 -1
  448. package/dist/_pkgs/std/inline/services/event.d.ts +2 -0
  449. package/dist/_pkgs/std/inline/services/event.js +96 -21
  450. package/dist/_pkgs/std/utils/layer.js +2 -6
  451. package/dist/_pkgs/std/utils/tree.d.ts +14 -0
  452. package/dist/_pkgs/std/utils/tree.js +59 -8
  453. package/dist/_pkgs/std/view/element/gfx-block-component.js +23 -13
  454. package/dist/_pkgs/store/extension/workspace/workspace-meta.d.ts +10 -0
  455. package/dist/_pkgs/store/model/block/flat-sync-controller.js +2 -12
  456. package/dist/_pkgs/store/model/store/crud.js +7 -4
  457. package/dist/_pkgs/store/reactive/flat-native-y/index.d.ts +1 -1
  458. package/dist/_pkgs/store/reactive/flat-native-y/index.js +24 -2
  459. package/dist/commands.d.ts +58 -0
  460. package/dist/commands.js +66 -0
  461. package/dist/extensions/command-telemetry.d.ts +21 -0
  462. package/dist/extensions/command-telemetry.js +89 -0
  463. package/dist/extensions/store.d.ts +9 -4
  464. package/dist/extensions/store.js +27 -24
  465. package/dist/extensions/view.d.ts +9 -4
  466. package/dist/extensions/view.js +23 -8
  467. package/dist/flags.d.ts +98 -21
  468. package/dist/flags.js +103 -22
  469. package/dist/frameworks.d.ts +45 -0
  470. package/dist/frameworks.js +154 -0
  471. package/dist/schemas.d.ts +8 -5
  472. package/dist/schemas.js +28 -32
  473. package/dist/shortcuts.d.ts +16 -16
  474. package/dist/shortcuts.js +8 -36
  475. package/dist/translations.d.ts +56 -0
  476. package/dist/translations.js +112 -0
  477. package/package.json +16 -4
  478. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.d.ts +0 -8
  479. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.js +0 -48
  480. package/dist/_pkgs/affine-gfx-shape/shortcuts.d.ts +0 -6
  481. package/dist/_pkgs/affine-gfx-shape/shortcuts.js +0 -28
  482. package/dist/_pkgs/data-view/core/utils/cache.d.ts +0 -5
  483. package/dist/_pkgs/data-view/core/utils/cache.js +0 -28
@@ -90,6 +90,11 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
90
90
  f: () => {
91
91
  if (this.rootComponent.service.locked)
92
92
  return;
93
+ // `createFrameOnSelected` reaches `store.addBlock`, which throws on
94
+ // readonly; `_setEdgelessTool` below is guarded too, but the branch
95
+ // taken depends on the selection, so refuse the whole gesture here.
96
+ if (this.rootComponent.store.readonly)
97
+ return;
93
98
  if (this.rootComponent.service.selection.selectedElements.length !==
94
99
  0 &&
95
100
  !this.rootComponent.service.selection.editing) {
@@ -307,6 +312,9 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
307
312
  if (!isSingleMindMapNode(elements)) {
308
313
  return;
309
314
  }
315
+ // `mindmap.addNode` writes through a raw `transact`.
316
+ if (rootComponent.store.readonly)
317
+ return;
310
318
  const mindmap = elements[0].group;
311
319
  const currentNode = mindmap.getNode(elements[0].id);
312
320
  const node = mindmap.getNode(elements[0].id);
@@ -329,6 +337,9 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
329
337
  if (!isSingleMindMapNode(elements)) {
330
338
  return;
331
339
  }
340
+ // Same raw-`transact` path as Enter's `addNode`.
341
+ if (rootComponent.store.readonly)
342
+ return;
332
343
  const mindmap = elements[0].group;
333
344
  if (mindmap.isLocked())
334
345
  return;
@@ -368,7 +379,9 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
368
379
  !event.metaKey) {
369
380
  const elements = selection.selectedElements;
370
381
  const doc = this.rootComponent.store;
371
- if (isSingleMindMapNode(elements)) {
382
+ // Raw `transact` on a surface element: readonly-guarded here, since
383
+ // the store itself does not guard transactions.
384
+ if (isSingleMindMapNode(elements) && !doc.readonly) {
372
385
  const target = gfx.getElementById(elements[0].id);
373
386
  if (target.text) {
374
387
  doc.transact(() => {
@@ -392,6 +405,10 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
392
405
  }
393
406
  _delete() {
394
407
  const edgeless = this.rootComponent;
408
+ // Deletion bypasses the store's block CRUD for canvas elements
409
+ // (`surface.deleteElement` is a raw `transact`).
410
+ if (edgeless.store.readonly)
411
+ return;
395
412
  if (edgeless.service.locked)
396
413
  return;
397
414
  if (edgeless.service.selection.editing) {
@@ -469,6 +486,10 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
469
486
  }
470
487
  return;
471
488
  }
489
+ // After the mindmap branch: arrow-key NAVIGATION stays available on a
490
+ // readonly board, moving elements (raw field writes) does not.
491
+ if (edgeless.store.readonly)
492
+ return;
472
493
  if (selectedElements.some(e => e.isLocked()))
473
494
  return;
474
495
  const movedElements = new Set([
@@ -505,6 +526,10 @@ export class EdgelessPageKeyboardManager extends PageKeyboardManager {
505
526
  });
506
527
  }
507
528
  _setEdgelessTool(toolType, ...options) {
529
+ // No readonly guard here: `gfx.tool.setTool` below is the bottleneck and
530
+ // carries `READONLY_SAFE_TOOLS` for every entry point, including the ones
531
+ // that never come through this manager (`s` is bound by
532
+ // `shape-draggable.ts` straight onto the toolbar mixin).
508
533
  const ignoreActiveState = typeof options === 'boolean'
509
534
  ? options[0]
510
535
  : options[1] === undefined
@@ -286,7 +286,12 @@ let EdgelessRootBlockComponent = (() => {
286
286
  }
287
287
  // pan
288
288
  else {
289
- const simulateHorizontalScroll = IS_WINDOWS && e.shiftKey;
289
+ // Shift+wheel means "scroll sideways" on every platform. Windows
290
+ // never sends a horizontal delta for it, so the vertical one has to
291
+ // be reinterpreted; elsewhere the OS does it natively for trackpads
292
+ // and horizontal-capable mice, and `deltaX === 0` is what a plain
293
+ // mouse — with nothing but a vertical wheel — leaves us to work with.
294
+ const simulateHorizontalScroll = e.shiftKey && (IS_WINDOWS || e.deltaX === 0);
290
295
  const dx = simulateHorizontalScroll
291
296
  ? e.deltaY / viewport.zoom
292
297
  : e.deltaX / viewport.zoom;
@@ -305,7 +310,11 @@ let EdgelessRootBlockComponent = (() => {
305
310
  const handler = keymap[key];
306
311
  keymap[key] = ctx => {
307
312
  const elements = selection.selectedElements;
308
- if (isSingleMindMapNode(elements) && !selection.editing) {
313
+ // The mindmap branch overwrites the node's text through a raw
314
+ // `transact`, which has no readonly guard of its own.
315
+ if (isSingleMindMapNode(elements) &&
316
+ !selection.editing &&
317
+ !this.store.readonly) {
309
318
  const target = gfx.getElementById(elements[0].id);
310
319
  if (target.text) {
311
320
  this.store.transact(() => {
@@ -104,6 +104,15 @@ export class EdgelessRootService extends BlockService {
104
104
  this._initReadonlyListener();
105
105
  }
106
106
  removeElement(id) {
107
+ // Word-for-word duplicate of `EdgelessCRUDExtension.removeElement`, so it
108
+ // carries the same guard — see the comment there. Today it is only
109
+ // reachable through the element toolbar (already inert on readonly), but a
110
+ // guard-less parallel API is exactly the door the next caller walks
111
+ // through.
112
+ if (this.doc.readonly) {
113
+ console.error('cannot remove element in readonly mode');
114
+ return;
115
+ }
107
116
  id = typeof id === 'string' ? id : id.id;
108
117
  const el = this.crud.getElementById(id);
109
118
  if (isGfxGroupCompatibleModel(el)) {
@@ -121,6 +130,11 @@ export class EdgelessRootService extends BlockService {
121
130
  }
122
131
  }
123
132
  reorderElement(element, direction) {
133
+ // `element.index = …` is a raw transaction on both branches below.
134
+ if (this.doc.readonly) {
135
+ console.error('cannot reorder element in readonly mode');
136
+ return;
137
+ }
124
138
  const index = this.layer.getReorderedIndex(element, direction);
125
139
  // block should be updated in transaction
126
140
  if (element instanceof GfxBlockElementModel) {
@@ -3,6 +3,7 @@ export * from './clipboard/clipboard.js';
3
3
  export * from './clipboard/command.js';
4
4
  export * from './edgeless-root-block.js';
5
5
  export { EdgelessRootService } from './edgeless-root-service.js';
6
+ export { RESERVED_EDGELESS_KEYS, type ReservedEdgelessKey, } from './reserved-keys.js';
6
7
  export * from './utils/clipboard-utils.js';
7
8
  export { sortEdgelessElements } from './utils/clone-utils.js';
8
9
  export { isCanvasElement } from './utils/query.js';
@@ -3,6 +3,7 @@ export * from './clipboard/clipboard.js';
3
3
  export * from './clipboard/command.js';
4
4
  export * from './edgeless-root-block.js';
5
5
  export { EdgelessRootService } from './edgeless-root-service.js';
6
+ export { RESERVED_EDGELESS_KEYS, } from './reserved-keys.js';
6
7
  export * from './utils/clipboard-utils.js';
7
8
  export { sortEdgelessElements } from './utils/clone-utils.js';
8
9
  export { isCanvasElement } from './utils/query.js';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Single-keystroke edgeless bindings owned by imperative code — the raw
3
+ * `bindHotKey({...})` call in `edgeless-keyboard.ts`, which predates the
4
+ * shortcut manifest.
5
+ *
6
+ * Those bindings are not `ShortcutDescriptor`s, so `resolveKeymap` cannot see
7
+ * them and cannot report a conflict against them: an EDGY chord on `e` would
8
+ * silently shadow the eraser. Until they are folded into real descriptors
9
+ * (sequenced AFTER the PF3 switchover — several of them are stateful cycles,
10
+ * not commands, so expressing them changes their semantics), this list is what
11
+ * closes the hole. It is asserted against the real bindings by a mirror test
12
+ * and checked against every `FrameworkDescriptor.chordPrefix`.
13
+ *
14
+ * `Mod-`-prefixed bindings are deliberately absent: a framework chord prefix is
15
+ * a bare letter, so only the bare-letter bindings can collide with one.
16
+ *
17
+ * See `docs/adr/0008` § Reserving the prefix letter. When surface (e) becomes
18
+ * descriptors, this constant is deleted.
19
+ */
20
+ export declare const RESERVED_EDGELESS_KEYS: readonly ["v", "t", "c", "h", "n", "p", "Shift-p", "e", "k", "f", "-", "@", "Shift-s"];
21
+ export type ReservedEdgelessKey = (typeof RESERVED_EDGELESS_KEYS)[number];
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Single-keystroke edgeless bindings owned by imperative code — the raw
3
+ * `bindHotKey({...})` call in `edgeless-keyboard.ts`, which predates the
4
+ * shortcut manifest.
5
+ *
6
+ * Those bindings are not `ShortcutDescriptor`s, so `resolveKeymap` cannot see
7
+ * them and cannot report a conflict against them: an EDGY chord on `e` would
8
+ * silently shadow the eraser. Until they are folded into real descriptors
9
+ * (sequenced AFTER the PF3 switchover — several of them are stateful cycles,
10
+ * not commands, so expressing them changes their semantics), this list is what
11
+ * closes the hole. It is asserted against the real bindings by a mirror test
12
+ * and checked against every `FrameworkDescriptor.chordPrefix`.
13
+ *
14
+ * `Mod-`-prefixed bindings are deliberately absent: a framework chord prefix is
15
+ * a bare letter, so only the bare-letter bindings can collide with one.
16
+ *
17
+ * See `docs/adr/0008` § Reserving the prefix letter. When surface (e) becomes
18
+ * descriptors, this constant is deleted.
19
+ */
20
+ export const RESERVED_EDGELESS_KEYS = [
21
+ 'v',
22
+ 't',
23
+ 'c',
24
+ 'h',
25
+ 'n',
26
+ 'p',
27
+ 'Shift-p',
28
+ 'e',
29
+ 'k',
30
+ 'f',
31
+ '-',
32
+ '@',
33
+ 'Shift-s',
34
+ ];
@@ -52,4 +52,10 @@ export declare function mapFrameIds(props: FrameBlockProps, ids: Map<string, str
52
52
  * @returns updated element props
53
53
  */
54
54
  export declare function mapMindmapIds(props: SerializedMindmapElement, ids: Map<string, string>): SerializedMindmapElement;
55
- export declare function getElementProps(element: GfxPrimitiveElementModel, ids: Map<string, string>): SerializedElement;
55
+ /**
56
+ * @param element the element to serialize
57
+ * @param ids old element id to new element id map
58
+ * @param elements the set of elements being cloned, used to detect connector
59
+ * endpoints that are left behind
60
+ */
61
+ export declare function getElementProps(element: GfxPrimitiveElementModel, ids: Map<string, string>, elements: GfxModel[]): SerializedElement;
@@ -162,9 +162,18 @@ export function mapMindmapIds(props, ids) {
162
162
  }
163
163
  return props;
164
164
  }
165
- export function getElementProps(element, ids) {
165
+ /**
166
+ * @param element the element to serialize
167
+ * @param ids old element id to new element id map
168
+ * @param elements the set of elements being cloned, used to detect connector
169
+ * endpoints that are left behind
170
+ */
171
+ export function getElementProps(element, ids, elements) {
166
172
  if (element instanceof ConnectorElementModel) {
167
- const props = element.serialize();
173
+ // An endpoint whose element is not part of the cloned set is turned into an
174
+ // absolute position instead of keeping an id that resolves to nothing in
175
+ // the target document.
176
+ const props = serializeConnector(element, elements);
168
177
  return mapConnectorIds(props, ids);
169
178
  }
170
179
  if (element instanceof GroupElementModel) {
@@ -1,8 +1,11 @@
1
1
  export * from './adapters/index.js';
2
2
  export * from './clipboard/index.js';
3
+ export * from './commands/pivot-commands.js';
4
+ export * from './commands/reading-commands.js';
5
+ export * from './commands/tag-commands.js';
3
6
  export * from './edgeless/edgeless-root-spec.js';
4
7
  export * from './edgeless/index.js';
5
- export * from './keyboard/shortcuts.js';
8
+ export * from './keyboard/commands.js';
6
9
  export * from './page/page-root-block.js';
7
10
  export * from './preview/preview-root-block.js';
8
11
  export * from './types.js';
@@ -1,8 +1,11 @@
1
1
  export * from './adapters/index.js';
2
2
  export * from './clipboard/index.js';
3
+ export * from './commands/pivot-commands.js';
4
+ export * from './commands/reading-commands.js';
5
+ export * from './commands/tag-commands.js';
3
6
  export * from './edgeless/edgeless-root-spec.js';
4
7
  export * from './edgeless/index.js';
5
- export * from './keyboard/shortcuts.js';
8
+ export * from './keyboard/commands.js';
6
9
  export * from './page/page-root-block.js';
7
10
  export * from './preview/preview-root-block.js';
8
11
  export * from './types.js';
@@ -0,0 +1,2 @@
1
+ import type { CommandDescriptor } from '../../std/index.js';
2
+ export declare const coreCommands: CommandDescriptor[];
@@ -0,0 +1,147 @@
1
+ import { EdgelessCRUDIdentifier, getLastPropsKey, } from '../../affine-block-surface/index.js';
2
+ import { EditPropsStore } from '../../affine-shared/services/index.js';
3
+ import { pickStylePropsForKey } from '../../affine-shared/utils/index.js';
4
+ import { IS_WINDOWS } from '../../global/env/index.js';
5
+ import { GfxControllerIdentifier, GfxPrimitiveElementModel, } from '../../std/gfx/index.js';
6
+ import { duplicate } from '../edgeless/utils/clipboard-utils.js';
7
+ /**
8
+ * Core (always-on) commands, expressed as {@link CommandDescriptor}s.
9
+ *
10
+ * They were already rebindable descriptors; PF3 promotes them to the single
11
+ * source so the keymap, Settings › Shortcuts and the palette read ONE list
12
+ * (`docs/adr/0008`). Ids, `labelKey`s and `defaultKeys` are carried over
13
+ * verbatim — persisted v0.29 override tables stay valid.
14
+ *
15
+ * They carry no `telemetry`: undo/redo/duplicate emitted nothing before, and
16
+ * the bottleneck only emits what a descriptor declares.
17
+ */
18
+ /**
19
+ * The elements the "apply last style" gesture would actually repaint, with the
20
+ * schema-filtered props each would receive.
21
+ *
22
+ * Computed by the `when` predicate AND by `run`, on purpose: the projection to
23
+ * a shortcut only consumes the keystroke when `when` holds, and this gesture
24
+ * must fall through when it has nothing to apply — on Windows `Mod+Y` is also
25
+ * the `redo-windows` alias, which has to keep working.
26
+ */
27
+ function lastStyleTargets(std) {
28
+ // Readonly: nothing to repaint, so `when` fails and the keystroke falls
29
+ // through (on Windows Mod+Y is also the redo alias, itself readonly-gated).
30
+ if (std.store.readonly)
31
+ return [];
32
+ const gfx = std.get(GfxControllerIdentifier);
33
+ const lastStyle = std.get(EditPropsStore).lastUsedStyle$.value;
34
+ if (!Object.keys(lastStyle).length)
35
+ return [];
36
+ return gfx.selection.selectedElements.flatMap(element => {
37
+ const isPrimitive = element instanceof GfxPrimitiveElementModel;
38
+ const key = getLastPropsKey(isPrimitive ? element.type : element.flavour, (isPrimitive ? element.serialize() : {}));
39
+ const props = key ? pickStylePropsForKey(key, lastStyle) : null;
40
+ return props ? [{ id: element.id, props }] : [];
41
+ });
42
+ }
43
+ export const coreCommands = [
44
+ {
45
+ id: 'undo',
46
+ owner: 'core',
47
+ kind: 'action',
48
+ labelKey: 'com.affine.keyboardShortcuts.undo',
49
+ labelFallback: 'Undo',
50
+ surfaces: ['palette', 'agent'],
51
+ scope: 'global',
52
+ defaultKeys: { mac: ['Mod-z'], other: ['Mod-z'] },
53
+ availability: 'always',
54
+ run: std => {
55
+ if (std.store.canUndo)
56
+ std.store.undo();
57
+ },
58
+ },
59
+ {
60
+ id: 'redo',
61
+ owner: 'core',
62
+ kind: 'action',
63
+ labelKey: 'com.affine.keyboardShortcuts.redo',
64
+ labelFallback: 'Redo',
65
+ surfaces: ['palette', 'agent'],
66
+ scope: 'global',
67
+ defaultKeys: { mac: ['Shift-Mod-z'], other: ['Shift-Mod-z'] },
68
+ availability: 'always',
69
+ run: std => {
70
+ if (std.store.canRedo)
71
+ std.store.redo();
72
+ },
73
+ },
74
+ {
75
+ // Windows-only redo alias (Ctrl+Y); not bound on mac (empty combo).
76
+ id: 'redo-windows',
77
+ owner: 'core',
78
+ kind: 'action',
79
+ labelKey: 'com.affine.keyboardShortcuts.redo',
80
+ labelFallback: 'Redo',
81
+ // Not offered as a command: it is a platform alias of `redo`, not a second
82
+ // capability. It stays bindable in Settings › Shortcuts like every command.
83
+ surfaces: [],
84
+ scope: 'global',
85
+ defaultKeys: { mac: [], other: ['Control-y'] },
86
+ availability: 'always',
87
+ when: () => IS_WINDOWS,
88
+ run: std => {
89
+ if (std.store.canRedo)
90
+ std.store.redo();
91
+ },
92
+ },
93
+ {
94
+ // Duplicate the current edgeless selection. Mod+D is the browser
95
+ // "add bookmark" gesture, so the projection always preventDefaults when it
96
+ // acts. On mac Mod resolves to Cmd (Cmd+D = duplicate) which coexists with
97
+ // the imperative Ctrl+D = delete binding (see `edgeless-keyboard.ts`); on
98
+ // Windows/Linux Mod resolves to Ctrl (Ctrl+D = duplicate).
99
+ id: 'duplicate',
100
+ owner: 'core',
101
+ kind: 'action',
102
+ labelKey: 'com.affine.keyboardShortcuts.duplicate',
103
+ labelFallback: 'Duplicate',
104
+ surfaces: ['palette', 'agent'],
105
+ scope: 'edgeless',
106
+ defaultKeys: { mac: ['Mod-d'], other: ['Mod-d'] },
107
+ availability: 'selection',
108
+ run: std => {
109
+ const elements = std.get(GfxControllerIdentifier).selection
110
+ .selectedElements;
111
+ const rootId = std.store.root?.id;
112
+ const edgeless = rootId ? std.view.getBlock(rootId) : null;
113
+ if (!edgeless)
114
+ return;
115
+ duplicate(edgeless, elements).catch(console.error);
116
+ },
117
+ },
118
+ {
119
+ // Apply the last used style to the selected elements. "Last used" is the
120
+ // flat accumulation of every style prop the user recorded (every style
121
+ // edit and style pick records it), across element types: a fill picked on
122
+ // a rect repaints an ellipse, a font style set on a text restyles a
123
+ // shape. Each element only receives the props its own type supports —
124
+ // schema-filtered per prop, so geometry and content are never touched.
125
+ id: 'applyLastStyle',
126
+ owner: 'core',
127
+ kind: 'action',
128
+ labelKey: 'com.affine.keyboardShortcuts.applyLastStyle',
129
+ labelFallback: 'Apply last style',
130
+ surfaces: ['palette', 'agent'],
131
+ scope: 'edgeless',
132
+ defaultKeys: { mac: ['Mod-y'], other: ['Mod-y'] },
133
+ availability: 'selection',
134
+ when: std => lastStyleTargets(std).length > 0,
135
+ run: std => {
136
+ const targets = lastStyleTargets(std);
137
+ if (!targets.length)
138
+ return;
139
+ // One history frame: a single undo restores the previous styles.
140
+ std.store.captureSync();
141
+ const crud = std.get(EdgelessCRUDIdentifier);
142
+ for (const { id, props } of targets) {
143
+ crud.updateElement(id, props);
144
+ }
145
+ },
146
+ },
147
+ ];
@@ -1,9 +1,12 @@
1
1
  import { ViewExtensionProvider, } from '../affine-ext-loader/index.js';
2
2
  import { NoteBlockSchema } from '../affine-model/index.js';
3
3
  import { ToolbarModuleExtension, ViewportElementExtension, } from '../affine-shared/services/index.js';
4
- import { BlockFlavourIdentifier, BlockViewExtension, FlavourExtension, ShortcutExtension, ShortcutKeymapExtension, } from '../std/index.js';
4
+ import { BlockFlavourIdentifier, BlockViewExtension, FlavourExtension, CommandExtension, ShortcutKeymapExtension, } from '../std/index.js';
5
5
  import { literal } from 'lit/static-html.js';
6
6
  import { PageClipboard, ReadOnlyClipboard } from './clipboard/index.js';
7
+ import { pivotCommands } from './commands/pivot-commands.js';
8
+ import { readingCommands } from './commands/reading-commands.js';
9
+ import { tagCommands } from './commands/tag-commands.js';
7
10
  import { builtinToolbarConfig } from './configs/toolbar.js';
8
11
  import { EdgelessClipboardController, EdgelessRootService } from './edgeless/index.js';
9
12
  import { EdgelessElementToolbarExtension } from './edgeless/configs/toolbar/index.js';
@@ -11,7 +14,7 @@ import { EdgelessLocker } from './edgeless/edgeless-root-spec.js';
11
14
  import { AltCloneExtension } from './edgeless/interact-extensions/clone-ext.js';
12
15
  import { effects } from './effects.js';
13
16
  import { fallbackKeymap } from './keyboard/keymap.js';
14
- import { coreShortcuts } from './keyboard/shortcuts.js';
17
+ import { coreCommands } from './keyboard/commands.js';
15
18
  export class RootViewExtension extends ViewExtensionProvider {
16
19
  constructor() {
17
20
  super(...arguments);
@@ -59,9 +62,15 @@ export class RootViewExtension extends ViewExtensionProvider {
59
62
  context.register([
60
63
  FlavourExtension('affine:page'),
61
64
  fallbackKeymap,
62
- // Enumerable, host-overridable shortcuts. Core undo/redo live here; the
65
+ // Enumerable, host-overridable commands. Core undo/redo live here; the
66
+ // registration also derives their shortcut descriptors, and the
63
67
  // installer binds the effective keymap (see `@labre/std` shortcut.ts).
64
- ShortcutExtension(coreShortcuts),
68
+ CommandExtension([
69
+ ...coreCommands,
70
+ ...pivotCommands,
71
+ ...tagCommands,
72
+ ...readingCommands,
73
+ ]),
65
74
  ShortcutKeymapExtension('global'),
66
75
  ToolbarModuleExtension({
67
76
  id: BlockFlavourIdentifier(NoteBlockSchema.model.flavour),
@@ -22,7 +22,6 @@ export const reassociateConnectorsCommand = (ctx, next) => {
22
22
  id: newId,
23
23
  },
24
24
  });
25
- continue;
26
25
  }
27
26
  if (target.id === oldId) {
28
27
  surface.updateElement(id, {
@@ -1,6 +1,12 @@
1
+ import { MAP_QUALITY_WIDGET, MapQualityWidget, } from './extensions/map-quality-widget.js';
2
+ import { READING_PROPOSAL_WIDGET, ReadingProposalWidget, } from './extensions/reading-widget.js';
3
+ import { VIOLATION_DETAIL_WIDGET, ViolationDetailWidget, } from './extensions/violation-detail-widget.js';
1
4
  import { SurfaceBlockComponent } from './surface-block.js';
2
5
  import { SurfaceBlockVoidComponent } from './surface-block-void.js';
3
6
  export function effects() {
4
7
  customElements.define('affine-surface-void', SurfaceBlockVoidComponent);
5
8
  customElements.define('affine-surface', SurfaceBlockComponent);
9
+ customElements.define(VIOLATION_DETAIL_WIDGET, ViolationDetailWidget);
10
+ customElements.define(MAP_QUALITY_WIDGET, MapQualityWidget);
11
+ customElements.define(READING_PROPOSAL_WIDGET, ReadingProposalWidget);
6
12
  }
@@ -1,4 +1,4 @@
1
- import { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel } from '../../affine-model/index.js';
1
+ import { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyBoardElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel } from '../../affine-model/index.js';
2
2
  import { SurfaceElementModel } from './base.js';
3
3
  export declare const elementsCtorMap: {
4
4
  group: typeof GroupElementModel;
@@ -11,6 +11,7 @@ export declare const elementsCtorMap: {
11
11
  wardley: typeof WardleyBackgroundElementModel;
12
12
  wardleyNode: typeof WardleyNodeElementModel;
13
13
  edgy: typeof EdgyFacetsElementModel;
14
+ edgyBoard: typeof EdgyBoardElementModel;
14
15
  edgyNode: typeof EdgyNodeElementModel;
15
16
  cynefin: typeof CynefinElementModel;
16
17
  estuarine: typeof EstuarineElementModel;
@@ -18,7 +19,7 @@ export declare const elementsCtorMap: {
18
19
  bpmnNode: typeof BpmnNodeElementModel;
19
20
  bpmnPool: typeof BpmnPoolElementModel;
20
21
  };
21
- export { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, SurfaceElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel, };
22
+ export { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyBoardElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, SurfaceElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel, };
22
23
  export declare enum CanvasElementType {
23
24
  BRUSH = "brush",
24
25
  CONNECTOR = "connector",
@@ -30,6 +31,7 @@ export declare enum CanvasElementType {
30
31
  WARDLEY = "wardley",
31
32
  WARDLEYNODE = "wardleyNode",
32
33
  EDGY = "edgy",
34
+ EDGYBOARD = "edgyBoard",
33
35
  EDGYNODE = "edgyNode",
34
36
  CYNEFIN = "cynefin",
35
37
  ESTUARINE = "estuarine",
@@ -48,6 +50,7 @@ export type ElementModelMap = {
48
50
  ['wardley']: WardleyBackgroundElementModel;
49
51
  ['wardleyNode']: WardleyNodeElementModel;
50
52
  ['edgy']: EdgyFacetsElementModel;
53
+ ['edgyBoard']: EdgyBoardElementModel;
51
54
  ['edgyNode']: EdgyNodeElementModel;
52
55
  ['cynefin']: CynefinElementModel;
53
56
  ['estuarine']: EstuarineElementModel;
@@ -1,4 +1,4 @@
1
- import { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel, } from '../../affine-model/index.js';
1
+ import { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyBoardElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel, } from '../../affine-model/index.js';
2
2
  import { SurfaceElementModel } from './base.js';
3
3
  export const elementsCtorMap = {
4
4
  group: GroupElementModel,
@@ -11,6 +11,7 @@ export const elementsCtorMap = {
11
11
  wardley: WardleyBackgroundElementModel,
12
12
  wardleyNode: WardleyNodeElementModel,
13
13
  edgy: EdgyFacetsElementModel,
14
+ edgyBoard: EdgyBoardElementModel,
14
15
  edgyNode: EdgyNodeElementModel,
15
16
  cynefin: CynefinElementModel,
16
17
  estuarine: EstuarineElementModel,
@@ -18,7 +19,7 @@ export const elementsCtorMap = {
18
19
  bpmnNode: BpmnNodeElementModel,
19
20
  bpmnPool: BpmnPoolElementModel,
20
21
  };
21
- export { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, SurfaceElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel, };
22
+ export { BpmnNodeElementModel, BpmnPoolElementModel, BrushElementModel, ConnectorElementModel, CoreDomainChartElementModel, CynefinElementModel, EdgyBoardElementModel, EdgyFacetsElementModel, EdgyNodeElementModel, EstuarineElementModel, GroupElementModel, HighlighterElementModel, MindmapElementModel, ShapeElementModel, SurfaceElementModel, TextElementModel, WardleyBackgroundElementModel, WardleyNodeElementModel, };
22
23
  export var CanvasElementType;
23
24
  (function (CanvasElementType) {
24
25
  CanvasElementType["BRUSH"] = "brush";
@@ -31,6 +32,7 @@ export var CanvasElementType;
31
32
  CanvasElementType["WARDLEY"] = "wardley";
32
33
  CanvasElementType["WARDLEYNODE"] = "wardleyNode";
33
34
  CanvasElementType["EDGY"] = "edgy";
35
+ CanvasElementType["EDGYBOARD"] = "edgyBoard";
34
36
  CanvasElementType["EDGYNODE"] = "edgyNode";
35
37
  CanvasElementType["CYNEFIN"] = "cynefin";
36
38
  CanvasElementType["ESTUARINE"] = "estuarine";