@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
@@ -39,7 +39,7 @@ import { mountShapeTextEditor, SHAPE_OVERLAY_HEIGHT, SHAPE_OVERLAY_WIDTH, ShapeC
39
39
  import { insertEdgelessTextCommand, mountTextElementEditor, } from '../affine-gfx-text/index.js';
40
40
  import { DEFAULT_NOTE_WIDTH, DefaultTheme, FontFamily, FontStyle, FontWeight, getShapeName, GroupElementModel, NoteBlockModel, ShapeStyle, TextElementModel, } from '../affine-model/index.js';
41
41
  import { EditPropsStore, FeatureFlagService, ThemeProvider, } from '../affine-shared/services/index.js';
42
- import { captureEventTarget, matchModels, } from '../affine-shared/utils/index.js';
42
+ import { captureEventTarget, matchModels, overlayScale, overlayViewportSize, toOverlayCoord, } from '../affine-shared/utils/index.js';
43
43
  import { Bound, clamp, normalizeDegAngle, serializeXYWH, toDegree, Vec, } from '../global/gfx/index.js';
44
44
  import { WithDisposable } from '../global/lit/index.js';
45
45
  import { FrameIcon, PageIcon } from '@blocksuite/icons/lit';
@@ -369,11 +369,16 @@ let EdgelessAutoCompletePanel = (() => {
369
369
  }
370
370
  _getPanelPosition() {
371
371
  const { viewport } = this.gfx;
372
- const { boundingClientRect: viewportRect, zoom } = viewport;
373
- const result = this._getTargetXYWH(PANEL_WIDTH / zoom, PANEL_HEIGHT / zoom);
372
+ // The panel is appended to the edgeless container, so its `left`/`top`
373
+ // live in that container's space — already scaled by the host, the way a
374
+ // gfx block's placement is. Both the panel's own size and the edges it is
375
+ // kept away from have to be stated there too, or the clamp fires against
376
+ // screen pixels the panel is not measured in.
377
+ const scale = overlayScale(viewport);
378
+ const result = this._getTargetXYWH(PANEL_WIDTH / scale, PANEL_HEIGHT / scale);
374
379
  const pos = result ? result.xywh.slice(0, 2) : this.position;
375
- const coord = viewport.toViewCoord(pos[0], pos[1]);
376
- const { width, height } = viewportRect;
380
+ const coord = toOverlayCoord(viewport, pos[0], pos[1]);
381
+ const [width, height] = overlayViewportSize(viewport);
377
382
  coord[0] = clamp(coord[0], 20, width - 20 - PANEL_WIDTH);
378
383
  coord[1] = clamp(coord[1], 20, height - 20 - PANEL_HEIGHT);
379
384
  return coord;
@@ -12,6 +12,12 @@ export declare class EdgelessAutoComplete extends EdgelessAutoComplete_base {
12
12
  private readonly _onPointerDown;
13
13
  private _pathGenerator;
14
14
  private _timer;
15
+ /**
16
+ * Whether `this.current` is a thing the auto-complete knows how to clone: a
17
+ * shape (subclasses included) or a note block. Deliberately says nothing
18
+ * about the selection — the drag-out path consults it *after* clearing the
19
+ * selection to open the shape picker.
20
+ */
15
21
  get canShowAutoComplete(): boolean;
16
22
  get connectionOverlay(): ConnectionOverlay;
17
23
  get crud(): import("../affine-block-surface/index.js").EdgelessCRUDExtension;
@@ -30,10 +36,18 @@ export declare class EdgelessAutoComplete extends EdgelessAutoComplete_base {
30
36
  private _showNextShape;
31
37
  connectedCallback(): void;
32
38
  firstUpdated(): void;
39
+ /**
40
+ * The single predicate the arrows are rendered on. It must stay stricter
41
+ * than, or equal to, what the click handlers can actually do: an arrow the
42
+ * click cannot honour is a crash waiting to happen (see
43
+ * `createEdgelessElement`). Hence the identity check — `current` is a
44
+ * property set by the selected-rect on the previous render, so it can lag
45
+ * behind the selection by a frame, and it is `current`, not the selection,
46
+ * that the click acts on.
47
+ */
33
48
  private _canAutoComplete;
34
49
  removeOverlay(): void;
35
50
  render(): import("lit-html").TemplateResult<1> | typeof nothing;
36
- private accessor _isHover;
37
51
  private accessor _isMoving;
38
52
  accessor current: ShapeElementModel | NoteBlockModel;
39
53
  accessor edgeless: BlockComponent;
@@ -37,7 +37,7 @@ import { ConnectorPathGenerator, } from '../affine-gfx-connector/index.js';
37
37
  import { mountShapeTextEditor } from '../affine-gfx-shape/index.js';
38
38
  import { DEFAULT_NOTE_HEIGHT, DefaultTheme, LayoutType, MindmapElementModel, ShapeElementModel, shapeMethods, } from '../affine-model/index.js';
39
39
  import { ToolbarRegistryIdentifier } from '../affine-shared/services/index.js';
40
- import { handleNativeRangeAtPoint } from '../affine-shared/utils/index.js';
40
+ import { handleNativeRangeAtPoint, toClientCoord, } from '../affine-shared/utils/index.js';
41
41
  import { DisposableGroup } from '../global/disposable/index.js';
42
42
  import { Vec } from '../global/gfx/index.js';
43
43
  import { WithDisposable } from '../global/lit/index.js';
@@ -77,9 +77,6 @@ class AutoCompleteOverlay extends Overlay {
77
77
  }
78
78
  let EdgelessAutoComplete = (() => {
79
79
  let _classSuper = WithDisposable(LitElement);
80
- let __isHover_decorators;
81
- let __isHover_initializers = [];
82
- let __isHover_extraInitializers = [];
83
80
  let __isMoving_decorators;
84
81
  let __isMoving_initializers = [];
85
82
  let __isMoving_extraInitializers = [];
@@ -98,7 +95,6 @@ let EdgelessAutoComplete = (() => {
98
95
  return class EdgelessAutoComplete extends _classSuper {
99
96
  static {
100
97
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
101
- __isHover_decorators = [state()];
102
98
  __isMoving_decorators = [state()];
103
99
  _current_decorators = [property({ attribute: false })];
104
100
  _edgeless_decorators = [property({ attribute: false })];
@@ -106,7 +102,6 @@ let EdgelessAutoComplete = (() => {
106
102
  _std_decorators = [consume({
107
103
  context: stdContext,
108
104
  })];
109
- __esDecorate(this, null, __isHover_decorators, { kind: "accessor", name: "_isHover", static: false, private: false, access: { has: obj => "_isHover" in obj, get: obj => obj._isHover, set: (obj, value) => { obj._isHover = value; } }, metadata: _metadata }, __isHover_initializers, __isHover_extraInitializers);
110
105
  __esDecorate(this, null, __isMoving_decorators, { kind: "accessor", name: "_isMoving", static: false, private: false, access: { has: obj => "_isMoving" in obj, get: obj => obj._isMoving, set: (obj, value) => { obj._isMoving = value; } }, metadata: _metadata }, __isMoving_initializers, __isMoving_extraInitializers);
111
106
  __esDecorate(this, null, _current_decorators, { kind: "accessor", name: "current", static: false, private: false, access: { has: obj => "current" in obj, get: obj => obj.current, set: (obj, value) => { obj.current = value; } }, metadata: _metadata }, _current_initializers, _current_extraInitializers);
112
107
  __esDecorate(this, null, _edgeless_decorators, { kind: "accessor", name: "edgeless", static: false, private: false, access: { has: obj => "edgeless" in obj, get: obj => obj.edgeless, set: (obj, value) => { obj.edgeless = value; } }, metadata: _metadata }, _edgeless_initializers, _edgeless_extraInitializers);
@@ -195,6 +190,12 @@ let EdgelessAutoComplete = (() => {
195
190
  get _surface() {
196
191
  return getSurfaceBlock(this.std.store);
197
192
  }
193
+ /**
194
+ * Whether `this.current` is a thing the auto-complete knows how to clone: a
195
+ * shape (subclasses included) or a note block. Deliberately says nothing
196
+ * about the selection — the drag-out path consults it *after* clearing the
197
+ * selection to open the shape picker.
198
+ */
198
199
  get canShowAutoComplete() {
199
200
  const { current } = this;
200
201
  return isShape(current) || isNoteBlock(current);
@@ -283,11 +284,18 @@ let EdgelessAutoComplete = (() => {
283
284
  _createAutoCompletePanel(e, connector) {
284
285
  if (!this.canShowAutoComplete)
285
286
  return;
286
- const position = this.gfx.viewport.toModelCoord(e.clientX, e.clientY);
287
+ // `clientX`/`clientY` are window coordinates: read them as such, or the
288
+ // panel opens at the viewport's own offset away from the pointer.
289
+ const position = this.gfx.viewport.toModelCoordFromClientCoord([
290
+ e.clientX,
291
+ e.clientY,
292
+ ]);
287
293
  const autoCompletePanel = new EdgelessAutoCompletePanel(position, this.edgeless, this.current, connector);
288
294
  this.edgeless.append(autoCompletePanel);
289
295
  }
290
296
  _generateElementOnClick(type) {
297
+ if (!this.canShowAutoComplete)
298
+ return;
291
299
  const { store } = this.edgeless;
292
300
  const bound = this._computeNextBound(type);
293
301
  const id = createEdgelessElement(this.edgeless, this.current, bound);
@@ -309,7 +317,11 @@ let EdgelessAutoComplete = (() => {
309
317
  if (!model) {
310
318
  return;
311
319
  }
312
- const [x, y] = this.gfx.viewport.toViewCoord(bound.center[0], bound.y + DEFAULT_NOTE_HEIGHT / 2);
320
+ // `handleNativeRangeAtPoint` hands the point to
321
+ // `document.caretRangeFromPoint`, which speaks client coordinates: the
322
+ // viewport's own offset in the window has to be there, or the caret is
323
+ // placed by that offset away from the note that was just created.
324
+ const [x, y] = toClientCoord(this.gfx.viewport, bound.center[0], bound.y + DEFAULT_NOTE_HEIGHT / 2);
313
325
  requestAnimationFrame(() => {
314
326
  handleNativeRangeAtPoint(x, y);
315
327
  });
@@ -524,7 +536,7 @@ let EdgelessAutoComplete = (() => {
524
536
  this._initOverlay();
525
537
  }
526
538
  firstUpdated() {
527
- const { _disposables, edgeless, gfx } = this;
539
+ const { _disposables, gfx } = this;
528
540
  _disposables.add(this.gfx.selection.slots.updated.subscribe(() => {
529
541
  this._autoCompleteOverlay.linePoints = [];
530
542
  this._autoCompleteOverlay.renderShape = null;
@@ -533,16 +545,6 @@ let EdgelessAutoComplete = (() => {
533
545
  this.requestUpdate();
534
546
  }));
535
547
  _disposables.add(() => this.removeOverlay());
536
- _disposables.add(edgeless.host.event.add('pointerMove', ctx => {
537
- const evt = ctx.get('pointerState');
538
- const [x, y] = gfx.viewport.toModelCoord(evt.x, evt.y);
539
- const elm = gfx.getElementByPoint(x, y);
540
- if (!elm) {
541
- this._isHover = false;
542
- return;
543
- }
544
- this._isHover = elm === this.current ? true : false;
545
- }));
546
548
  this.edgeless.handleEvent('dragStart', () => {
547
549
  this._isMoving = true;
548
550
  });
@@ -550,11 +552,20 @@ let EdgelessAutoComplete = (() => {
550
552
  this._isMoving = false;
551
553
  });
552
554
  }
555
+ /**
556
+ * The single predicate the arrows are rendered on. It must stay stricter
557
+ * than, or equal to, what the click handlers can actually do: an arrow the
558
+ * click cannot honour is a crash waiting to happen (see
559
+ * `createEdgelessElement`). Hence the identity check — `current` is a
560
+ * property set by the selected-rect on the previous render, so it can lag
561
+ * behind the selection by a frame, and it is `current`, not the selection,
562
+ * that the click acts on.
563
+ */
553
564
  _canAutoComplete() {
554
- const selection = this.gfx.selection;
555
- return (selection.selectedElements.length === 1 &&
556
- (selection.selectedElements[0] instanceof ShapeElementModel ||
557
- isNoteBlock(selection.selectedElements[0])));
565
+ const selected = this.gfx.selection.selectedElements;
566
+ return (selected.length === 1 &&
567
+ selected[0] === this.current &&
568
+ this.canShowAutoComplete);
558
569
  }
559
570
  removeOverlay() {
560
571
  this._timer && clearTimeout(this._timer);
@@ -564,13 +575,11 @@ let EdgelessAutoComplete = (() => {
564
575
  surface.renderer.removeOverlay(this._autoCompleteOverlay);
565
576
  }
566
577
  render() {
567
- const isShape = this.current instanceof ShapeElementModel;
568
- const isMindMap = this.current.group instanceof MindmapElementModel;
569
- if (this._isMoving ||
570
- (this._isHover && !isShape && !this._canAutoComplete())) {
578
+ if (this._isMoving || !this._canAutoComplete()) {
571
579
  this.removeOverlay();
572
580
  return nothing;
573
581
  }
582
+ const isMindMap = this.current.group instanceof MindmapElementModel;
574
583
  const { selectedRect } = this;
575
584
  return html `<div
576
585
  class="edgeless-auto-complete-container"
@@ -585,9 +594,6 @@ let EdgelessAutoComplete = (() => {
585
594
  ${isMindMap ? this._renderMindMapButtons() : this._renderArrow()}
586
595
  </div>`;
587
596
  }
588
- #_isHover_accessor_storage;
589
- get _isHover() { return this.#_isHover_accessor_storage; }
590
- set _isHover(value) { this.#_isHover_accessor_storage = value; }
591
597
  #_isMoving_accessor_storage;
592
598
  get _isMoving() { return this.#_isMoving_accessor_storage; }
593
599
  set _isMoving(value) { this.#_isMoving_accessor_storage = value; }
@@ -650,8 +656,7 @@ let EdgelessAutoComplete = (() => {
650
656
  });
651
657
  };
652
658
  this._timer = null;
653
- this.#_isHover_accessor_storage = __runInitializers(this, __isHover_initializers, true);
654
- this.#_isMoving_accessor_storage = (__runInitializers(this, __isHover_extraInitializers), __runInitializers(this, __isMoving_initializers, false));
659
+ this.#_isMoving_accessor_storage = __runInitializers(this, __isMoving_initializers, false);
655
660
  this.#current_accessor_storage = (__runInitializers(this, __isMoving_extraInitializers), __runInitializers(this, _current_initializers, void 0));
656
661
  this.#edgeless_accessor_storage = (__runInitializers(this, _current_extraInitializers), __runInitializers(this, _edgeless_initializers, void 0));
657
662
  this.#selectedRect_accessor_storage = (__runInitializers(this, _edgeless_extraInitializers), __runInitializers(this, _selectedRect_initializers, void 0));
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  return useValue ? value : void 0;
34
34
  };
35
35
  import { RefNodeSlotsProvider } from '../affine-inline-reference/index.js';
36
- import { requestThrottledConnectedFrame } from '../affine-shared/utils/index.js';
36
+ import { overlayScale, requestThrottledConnectedFrame, toOverlayCoord, } from '../affine-shared/utils/index.js';
37
37
  import { WidgetComponent } from '../std/index.js';
38
38
  import { GfxControllerIdentifier, GfxPrimitiveElementModel, } from '../std/gfx/index.js';
39
39
  import { OpenInNewIcon, RightSidebarIcon } from '@blocksuite/icons/lit';
@@ -72,12 +72,13 @@ let EdgelessElementLinkWidget = (() => {
72
72
  }
73
73
  const bound = el.elementBound;
74
74
  const { viewport } = this.gfx;
75
- const [left, top] = viewport.toViewCoord(bound.x, bound.y);
75
+ const [left, top] = toOverlayCoord(viewport, bound.x, bound.y);
76
+ const scale = overlayScale(viewport);
76
77
  this._rect = {
77
78
  left,
78
79
  top,
79
- width: bound.w * viewport.zoom,
80
- height: bound.h * viewport.zoom,
80
+ width: bound.w * scale,
81
+ height: bound.h * scale,
81
82
  };
82
83
  }, this));
83
84
  this._open = (e) => {
@@ -36,7 +36,7 @@ import {} from '../affine-block-frame/index.js';
36
36
  import { EdgelessLegacySlotIdentifier, OverlayIdentifier, } from '../affine-block-surface/index.js';
37
37
  import { ConnectorElementModel, } from '../affine-model/index.js';
38
38
  import { unsafeCSSVarV2 } from '../affine-shared/theme/index.js';
39
- import { getSelectedRect, requestThrottledConnectedFrame, stopPropagation, } from '../affine-shared/utils/index.js';
39
+ import { getSelectedRect, overlayScale, requestThrottledConnectedFrame, stopPropagation, toOverlayCoord, } from '../affine-shared/utils/index.js';
40
40
  import { deserializeXYWH } from '../global/gfx/index.js';
41
41
  import { WidgetComponent } from '../std/index.js';
42
42
  import { GfxControllerIdentifier, InteractivityIdentifier, } from '../std/gfx/index.js';
@@ -523,13 +523,14 @@ let EdgelessSelectedRectWidget = (() => {
523
523
  borderStyle: 'solid',
524
524
  });
525
525
  this._updateSelectedRect = (__runInitializers(this, __selectedRect_extraInitializers), requestThrottledConnectedFrame(() => {
526
- const { zoom, selection, gfx } = this;
526
+ const { selection, gfx } = this;
527
527
  const elements = selection.selectedElements;
528
528
  // in surface
529
529
  const rect = getSelectedRect(elements);
530
- // in viewport
531
- const [left, top] = gfx.viewport.toViewCoord(rect.left, rect.top);
532
- const [width, height] = [rect.width * zoom, rect.height * zoom];
530
+ // in viewport, inside the container the host may have scaled
531
+ const [left, top] = toOverlayCoord(gfx.viewport, rect.left, rect.top);
532
+ const scale = overlayScale(gfx.viewport);
533
+ const [width, height] = [rect.width * scale, rect.height * scale];
533
534
  let rotate = 0;
534
535
  if (elements.length === 1 && elements[0].rotate) {
535
536
  rotate = elements[0].rotate;
@@ -571,7 +572,15 @@ let EdgelessSelectedRectWidget = (() => {
571
572
  }
572
573
  _disposables.add(this.store.slots.blockUpdated.subscribe(this._updateOnElementChange));
573
574
  _disposables.add(selection.slots.updated.subscribe(this._updateOnSelectionChange));
574
- _disposables.add(this._slots.readonlyUpdated.subscribe(() => this.requestUpdate()));
575
+ _disposables.add(
576
+ // `_updateHandles` already refuses on readonly, but it only ran on
577
+ // selection change: a board switched to readonly while something was
578
+ // selected kept its 8 resize handles — and dragging one of them wrote
579
+ // `xywh`. Recompute on the flip, in both directions.
580
+ this._slots.readonlyUpdated.subscribe(() => {
581
+ this._updateHandles();
582
+ this.requestUpdate();
583
+ }));
575
584
  _disposables.add(this._slots.elementResizeEnd.subscribe(() => (this._isResizing = false)));
576
585
  if (this._interaction) {
577
586
  _disposables.add(this._interaction.activeInteraction$.subscribe(val => {
@@ -686,15 +695,16 @@ let EdgelessSelectedRectWidget = (() => {
686
695
  !elements.some(e => e instanceof ConnectorElementModel)) {
687
696
  handles.push(repeat(elements, element => element.id, element => {
688
697
  const [modelX, modelY, w, h] = deserializeXYWH(element.xywh);
689
- const [x, y] = gfx.viewport.toViewCoord(modelX, modelY);
698
+ const [x, y] = toOverlayCoord(gfx.viewport, modelX, modelY);
699
+ const scale = overlayScale(gfx.viewport);
690
700
  const { left, top, borderWidth } = this._selectedRect;
691
701
  const style = {
692
702
  position: 'absolute',
693
703
  boxSizing: 'border-box',
694
704
  left: `${x - left - borderWidth}px`,
695
705
  top: `${y - top - borderWidth}px`,
696
- width: `${w * this.zoom}px`,
697
- height: `${h * this.zoom}px`,
706
+ width: `${w * scale}px`,
707
+ height: `${h * scale}px`,
698
708
  transform: `rotate(${element.rotate}deg)`,
699
709
  border: `1px solid var(--affine-primary-color)`,
700
710
  };
@@ -2,7 +2,7 @@ import { type Options, Overlay, type RoughCanvas } from '../affine-block-surface
2
2
  import { type NoteBlockModel, ShapeElementModel, type ShapeName, type ShapeStyle } from '../affine-model/index.js';
3
3
  import { Bound, type XYWH } from '../global/gfx/index.js';
4
4
  import type { BlockComponent } from '../std/index.js';
5
- import type { CursorType, GfxController, ResizeHandle, StandardCursor } from '../std/gfx/index.js';
5
+ import type { CursorType, GfxController, GfxModel, ResizeHandle, StandardCursor } from '../std/gfx/index.js';
6
6
  export declare enum Direction {
7
7
  Right = 0,
8
8
  Bottom = 1,
@@ -49,7 +49,21 @@ export declare function getPosition(type: Direction): {
49
49
  };
50
50
  export declare function isShape(element: unknown): element is ShapeElementModel;
51
51
  export declare function capitalizeFirstLetter(str: string): string;
52
- export declare function createEdgelessElement(edgeless: BlockComponent, current: ShapeElementModel | NoteBlockModel, bound: Bound): string | null;
52
+ /**
53
+ * Clone `current` one bound further along, so an auto-complete arrow can drop a
54
+ * sibling of what is selected.
55
+ *
56
+ * Only two kinds of thing can be cloned this way: a shape (any
57
+ * `ShapeElementModel`, subclasses included — a wardley node, an EDGY node, a
58
+ * BPMN node) and a note block. Everything else on the canvas — a group, a free
59
+ * text label, a connector, a framework background — has no `props` bag at all,
60
+ * and reading one blindly is what used to throw
61
+ * `Cannot read properties of undefined (reading 'background')` the moment an
62
+ * arrow was offered on a selected wardley component (which selects the *group*
63
+ * wrapping node + label, not the node). We return `null` instead: the caller
64
+ * already treats a falsy id as "nothing to complete".
65
+ */
66
+ export declare function createEdgelessElement(edgeless: BlockComponent, current: GfxModel, bound: Bound): string | null;
53
67
  export declare function createShapeElement(edgeless: BlockComponent, current: ShapeElementModel | NoteBlockModel, targetType: TARGET_SHAPE_TYPE): string | null;
54
68
  export declare function generateCursorUrl(angle: number | undefined, handle: ResizeHandle, fallback?: StandardCursor): CursorType;
55
69
  export declare function getRotatedResizeCursor(option: {
@@ -1,4 +1,4 @@
1
- import { EdgelessCRUDIdentifier, Overlay, } from '../affine-block-surface/index.js';
1
+ import { EdgelessCRUDIdentifier, isNoteBlock, Overlay, } from '../affine-block-surface/index.js';
2
2
  import { ShapeFactory } from '../affine-gfx-shape/index.js';
3
3
  import { getShapeRadius, getShapeType, GroupElementModel, ShapeElementModel, } from '../affine-model/index.js';
4
4
  import { BlockSuiteError, ErrorCode } from '../global/exceptions/index.js';
@@ -203,6 +203,20 @@ export function isShape(element) {
203
203
  export function capitalizeFirstLetter(str) {
204
204
  return str.charAt(0).toUpperCase() + str.slice(1);
205
205
  }
206
+ /**
207
+ * Clone `current` one bound further along, so an auto-complete arrow can drop a
208
+ * sibling of what is selected.
209
+ *
210
+ * Only two kinds of thing can be cloned this way: a shape (any
211
+ * `ShapeElementModel`, subclasses included — a wardley node, an EDGY node, a
212
+ * BPMN node) and a note block. Everything else on the canvas — a group, a free
213
+ * text label, a connector, a framework background — has no `props` bag at all,
214
+ * and reading one blindly is what used to throw
215
+ * `Cannot read properties of undefined (reading 'background')` the moment an
216
+ * arrow was offered on a selected wardley component (which selects the *group*
217
+ * wrapping node + label, not the node). We return `null` instead: the caller
218
+ * already treats a falsy id as "nothing to complete".
219
+ */
206
220
  export function createEdgelessElement(edgeless, current, bound) {
207
221
  const crud = edgeless.std.get(EdgelessCRUDIdentifier);
208
222
  let id;
@@ -217,7 +231,7 @@ export function createEdgelessElement(edgeless, current, bound) {
217
231
  return null;
218
232
  element = crud.getElementById(id);
219
233
  }
220
- else {
234
+ else if (isNoteBlock(current)) {
221
235
  const { store } = edgeless;
222
236
  id = store.addBlock('affine:note', {
223
237
  background: current.props.background,
@@ -236,6 +250,9 @@ export function createEdgelessElement(edgeless, current, bound) {
236
250
  store.addBlock('affine:paragraph', {}, note.id);
237
251
  element = note;
238
252
  }
253
+ else {
254
+ return null;
255
+ }
239
256
  if (!element) {
240
257
  throw new BlockSuiteError(ErrorCode.GfxBlockElementError, 'Element is not found after creation');
241
258
  }
@@ -0,0 +1,14 @@
1
+ import type { ExtensionType } from '../../store/index.js';
2
+ /**
3
+ * The DEFAULT `ArtefactCatalogueProvider`: the library's own left sidepanel.
4
+ *
5
+ * Registered next to the widget itself (`EdgelessToolbarViewExtension`), and
6
+ * unconditionally — a catalogue is core chrome, not a framework's tooling. ADR
7
+ * 0009's gating is carried by the frameworks: a framework whose flag is off
8
+ * shows no senior button, so its owner is never passed to `open`, and the panel
9
+ * simply never opens for it.
10
+ *
11
+ * `di.addImpl`, so a host's `ArtefactCatalogueExtension(service)` — which uses
12
+ * `di.override` — wins whatever the registration order.
13
+ */
14
+ export declare const artefactCatalogueDefaultExtension: ExtensionType;
@@ -0,0 +1,40 @@
1
+ import { ArtefactCatalogueProvider, } from '../../affine-shared/services/index.js';
2
+ import { StdIdentifier } from '../../std/index.js';
3
+ import { EDGELESS_ARTEFACT_CATALOGUE_WIDGET, } from './artefact-catalogue-widget.js';
4
+ /**
5
+ * The widget, found on the editor host — or `null` before it has mounted, and
6
+ * on a page-mode editor where it is not registered at all.
7
+ *
8
+ * A DOM lookup rather than a reference held at registration time, because the
9
+ * widget is created and destroyed by lit as the root block renders: the same
10
+ * lookup `EditorAnchoredPanel` makes for the toolbar it measures against. A
11
+ * `null` here is not an error — it is a catalogue nobody can open yet, and the
12
+ * `open` below is then a no-op rather than a throw in a menu click handler.
13
+ */
14
+ function catalogueWidget(std) {
15
+ return (std.host.querySelector(EDGELESS_ARTEFACT_CATALOGUE_WIDGET) ?? null);
16
+ }
17
+ /**
18
+ * The DEFAULT `ArtefactCatalogueProvider`: the library's own left sidepanel.
19
+ *
20
+ * Registered next to the widget itself (`EdgelessToolbarViewExtension`), and
21
+ * unconditionally — a catalogue is core chrome, not a framework's tooling. ADR
22
+ * 0009's gating is carried by the frameworks: a framework whose flag is off
23
+ * shows no senior button, so its owner is never passed to `open`, and the panel
24
+ * simply never opens for it.
25
+ *
26
+ * `di.addImpl`, so a host's `ArtefactCatalogueExtension(service)` — which uses
27
+ * `di.override` — wins whatever the registration order.
28
+ */
29
+ export const artefactCatalogueDefaultExtension = {
30
+ setup: di => {
31
+ di.addImpl(ArtefactCatalogueProvider, provider => {
32
+ const std = provider.get(StdIdentifier);
33
+ const service = {
34
+ open: owner => catalogueWidget(std)?.openFor(owner),
35
+ close: () => catalogueWidget(std)?.closePanel(),
36
+ };
37
+ return service;
38
+ });
39
+ },
40
+ };
@@ -0,0 +1,158 @@
1
+ import type { RootBlockModel } from '../../affine-model/index.js';
2
+ import { type CommandOwner, WidgetComponent } from '../../std/index.js';
3
+ import { nothing } from 'lit';
4
+ export declare const EDGELESS_ARTEFACT_CATALOGUE_WIDGET = "edgeless-artefact-catalogue-widget";
5
+ /**
6
+ * The **artefact catalogue** sidepanel (PF6).
7
+ *
8
+ * A framework's senior sub-menu is a row of icons, and a row of icons stops
9
+ * working somewhere around fourteen. The BPMN pack is the first framework to
10
+ * pass that line, so the sub-menu shows the thirteen the ranking put first and
11
+ * hands the rest to this panel: everything the owner declares on the
12
+ * `'catalogue'` surface, grouped by the categories the framework itself
13
+ * declared, with the label and the chord spelled out instead of guessed from a
14
+ * glyph.
15
+ *
16
+ * ## Left, full height, inside the editor
17
+ *
18
+ * Not a popover, not a modal. It is a column down the left edge of the editor
19
+ * host — the side no toolbar occupies — the canvas stays live to its right, and
20
+ * a click on the canvas puts it away. Twenty artefacts want a list you scroll,
21
+ * and a list you scroll wants height; a floating box would have had to choose
22
+ * between covering the board and showing four rows at a time.
23
+ *
24
+ * ## Not an `EditorAnchoredPanel`
25
+ *
26
+ * The shared base (ADR 0011) exists for panels pinned ABOVE the senior button
27
+ * bar and measured against it: its host is bottom-left and zero-sized, and
28
+ * `anchorBox()` returns a `bottom` and a width read off the bar. None of that
29
+ * is expressible for a full-height column, so the geometry is this file's own —
30
+ * but the WISDOM is not reinvented. The layer constant is imported from there
31
+ * rather than copied, and the host is zero-WIDTH for the same reason its host is
32
+ * zero-sized (`.widgets-container > * { pointer-events: auto }` is an outer-tree
33
+ * rule that beats `:host { pointer-events: none }`, so a host with a real box
34
+ * would swallow canvas clicks down the whole left side of the board). The
35
+ * click-away, the Escape-on-`std.host` scope and the disconnect cleanup are the
36
+ * same contracts, replicated in about thirty lines.
37
+ *
38
+ * ## What closing does, and does not
39
+ *
40
+ * X, Escape and click-away all close, on the FIRST gesture, and none of them
41
+ * touches the active senior tool: the panel is a way of reaching a command, not
42
+ * a mode. Invoking a row closes it too — the PO's default is one tap and back
43
+ * to the canvas.
44
+ *
45
+ * ## Who opens it
46
+ *
47
+ * `ArtefactCatalogueProvider`. This widget registers itself as the DEFAULT
48
+ * implementation ({@link artefactCatalogueDefaultExtension}); a host with its
49
+ * own sidebar registers `ArtefactCatalogueExtension(service)`, whose
50
+ * `di.override` wins, and this panel is then never asked to open.
51
+ */
52
+ export declare class EdgelessArtefactCatalogueWidget extends WidgetComponent<RootBlockModel> {
53
+ static styles: import("lit").CSSResult;
54
+ /** Which framework's catalogue is on screen, or `null` when it is away. */
55
+ private accessor _owner;
56
+ /** The owner the body was last scrolled to the top for. */
57
+ private _scrolledFor;
58
+ get catalogueOpen(): boolean;
59
+ /**
60
+ * Show `owner`'s catalogue. Called through `ArtefactCatalogueProvider`, never
61
+ * from another widget's DOM — the sub-menu that opens it lives in a different
62
+ * tree, and the seam is what keeps a host's own sidebar substitutable.
63
+ */
64
+ openFor(owner: CommandOwner): void;
65
+ /**
66
+ * Put the panel away. Deliberately writes NOTHING but its own state: the
67
+ * senior tool the user armed before opening the catalogue is still armed
68
+ * after, whichever gesture closed it.
69
+ */
70
+ readonly closePanel: () => void;
71
+ /** Keep a gesture inside the panel from reaching the canvas behind it. */
72
+ private readonly _swallow;
73
+ private readonly _onDocumentPointerDown;
74
+ /**
75
+ * Escape is listened for on the EDITOR HOST, not on `document`: a host
76
+ * application keeps its own global Escape, and with the catalogue open the
77
+ * key dismisses the catalogue rather than clearing the canvas selection
78
+ * behind it. Same scope and same reasoning as `EditorAnchoredPanel`.
79
+ */
80
+ private readonly _onHostKeydown;
81
+ /**
82
+ * A wheel OVER THE PANEL scrolls the panel, never the board.
83
+ *
84
+ * Same bug and same fix as the violation bubble (PR #103, PO 02/08):
85
+ * `EdgelessRootBlock` takes `wheel` off the event dispatcher on the editor
86
+ * host and `preventDefault()`s unconditionally before panning — so a wheel
87
+ * over the catalogue's overflowing list panned the canvas instead of
88
+ * scrolling the twenty artefacts under the pointer (PO recette, 27/08/2026).
89
+ * One CAPTURE-phase listener on the host stops the event before the
90
+ * dispatcher sees it; no `preventDefault`, because the default action IS the
91
+ * panel scrolling.
92
+ *
93
+ * Narrower than the bubble's freeze, deliberately: the bubble owns the wheel
94
+ * everywhere while open (a reading gesture); the catalogue only claims the
95
+ * wheel over its own box — `composedPath` gate — and the canvas to its right
96
+ * keeps panning, because furnishing a diagram means looking around it.
97
+ */
98
+ private readonly _onHostWheel;
99
+ /**
100
+ * Idempotent, and called from both `firstUpdated` and a later
101
+ * `connectedCallback`: `WithDisposable` throws the group away on disconnect
102
+ * while lit runs `firstUpdated` exactly once.
103
+ */
104
+ private _wire;
105
+ connectedCallback(): void;
106
+ firstUpdated(): void;
107
+ /**
108
+ * On open: the panel takes the focus and the list starts at the top.
109
+ *
110
+ * The focus is what makes the panel reachable from a keyboard and audible to
111
+ * a screen reader — it carries the dialog's label, so the framework's name is
112
+ * read before the first artefact. `preventScroll` because the host is a
113
+ * zero-width box at the editor's origin and the browser would otherwise
114
+ * scroll the editor to "reveal" it.
115
+ *
116
+ * The scroll reset matters on the second open: a user who scrolled to the
117
+ * bottom of BPMN's twenty artefacts, closed, and opened the panel again for
118
+ * another framework would otherwise land mid-list with no idea what is above.
119
+ */
120
+ updated(): void;
121
+ /**
122
+ * The commands this panel draws: the owner's `'catalogue'` surface, minus the
123
+ * ones whose preconditions do not hold.
124
+ *
125
+ * Unavailable commands are DROPPED, not greyed out. A disabled row in a list
126
+ * of twenty is noise a reader has to step over on every pass, and the panel
127
+ * has no room to say why it is disabled; a command that comes back when the
128
+ * selection changes simply reappears.
129
+ */
130
+ private _commands;
131
+ /**
132
+ * The chord this command answers to on this platform, as the user would type
133
+ * it — or `null` for the many commands that ship keyless (and stay bindable).
134
+ *
135
+ * The host's override table is consulted, so a rebound command shows what it
136
+ * is actually bound to rather than what it shipped with, and a `'disabled'`
137
+ * entry shows nothing at all.
138
+ */
139
+ private _chord;
140
+ /**
141
+ * Run the command. The panel STAYS OPEN.
142
+ *
143
+ * `runCommand` is the one bottleneck (ADR 0008): the telemetry and the usage
144
+ * measure are emitted there, and `surface: 'catalogue'` is what makes this
145
+ * panel distinguishable from the sub-menu in the numbers.
146
+ *
147
+ * Staying open is the PO's call (recette, 27/08/2026), reversing the first
148
+ * default: a catalogue is where a user furnishes a diagram, and furnishing is
149
+ * several artefacts in a row — closing after each one turned that into
150
+ * open-click-reopen. The exits are unchanged and all one gesture: ×, Escape,
151
+ * or a click on the canvas.
152
+ */
153
+ private _invoke;
154
+ private _groupLabel;
155
+ private _renderEntry;
156
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
157
+ }
158
+ export declare const edgelessArtefactCatalogueWidget: import("../../store/index.js").ExtensionType;