@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
@@ -6,7 +6,7 @@ export * from './element-view.js';
6
6
  export * from './overlay/index.js';
7
7
  export * from './polygon-tool.js';
8
8
  export * from './shape-tool.js';
9
- export * from './shortcuts.js';
9
+ export * from './commands.js';
10
10
  export * from './text/index.js';
11
11
  export * from './text-fit.js';
12
12
  export * from './toolbar/index.js';
@@ -1,4 +1,4 @@
1
- import { ToolOverlay, } from '../../affine-block-surface/index.js';
1
+ import { ToolOverlay } from '../../affine-block-surface/index.js';
2
2
  /**
3
3
  * Radius of the vertex indicator circles drawn at each placed vertex.
4
4
  */
@@ -1,4 +1,4 @@
1
- import { ToolOverlay, } from '../../affine-block-surface/index.js';
1
+ import { ToolOverlay } from '../../affine-block-surface/index.js';
2
2
  import { ShapeElementModel, ShapeType } from '../../affine-model/index.js';
3
3
  import { Bound, getBezierCurveBoundingBox, } from '../../global/gfx/index.js';
4
4
  // ─── Visual constants ───────────────────────────────────────────────────────
@@ -86,8 +86,7 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
86
86
  if (!this._elementId)
87
87
  return null;
88
88
  const el = this.gfx.getElementById(this._elementId);
89
- if (el instanceof ShapeElementModel &&
90
- el.shapeType === ShapeType.Polygon) {
89
+ if (el instanceof ShapeElementModel && el.shapeType === ShapeType.Polygon) {
91
90
  return el;
92
91
  }
93
92
  return null;
@@ -361,7 +360,7 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
361
360
  return null;
362
361
  const bound = Bound.deserialize(model.xywh);
363
362
  const zoom = this.gfx.viewport.zoom;
364
- const hitDist = BEZIER_HANDLE_RADIUS * 2 / zoom;
363
+ const hitDist = (BEZIER_HANDLE_RADIUS * 2) / zoom;
365
364
  // Inverse-rotate incoming world coordinates into polygon's local space
366
365
  let localX = modelX;
367
366
  let localY = modelY;
@@ -759,7 +758,9 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
759
758
  return;
760
759
  const bound = Bound.deserialize(model.xywh);
761
760
  const count = model.vertices.length;
762
- let flags = model.smoothFlags ? [...model.smoothFlags] : new Array(count).fill(false);
761
+ let flags = model.smoothFlags
762
+ ? [...model.smoothFlags]
763
+ : new Array(count).fill(false);
763
764
  // Ensure flags array matches vertex count
764
765
  while (flags.length < count)
765
766
  flags.push(false);
@@ -1034,8 +1035,12 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
1034
1035
  const mx = (ax + bx) / 2;
1035
1036
  const my = (ay + by) / 2;
1036
1037
  const isHoveredMid = i === this.hoveredMidpointIndex;
1037
- const midR = (isHoveredMid ? MIDPOINT_HANDLE_HOVER_RADIUS : MIDPOINT_HANDLE_RADIUS) / zoom;
1038
- const midFill = isHoveredMid ? MIDPOINT_HOVER_FILL_COLOR : MIDPOINT_FILL_COLOR;
1038
+ const midR = (isHoveredMid
1039
+ ? MIDPOINT_HANDLE_HOVER_RADIUS
1040
+ : MIDPOINT_HANDLE_RADIUS) / zoom;
1041
+ const midFill = isHoveredMid
1042
+ ? MIDPOINT_HOVER_FILL_COLOR
1043
+ : MIDPOINT_FILL_COLOR;
1039
1044
  ctx.beginPath();
1040
1045
  ctx.arc(mx, my, midR, 0, Math.PI * 2);
1041
1046
  ctx.fillStyle = midFill;
@@ -1,5 +1,5 @@
1
1
  import { getSurfaceComponent, ToolOverlay, } from '../../affine-block-surface/index.js';
2
- import { DefaultTheme, } from '../../affine-model/index.js';
2
+ import { DefaultTheme } from '../../affine-model/index.js';
3
3
  import { ThemeProvider } from '../../affine-shared/services/index.js';
4
4
  import { assertType } from '../../global/utils/index.js';
5
5
  import { effect } from '@preact/signals-core';
@@ -1,5 +1,5 @@
1
1
  import { CanvasElementType, DefaultTool, EXCLUDING_MOUSE_OUT_CLASS_LIST, } from '../affine-block-surface/index.js';
2
- import { DefaultTheme, ShapeType, } from '../affine-model/index.js';
2
+ import { DefaultTheme, ShapeType } from '../affine-model/index.js';
3
3
  import { EditPropsStore, TelemetryProvider, ThemeProvider, } from '../affine-shared/services/index.js';
4
4
  import { hasClassNameInList } from '../affine-shared/utils/index.js';
5
5
  import { Bound } from '../global/gfx/index.js';
@@ -233,7 +233,9 @@ export class PolygonTool extends BaseTool {
233
233
  vertices: normalizedVertices,
234
234
  isClosed: true,
235
235
  smoothFlags: smoothFlagsForModel,
236
- ...(controlPointsForModel ? { controlPoints: controlPointsForModel } : {}),
236
+ ...(controlPointsForModel
237
+ ? { controlPoints: controlPointsForModel }
238
+ : {}),
237
239
  });
238
240
  this.std.getOptional(TelemetryProvider)?.track('CanvasElementAdded', {
239
241
  control: 'canvas:draw',
@@ -1,5 +1,5 @@
1
1
  import { CanvasElementType, DefaultTool, EXCLUDING_MOUSE_OUT_CLASS_LIST, } from '../affine-block-surface/index.js';
2
- import { DefaultTheme, getShapeType, ShapeType, } from '../affine-model/index.js';
2
+ import { DefaultTheme, getShapeType, ShapeType } from '../affine-model/index.js';
3
3
  import { EditPropsStore, TelemetryProvider, ThemeProvider, } from '../affine-shared/services/index.js';
4
4
  import { hasClassNameInList } from '../affine-shared/utils/index.js';
5
5
  import { Bound } from '../global/gfx/index.js';
@@ -5,6 +5,7 @@ import { nothing } from 'lit';
5
5
  export declare function mountShapeTextEditor(shapeElement: ShapeElementModel, edgeless: BlockComponent): void;
6
6
  declare const EdgelessShapeTextEditor_base: typeof ShadowlessElement & import("../../global/utils/types.js").Constructor<import("../../global/lit/with-disposable.js").DisposableClass>;
7
7
  export declare class EdgelessShapeTextEditor extends EdgelessShapeTextEditor_base {
8
+ private _compositionUpdateRaf;
8
9
  private _keeping;
9
10
  private _lastXYWH;
10
11
  private _resizeObserver;
@@ -17,6 +18,31 @@ export declare class EdgelessShapeTextEditor extends EdgelessShapeTextEditor_bas
17
18
  private _initMindmapKeyBindings;
18
19
  private _stashMindMapTree;
19
20
  private _unmount;
21
+ private _cancelScheduledElementWHUpdate;
22
+ /**
23
+ * While an IME composition is in progress the text is only in the DOM, not
24
+ * yet in the model, so `renderComplete` never fires and the shape keeps the
25
+ * size it had before the user started composing — the preedit string spills
26
+ * out of it. Remeasure once per frame instead, and once more when the
27
+ * composition ends.
28
+ */
29
+ private _scheduleElementWHUpdate;
30
+ private _getInlineEditorContentRect;
31
+ /**
32
+ * The size the shape should take, measured on the editor DOM.
33
+ *
34
+ * Without a numeric `maxWidth` the editor box *is* the text box, so its own
35
+ * offset size is the whole measure. Every framework shape (Wardley, EDGY,
36
+ * DDD, Cynefin) is in that case, and takes exactly the path it took before
37
+ * mind map nodes gained a maximum width.
38
+ *
39
+ * With a numeric `maxWidth` the box is capped by CSS and wraps, so
40
+ * `offsetWidth` alone no longer describes the text: a preedit string the
41
+ * browser has not reflowed yet extends past the box it is painted in. Take
42
+ * the widest measure available, then clamp it back to `maxWidth` so the
43
+ * shape never grows past the cap.
44
+ */
45
+ private _measureEditorSize;
20
46
  private _updateElementWH;
21
47
  connectedCallback(): void;
22
48
  firstUpdated(): void;
@@ -35,13 +35,13 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
35
35
  import { DefaultTool, EdgelessCRUDIdentifier, TextUtils, } from '../../affine-block-surface/index.js';
36
36
  import { MindmapElementModel, ShapeElementModel, TextFitMode, TextResizing, } from '../../affine-model/index.js';
37
37
  import { ThemeProvider } from '../../affine-shared/services/index.js';
38
- import { getSelectedRect } from '../../affine-shared/utils/index.js';
38
+ import { getSelectedRect, overlayScale, toOverlayCoord, } from '../../affine-shared/utils/index.js';
39
39
  import { BlockSuiteError, ErrorCode } from '../../global/exceptions/index.js';
40
40
  import { Bound, toRadian, Vec } from '../../global/gfx/index.js';
41
41
  import { WithDisposable } from '../../global/lit/index.js';
42
42
  import { ShadowlessElement, stdContext, } from '../../std/index.js';
43
43
  import { GfxControllerIdentifier } from '../../std/gfx/index.js';
44
- import { RANGE_SYNC_EXCLUDE_ATTR } from '../../std/inline/index.js';
44
+ import { InlineEditor, RANGE_SYNC_EXCLUDE_ATTR } from '../../std/inline/index.js';
45
45
  import { consume } from '@lit/context';
46
46
  import { html, nothing } from 'lit';
47
47
  import { property, query } from 'lit/decorators.js';
@@ -160,6 +160,7 @@ let EdgelessShapeTextEditor = (() => {
160
160
  });
161
161
  }
162
162
  _unmount() {
163
+ this._cancelScheduledElementWHUpdate();
163
164
  this._resizeObserver?.disconnect();
164
165
  this._resizeObserver = null;
165
166
  if (this.element.text) {
@@ -180,6 +181,90 @@ let EdgelessShapeTextEditor = (() => {
180
181
  editing: false,
181
182
  });
182
183
  }
184
+ _cancelScheduledElementWHUpdate() {
185
+ if (this._compositionUpdateRaf !== null) {
186
+ cancelAnimationFrame(this._compositionUpdateRaf);
187
+ this._compositionUpdateRaf = null;
188
+ }
189
+ }
190
+ /**
191
+ * While an IME composition is in progress the text is only in the DOM, not
192
+ * yet in the model, so `renderComplete` never fires and the shape keeps the
193
+ * size it had before the user started composing — the preedit string spills
194
+ * out of it. Remeasure once per frame instead, and once more when the
195
+ * composition ends.
196
+ */
197
+ _scheduleElementWHUpdate(flush = false) {
198
+ if (flush) {
199
+ this._cancelScheduledElementWHUpdate();
200
+ this._updateElementWH();
201
+ return;
202
+ }
203
+ if (this._compositionUpdateRaf !== null) {
204
+ return;
205
+ }
206
+ this._compositionUpdateRaf = requestAnimationFrame(() => {
207
+ this._compositionUpdateRaf = null;
208
+ this._updateElementWH();
209
+ });
210
+ }
211
+ _getInlineEditorContentRect() {
212
+ if (!this.inlineEditorContainer) {
213
+ return null;
214
+ }
215
+ const textNodes = InlineEditor.getTextNodesFromElement(this.inlineEditorContainer);
216
+ const firstText = textNodes[0];
217
+ const lastText = textNodes.at(-1);
218
+ if (!firstText || !lastText) {
219
+ return null;
220
+ }
221
+ const range = this.ownerDocument.createRange();
222
+ range.setStart(firstText, 0);
223
+ range.setEnd(lastText, lastText.length);
224
+ const rect = range.getBoundingClientRect();
225
+ return rect.width > 0 || rect.height > 0 ? rect : null;
226
+ }
227
+ /**
228
+ * The size the shape should take, measured on the editor DOM.
229
+ *
230
+ * Without a numeric `maxWidth` the editor box *is* the text box, so its own
231
+ * offset size is the whole measure. Every framework shape (Wardley, EDGY,
232
+ * DDD, Cynefin) is in that case, and takes exactly the path it took before
233
+ * mind map nodes gained a maximum width.
234
+ *
235
+ * With a numeric `maxWidth` the box is capped by CSS and wraps, so
236
+ * `offsetWidth` alone no longer describes the text: a preedit string the
237
+ * browser has not reflowed yet extends past the box it is painted in. Take
238
+ * the widest measure available, then clamp it back to `maxWidth` so the
239
+ * shape never grows past the cap.
240
+ */
241
+ _measureEditorSize(textResizing) {
242
+ const containerWidth = this.richText.offsetWidth;
243
+ const containerHeight = this.richText.offsetHeight;
244
+ const maxWidth = this.element.maxWidth;
245
+ if (typeof maxWidth !== 'number' ||
246
+ textResizing !== TextResizing.AUTO_WIDTH_AND_HEIGHT) {
247
+ return { containerWidth, containerHeight };
248
+ }
249
+ const [verticalPadding, horizontalPadding] = this.element.padding;
250
+ const bcr = this.richText.getBoundingClientRect();
251
+ const contentRect = this._getInlineEditorContentRect();
252
+ const rangeRect = this.inlineEditor
253
+ ?.getNativeRange()
254
+ ?.getBoundingClientRect();
255
+ const contentRectWidth = contentRect != null ? contentRect.width + horizontalPadding * 2 : 0;
256
+ const contentRectHeight = contentRect != null ? contentRect.height + verticalPadding * 2 : 0;
257
+ const rangeWidth = rangeRect != null
258
+ ? Math.max(0, rangeRect.right - bcr.left + horizontalPadding)
259
+ : 0;
260
+ const rangeHeight = rangeRect != null
261
+ ? Math.max(0, rangeRect.bottom - bcr.top + verticalPadding)
262
+ : 0;
263
+ return {
264
+ containerWidth: Math.min(Math.max(containerWidth, contentRectWidth, rangeWidth), maxWidth),
265
+ containerHeight: Math.max(containerHeight, contentRectHeight, rangeHeight),
266
+ };
267
+ }
183
268
  _updateElementWH() {
184
269
  if (this.element.textFitMode !== TextFitMode.Grow) {
185
270
  // Fixed shape bounds: typing never resizes the shape. Contained mode
@@ -194,9 +279,8 @@ let EdgelessShapeTextEditor = (() => {
194
279
  return;
195
280
  }
196
281
  const bcr = this.richText.getBoundingClientRect();
197
- const containerHeight = this.richText.offsetHeight;
198
- const containerWidth = this.richText.offsetWidth;
199
282
  const textResizing = this.element.textResizing;
283
+ const { containerWidth, containerHeight } = this._measureEditorSize(textResizing);
200
284
  if ((containerHeight !== this.element.h &&
201
285
  textResizing === TextResizing.AUTO_HEIGHT) ||
202
286
  (textResizing === TextResizing.AUTO_WIDTH_AND_HEIGHT &&
@@ -214,7 +298,11 @@ let EdgelessShapeTextEditor = (() => {
214
298
  }
215
299
  if (this.isMindMapNode) {
216
300
  const mindmap = this.element.group;
217
- mindmap.layout();
301
+ // Re-place the nodes, but without re-applying the style: that would
302
+ // fit the node back to the text the *model* holds and undo the size
303
+ // just measured from the editor. The full layout runs again when the
304
+ // editor is unmounted.
305
+ mindmap.layout(mindmap.tree, { applyStyle: false });
218
306
  }
219
307
  this.richText.style.minHeight = `${containerHeight}px`;
220
308
  }
@@ -264,6 +352,12 @@ let EdgelessShapeTextEditor = (() => {
264
352
  return;
265
353
  this._unmount();
266
354
  });
355
+ this.disposables.addFromEvent(this.inlineEditorContainer, 'compositionupdate', () => {
356
+ this._scheduleElementWHUpdate();
357
+ });
358
+ this.disposables.addFromEvent(this.inlineEditorContainer, 'compositionend', () => {
359
+ this._scheduleElementWHUpdate(true);
360
+ });
267
361
  })
268
362
  .catch(console.error);
269
363
  this.disposables.addFromEvent(this, 'keydown', evt => {
@@ -293,13 +387,19 @@ let EdgelessShapeTextEditor = (() => {
293
387
  const [verticalPadding, horiPadding] = this.element.padding;
294
388
  const textResizing = this.element.textResizing;
295
389
  const viewport = this.gfx.viewport;
296
- const zoom = viewport.zoom;
390
+ // The editor is mounted inside the container the host may have scaled, so
391
+ // it is placed and scaled the way a gfx block is, not in screen pixels.
392
+ const scale = overlayScale(viewport);
297
393
  const rect = getSelectedRect([this.element]);
298
394
  const rotate = this.element.rotate;
299
395
  const [leftTopX, leftTopY] = Vec.rotWith([rect.left, rect.top], [rect.left + rect.width / 2, rect.top + rect.height / 2], toRadian(rotate));
300
- const [x, y] = this.gfx.viewport.toViewCoord(leftTopX, leftTopY);
396
+ const [x, y] = toOverlayCoord(viewport, leftTopX, leftTopY);
301
397
  const fixedBounds = this.element.textFitMode !== TextFitMode.Grow;
302
398
  const autoWidth = !fixedBounds && textResizing === TextResizing.AUTO_WIDTH_AND_HEIGHT;
399
+ // A shape that grows up to a maximum width wraps instead of running off:
400
+ // `max-content` keeps the intrinsic width the box wants, `max-width` caps
401
+ // it, and the wrapping rules below break the overflowing line.
402
+ const constrainedAutoWidth = autoWidth && typeof this.element.maxWidth === 'number';
303
403
  const color = this.std
304
404
  .get(ThemeProvider)
305
405
  .generateColorProperty(this.element.color, '#000000');
@@ -307,20 +407,22 @@ let EdgelessShapeTextEditor = (() => {
307
407
  position: 'absolute',
308
408
  left: x + 'px',
309
409
  top: y + 'px',
310
- width: autoWidth ? 'fit-content' : rect.width + 'px',
410
+ width: constrainedAutoWidth
411
+ ? 'max-content'
412
+ : autoWidth
413
+ ? 'fit-content'
414
+ : rect.width + 'px',
311
415
  // override rich-text style (height: 100%)
312
416
  height: 'initial',
313
417
  minHeight: autoWidth ? '1em' : `${rect.height}px`,
314
- maxWidth: autoWidth && this.element.maxWidth
315
- ? `${this.element.maxWidth}px`
316
- : undefined,
418
+ maxWidth: constrainedAutoWidth ? `${this.element.maxWidth}px` : undefined,
317
419
  boxSizing: 'border-box',
318
420
  fontSize: effectiveShapeFontSize(this.element) + 'px',
319
421
  fontFamily: TextUtils.wrapFontFamily(this.element.fontFamily),
320
422
  fontWeight: this.element.fontWeight,
321
423
  lineHeight: 'normal',
322
424
  outline: 'none',
323
- transform: `scale(${zoom}, ${zoom}) rotate(${rotate}deg)`,
425
+ transform: `scale(${scale}, ${scale}) rotate(${rotate}deg)`,
324
426
  transformOrigin: 'top left',
325
427
  color,
326
428
  padding: `${verticalPadding}px ${horiPadding}px`,
@@ -339,9 +441,15 @@ let EdgelessShapeTextEditor = (() => {
339
441
  this._lastXYWH = this.element.xywh;
340
442
  return html ` <style>
341
443
  edgeless-shape-text-editor v-text [data-v-text] {
342
- overflow-wrap: ${autoWidth ? 'normal' : 'anywhere'};
343
- word-break: ${autoWidth ? 'normal' : 'break-word'} !important;
344
- white-space: ${autoWidth ? 'pre' : 'pre-wrap'} !important;
444
+ overflow-wrap: ${autoWidth && !constrainedAutoWidth
445
+ ? 'normal'
446
+ : 'anywhere'};
447
+ word-break: ${autoWidth && !constrainedAutoWidth
448
+ ? 'normal'
449
+ : 'break-word'} !important;
450
+ white-space: ${autoWidth && !constrainedAutoWidth
451
+ ? 'pre'
452
+ : 'pre-wrap'} !important;
345
453
  }
346
454
 
347
455
  edgeless-shape-text-editor .inline-editor {
@@ -369,6 +477,7 @@ let EdgelessShapeTextEditor = (() => {
369
477
  set richText(value) { this.#richText_accessor_storage = value; }
370
478
  constructor() {
371
479
  super(...arguments);
480
+ this._compositionUpdateRaf = null;
372
481
  this._keeping = false;
373
482
  this._lastXYWH = '';
374
483
  this._resizeObserver = null;
@@ -1,7 +1,7 @@
1
1
  import { ViewExtensionProvider, } from '../affine-ext-loader/index.js';
2
- import { ShortcutExtension } from '../std/index.js';
2
+ import { CommandExtension } from '../std/index.js';
3
+ import { shapeCommands } from './commands.js';
3
4
  import { effects } from './effects.js';
4
- import { shapeShortcuts } from './shortcuts.js';
5
5
  import { HighlighterElementRendererExtension, ShapeElementRendererExtension, } from './element-renderer/index.js';
6
6
  import { ShapeDomRendererExtension } from './element-renderer/shape-dom.js';
7
7
  import { ShapeElementView, ShapeViewInteraction } from './element-view.js';
@@ -30,7 +30,7 @@ export class ShapeViewExtension extends ViewExtensionProvider {
30
30
  context.register(shapeToolbarExtension);
31
31
  context.register(ShapeViewInteraction);
32
32
  // Edgeless-scoped, enumerable/rebindable (installer: root view.ts).
33
- context.register(ShortcutExtension(shapeShortcuts));
33
+ context.register(CommandExtension(shapeCommands));
34
34
  }
35
35
  }
36
36
  }
@@ -73,8 +73,19 @@ function swot() {
73
73
  // ── Kanban (To do / Doing / Done) ─────────────────────────────────────
74
74
  function kanban() {
75
75
  const colOpts = { fill: '#f4f4f5', stroke: MUTED, sw: 1.5, radius: 10 };
76
- const head = { fontSize: 18, weight: FontWeight.Medium, align: TextAlign.Center };
77
- const card = (x, y, fill, stroke) => rect(x, y, 188, 60, { fill, stroke, sw: 1.5, radius: 8, text: 'Card', fontSize: 14 });
76
+ const head = {
77
+ fontSize: 18,
78
+ weight: FontWeight.Medium,
79
+ align: TextAlign.Center,
80
+ };
81
+ const card = (x, y, fill, stroke) => rect(x, y, 188, 60, {
82
+ fill,
83
+ stroke,
84
+ sw: 1.5,
85
+ radius: 8,
86
+ text: 'Card',
87
+ fontSize: 14,
88
+ });
78
89
  return {
79
90
  c1: rect(0, 0, 220, 420, colOpts),
80
91
  c2: rect(244, 0, 220, 420, colOpts),
@@ -92,7 +103,10 @@ function kanban() {
92
103
  // ── Business Model Canvas (Strategyzer 9-block layout) ────────────────
93
104
  function bmc() {
94
105
  const blk = { stroke: DARK, sw: 1.5 };
95
- const t = (x, y, s) => label(x + 12, y + 12, 180, 22, s, { fontSize: 14, weight: FontWeight.Medium });
106
+ const t = (x, y, s) => label(x + 12, y + 12, 180, 22, s, {
107
+ fontSize: 14,
108
+ weight: FontWeight.Medium,
109
+ });
96
110
  const hdr = (x, s) => ({
97
111
  box: rect(x, 8, 128, 34, { stroke: MUTED, sw: 1 }),
98
112
  txt: label(x + 8, 16, 120, 18, s, { fontSize: 11, color: '#5f6368' }),
@@ -106,24 +120,45 @@ function bmc() {
106
120
  fontSize: 24,
107
121
  weight: FontWeight.Medium,
108
122
  }),
109
- h1b: h1.box, h1t: h1.txt, h2b: h2.box, h2t: h2.txt,
110
- h3b: h3.box, h3t: h3.txt, h4b: h4.box, h4t: h4.txt,
111
- kp: rect(0, 56, 196, 300, blk), ka: rect(200, 56, 196, 146, blk),
112
- kr: rect(200, 206, 196, 150, blk), vp: rect(400, 56, 196, 300, blk),
113
- cr: rect(600, 56, 196, 146, blk), ch: rect(600, 206, 196, 150, blk),
123
+ h1b: h1.box,
124
+ h1t: h1.txt,
125
+ h2b: h2.box,
126
+ h2t: h2.txt,
127
+ h3b: h3.box,
128
+ h3t: h3.txt,
129
+ h4b: h4.box,
130
+ h4t: h4.txt,
131
+ kp: rect(0, 56, 196, 300, blk),
132
+ ka: rect(200, 56, 196, 146, blk),
133
+ kr: rect(200, 206, 196, 150, blk),
134
+ vp: rect(400, 56, 196, 300, blk),
135
+ cr: rect(600, 56, 196, 146, blk),
136
+ ch: rect(600, 206, 196, 150, blk),
114
137
  cs: rect(800, 56, 196, 300, blk),
115
- cost: rect(0, 360, 496, 84, blk), rev: rect(500, 360, 496, 84, blk),
116
- tkp: t(0, 56, 'Key partnerships'), tka: t(200, 56, 'Key activities'),
117
- tkr: t(200, 206, 'Key resources'), tvp: t(400, 56, 'Value propositions'),
118
- tcr: t(600, 56, 'Customer relationships'), tch: t(600, 206, 'Channels'),
138
+ cost: rect(0, 360, 496, 84, blk),
139
+ rev: rect(500, 360, 496, 84, blk),
140
+ tkp: t(0, 56, 'Key partnerships'),
141
+ tka: t(200, 56, 'Key activities'),
142
+ tkr: t(200, 206, 'Key resources'),
143
+ tvp: t(400, 56, 'Value propositions'),
144
+ tcr: t(600, 56, 'Customer relationships'),
145
+ tch: t(600, 206, 'Channels'),
119
146
  tcs: t(800, 56, 'Customer segments'),
120
- tcost: t(0, 360, 'Cost structure'), trev: t(500, 360, 'Revenue streams'),
147
+ tcost: t(0, 360, 'Cost structure'),
148
+ trev: t(500, 360, 'Revenue streams'),
121
149
  };
122
150
  }
123
151
  // ── Fishbone / Ishikawa (spine + arrowhead bones + CATEGORY/ITEM) ─────
124
152
  function fishbone() {
125
153
  const cat = (x, y) => rect(x, y, 150, 44, { text: 'CATEGORY', fontSize: 13 });
126
- const item = (x, y, n) => rect(x, y, 130, 40, { stroke: MUTED, sw: 1.4, dash: true, text: n, textColor: '#5f6368', fontSize: 13 });
154
+ const item = (x, y, n) => rect(x, y, 130, 40, {
155
+ stroke: MUTED,
156
+ sw: 1.4,
157
+ dash: true,
158
+ text: n,
159
+ textColor: '#5f6368',
160
+ fontSize: 13,
161
+ });
127
162
  const out = {
128
163
  spine: line(80, 360, 1120, 360, { sw: 6 }),
129
164
  head: rect(1124, 332, 130, 56, { text: 'Effect', fontSize: 16 }),
@@ -156,13 +191,22 @@ function gantt() {
156
191
  for (let i = 0; i < 6; i++) {
157
192
  const x = 220 + i * 130;
158
193
  out[`g${i}`] = line(x, 40, x, 268, { stroke: '#e0e0e0', sw: 1 });
159
- out[`w${i}`] = label(x - 16, 12, 40, 20, `W${i + 1}`, { fontSize: 12, color: '#5f6368', align: TextAlign.Center });
194
+ out[`w${i}`] = label(x - 16, 12, 40, 20, `W${i + 1}`, {
195
+ fontSize: 12,
196
+ color: '#5f6368',
197
+ align: TextAlign.Center,
198
+ });
160
199
  }
161
200
  rows.forEach((name, r) => {
162
201
  const y = 56 + r * 52;
163
202
  out[`t${r}`] = label(0, y + 6, 180, 24, name, { fontSize: 14 });
164
203
  const [bx, bw, fill] = bars[r];
165
- out[`b${r}`] = rect(bx, y, bw, 28, { fill, stroke: fill, sw: 0, radius: 6 });
204
+ out[`b${r}`] = rect(bx, y, bw, 28, {
205
+ fill,
206
+ stroke: fill,
207
+ sw: 0,
208
+ radius: 6,
209
+ });
166
210
  });
167
211
  return out;
168
212
  }
@@ -175,7 +219,12 @@ const previews = {
175
219
  gantt: `<svg ${ATTRS} fill="none"><path d="M40 14 V70 M62 14 V70 M84 14 V70 M106 14 V70" stroke="#e0e0e0"/><rect x="40" y="22" width="34" height="8" rx="2" fill="#4574c4"/><rect x="52" y="36" width="44" height="8" rx="2" fill="#2f9e95"/><rect x="62" y="50" width="50" height="8" rx="2" fill="#d99a2b"/><rect x="84" y="64" width="28" height="8" rx="2" fill="#43a06b"/></svg>`,
176
220
  };
177
221
  function t(name, preview, elements) {
178
- return { name, type: 'template', preview, content: makeTemplateSnapshot(elements, name) };
222
+ return {
223
+ name,
224
+ type: 'template',
225
+ preview,
226
+ content: makeTemplateSnapshot(elements, name),
227
+ };
179
228
  }
180
229
  export const otherTemplateCategory = {
181
230
  name: 'Other',
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { on, once, requestConnectedFrame, } from '../../affine-shared/utils/index.js';
35
+ import { on, once, requestConnectedFrame } from '../../affine-shared/utils/index.js';
36
36
  import { DisposableGroup } from '../../global/disposable/index.js';
37
37
  import { css, html, LitElement } from 'lit';
38
38
  import { query } from 'lit/decorators.js';
@@ -34,7 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
34
34
  };
35
35
  import { DefaultTool } from '../../affine-block-surface/index.js';
36
36
  import { darkToolbarStyles, lightToolbarStyles, } from '../../affine-components/toolbar/index.js';
37
- import { EditPropsStore, ThemeProvider, } from '../../affine-shared/services/index.js';
37
+ import { EditPropsStore, ThemeProvider } from '../../affine-shared/services/index.js';
38
38
  import { requestConnectedFrame, stopPropagation, } from '../../affine-shared/utils/index.js';
39
39
  import { EdgelessDraggableElementController } from '../../affine-widget-edgeless-toolbar/index.js';
40
40
  import { WithDisposable } from '../../global/lit/index.js';
@@ -4,10 +4,12 @@ declare const EdgelessTemplateButton_base: typeof LitElement & import("../../glo
4
4
  export declare class EdgelessTemplateButton extends EdgelessTemplateButton_base {
5
5
  static styles: import("lit").CSSResult;
6
6
  private _cleanup;
7
+ private _autoUpdateCleanup;
7
8
  private _prevTool;
8
9
  enableActiveBackground: boolean;
9
10
  type: typeof TemplateTool;
10
11
  get cards(): import("lit-html").TemplateResult<2>[];
12
+ connectedCallback(): void;
11
13
  private _closePanel;
12
14
  private _togglePanel;
13
15
  render(): import("lit-html").TemplateResult<1>;
@@ -151,10 +151,21 @@ let EdgelessTemplateButton = (() => {
151
151
  const { theme } = this;
152
152
  return [TemplateCard1[theme], TemplateCard2[theme], TemplateCard3[theme]];
153
153
  }
154
+ connectedCallback() {
155
+ super.connectedCallback();
156
+ // The panel can still be open when the button is removed: without this the
157
+ // `autoUpdate` listeners outlive the element and leak.
158
+ this.disposables.add(() => {
159
+ this._autoUpdateCleanup?.();
160
+ this._autoUpdateCleanup = null;
161
+ });
162
+ }
154
163
  _closePanel() {
155
164
  if (this._openedPanel) {
156
165
  this._openedPanel.remove();
157
166
  this._openedPanel = null;
167
+ this._autoUpdateCleanup?.();
168
+ this._autoUpdateCleanup = null;
158
169
  this._cleanup?.();
159
170
  this._cleanup = null;
160
171
  this.requestUpdate();
@@ -188,8 +199,13 @@ let EdgelessTemplateButton = (() => {
188
199
  this._openedPanel = panel;
189
200
  this.renderRoot.append(panel);
190
201
  requestAnimationFrame(() => {
202
+ // The panel may already have been closed before this frame ran; starting
203
+ // a loop on it now would never be stopped.
204
+ if (this._openedPanel !== panel)
205
+ return;
191
206
  const arrowEl = panel.renderRoot.querySelector('.arrow');
192
- autoUpdate(this, panel, () => {
207
+ this._autoUpdateCleanup?.();
208
+ this._autoUpdateCleanup = autoUpdate(this, panel, () => {
193
209
  computePosition(this, panel, {
194
210
  placement: 'top',
195
211
  middleware: [offset(20), arrow({ element: arrowEl }), shift()],
@@ -230,6 +246,7 @@ let EdgelessTemplateButton = (() => {
230
246
  constructor() {
231
247
  super(...arguments);
232
248
  this._cleanup = null;
249
+ this._autoUpdateCleanup = null;
233
250
  this._prevTool = null;
234
251
  this.enableActiveBackground = true;
235
252
  this.type = TemplateTool;
@@ -35,7 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
35
35
  import { CanvasElementType, DefaultTool, EdgelessCRUDIdentifier, getSurfaceBlock, TextUtils, } from '../affine-block-surface/index.js';
36
36
  import { DefaultTheme, TextElementModel } from '../affine-model/index.js';
37
37
  import { ThemeProvider } from '../affine-shared/services/index.js';
38
- import { getSelectedRect } from '../affine-shared/utils/index.js';
38
+ import { getSelectedRect, overlayScale, toOverlayCoord, } from '../affine-shared/utils/index.js';
39
39
  import { Bound, toRadian, Vec } from '../global/gfx/index.js';
40
40
  import { WithDisposable } from '../global/lit/index.js';
41
41
  import { ShadowlessElement, stdContext, } from '../std/index.js';
@@ -281,13 +281,17 @@ let EdgelessTextEditor = (() => {
281
281
  const { text, fontFamily, fontSize, fontWeight, fontStyle, textAlign, rotate, hasMaxWidth, w, } = this.element;
282
282
  const lineHeight = getLineHeight(fontFamily, fontSize, fontWeight);
283
283
  const rect = getSelectedRect([this.element]);
284
- const { translateX, translateY, zoom } = this.gfx.viewport;
284
+ const viewport = this.gfx.viewport;
285
285
  const [visualX, visualY] = this.getVisualPosition(this.element);
286
286
  const containerOffset = this.getContainerOffset();
287
+ // The editor is mounted inside the container the host may have scaled, so
288
+ // it is placed and scaled the way a gfx block is, not in screen pixels.
289
+ // Panning the viewport and reaching the element are one and the same
290
+ // translation, which is what `toOverlayCoord` answers.
291
+ const [x, y] = toOverlayCoord(viewport, visualX, visualY);
287
292
  const transformOperation = [
288
- `translate(${translateX}px, ${translateY}px)`,
289
- `translate(${visualX * zoom}px, ${visualY * zoom}px)`,
290
- `scale(${zoom})`,
293
+ `translate(${x}px, ${y}px)`,
294
+ `scale(${overlayScale(viewport)})`,
291
295
  `rotate(${rotate}deg)`,
292
296
  `translate(${containerOffset})`,
293
297
  ];
@@ -1,4 +1,4 @@
1
- import { EdgelessCRUDIdentifier, TextUtils, } from '../../affine-block-surface/index.js';
1
+ import { EdgelessCRUDIdentifier, TextUtils } from '../../affine-block-surface/index.js';
2
2
  import { packColor, } from '../../affine-components/color-picker/index.js';
3
3
  import { EditorChevronDown } from '../../affine-components/toolbar/index.js';
4
4
  import { DefaultTheme, FontFamily, FontStyle, FontWeight, resolveColor, TextAlign, } from '../../affine-model/index.js';