@formicoidea/labre-core 0.31.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/dist/_pkgs/affine-block-callout/callout-block.d.ts +6 -0
  2. package/dist/_pkgs/affine-block-callout/callout-block.js +25 -3
  3. package/dist/_pkgs/affine-block-callout/callout-keymap.js +59 -19
  4. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.d.ts +20 -0
  5. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.js +60 -0
  6. package/dist/_pkgs/affine-block-callout/commands/split-callout.d.ts +17 -0
  7. package/dist/_pkgs/affine-block-callout/commands/split-callout.js +42 -0
  8. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +9 -6
  9. package/dist/_pkgs/affine-block-callout/emoji-margin.d.ts +9 -0
  10. package/dist/_pkgs/affine-block-callout/emoji-margin.js +36 -0
  11. package/dist/_pkgs/affine-block-callout/emoji-menu.d.ts +5 -1
  12. package/dist/_pkgs/affine-block-callout/emoji-menu.js +5 -0
  13. package/dist/_pkgs/affine-block-code/code-block.d.ts +14 -0
  14. package/dist/_pkgs/affine-block-code/code-block.js +44 -6
  15. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.d.ts +2 -0
  16. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +23 -14
  17. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.d.ts +16 -0
  18. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.js +93 -0
  19. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +52 -5
  20. package/dist/_pkgs/affine-block-code/effects.d.ts +2 -0
  21. package/dist/_pkgs/affine-block-code/effects.js +2 -0
  22. package/dist/_pkgs/affine-block-code/highlight/affine-code-unit.js +6 -1
  23. package/dist/_pkgs/affine-block-code/index.d.ts +1 -0
  24. package/dist/_pkgs/affine-block-code/index.js +1 -0
  25. package/dist/_pkgs/affine-block-code/line-numbers.d.ts +25 -0
  26. package/dist/_pkgs/affine-block-code/line-numbers.js +27 -0
  27. package/dist/_pkgs/affine-block-code/styles.js +31 -0
  28. package/dist/_pkgs/affine-block-data-view/data-view-block.js +1 -0
  29. package/dist/_pkgs/affine-block-database/components/title/index.js +4 -1
  30. package/dist/_pkgs/affine-block-database/configs/slash-menu.js +28 -1
  31. package/dist/_pkgs/affine-block-database/database-block.js +13 -0
  32. package/dist/_pkgs/affine-block-database/properties/paste-url.d.ts +24 -0
  33. package/dist/_pkgs/affine-block-database/properties/paste-url.js +98 -0
  34. package/dist/_pkgs/affine-block-database/properties/rich-text/cell-renderer.js +9 -19
  35. package/dist/_pkgs/affine-block-database/properties/title/text.js +20 -25
  36. package/dist/_pkgs/affine-block-database/views/index.js +1 -0
  37. package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +10 -0
  38. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.d.ts +3 -0
  39. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +48 -1
  40. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.d.ts +17 -0
  41. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.js +24 -0
  42. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.d.ts +9 -0
  43. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.js +10 -0
  44. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +8 -4
  45. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts +4 -0
  46. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +22 -3
  47. package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
  48. package/dist/_pkgs/affine-block-frame/frame-manager.js +32 -2
  49. package/dist/_pkgs/affine-block-latex/styles.js +6 -1
  50. package/dist/_pkgs/affine-block-note/note-edgeless-block.d.ts +9 -0
  51. package/dist/_pkgs/affine-block-note/note-edgeless-block.js +29 -1
  52. package/dist/_pkgs/affine-block-root/commands/pivot-commands.d.ts +37 -0
  53. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +168 -0
  54. package/dist/_pkgs/affine-block-root/commands/reading-commands.d.ts +23 -0
  55. package/dist/_pkgs/affine-block-root/commands/reading-commands.js +107 -0
  56. package/dist/_pkgs/affine-block-root/commands/tag-commands.d.ts +47 -0
  57. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +159 -0
  58. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -0
  59. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -2
  60. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/render-linked-doc.js +1 -1
  61. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +26 -1
  62. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +11 -2
  63. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-service.js +14 -0
  64. package/dist/_pkgs/affine-block-root/edgeless/index.d.ts +1 -0
  65. package/dist/_pkgs/affine-block-root/edgeless/index.js +1 -0
  66. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.d.ts +21 -0
  67. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.js +34 -0
  68. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.d.ts +7 -1
  69. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.js +11 -2
  70. package/dist/_pkgs/affine-block-root/index.d.ts +4 -1
  71. package/dist/_pkgs/affine-block-root/index.js +4 -1
  72. package/dist/_pkgs/affine-block-root/keyboard/commands.d.ts +2 -0
  73. package/dist/_pkgs/affine-block-root/keyboard/commands.js +147 -0
  74. package/dist/_pkgs/affine-block-root/view.js +13 -4
  75. package/dist/_pkgs/affine-block-surface/commands/reassociate-connectors.js +0 -1
  76. package/dist/_pkgs/affine-block-surface/effects.js +6 -0
  77. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +5 -2
  78. package/dist/_pkgs/affine-block-surface/element-model/index.js +4 -2
  79. package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
  80. package/dist/_pkgs/affine-block-surface/extensions/audit.js +472 -0
  81. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
  82. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +27 -0
  83. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.d.ts +133 -0
  84. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.js +326 -0
  85. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +13 -0
  86. package/dist/_pkgs/affine-block-surface/extensions/index.js +13 -0
  87. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.d.ts +146 -0
  88. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.js +528 -0
  89. package/dist/_pkgs/affine-block-surface/extensions/map-quality.d.ts +109 -0
  90. package/dist/_pkgs/affine-block-surface/extensions/map-quality.js +84 -0
  91. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.d.ts +15 -0
  92. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +158 -0
  93. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +145 -0
  94. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +590 -0
  95. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +494 -0
  96. package/dist/_pkgs/affine-block-surface/extensions/reading.js +767 -0
  97. package/dist/_pkgs/affine-block-surface/extensions/spotlight.d.ts +45 -0
  98. package/dist/_pkgs/affine-block-surface/extensions/spotlight.js +177 -0
  99. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.d.ts +10 -0
  100. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +295 -0
  101. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.d.ts +27 -0
  102. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.js +361 -0
  103. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +1340 -0
  104. package/dist/_pkgs/affine-block-surface/extensions/validation.js +3009 -0
  105. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +286 -0
  106. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +907 -0
  107. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.d.ts +80 -0
  108. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.js +123 -0
  109. package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +321 -0
  110. package/dist/_pkgs/affine-block-surface/framework-background/def.js +81 -0
  111. package/dist/_pkgs/affine-block-surface/framework-background/facts.d.ts +188 -0
  112. package/dist/_pkgs/affine-block-surface/framework-background/facts.js +284 -0
  113. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +5 -0
  114. package/dist/_pkgs/affine-block-surface/framework-background/index.js +5 -0
  115. package/dist/_pkgs/affine-block-surface/framework-background/interaction.d.ts +12 -0
  116. package/dist/_pkgs/affine-block-surface/framework-background/interaction.js +24 -0
  117. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +59 -0
  118. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +117 -0
  119. package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
  120. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +238 -0
  121. package/dist/_pkgs/affine-block-surface/index.d.ts +1 -0
  122. package/dist/_pkgs/affine-block-surface/index.js +1 -0
  123. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +69 -3
  124. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +333 -44
  125. package/dist/_pkgs/affine-block-surface/renderer/dom-renderer.js +18 -2
  126. package/dist/_pkgs/affine-block-surface/tool/default-tool.js +8 -0
  127. package/dist/_pkgs/affine-block-surface/utils/font.js +9 -3
  128. package/dist/_pkgs/affine-block-surface/view.d.ts +17 -0
  129. package/dist/_pkgs/affine-block-surface/view.js +57 -2
  130. package/dist/_pkgs/affine-block-table/selection-controller.d.ts +6 -0
  131. package/dist/_pkgs/affine-block-table/selection-controller.js +24 -1
  132. package/dist/_pkgs/affine-block-table/table-block.js +8 -2
  133. package/dist/_pkgs/affine-block-table/table-cell.js +5 -6
  134. package/dist/_pkgs/affine-block-table/table-keymap.d.ts +18 -0
  135. package/dist/_pkgs/affine-block-table/table-keymap.js +41 -0
  136. package/dist/_pkgs/affine-block-table/utils.d.ts +7 -0
  137. package/dist/_pkgs/affine-block-table/utils.js +12 -0
  138. package/dist/_pkgs/affine-block-table/view.js +2 -0
  139. package/dist/_pkgs/affine-components/caption/captioned-block-component.js +2 -1
  140. package/dist/_pkgs/affine-components/context-menu/button.d.ts +7 -0
  141. package/dist/_pkgs/affine-components/context-menu/button.js +7 -2
  142. package/dist/_pkgs/affine-components/context-menu/input.d.ts +4 -0
  143. package/dist/_pkgs/affine-components/context-menu/input.js +12 -0
  144. package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +2 -0
  145. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +8 -1
  146. package/dist/_pkgs/affine-components/context-menu/sub-menu.js +3 -0
  147. package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
  148. package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
  149. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +28 -0
  150. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +231 -0
  151. package/dist/_pkgs/affine-components/icon-picker/emoji-data.d.ts +40 -0
  152. package/dist/_pkgs/affine-components/icon-picker/emoji-data.js +99 -0
  153. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +32 -0
  154. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +276 -0
  155. package/dist/_pkgs/affine-components/icon-picker/icon-data.d.ts +34 -0
  156. package/dist/_pkgs/affine-components/icon-picker/icon-data.js +83 -0
  157. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +39 -0
  158. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +233 -0
  159. package/dist/_pkgs/affine-components/icon-picker/index.d.ts +8 -0
  160. package/dist/_pkgs/affine-components/icon-picker/index.js +15 -0
  161. package/dist/_pkgs/affine-components/icon-picker/recent-store.d.ts +8 -0
  162. package/dist/_pkgs/affine-components/icon-picker/recent-store.js +41 -0
  163. package/dist/_pkgs/affine-components/icon-picker/styles.d.ts +5 -0
  164. package/dist/_pkgs/affine-components/icon-picker/styles.js +166 -0
  165. package/dist/_pkgs/affine-components/icon-picker/types.d.ts +22 -0
  166. package/dist/_pkgs/affine-components/icon-picker/types.js +10 -0
  167. package/dist/_pkgs/affine-components/icons/text.js +426 -426
  168. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.d.ts +1 -0
  169. package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
  170. package/dist/_pkgs/affine-components/toolbar/menu-button.js +1 -0
  171. package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
  172. package/dist/_pkgs/affine-foundation/view.js +11 -2
  173. package/dist/_pkgs/affine-gfx-brush/index.d.ts +1 -0
  174. package/dist/_pkgs/affine-gfx-brush/index.js +1 -0
  175. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.d.ts +1 -0
  176. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.js +11 -0
  177. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.d.ts +1 -0
  178. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.js +11 -0
  179. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.d.ts +2 -0
  180. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.js +2 -0
  181. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.d.ts +14 -0
  182. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.js +54 -0
  183. package/dist/_pkgs/affine-gfx-brush/renderer/index.d.ts +1 -0
  184. package/dist/_pkgs/affine-gfx-brush/renderer/index.js +4 -0
  185. package/dist/_pkgs/affine-gfx-brush/view.d.ts +14 -0
  186. package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
  187. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +32 -6
  188. package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +7 -0
  189. package/dist/_pkgs/affine-gfx-connector/connector-tool.js +2 -1
  190. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
  191. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +281 -0
  192. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.d.ts +65 -0
  193. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.js +395 -0
  194. package/dist/_pkgs/affine-gfx-connector/direction/index.d.ts +4 -0
  195. package/dist/_pkgs/affine-gfx-connector/direction/index.js +4 -0
  196. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +72 -0
  197. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +187 -0
  198. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.d.ts +69 -0
  199. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.js +66 -0
  200. package/dist/_pkgs/affine-gfx-connector/effects.d.ts +2 -0
  201. package/dist/_pkgs/affine-gfx-connector/effects.js +2 -0
  202. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +78 -41
  203. package/dist/_pkgs/affine-gfx-connector/index.d.ts +1 -0
  204. package/dist/_pkgs/affine-gfx-connector/index.js +1 -0
  205. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +50 -0
  206. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +67 -1
  207. package/dist/_pkgs/affine-gfx-connector/view.js +16 -0
  208. package/dist/_pkgs/affine-gfx-group/command/group-api.js +150 -62
  209. package/dist/_pkgs/affine-gfx-group/text/edgeless-group-title-editor.js +4 -1
  210. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.d.ts +16 -0
  211. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.js +102 -32
  212. package/dist/_pkgs/affine-gfx-shape/commands.d.ts +2 -0
  213. package/dist/_pkgs/affine-gfx-shape/commands.js +33 -0
  214. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape-dom/index.js +48 -19
  215. package/dist/_pkgs/affine-gfx-shape/index.d.ts +1 -1
  216. package/dist/_pkgs/affine-gfx-shape/index.js +1 -1
  217. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.d.ts +26 -0
  218. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -13
  219. package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
  220. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.d.ts +2 -0
  221. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.js +18 -1
  222. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +9 -5
  223. package/dist/_pkgs/affine-inline-latex/command.js +46 -26
  224. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.d.ts +10 -0
  225. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +23 -0
  226. package/dist/_pkgs/affine-inline-link/link-node/affine-link.js +4 -1
  227. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.d.ts +3 -0
  228. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.js +29 -1
  229. package/dist/_pkgs/affine-model/blocks/code/code-model.d.ts +1 -0
  230. package/dist/_pkgs/affine-model/blocks/code/code-model.js +1 -0
  231. package/dist/_pkgs/affine-model/elements/connector/connector.js +24 -0
  232. package/dist/_pkgs/affine-model/elements/edgy/board.d.ts +32 -0
  233. package/dist/_pkgs/affine-model/elements/edgy/board.js +112 -0
  234. package/dist/_pkgs/affine-model/elements/edgy/facets.d.ts +12 -0
  235. package/dist/_pkgs/affine-model/elements/edgy/facets.js +25 -1
  236. package/dist/_pkgs/affine-model/elements/edgy/index.d.ts +1 -0
  237. package/dist/_pkgs/affine-model/elements/edgy/index.js +1 -0
  238. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +42 -0
  239. package/dist/_pkgs/affine-model/elements/framework-background/background.js +42 -0
  240. package/dist/_pkgs/affine-model/elements/framework-background/index.d.ts +1 -0
  241. package/dist/_pkgs/affine-model/elements/framework-background/index.js +1 -0
  242. package/dist/_pkgs/affine-model/elements/index.d.ts +3 -1
  243. package/dist/_pkgs/affine-model/elements/index.js +1 -0
  244. package/dist/_pkgs/affine-model/elements/mindmap/mindmap.js +8 -3
  245. package/dist/_pkgs/affine-model/elements/mindmap/style.d.ts +10 -0
  246. package/dist/_pkgs/affine-model/elements/mindmap/style.js +8 -0
  247. package/dist/_pkgs/affine-model/elements/wardley/wardley.d.ts +21 -29
  248. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
  249. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
  250. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +160 -2
  251. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -1
  252. package/dist/_pkgs/affine-shared/adapters/types/delta-converter.d.ts +1 -0
  253. package/dist/_pkgs/affine-shared/adapters/utils/color.d.ts +24 -0
  254. package/dist/_pkgs/affine-shared/adapters/utils/color.js +280 -0
  255. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  256. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  257. package/dist/_pkgs/affine-shared/commands/block-crud/get-selected-blocks.js +10 -2
  258. package/dist/_pkgs/affine-shared/services/audit-service.d.ts +300 -0
  259. package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
  260. package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +7 -0
  261. package/dist/_pkgs/affine-shared/services/edit-props-store.js +11 -0
  262. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +26 -1
  263. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.js +124 -7
  264. package/dist/_pkgs/affine-shared/services/index.d.ts +5 -0
  265. package/dist/_pkgs/affine-shared/services/index.js +5 -0
  266. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
  267. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +311 -0
  268. package/dist/_pkgs/affine-shared/services/pivot-properties-service.d.ts +217 -0
  269. package/dist/_pkgs/affine-shared/services/pivot-properties-service.js +114 -0
  270. package/dist/_pkgs/affine-shared/services/telemetry-service/code-block.d.ts +1 -1
  271. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +182 -0
  272. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  273. package/dist/_pkgs/affine-shared/services/telemetry-service/types.d.ts +6 -1
  274. package/dist/_pkgs/affine-shared/services/toolbar-service/action.d.ts +10 -0
  275. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  276. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  277. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.d.ts +134 -0
  278. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.js +146 -0
  279. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +68 -0
  280. package/dist/_pkgs/affine-shared/services/translation-service/index.js +39 -0
  281. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +155 -0
  282. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +254 -0
  283. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.d.ts +4 -0
  284. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.js +58 -2
  285. package/dist/_pkgs/affine-shared/utils/dom/viewport.d.ts +60 -0
  286. package/dist/_pkgs/affine-shared/utils/dom/viewport.js +58 -0
  287. package/dist/_pkgs/affine-shared/utils/print-to-pdf.d.ts +21 -0
  288. package/dist/_pkgs/affine-shared/utils/print-to-pdf.js +166 -32
  289. package/dist/_pkgs/affine-shared/utils/zod-schema.d.ts +7 -0
  290. package/dist/_pkgs/affine-shared/utils/zod-schema.js +27 -1
  291. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.d.ts +19 -10
  292. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.js +122 -23
  293. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.d.ts +2 -0
  294. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.js +25 -4
  295. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +10 -5
  296. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.d.ts +15 -1
  297. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +37 -32
  298. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +5 -4
  299. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-selected-rect.js +19 -9
  300. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.d.ts +16 -2
  301. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +19 -2
  302. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +1 -0
  303. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +1 -0
  304. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +38 -0
  305. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +99 -0
  306. package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +4 -1
  307. package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
  308. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +2 -15
  309. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.d.ts +10 -1
  310. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +133 -6
  311. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.d.ts +10 -0
  312. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.js +120 -3
  313. package/dist/_pkgs/affine-widget-linked-doc/utils.d.ts +12 -0
  314. package/dist/_pkgs/affine-widget-linked-doc/utils.js +33 -0
  315. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +6 -4
  316. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +8 -4
  317. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +9 -0
  318. package/dist/_pkgs/affine-widget-slash-menu/utils.js +24 -0
  319. package/dist/_pkgs/affine-widget-toolbar/toolbar.d.ts +6 -0
  320. package/dist/_pkgs/affine-widget-toolbar/toolbar.js +34 -6
  321. package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
  322. package/dist/_pkgs/affine-widget-toolbar/utils.js +738 -56
  323. package/dist/_pkgs/data-view/core/common/property-menu.js +3 -16
  324. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +4 -0
  325. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +28 -1
  326. package/dist/_pkgs/data-view/core/data-view.d.ts +3 -1
  327. package/dist/_pkgs/data-view/core/data-view.js +25 -3
  328. package/dist/_pkgs/data-view/core/detail/field.js +2 -2
  329. package/dist/_pkgs/data-view/core/detail/selection.d.ts +4 -2
  330. package/dist/_pkgs/data-view/core/detail/selection.js +23 -7
  331. package/dist/_pkgs/data-view/core/effect.js +2 -0
  332. package/dist/_pkgs/data-view/core/filter/eval.js +36 -23
  333. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.d.ts +7 -0
  334. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.js +12 -0
  335. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.d.ts +11 -0
  336. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.js +55 -0
  337. package/dist/_pkgs/data-view/core/group-by/define.d.ts +6 -0
  338. package/dist/_pkgs/data-view/core/group-by/define.js +114 -0
  339. package/dist/_pkgs/data-view/core/group-by/matcher.d.ts +7 -0
  340. package/dist/_pkgs/data-view/core/group-by/matcher.js +13 -0
  341. package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +11 -11
  342. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.d.ts +9 -0
  343. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.js +97 -0
  344. package/dist/_pkgs/data-view/core/group-by/setting.js +86 -7
  345. package/dist/_pkgs/data-view/core/group-by/trait.d.ts +34 -0
  346. package/dist/_pkgs/data-view/core/group-by/trait.js +106 -10
  347. package/dist/_pkgs/data-view/core/utils/menu-title.js +17 -17
  348. package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
  349. package/dist/_pkgs/data-view/property-presets/number/define.js +2 -1
  350. package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
  351. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.d.ts +70 -0
  352. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.js +449 -0
  353. package/dist/_pkgs/data-view/view-presets/calendar/define.d.ts +10 -0
  354. package/dist/_pkgs/data-view/view-presets/calendar/define.js +27 -0
  355. package/dist/_pkgs/data-view/view-presets/calendar/effect.d.ts +1 -0
  356. package/dist/_pkgs/data-view/view-presets/calendar/effect.js +4 -0
  357. package/dist/_pkgs/data-view/view-presets/calendar/index.d.ts +6 -0
  358. package/dist/_pkgs/data-view/view-presets/calendar/index.js +6 -0
  359. package/dist/_pkgs/data-view/view-presets/calendar/layout.d.ts +37 -0
  360. package/dist/_pkgs/data-view/view-presets/calendar/layout.js +138 -0
  361. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.d.ts +7 -0
  362. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.js +68 -0
  363. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.d.ts +32 -0
  364. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.js +159 -0
  365. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.d.ts +1 -0
  366. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.js +7 -0
  367. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.d.ts +1 -0
  368. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.js +28 -0
  369. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.d.ts +1 -0
  370. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.js +707 -0
  371. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.d.ts +89 -0
  372. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.js +837 -0
  373. package/dist/_pkgs/data-view/view-presets/calendar/renderer.d.ts +2 -0
  374. package/dist/_pkgs/data-view/view-presets/calendar/renderer.js +8 -0
  375. package/dist/_pkgs/data-view/view-presets/calendar/source.d.ts +8 -0
  376. package/dist/_pkgs/data-view/view-presets/calendar/source.js +3 -0
  377. package/dist/_pkgs/data-view/view-presets/calendar/types.d.ts +79 -0
  378. package/dist/_pkgs/data-view/view-presets/calendar/types.js +1 -0
  379. package/dist/_pkgs/data-view/view-presets/convert.js +28 -0
  380. package/dist/_pkgs/data-view/view-presets/effect.js +2 -0
  381. package/dist/_pkgs/data-view/view-presets/index.d.ts +2 -0
  382. package/dist/_pkgs/data-view/view-presets/index.js +3 -0
  383. package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +3 -1
  384. package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +2 -2
  385. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +18 -0
  386. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +36 -0
  387. package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +2 -2
  388. package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +11 -0
  389. package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +87 -4
  390. package/dist/_pkgs/data-view/view-presets/table/pc/cell.d.ts +3 -0
  391. package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +11 -2
  392. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.d.ts +1 -0
  393. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +39 -33
  394. package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +10 -0
  395. package/dist/_pkgs/data-view/view-presets/table/pc/group.js +84 -5
  396. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.d.ts +1 -0
  397. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +39 -33
  398. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +18 -18
  399. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.d.ts +3 -0
  400. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +8 -0
  401. package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +3 -1
  402. package/dist/_pkgs/data-view/view-presets/table/utils.d.ts +3 -0
  403. package/dist/_pkgs/data-view/view-presets/table/utils.js +16 -1
  404. package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +3 -1
  405. package/dist/_pkgs/global/gfx/curve.js +4 -3
  406. package/dist/_pkgs/std/clipboard/clipboard.js +13 -3
  407. package/dist/_pkgs/std/clipboard/utils.d.ts +5 -0
  408. package/dist/_pkgs/std/clipboard/utils.js +7 -0
  409. package/dist/_pkgs/std/event/dispatcher.js +27 -1
  410. package/dist/_pkgs/std/event/keymap.js +16 -6
  411. package/dist/_pkgs/std/extension/command-registry.d.ts +321 -0
  412. package/dist/_pkgs/std/extension/command-registry.js +233 -0
  413. package/dist/_pkgs/std/extension/dnd/index.d.ts +1 -1
  414. package/dist/_pkgs/std/extension/index.d.ts +2 -0
  415. package/dist/_pkgs/std/extension/index.js +2 -0
  416. package/dist/_pkgs/std/extension/translation-manifest.d.ts +49 -0
  417. package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
  418. package/dist/_pkgs/std/gfx/index.d.ts +7 -3
  419. package/dist/_pkgs/std/gfx/index.js +6 -2
  420. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +6 -1
  421. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +8 -0
  422. package/dist/_pkgs/std/gfx/interactivity/manager.js +18 -0
  423. package/dist/_pkgs/std/gfx/layer.d.ts +1 -1
  424. package/dist/_pkgs/std/gfx/layer.js +1 -2
  425. package/dist/_pkgs/std/gfx/model/surface/decorators/field.js +9 -0
  426. package/dist/_pkgs/std/gfx/model/surface/decorators/index.d.ts +2 -2
  427. package/dist/_pkgs/std/gfx/model/surface/decorators/index.js +2 -2
  428. package/dist/_pkgs/std/gfx/model/surface/decorators/local.d.ts +14 -0
  429. package/dist/_pkgs/std/gfx/model/surface/decorators/local.js +22 -0
  430. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.d.ts +2 -0
  431. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.js +40 -1
  432. package/dist/_pkgs/std/gfx/model/surface/element-model.d.ts +282 -0
  433. package/dist/_pkgs/std/gfx/model/surface/element-model.js +436 -25
  434. package/dist/_pkgs/std/gfx/model/surface/pivot.d.ts +48 -0
  435. package/dist/_pkgs/std/gfx/model/surface/pivot.js +34 -0
  436. package/dist/_pkgs/std/gfx/model/surface/role.d.ts +153 -0
  437. package/dist/_pkgs/std/gfx/model/surface/role.js +115 -0
  438. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
  439. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +304 -17
  440. package/dist/_pkgs/std/gfx/model/surface/tags.d.ts +77 -0
  441. package/dist/_pkgs/std/gfx/model/surface/tags.js +246 -0
  442. package/dist/_pkgs/std/gfx/perf.d.ts +10 -0
  443. package/dist/_pkgs/std/gfx/perf.js +30 -0
  444. package/dist/_pkgs/std/gfx/tool/tool-controller.d.ts +13 -0
  445. package/dist/_pkgs/std/gfx/tool/tool-controller.js +26 -0
  446. package/dist/_pkgs/std/gfx/viewport.d.ts +12 -0
  447. package/dist/_pkgs/std/gfx/viewport.js +19 -1
  448. package/dist/_pkgs/std/inline/services/event.d.ts +2 -0
  449. package/dist/_pkgs/std/inline/services/event.js +96 -21
  450. package/dist/_pkgs/std/utils/layer.js +2 -6
  451. package/dist/_pkgs/std/utils/tree.d.ts +14 -0
  452. package/dist/_pkgs/std/utils/tree.js +59 -8
  453. package/dist/_pkgs/std/view/element/gfx-block-component.js +23 -13
  454. package/dist/_pkgs/store/extension/workspace/workspace-meta.d.ts +10 -0
  455. package/dist/_pkgs/store/model/block/flat-sync-controller.js +2 -12
  456. package/dist/_pkgs/store/model/store/crud.js +7 -4
  457. package/dist/_pkgs/store/reactive/flat-native-y/index.d.ts +1 -1
  458. package/dist/_pkgs/store/reactive/flat-native-y/index.js +24 -2
  459. package/dist/commands.d.ts +58 -0
  460. package/dist/commands.js +66 -0
  461. package/dist/extensions/command-telemetry.d.ts +21 -0
  462. package/dist/extensions/command-telemetry.js +89 -0
  463. package/dist/extensions/store.d.ts +9 -4
  464. package/dist/extensions/store.js +27 -24
  465. package/dist/extensions/view.d.ts +9 -4
  466. package/dist/extensions/view.js +23 -8
  467. package/dist/flags.d.ts +98 -21
  468. package/dist/flags.js +103 -22
  469. package/dist/frameworks.d.ts +45 -0
  470. package/dist/frameworks.js +154 -0
  471. package/dist/schemas.d.ts +8 -5
  472. package/dist/schemas.js +28 -32
  473. package/dist/shortcuts.d.ts +16 -16
  474. package/dist/shortcuts.js +8 -36
  475. package/dist/translations.d.ts +56 -0
  476. package/dist/translations.js +112 -0
  477. package/package.json +16 -4
  478. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.d.ts +0 -8
  479. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.js +0 -48
  480. package/dist/_pkgs/affine-gfx-shape/shortcuts.d.ts +0 -6
  481. package/dist/_pkgs/affine-gfx-shape/shortcuts.js +0 -28
  482. package/dist/_pkgs/data-view/core/utils/cache.d.ts +0 -5
  483. package/dist/_pkgs/data-view/core/utils/cache.js +0 -28
@@ -5,6 +5,12 @@ export declare class CalloutBlockComponent extends CaptionedBlockComponent<Callo
5
5
  static styles: import("lit").CSSResult;
6
6
  private _emojiMenuAbortController;
7
7
  private readonly _toggleEmojiMenu;
8
+ /**
9
+ * A callout with no children has no text to click into, so the click lands on
10
+ * the container and nothing happens — the block looks inert. Give it a
11
+ * paragraph and put the caret in it.
12
+ */
13
+ private readonly _handleBlockClick;
8
14
  get attributeRenderer(): import("../std/inline/types.js").AttributeRenderer<import("../affine-shared/types/index.js").AffineTextAttributes>;
9
15
  get attributesSchema(): import("zod").ZodType<any, import("zod").ZodTypeDef, any>;
10
16
  get embedChecker(): (delta: import("../store/index.js").DeltaInsert<import("../affine-shared/types/index.js").AffineTextAttributes>) => boolean;
@@ -36,6 +36,7 @@ import { CaptionedBlockComponent } from '../affine-components/caption/index.js';
36
36
  import { createLitPortal } from '../affine-components/portal/index.js';
37
37
  import { DefaultInlineManagerExtension } from '../affine-inline-preset/index.js';
38
38
  import {} from '../affine-model/index.js';
39
+ import { focusTextModel } from '../affine-rich-text/index.js';
39
40
  import { EDGELESS_TOP_CONTENTEDITABLE_SELECTOR } from '../affine-shared/consts/index.js';
40
41
  import { DocModeProvider, ThemeProvider, } from '../affine-shared/services/index.js';
41
42
  import { unsafeCSSVarV2 } from '../affine-shared/theme/index.js';
@@ -43,6 +44,7 @@ import { flip, offset } from '@floating-ui/dom';
43
44
  import { css, html } from 'lit';
44
45
  import { query } from 'lit/decorators.js';
45
46
  import { styleMap } from 'lit/directives/style-map.js';
47
+ import { getCalloutEmojiMarginTop } from './emoji-margin.js';
46
48
  let CalloutBlockComponent = (() => {
47
49
  let _classSuper = CaptionedBlockComponent;
48
50
  let __emojiButton_decorators;
@@ -63,14 +65,13 @@ let CalloutBlockComponent = (() => {
63
65
 
64
66
  .affine-callout-block-container {
65
67
  display: flex;
68
+ align-items: flex-start;
66
69
  padding: 5px 10px;
67
70
  border-radius: 8px;
68
71
  background-color: ${unsafeCSSVarV2('block/callout/background/grey')};
69
72
  }
70
73
 
71
74
  .affine-callout-emoji-container {
72
- margin-right: 10px;
73
- margin-top: 14px;
74
75
  user-select: none;
75
76
  font-size: 1.2em;
76
77
  width: 24px;
@@ -78,6 +79,9 @@ let CalloutBlockComponent = (() => {
78
79
  display: flex;
79
80
  align-items: center;
80
81
  justify-content: center;
82
+ /* margin-top is set per render: it depends on the first child's type. */
83
+ margin-bottom: 10px;
84
+ flex-shrink: 0;
81
85
  }
82
86
  .affine-callout-emoji:hover {
83
87
  cursor: pointer;
@@ -114,13 +118,17 @@ let CalloutBlockComponent = (() => {
114
118
  renderBlock() {
115
119
  const emoji = this.model.props.emoji$.value;
116
120
  return html `
117
- <div class="affine-callout-block-container">
121
+ <div
122
+ class="affine-callout-block-container"
123
+ @click=${this._handleBlockClick}
124
+ >
118
125
  <div
119
126
  @click=${this._toggleEmojiMenu}
120
127
  contenteditable="false"
121
128
  class="affine-callout-emoji-container"
122
129
  style=${styleMap({
123
130
  display: emoji.length === 0 ? 'none' : undefined,
131
+ marginTop: getCalloutEmojiMarginTop(this.model),
124
132
  })}
125
133
  >
126
134
  <span class="affine-callout-emoji">${emoji}</span>
@@ -161,6 +169,20 @@ let CalloutBlockComponent = (() => {
161
169
  closeOnClickAway: true,
162
170
  });
163
171
  };
172
+ /**
173
+ * A callout with no children has no text to click into, so the click lands on
174
+ * the container and nothing happens — the block looks inert. Give it a
175
+ * paragraph and put the caret in it.
176
+ */
177
+ this._handleBlockClick = (event) => {
178
+ const target = event.target;
179
+ if (target.closest('.affine-callout-emoji-container'))
180
+ return;
181
+ if (this.model.children.length > 0)
182
+ return;
183
+ event.stopPropagation();
184
+ focusTextModel(this.std, this.store.addBlock('affine:paragraph', {}, this.model));
185
+ };
164
186
  this.#_emojiButton_accessor_storage = __runInitializers(this, __emojiButton_initializers, void 0);
165
187
  __runInitializers(this, __emojiButton_extraInitializers);
166
188
  }
@@ -1,29 +1,69 @@
1
- import { CalloutBlockModel } from '../affine-model/index.js';
1
+ import { CalloutBlockModel, ParagraphBlockModel } from '../affine-model/index.js';
2
2
  import { matchModels } from '../affine-shared/utils/index.js';
3
- import { BlockSelection, KeymapExtension, TextSelection, } from '../std/index.js';
3
+ import { BlockSelection, KeymapExtension, TextSelection } from '../std/index.js';
4
+ import { calloutToParagraphCommand } from './commands/callout-to-paragraph.js';
5
+ import { splitCalloutCommand } from './commands/split-callout.js';
4
6
  export const CalloutKeymapExtension = KeymapExtension(std => {
5
7
  return {
6
- Backspace: ctx => {
8
+ Enter: ctx => {
7
9
  const text = std.selection.find(TextSelection);
8
- if (text && text.isCollapsed() && text.from.index === 0) {
9
- const event = ctx.get('defaultState').event;
10
- event.preventDefault();
11
- const block = std.store.getBlock(text.from.blockId);
12
- if (!block)
13
- return false;
14
- const parent = std.store.getParent(block.model);
15
- if (!parent)
10
+ if (!text)
11
+ return false;
12
+ const currentBlock = std.store.getBlock(text.from.blockId);
13
+ if (!currentBlock)
14
+ return false;
15
+ // The caret is either on the callout itself (an empty one) or on one of
16
+ // its children.
17
+ let calloutId = currentBlock.model.id;
18
+ if (!matchModels(currentBlock.model, [CalloutBlockModel])) {
19
+ const parent = std.store.getParent(currentBlock.model);
20
+ if (!parent || !matchModels(parent, [CalloutBlockModel]))
16
21
  return false;
17
- if (!matchModels(parent, [CalloutBlockModel]))
18
- return false;
19
- std.selection.setGroup('note', [
20
- std.selection.create(BlockSelection, {
21
- blockId: parent.id,
22
- }),
23
- ]);
22
+ calloutId = parent.id;
23
+ }
24
+ ctx.get('keyboardState').raw.preventDefault();
25
+ std.command
26
+ .chain()
27
+ .pipe(splitCalloutCommand, {
28
+ calloutId,
29
+ currentBlockId: text.from.blockId,
30
+ inlineIndex: text.from.index,
31
+ })
32
+ .run();
33
+ return true;
34
+ },
35
+ Backspace: ctx => {
36
+ const text = std.selection.find(TextSelection);
37
+ if (!text || !text.isCollapsed() || text.from.index !== 0)
38
+ return false;
39
+ const block = std.store.getBlock(text.from.blockId);
40
+ if (!block)
41
+ return false;
42
+ const parent = std.store.getParent(block.model);
43
+ if (!parent)
44
+ return false;
45
+ if (!matchModels(parent, [CalloutBlockModel]))
46
+ return false;
47
+ // Nothing above was a callout, so nothing above was ours to swallow: the
48
+ // event is only default-prevented once the callout is what we are in.
49
+ const event = ctx.get('defaultState').event;
50
+ event.preventDefault();
51
+ // A paragraph merges into the previous paragraph of the same callout,
52
+ // the way it would anywhere else in the document.
53
+ if (matchModels(block.model, [ParagraphBlockModel])) {
54
+ std.command
55
+ .chain()
56
+ .pipe(calloutToParagraphCommand, { id: block.model.id })
57
+ .run();
24
58
  return true;
25
59
  }
26
- return false;
60
+ // Anything else hands the user the callout itself.
61
+ std.selection.setGroup('note', [
62
+ std.selection.create(BlockSelection, {
63
+ blockId: parent.id,
64
+ }),
65
+ ]);
66
+ return true;
27
67
  },
28
68
  };
29
69
  });
@@ -0,0 +1,20 @@
1
+ import type { Command } from '../../std/index.js';
2
+ /**
3
+ * Backspace at the very start of a paragraph inside a callout.
4
+ *
5
+ * Outside a callout that keystroke merges the paragraph into the one above.
6
+ * Inside one it used to do nothing but select the whole callout, so a line
7
+ * broken by mistake could not be joined back — the text had to be cut and
8
+ * pasted by hand.
9
+ *
10
+ * The paragraph now merges into the previous paragraph of the SAME callout,
11
+ * keeping its formatting, and the caret lands at the seam. With no previous
12
+ * paragraph to merge into, the callout itself is selected — the old behaviour,
13
+ * and the way one deletes a callout without losing what it holds.
14
+ */
15
+ export declare const calloutToParagraphCommand: Command<{
16
+ id: string;
17
+ stopCapturing?: boolean;
18
+ }, {
19
+ success: boolean;
20
+ }>;
@@ -0,0 +1,60 @@
1
+ import { CalloutBlockModel, ParagraphBlockModel } from '../../affine-model/index.js';
2
+ import { focusTextModel } from '../../affine-rich-text/index.js';
3
+ import { matchModels } from '../../affine-shared/utils/index.js';
4
+ import { BlockSelection } from '../../std/index.js';
5
+ /**
6
+ * Backspace at the very start of a paragraph inside a callout.
7
+ *
8
+ * Outside a callout that keystroke merges the paragraph into the one above.
9
+ * Inside one it used to do nothing but select the whole callout, so a line
10
+ * broken by mistake could not be joined back — the text had to be cut and
11
+ * pasted by hand.
12
+ *
13
+ * The paragraph now merges into the previous paragraph of the SAME callout,
14
+ * keeping its formatting, and the caret lands at the seam. With no previous
15
+ * paragraph to merge into, the callout itself is selected — the old behaviour,
16
+ * and the way one deletes a callout without losing what it holds.
17
+ */
18
+ export const calloutToParagraphCommand = (ctx, next) => {
19
+ const { id, stopCapturing = true } = ctx;
20
+ const std = ctx.std;
21
+ const doc = std.store;
22
+ const model = doc.getBlock(id)?.model;
23
+ if (!model || !matchModels(model, [ParagraphBlockModel]))
24
+ return;
25
+ const parent = doc.getParent(model);
26
+ if (!parent || !matchModels(parent, [CalloutBlockModel]))
27
+ return;
28
+ // The previous paragraph of this callout, skipping siblings that hold no
29
+ // text of their own.
30
+ const currentIndex = parent.children.indexOf(model);
31
+ let previous = null;
32
+ for (let i = currentIndex - 1; i >= 0; i--) {
33
+ const sibling = parent.children[i];
34
+ if (matchModels(sibling, [ParagraphBlockModel])) {
35
+ previous = sibling;
36
+ break;
37
+ }
38
+ }
39
+ if (!previous) {
40
+ // Nothing to merge into. Select the callout rather than delete anything:
41
+ // a second Backspace then removes it, text included, in one undo step.
42
+ std.selection.setGroup('note', [
43
+ std.selection.create(BlockSelection, {
44
+ blockId: parent.id,
45
+ }),
46
+ ]);
47
+ next({ success: true });
48
+ return;
49
+ }
50
+ if (stopCapturing)
51
+ doc.captureSync();
52
+ const previousText = previous.props.text;
53
+ // Read the seam BEFORE joining: that is where the caret must land.
54
+ const mergeIndex = previousText.length;
55
+ // `join` replays the deltas, so bold, links and the rest survive the merge.
56
+ previousText.join(model.props.text);
57
+ doc.deleteBlock(model, { deleteChildren: false });
58
+ focusTextModel(std, previous.id, mergeIndex);
59
+ next({ success: true });
60
+ };
@@ -0,0 +1,17 @@
1
+ import type { Command } from '../../std/index.js';
2
+ /**
3
+ * Enter inside a callout: break the line WITHOUT leaving the callout.
4
+ *
5
+ * The paragraph keymap deliberately steps aside for a paragraph whose parent is
6
+ * a callout, so this command is the only thing standing between the user and a
7
+ * dead Enter key. The new paragraph is a sibling INSIDE the callout, never
8
+ * after it — leaving a callout is what the down arrow is for.
9
+ */
10
+ export declare const splitCalloutCommand: Command<{
11
+ /** The callout the caret is in — the fallback target for an empty one. */
12
+ calloutId: string;
13
+ /** The block the caret is in; a paragraph in every ordinary case. */
14
+ currentBlockId: string;
15
+ /** Where the caret sits inside that block's text. */
16
+ inlineIndex: number;
17
+ }>;
@@ -0,0 +1,42 @@
1
+ import { CalloutBlockModel, ParagraphBlockModel } from '../../affine-model/index.js';
2
+ import { focusTextModel } from '../../affine-rich-text/index.js';
3
+ import { matchModels } from '../../affine-shared/utils/index.js';
4
+ /**
5
+ * Enter inside a callout: break the line WITHOUT leaving the callout.
6
+ *
7
+ * The paragraph keymap deliberately steps aside for a paragraph whose parent is
8
+ * a callout, so this command is the only thing standing between the user and a
9
+ * dead Enter key. The new paragraph is a sibling INSIDE the callout, never
10
+ * after it — leaving a callout is what the down arrow is for.
11
+ */
12
+ export const splitCalloutCommand = (ctx, next) => {
13
+ const { calloutId, currentBlockId, inlineIndex, std } = ctx;
14
+ const store = std.store;
15
+ const callout = store.getBlock(calloutId)?.model;
16
+ if (!callout || !matchModels(callout, [CalloutBlockModel]))
17
+ return;
18
+ const current = store.getBlock(currentBlockId)?.model;
19
+ store.captureSync();
20
+ if (!current || !matchModels(current, [ParagraphBlockModel])) {
21
+ // No paragraph under the caret — an empty callout. Give it one.
22
+ focusTextModel(std, store.addBlock('affine:paragraph', {}, callout));
23
+ next();
24
+ return;
25
+ }
26
+ const parent = store.getParent(current);
27
+ if (!parent)
28
+ return;
29
+ const index = parent.children.indexOf(current);
30
+ if (index < 0)
31
+ return;
32
+ // `split` truncates the current text and hands back the tail.
33
+ const right = current.props.text.split(inlineIndex);
34
+ const newId = store.addBlock('affine:paragraph', {
35
+ text: right,
36
+ // Breaking a heading in two keeps two headings; pressing Enter at its end
37
+ // starts an ordinary line, as it does everywhere else in the editor.
38
+ type: right.length === 0 ? 'text' : current.props.type,
39
+ }, parent, index + 1);
40
+ focusTextModel(std, newId);
41
+ next();
42
+ };
@@ -1,14 +1,14 @@
1
- import { CalloutBlockModel } from '../../affine-model/index.js';
2
1
  import { focusBlockEnd } from '../../affine-shared/commands/index.js';
3
2
  import { FeatureFlagService } from '../../affine-shared/services/index.js';
4
- import { findAncestorModel, isInsideBlockByFlavour, matchModels, } from '../../affine-shared/utils/index.js';
3
+ import { isInsideBlockByFlavour } from '../../affine-shared/utils/index.js';
5
4
  import {} from '../../affine-widget-slash-menu/index.js';
6
5
  import { FontIcon } from '@blocksuite/icons/lit';
7
6
  import { calloutTooltip } from './tooltips.js';
7
+ // No `disableWhen` here on purpose. The widget ORs every config's `disableWhen`
8
+ // together and then refuses to open at all, so the callout's own guard used to
9
+ // silence the WHOLE slash menu inside a callout — every block, every framework,
10
+ // not just this one entry.
8
11
  export const calloutSlashMenuConfig = {
9
- disableWhen: ({ model }) => {
10
- return (findAncestorModel(model, ancestor => matchModels(ancestor, [CalloutBlockModel])) !== null);
11
- },
12
12
  items: [
13
13
  {
14
14
  name: 'Callout',
@@ -22,7 +22,10 @@ export const calloutSlashMenuConfig = {
22
22
  group: '0_Basic@9',
23
23
  when: ({ std, model }) => {
24
24
  return (std.get(FeatureFlagService).getFlag('enable_callout') &&
25
- !isInsideBlockByFlavour(model.store, model, 'affine:edgeless-text'));
25
+ !isInsideBlockByFlavour(model.store, model, 'affine:edgeless-text') &&
26
+ // The schema forbids a callout inside a callout, so offering the item
27
+ // there would only produce a thrown insertion.
28
+ !isInsideBlockByFlavour(model.store, model, 'affine:callout'));
26
29
  },
27
30
  action: ({ model, std }) => {
28
31
  const { store } = model;
@@ -0,0 +1,9 @@
1
+ import { type CalloutBlockModel } from '../affine-model/index.js';
2
+ /**
3
+ * The emoji's `margin-top` for a callout, read from its FIRST child — the only
4
+ * line the emoji is ever level with.
5
+ *
6
+ * Reading `type$` rather than `type` keeps the caller reactive: turning the
7
+ * first line into a heading re-renders the callout and moves the emoji with it.
8
+ */
9
+ export declare function getCalloutEmojiMarginTop(model: CalloutBlockModel): string;
@@ -0,0 +1,36 @@
1
+ import { ParagraphBlockModel, } from '../affine-model/index.js';
2
+ import { matchModels } from '../affine-shared/utils/index.js';
3
+ /**
4
+ * How far the emoji has to drop to sit on the first line's baseline.
5
+ *
6
+ * The emoji is a fixed 24px box next to a column whose first line can be
7
+ * anything from an H1 to an ordinary paragraph. A single margin therefore
8
+ * cannot be right twice: level with a paragraph it floats above an H1, level
9
+ * with an H1 it sinks below a paragraph. These are the drops measured per
10
+ * heading level.
11
+ */
12
+ const EMOJI_MARGIN_TOP_BY_TYPE = {
13
+ h1: '23px',
14
+ h2: '20px',
15
+ h3: '16px',
16
+ h4: '15px',
17
+ h5: '14px',
18
+ h6: '13px',
19
+ };
20
+ /** What a paragraph, a list, or an empty callout gets. */
21
+ const DEFAULT_EMOJI_MARGIN_TOP = '10px';
22
+ /**
23
+ * The emoji's `margin-top` for a callout, read from its FIRST child — the only
24
+ * line the emoji is ever level with.
25
+ *
26
+ * Reading `type$` rather than `type` keeps the caller reactive: turning the
27
+ * first line into a heading re-renders the callout and moves the emoji with it.
28
+ */
29
+ export function getCalloutEmojiMarginTop(model) {
30
+ const first = model.children[0];
31
+ if (!first || !matchModels(first, [ParagraphBlockModel])) {
32
+ return DEFAULT_EMOJI_MARGIN_TOP;
33
+ }
34
+ return (EMOJI_MARGIN_TOP_BY_TYPE[first.props.type$.value] ??
35
+ DEFAULT_EMOJI_MARGIN_TOP);
36
+ }
@@ -1,8 +1,12 @@
1
1
  import { LitElement, type PropertyValues } from 'lit';
2
+ /** The part of emoji-mart's selection payload a callout reads. */
3
+ export type EmojiSelection = {
4
+ native: string;
5
+ };
2
6
  declare const EmojiMenu_base: typeof LitElement & import("../global/utils/types.js").Constructor<import("../global/lit/with-disposable.js").DisposableClass>;
3
7
  export declare class EmojiMenu extends EmojiMenu_base {
4
8
  firstUpdated(props: PropertyValues): void;
5
- accessor onEmojiSelect: (data: any) => void;
9
+ accessor onEmojiSelect: (emoji: EmojiSelection) => void;
6
10
  accessor theme: 'light' | 'dark';
7
11
  accessor emojiMenu: HTMLElement;
8
12
  render(): import("lit-html").TemplateResult<1>;
@@ -68,6 +68,11 @@ let EmojiMenu = (() => {
68
68
  theme: this.theme,
69
69
  });
70
70
  this.emojiMenu.append(picker);
71
+ // The picker is built imperatively, outside Lit's template, so nothing in
72
+ // this component takes it down when the menu goes away. It holds a
73
+ // document click listener and a `prefers-color-scheme` listener until it
74
+ // is unmounted, so unmount it with the menu.
75
+ this.disposables.add(() => picker.remove());
71
76
  return result;
72
77
  }
73
78
  #onEmojiSelect_accessor_storage = __runInitializers(this, _onEmojiSelect_initializers, () => { });
@@ -10,6 +10,7 @@ export declare class CodeBlockComponent extends CaptionedBlockComponent<CodeBloc
10
10
  private _inlineRangeProvider;
11
11
  private readonly _localPreview$;
12
12
  preview$: Signal<boolean>;
13
+ collapsed$: Signal<boolean>;
13
14
  highlightTokens$: Signal<ThemedToken[][]>;
14
15
  languageName$: Signal<string>;
15
16
  get inlineEditor(): import("../std/inline/inline-editor.js").InlineEditor<{
@@ -25,14 +26,27 @@ export declare class CodeBlockComponent extends CaptionedBlockComponent<CodeBloc
25
26
  get readonly(): boolean;
26
27
  get langs(): import("shiki").BundledLanguageInfo[];
27
28
  get highlighter(): CodeBlockHighlighter;
29
+ /**
30
+ * Whether line numbers are currently shown for this block, accounting for the
31
+ * global setting and feature flags.
32
+ */
33
+ get showLineNumbers(): boolean;
28
34
  get topContenteditableElement(): BlockComponent<import("../store/index.js").BlockModel<object>, import("../std/index.js").BlockService, string> | null;
29
35
  private _updateHighlightTokens;
36
+ /**
37
+ * Stable signal: true when the global editor setting enables line numbers.
38
+ * Defaults to true. Updated reactively by an effect in connectedCallback.
39
+ * Using a writable signal (not reassigned to computed) keeps the reference
40
+ * stable so any downstream computed/effect that captures it stays correct.
41
+ */
42
+ private readonly _showLineNumbersGlobal$;
30
43
  connectedCallback(): void;
31
44
  copyCode(): void;
32
45
  get isCommentHighlighted(): boolean;
33
46
  getUpdateComplete(): Promise<boolean>;
34
47
  renderBlock(): TemplateResult<1>;
35
48
  setWrap(wrap: boolean): void;
49
+ setCollapsed(collapsed: boolean): void;
36
50
  private accessor _richTextElement;
37
51
  accessor blockContainerStyles: {
38
52
  margin: string;
@@ -35,7 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
35
35
  import { CaptionedBlockComponent } from '../affine-components/caption/index.js';
36
36
  import { focusTextModel } from '../affine-rich-text/index.js';
37
37
  import { BRACKET_PAIRS, EDGELESS_TOP_CONTENTEDITABLE_SELECTOR, } from '../affine-shared/consts/index.js';
38
- import { BlockCommentManager, DocModeProvider, NotificationProvider, } from '../affine-shared/services/index.js';
38
+ import { BlockCommentManager, DocModeProvider, EditorSettingProvider, NotificationProvider, } from '../affine-shared/services/index.js';
39
39
  import { getViewportElement } from '../affine-shared/utils/index.js';
40
40
  import { IS_MAC, IS_MOBILE } from '../global/env/index.js';
41
41
  import { noop } from '../global/utils/index.js';
@@ -52,6 +52,7 @@ import { CodeBlockConfigExtension } from './code-block-config.js';
52
52
  import { CodeBlockInlineManagerExtension } from './code-block-inline.js';
53
53
  import { CodeBlockHighlighter } from './code-block-service.js';
54
54
  import { CodeBlockPreviewIdentifier } from './code-preview-extension.js';
55
+ import { readGlobalLineNumbers, resolveShowLineNumbers, } from './line-numbers.js';
55
56
  import { codeBlockStyles } from './styles.js';
56
57
  let CodeBlockComponent = (() => {
57
58
  let _classSuper = CaptionedBlockComponent;
@@ -70,6 +71,7 @@ let CodeBlockComponent = (() => {
70
71
  }
71
72
  return modelPreview;
72
73
  });
74
+ this.collapsed$ = computed(() => !!this.model.props.collapsed$.value);
73
75
  this.highlightTokens$ = signal([]);
74
76
  this.languageName$ = computed(() => {
75
77
  const lang = this.model.props.language$.value;
@@ -79,6 +81,13 @@ let CodeBlockComponent = (() => {
79
81
  const matchedInfo = this.langs.find(info => info.id === lang);
80
82
  return matchedInfo ? matchedInfo.name : 'Plain Text';
81
83
  });
84
+ /**
85
+ * Stable signal: true when the global editor setting enables line numbers.
86
+ * Defaults to true. Updated reactively by an effect in connectedCallback.
87
+ * Using a writable signal (not reassigned to computed) keeps the reference
88
+ * stable so any downstream computed/effect that captures it stays correct.
89
+ */
90
+ this._showLineNumbersGlobal$ = signal(true);
82
91
  this.#_richTextElement_accessor_storage = __runInitializers(this, __richTextElement_initializers, null);
83
92
  this.#blockContainerStyles_accessor_storage = (__runInitializers(this, __richTextElement_extraInitializers), {
84
93
  margin: '18px 0',
@@ -113,6 +122,20 @@ let CodeBlockComponent = (() => {
113
122
  get highlighter() {
114
123
  return this.std.get(CodeBlockHighlighter);
115
124
  }
125
+ /**
126
+ * Whether line numbers are currently shown for this block, accounting for the
127
+ * global setting and feature flags.
128
+ */
129
+ get showLineNumbers() {
130
+ return resolveShowLineNumbers({
131
+ // Feature flag: mobile (or any other consumer) can hard-disable via
132
+ // CodeBlockConfigExtension.
133
+ featureEnabled: this.std.getOptional(CodeBlockConfigExtension.identifier)
134
+ ?.showLineNumbers ?? true,
135
+ blockOverride: this.model.props.lineNumber,
136
+ globalDefault: this._showLineNumbersGlobal$.value,
137
+ });
138
+ }
116
139
  get topContenteditableElement() {
117
140
  if (this.std.get(DocModeProvider).getEditorMode() === 'edgeless') {
118
141
  return this.closest(EDGELESS_TOP_CONTENTEDITABLE_SELECTOR);
@@ -167,6 +190,16 @@ let CodeBlockComponent = (() => {
167
190
  }
168
191
  connectedCallback() {
169
192
  super.connectedCallback();
193
+ // Reactively sync the global line-number preference from EditorSettingProvider
194
+ // into the stable _showLineNumbersGlobal$ signal. The host owns the storage:
195
+ // the library only reads whatever the injected setting service exposes, the
196
+ // same seam as the telemetry adapter.
197
+ const editorSetting = this.std.getOptional(EditorSettingProvider);
198
+ if (editorSetting) {
199
+ this.disposables.add(effect(() => {
200
+ this._showLineNumbersGlobal$.value = readGlobalLineNumbers(editorSetting.setting$.value);
201
+ }));
202
+ }
170
203
  // set highlight options getter used by "exportToHtml"
171
204
  this.disposables.add(effect(() => {
172
205
  this._updateHighlightTokens();
@@ -371,13 +404,11 @@ let CodeBlockComponent = (() => {
371
404
  return result;
372
405
  }
373
406
  renderBlock() {
374
- const showLineNumbers = (this.std.getOptional(CodeBlockConfigExtension.identifier)
375
- ?.showLineNumbers ??
376
- true) &&
377
- (this.model.props.lineNumber ?? true);
407
+ const showLineNumbers = this.showLineNumbers;
378
408
  const preview = this.preview$.value;
379
409
  const previewContext = this.std.getOptional(CodeBlockPreviewIdentifier(this.model.props.language ?? ''));
380
410
  const shouldRenderPreview = preview && previewContext;
411
+ const collapsed = this.collapsed$.value;
381
412
  return html `
382
413
  <div
383
414
  class=${classMap({
@@ -386,6 +417,7 @@ let CodeBlockComponent = (() => {
386
417
  mobile: IS_MOBILE,
387
418
  wrap: this.model.props.wrap,
388
419
  'disable-line-numbers': !showLineNumbers,
420
+ collapsed,
389
421
  })}
390
422
  >
391
423
  <rich-text
@@ -413,9 +445,12 @@ let CodeBlockComponent = (() => {
413
445
  }}
414
446
  >
415
447
  </rich-text>
448
+ ${collapsed
449
+ ? html `<div class="code-collapsed-fade" aria-hidden="true"></div>`
450
+ : nothing}
416
451
  <div
417
452
  style=${styleMap({
418
- display: shouldRenderPreview ? undefined : 'none',
453
+ display: shouldRenderPreview && !collapsed ? undefined : 'none',
419
454
  })}
420
455
  contenteditable="false"
421
456
  class="affine-code-block-preview"
@@ -429,6 +464,9 @@ let CodeBlockComponent = (() => {
429
464
  setWrap(wrap) {
430
465
  this.store.updateBlock(this.model, { wrap });
431
466
  }
467
+ setCollapsed(collapsed) {
468
+ this.store.updateBlock(this.model, { collapsed });
469
+ }
432
470
  #_richTextElement_accessor_storage;
433
471
  get _richTextElement() { return this.#_richTextElement_accessor_storage; }
434
472
  set _richTextElement(value) { this.#_richTextElement_accessor_storage = value; }
@@ -9,9 +9,11 @@ export declare class AffineCodeToolbar extends AffineCodeToolbar_base {
9
9
  closeCurrentMenu: () => void;
10
10
  private _toggleMoreMenu;
11
11
  disconnectedCallback(): void;
12
+ connectedCallback(): void;
12
13
  render(): import("lit-html").TemplateResult<1>;
13
14
  private accessor _moreButton;
14
15
  private accessor _moreMenuOpen;
16
+ private accessor _collapsed;
15
17
  accessor context: CodeBlockToolbarContext;
16
18
  accessor moreGroups: MenuItemGroup<CodeBlockToolbarContext>[];
17
19
  accessor onActiveStatusChange: (active: boolean) => void;