@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
@@ -39,9 +39,9 @@ import { WithDisposable } from '../../../global/lit/index.js';
39
39
  import { noop } from '../../../global/utils/index.js';
40
40
  import { MoreVerticalIcon } from '@blocksuite/icons/lit';
41
41
  import { flip, offset } from '@floating-ui/dom';
42
+ import { effect } from '@preact/signals-core';
42
43
  import { css, html, LitElement } from 'lit';
43
44
  import { property, query, state } from 'lit/decorators.js';
44
- import { styleMap } from 'lit/directives/style-map.js';
45
45
  let AffineCodeToolbar = (() => {
46
46
  let _classSuper = WithDisposable(LitElement);
47
47
  let __moreButton_decorators;
@@ -50,6 +50,9 @@ let AffineCodeToolbar = (() => {
50
50
  let __moreMenuOpen_decorators;
51
51
  let __moreMenuOpen_initializers = [];
52
52
  let __moreMenuOpen_extraInitializers = [];
53
+ let __collapsed_decorators;
54
+ let __collapsed_initializers = [];
55
+ let __collapsed_extraInitializers = [];
53
56
  let _context_decorators;
54
57
  let _context_initializers = [];
55
58
  let _context_extraInitializers = [];
@@ -67,12 +70,14 @@ let AffineCodeToolbar = (() => {
67
70
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
68
71
  __moreButton_decorators = [query('.code-toolbar-button.more')];
69
72
  __moreMenuOpen_decorators = [state()];
73
+ __collapsed_decorators = [state()];
70
74
  _context_decorators = [property({ attribute: false })];
71
75
  _moreGroups_decorators = [property({ attribute: false })];
72
76
  _onActiveStatusChange_decorators = [property({ attribute: false })];
73
77
  _primaryGroups_decorators = [property({ attribute: false })];
74
78
  __esDecorate(this, null, __moreButton_decorators, { kind: "accessor", name: "_moreButton", static: false, private: false, access: { has: obj => "_moreButton" in obj, get: obj => obj._moreButton, set: (obj, value) => { obj._moreButton = value; } }, metadata: _metadata }, __moreButton_initializers, __moreButton_extraInitializers);
75
79
  __esDecorate(this, null, __moreMenuOpen_decorators, { kind: "accessor", name: "_moreMenuOpen", static: false, private: false, access: { has: obj => "_moreMenuOpen" in obj, get: obj => obj._moreMenuOpen, set: (obj, value) => { obj._moreMenuOpen = value; } }, metadata: _metadata }, __moreMenuOpen_initializers, __moreMenuOpen_extraInitializers);
80
+ __esDecorate(this, null, __collapsed_decorators, { kind: "accessor", name: "_collapsed", static: false, private: false, access: { has: obj => "_collapsed" in obj, get: obj => obj._collapsed, set: (obj, value) => { obj._collapsed = value; } }, metadata: _metadata }, __collapsed_initializers, __collapsed_extraInitializers);
76
81
  __esDecorate(this, null, _context_decorators, { kind: "accessor", name: "context", static: false, private: false, access: { has: obj => "context" in obj, get: obj => obj.context, set: (obj, value) => { obj.context = value; } }, metadata: _metadata }, _context_initializers, _context_extraInitializers);
77
82
  __esDecorate(this, null, _moreGroups_decorators, { kind: "accessor", name: "moreGroups", static: false, private: false, access: { has: obj => "moreGroups" in obj, get: obj => obj.moreGroups, set: (obj, value) => { obj.moreGroups = value; } }, metadata: _metadata }, _moreGroups_initializers, _moreGroups_extraInitializers);
78
83
  __esDecorate(this, null, _onActiveStatusChange_decorators, { kind: "accessor", name: "onActiveStatusChange", static: false, private: false, access: { has: obj => "onActiveStatusChange" in obj, get: obj => obj.onActiveStatusChange, set: (obj, value) => { obj.onActiveStatusChange = value; } }, metadata: _metadata }, _onActiveStatusChange_initializers, _onActiveStatusChange_extraInitializers);
@@ -125,18 +130,10 @@ let AffineCodeToolbar = (() => {
125
130
  }
126
131
  createLitPortal({
127
132
  template: html `
128
- <editor-menu-content
129
- data-show
130
- class="more-popup-menu"
131
- style=${styleMap({
132
- '--content-padding': '8px',
133
- '--packed-height': '4px',
134
- })}
135
- >
136
- <div data-size="large" data-orientation="vertical">
137
- ${renderGroups(this.moreGroups, this.context)}
138
- </div>
139
- </editor-menu-content>
133
+ <affine-code-more-menu
134
+ .context=${this.context}
135
+ .moreGroups=${this.moreGroups}
136
+ ></affine-code-more-menu>
140
137
  `,
141
138
  // should be greater than block-selection z-index as selection and popover wil share the same stacking context(editor-host)
142
139
  portalStyles: {
@@ -158,6 +155,14 @@ let AffineCodeToolbar = (() => {
158
155
  super.disconnectedCallback();
159
156
  this.closeCurrentMenu();
160
157
  }
158
+ connectedCallback() {
159
+ super.connectedCallback();
160
+ // Mirror the collapsed$ signal from the block component into local @state
161
+ // so this LitElement re-renders when it changes.
162
+ this.disposables.add(effect(() => {
163
+ this._collapsed = this.context.blockComponent.collapsed$.value;
164
+ }));
165
+ }
161
166
  render() {
162
167
  return html `
163
168
  <editor-toolbar class="code-toolbar-container" data-without-bg>
@@ -185,6 +190,9 @@ let AffineCodeToolbar = (() => {
185
190
  #_moreMenuOpen_accessor_storage;
186
191
  get _moreMenuOpen() { return this.#_moreMenuOpen_accessor_storage; }
187
192
  set _moreMenuOpen(value) { this.#_moreMenuOpen_accessor_storage = value; }
193
+ #_collapsed_accessor_storage;
194
+ get _collapsed() { return this.#_collapsed_accessor_storage; }
195
+ set _collapsed(value) { this.#_collapsed_accessor_storage = value; }
188
196
  #context_accessor_storage;
189
197
  get context() { return this.#context_accessor_storage; }
190
198
  set context(value) { this.#context_accessor_storage = value; }
@@ -209,7 +217,8 @@ let AffineCodeToolbar = (() => {
209
217
  };
210
218
  this.#_moreButton_accessor_storage = __runInitializers(this, __moreButton_initializers, void 0);
211
219
  this.#_moreMenuOpen_accessor_storage = (__runInitializers(this, __moreButton_extraInitializers), __runInitializers(this, __moreMenuOpen_initializers, false));
212
- this.#context_accessor_storage = (__runInitializers(this, __moreMenuOpen_extraInitializers), __runInitializers(this, _context_initializers, void 0));
220
+ this.#_collapsed_accessor_storage = (__runInitializers(this, __moreMenuOpen_extraInitializers), __runInitializers(this, __collapsed_initializers, false));
221
+ this.#context_accessor_storage = (__runInitializers(this, __collapsed_extraInitializers), __runInitializers(this, _context_initializers, void 0));
213
222
  this.#moreGroups_accessor_storage = (__runInitializers(this, _context_extraInitializers), __runInitializers(this, _moreGroups_initializers, void 0));
214
223
  this.#onActiveStatusChange_accessor_storage = (__runInitializers(this, _moreGroups_extraInitializers), __runInitializers(this, _onActiveStatusChange_initializers, noop));
215
224
  this.#primaryGroups_accessor_storage = (__runInitializers(this, _onActiveStatusChange_extraInitializers), __runInitializers(this, _primaryGroups_initializers, void 0));
@@ -0,0 +1,16 @@
1
+ import type { MenuItemGroup } from '../../../affine-components/toolbar/index.js';
2
+ import { ShadowlessElement } from '../../../std/index.js';
3
+ import type { CodeBlockToolbarContext } from '../context.js';
4
+ declare const AffineCodeMoreMenu_base: typeof ShadowlessElement & import("../../../global/utils/types.js").Constructor<import("../../../global/lit/with-disposable.js").DisposableClass>;
5
+ export declare class AffineCodeMoreMenu extends AffineCodeMoreMenu_base {
6
+ firstUpdated(): void;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ accessor context: CodeBlockToolbarContext;
9
+ accessor moreGroups: MenuItemGroup<CodeBlockToolbarContext>[];
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'affine-code-more-menu': AffineCodeMoreMenu;
14
+ }
15
+ }
16
+ export {};
@@ -0,0 +1,93 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { renderGroups } from '../../../affine-components/toolbar/index.js';
36
+ import { SignalWatcher, WithDisposable } from '../../../global/lit/index.js';
37
+ import { ShadowlessElement } from '../../../std/index.js';
38
+ import { html } from 'lit';
39
+ import { property } from 'lit/decorators.js';
40
+ import { styleMap } from 'lit/directives/style-map.js';
41
+ let AffineCodeMoreMenu = (() => {
42
+ let _classSuper = SignalWatcher(WithDisposable(ShadowlessElement));
43
+ let _context_decorators;
44
+ let _context_initializers = [];
45
+ let _context_extraInitializers = [];
46
+ let _moreGroups_decorators;
47
+ let _moreGroups_initializers = [];
48
+ let _moreGroups_extraInitializers = [];
49
+ return class AffineCodeMoreMenu extends _classSuper {
50
+ static {
51
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
52
+ _context_decorators = [property({ attribute: false })];
53
+ _moreGroups_decorators = [property({ attribute: false })];
54
+ __esDecorate(this, null, _context_decorators, { kind: "accessor", name: "context", static: false, private: false, access: { has: obj => "context" in obj, get: obj => obj.context, set: (obj, value) => { obj.context = value; } }, metadata: _metadata }, _context_initializers, _context_extraInitializers);
55
+ __esDecorate(this, null, _moreGroups_decorators, { kind: "accessor", name: "moreGroups", static: false, private: false, access: { has: obj => "moreGroups" in obj, get: obj => obj.moreGroups, set: (obj, value) => { obj.moreGroups = value; } }, metadata: _metadata }, _moreGroups_initializers, _moreGroups_extraInitializers);
56
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
57
+ }
58
+ firstUpdated() {
59
+ this.disposables.add(this.context.blockComponent.model.propsUpdated.subscribe(({ key }) => {
60
+ if (key === 'wrap' || key === 'lineNumber') {
61
+ this.requestUpdate();
62
+ }
63
+ }));
64
+ }
65
+ render() {
66
+ return html `
67
+ <editor-menu-content
68
+ data-show
69
+ class="more-popup-menu"
70
+ style=${styleMap({
71
+ '--content-padding': '8px',
72
+ '--packed-height': '4px',
73
+ })}
74
+ >
75
+ <div data-size="large" data-orientation="vertical">
76
+ ${renderGroups(this.moreGroups, this.context)}
77
+ </div>
78
+ </editor-menu-content>
79
+ `;
80
+ }
81
+ #context_accessor_storage = __runInitializers(this, _context_initializers, void 0);
82
+ get context() { return this.#context_accessor_storage; }
83
+ set context(value) { this.#context_accessor_storage = value; }
84
+ #moreGroups_accessor_storage = (__runInitializers(this, _context_extraInitializers), __runInitializers(this, _moreGroups_initializers, void 0));
85
+ get moreGroups() { return this.#moreGroups_accessor_storage; }
86
+ set moreGroups(value) { this.#moreGroups_accessor_storage = value; }
87
+ constructor() {
88
+ super(...arguments);
89
+ __runInitializers(this, _moreGroups_extraInitializers);
90
+ }
91
+ };
92
+ })();
93
+ export { AffineCodeMoreMenu };
@@ -1,13 +1,17 @@
1
1
  import { CancelWrapIcon, CaptionIcon, CopyIcon, DeleteIcon, DuplicateIcon, WrapIcon, } from '../../affine-components/icons/index.js';
2
- import { CommentProviderIdentifier } from '../../affine-shared/services/index.js';
2
+ import { CommentProviderIdentifier, DocModeProvider, TelemetryProvider, } from '../../affine-shared/services/index.js';
3
3
  import { isInsidePageEditor } from '../../affine-shared/utils/index.js';
4
4
  import { noop, sleep } from '../../global/utils/index.js';
5
- import { CommentIcon, NumberedListIcon } from '@blocksuite/icons/lit';
5
+ import { CollapseIcon, CommentIcon, NumberedListIcon, ToggleRightIcon, } from '@blocksuite/icons/lit';
6
6
  import { BlockSelection } from '../../std/index.js';
7
7
  import { html } from 'lit';
8
8
  import { ifDefined } from 'lit/directives/if-defined.js';
9
9
  import { CodeBlockConfigExtension } from '../code-block-config.js';
10
10
  import { duplicateCodeBlock } from './utils.js';
11
+ // Upstream keeps these two in `@blocksuite/affine-components/icons`; we build
12
+ // them here so the code block owns its own toolbar glyphs.
13
+ const CollapseCodeIcon = CollapseIcon({ width: '20', height: '20' });
14
+ const ExpandCodeIcon = ToggleRightIcon({ width: '20', height: '20' });
11
15
  export const PRIMARY_GROUPS = [
12
16
  {
13
17
  type: 'primary',
@@ -74,6 +78,48 @@ export const PRIMARY_GROUPS = [
74
78
  };
75
79
  },
76
80
  },
81
+ {
82
+ type: 'collapse',
83
+ when: ({ doc }) => !doc.readonly,
84
+ generate: ({ blockComponent }) => {
85
+ return {
86
+ action: () => {
87
+ const collapsed = !blockComponent.collapsed$.value;
88
+ blockComponent.setCollapsed(collapsed);
89
+ const std = blockComponent.std;
90
+ const mode = std.getOptional(DocModeProvider)?.getEditorMode() ?? 'page';
91
+ std.getOptional(TelemetryProvider)?.track('codeBlockToggleCollapse', {
92
+ page: mode,
93
+ segment: 'code block',
94
+ module: 'code toolbar container',
95
+ control: 'collapse button',
96
+ type: collapsed ? 'collapse' : 'expand',
97
+ });
98
+ },
99
+ render: item => {
100
+ const collapsed = blockComponent.collapsed$.value;
101
+ const icon = collapsed ? ExpandCodeIcon : CollapseCodeIcon;
102
+ const label = collapsed ? 'Expand code' : 'Collapse code';
103
+ return html `
104
+ <editor-icon-button
105
+ class="code-toolbar-button collapse"
106
+ aria-label=${label}
107
+ .tooltip=${label}
108
+ .tooltipOffset=${4}
109
+ .iconSize=${'16px'}
110
+ .iconContainerPadding=${4}
111
+ @click=${(e) => {
112
+ e.stopPropagation();
113
+ item.action();
114
+ }}
115
+ >
116
+ ${icon}
117
+ </editor-icon-button>
118
+ `;
119
+ },
120
+ };
121
+ },
122
+ },
77
123
  {
78
124
  type: 'caption',
79
125
  label: 'Caption',
@@ -159,7 +205,8 @@ export const toggleGroup = {
159
205
  return html `
160
206
  <editor-menu-action
161
207
  @click=${() => {
162
- blockComponent.setWrap(!wrapped);
208
+ const currentWrap = blockComponent.model.props.wrap;
209
+ blockComponent.setWrap(!currentWrap);
163
210
  }}
164
211
  aria-label=${label}
165
212
  >
@@ -183,13 +230,13 @@ export const toggleGroup = {
183
230
  return {
184
231
  action: () => { },
185
232
  render: () => {
186
- const lineNumber = blockComponent.model.props.lineNumber ?? true;
233
+ const lineNumber = blockComponent.showLineNumbers;
187
234
  const label = lineNumber ? 'Cancel line number' : 'Line number';
188
235
  return html `
189
236
  <editor-menu-action
190
237
  @click=${() => {
191
238
  blockComponent.store.updateBlock(blockComponent.model, {
192
- lineNumber: !lineNumber,
239
+ lineNumber: !blockComponent.showLineNumbers,
193
240
  });
194
241
  }}
195
242
  aria-label=${label}
@@ -1,12 +1,14 @@
1
1
  import { AFFINE_CODE_TOOLBAR_WIDGET, AffineCodeToolbarWidget } from './code-toolbar/index.js';
2
2
  import { AffineCodeToolbar } from './code-toolbar/components/code-toolbar.js';
3
3
  import { LanguageListButton } from './code-toolbar/components/lang-button.js';
4
+ import { AffineCodeMoreMenu } from './code-toolbar/components/more-menu.js';
4
5
  import { PreviewButton } from './code-toolbar/components/preview-button.js';
5
6
  export declare function effects(): void;
6
7
  declare global {
7
8
  interface HTMLElementTagNameMap {
8
9
  'language-list-button': LanguageListButton;
9
10
  'affine-code-toolbar': AffineCodeToolbar;
11
+ 'affine-code-more-menu': AffineCodeMoreMenu;
10
12
  'preview-button': PreviewButton;
11
13
  [AFFINE_CODE_TOOLBAR_WIDGET]: AffineCodeToolbarWidget;
12
14
  }
@@ -2,11 +2,13 @@ import { CodeBlockComponent } from './code-block.js';
2
2
  import { AFFINE_CODE_TOOLBAR_WIDGET, AffineCodeToolbarWidget, } from './code-toolbar/index.js';
3
3
  import { AffineCodeToolbar } from './code-toolbar/components/code-toolbar.js';
4
4
  import { LanguageListButton } from './code-toolbar/components/lang-button.js';
5
+ import { AffineCodeMoreMenu } from './code-toolbar/components/more-menu.js';
5
6
  import { PreviewButton } from './code-toolbar/components/preview-button.js';
6
7
  import { AffineCodeUnit } from './highlight/affine-code-unit.js';
7
8
  export function effects() {
8
9
  customElements.define('language-list-button', LanguageListButton);
9
10
  customElements.define('affine-code-toolbar', AffineCodeToolbar);
11
+ customElements.define('affine-code-more-menu', AffineCodeMoreMenu);
10
12
  customElements.define(AFFINE_CODE_TOOLBAR_WIDGET, AffineCodeToolbarWidget);
11
13
  customElements.define('affine-code-unit', AffineCodeUnit);
12
14
  customElements.define('affine-code', CodeBlockComponent);
@@ -83,8 +83,13 @@ let AffineCodeUnit = (() => {
83
83
  const tokens = codeBlock.highlightTokens$.value;
84
84
  if (tokens.length === 0)
85
85
  return plainContent;
86
+ // The highlighter runs asynchronously, so the token table can lag behind
87
+ // the lines being rendered: an out-of-range line has no tokens at all.
88
+ const line = tokens[vElement.lineIndex];
89
+ if (!line)
90
+ return plainContent;
86
91
  // copy the tokens to avoid modifying the original tokens
87
- const lineTokens = structuredClone(tokens[vElement.lineIndex]);
92
+ const lineTokens = structuredClone(line);
88
93
  if (lineTokens.length === 0)
89
94
  return plainContent;
90
95
  const startOffset = vElement.startOffset;
@@ -6,5 +6,6 @@ export * from './code-block-service.js';
6
6
  export * from './code-preview-extension.js';
7
7
  export * from './code-toolbar/index.js';
8
8
  export * from './highlight/const.js';
9
+ export * from './line-numbers.js';
9
10
  export * from './turbo/code-layout-handler.js';
10
11
  export * from './turbo/code-painter.worker.js';
@@ -6,5 +6,6 @@ export * from './code-block-service.js';
6
6
  export * from './code-preview-extension.js';
7
7
  export * from './code-toolbar/index.js';
8
8
  export * from './highlight/const.js';
9
+ export * from './line-numbers.js';
9
10
  export * from './turbo/code-layout-handler.js';
10
11
  export * from './turbo/code-painter.worker.js';
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Where the "show line numbers" answer comes from — upstream #15381.
3
+ *
4
+ * Three voices can speak: the embedder's feature flag (mobile switches line
5
+ * numbers off outright), the host's global preference, and the block's own
6
+ * override set from the code toolbar. The library owns none of the storage:
7
+ * the global preference is read from whatever `EditorSettingProvider` the host
8
+ * injects, the same seam as the telemetry adapter.
9
+ */
10
+ /** Key the host uses in its editor-setting payload for this preference. */
11
+ export declare const CODE_BLOCK_LINE_NUMBERS_SETTING_KEY = "codeBlockLineNumbers";
12
+ /**
13
+ * The host's global preference, defaulting to "shown" when the host injects no
14
+ * setting service, or injects one that says nothing about code blocks.
15
+ */
16
+ export declare function readGlobalLineNumbers(setting: unknown): boolean;
17
+ /**
18
+ * The feature flag has the last word; otherwise the block's own override wins
19
+ * over the global default, and an untouched block follows the global default.
20
+ */
21
+ export declare function resolveShowLineNumbers(options: {
22
+ featureEnabled: boolean;
23
+ blockOverride: boolean | undefined;
24
+ globalDefault: boolean;
25
+ }): boolean;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Where the "show line numbers" answer comes from — upstream #15381.
3
+ *
4
+ * Three voices can speak: the embedder's feature flag (mobile switches line
5
+ * numbers off outright), the host's global preference, and the block's own
6
+ * override set from the code toolbar. The library owns none of the storage:
7
+ * the global preference is read from whatever `EditorSettingProvider` the host
8
+ * injects, the same seam as the telemetry adapter.
9
+ */
10
+ /** Key the host uses in its editor-setting payload for this preference. */
11
+ export const CODE_BLOCK_LINE_NUMBERS_SETTING_KEY = 'codeBlockLineNumbers';
12
+ /**
13
+ * The host's global preference, defaulting to "shown" when the host injects no
14
+ * setting service, or injects one that says nothing about code blocks.
15
+ */
16
+ export function readGlobalLineNumbers(setting) {
17
+ return (setting?.[CODE_BLOCK_LINE_NUMBERS_SETTING_KEY] !== false);
18
+ }
19
+ /**
20
+ * The feature flag has the last word; otherwise the block's own override wins
21
+ * over the global default, and an untouched block follows the global default.
22
+ */
23
+ export function resolveShowLineNumbers(options) {
24
+ if (!options.featureEnabled)
25
+ return false;
26
+ return options.blockOverride ?? options.globalDefault;
27
+ }
@@ -69,4 +69,35 @@ export const codeBlockStyles = css `
69
69
  affine-code .affine-code-block-preview {
70
70
  padding: 12px;
71
71
  }
72
+
73
+ /* ── Collapsed state ──────────────────────────────────────────────── */
74
+
75
+ /* Clamp the rich-text to the first 8 lines */
76
+ .affine-code-block-container.collapsed rich-text {
77
+ display: block;
78
+ max-height: calc(8 * var(--affine-line-height));
79
+ overflow: hidden;
80
+ }
81
+
82
+ /* Reduce bottom padding so the fade sits flush with the border */
83
+ .affine-code-block-container.collapsed {
84
+ padding-bottom: 0;
85
+ }
86
+
87
+ /* Gradient overlay that fades to the block background */
88
+ .affine-code-block-container .code-collapsed-fade {
89
+ position: absolute;
90
+ bottom: 0;
91
+ left: 0;
92
+ right: 0;
93
+ height: 80px;
94
+ background: linear-gradient(
95
+ to bottom,
96
+ transparent,
97
+ var(--affine-background-code-block)
98
+ );
99
+ border-radius: 0 0 10px 10px;
100
+ pointer-events: none;
101
+ z-index: 1;
102
+ }
72
103
  `;
@@ -135,6 +135,7 @@ export class DataViewBlockComponent extends CaptionedBlockComponent {
135
135
  dataSource: this.dataSource,
136
136
  headerWidget: this.headerWidget,
137
137
  clipboard: this.std.clipboard,
138
+ dnd: this.std.dnd,
138
139
  notification: {
139
140
  toast: message => {
140
141
  const notification = this.std.getOptional(NotificationProvider);
@@ -177,7 +177,10 @@ let DatabaseTitle = (() => {
177
177
  get input() { return this.#input_accessor_storage; }
178
178
  set input(value) { this.#input_accessor_storage = value; }
179
179
  onPressEnterKey() {
180
- this.dataViewLogic.addRow?.('start');
180
+ // Enter commits the title and leaves the field. It used to prepend a row,
181
+ // which silently created an empty record every time the user validated a
182
+ // title they had just typed.
183
+ this.input.blur();
181
184
  }
182
185
  get readonly$() {
183
186
  return this.dataViewLogic.view.readonly$;
@@ -3,7 +3,7 @@ import { TelemetryProvider } from '../../affine-shared/services/index.js';
3
3
  import { isInsideBlockByFlavour } from '../../affine-shared/utils/index.js';
4
4
  import {} from '../../affine-widget-slash-menu/index.js';
5
5
  import { viewPresets } from '../../data-view/view-presets/index.js';
6
- import { DatabaseKanbanViewIcon, DatabaseTableViewIcon, } from '@blocksuite/icons/lit';
6
+ import { DatabaseKanbanViewIcon, DatabaseTableViewIcon, TodayIcon, } from '@blocksuite/icons/lit';
7
7
  import { insertDatabaseBlockCommand } from '../commands.js';
8
8
  import { KanbanViewTooltip, TableViewTooltip } from './tooltips.js';
9
9
  export const databaseSlashMenuConfig = {
@@ -40,6 +40,33 @@ export const databaseSlashMenuConfig = {
40
40
  .run();
41
41
  },
42
42
  },
43
+ {
44
+ name: 'Calendar View',
45
+ description: 'Display items by date in a calendar.',
46
+ searchAlias: ['database', 'calendar'],
47
+ icon: TodayIcon(),
48
+ group: '7_Database@1',
49
+ when: ({ model }) => !isInsideBlockByFlavour(model.store, model, 'affine:edgeless-text'),
50
+ action: ({ std }) => {
51
+ std.command
52
+ .chain()
53
+ .pipe(getSelectedModelsCommand)
54
+ .pipe(insertDatabaseBlockCommand, {
55
+ viewType: viewPresets.calendarViewMeta.type,
56
+ place: 'after',
57
+ removeEmptyLine: true,
58
+ })
59
+ .pipe(({ insertedDatabaseBlockId }) => {
60
+ if (insertedDatabaseBlockId) {
61
+ const telemetry = std.getOptional(TelemetryProvider);
62
+ telemetry?.track('BlockCreated', {
63
+ blockType: 'affine:database',
64
+ });
65
+ }
66
+ })
67
+ .run();
68
+ },
69
+ },
43
70
  {
44
71
  name: 'Kanban View',
45
72
  description: 'Visualize data in a dashboard.',
@@ -7,6 +7,7 @@ import { EDGELESS_TOP_CONTENTEDITABLE_SELECTOR } from '../affine-shared/consts/i
7
7
  import { BlockCommentManager, CommentProviderIdentifier, DocModeProvider, NotificationProvider, TelemetryProvider, } from '../affine-shared/services/index.js';
8
8
  import { getDropResult } from '../affine-widget-drag-handle/index.js';
9
9
  import { createRecordDetail, createUniComponentFromWebComponent, DataViewRootUILogic, defineUniComponent, ExternalGroupByConfigProvider, renderUniLit, uniMap, } from '../data-view/index.js';
10
+ import { CalendarExternalSourceProvider } from '../data-view/view-presets/index.js';
10
11
  import { widgetPresets } from '../data-view/widget-presets/index.js';
11
12
  import { Rect } from '../global/gfx/index.js';
12
13
  import { CommentIcon, CopyIcon, DeleteIcon, MoreHorizontalIcon, } from '@blocksuite/icons/lit';
@@ -194,6 +195,12 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent {
194
195
  widgetPresets.tools.viewOptions,
195
196
  widgetPresets.tools.tableAddRow,
196
197
  ],
198
+ calendar: [
199
+ widgetPresets.tools.filter,
200
+ widgetPresets.tools.search,
201
+ widgetPresets.tools.viewOptions,
202
+ widgetPresets.tools.tableAddRow,
203
+ ],
197
204
  });
198
205
  this.viewSelection$ = computed(() => {
199
206
  const databaseSelection = this.selection.value.find((selection) => {
@@ -215,6 +222,11 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent {
215
222
  .forEach(config => {
216
223
  dataSource.serviceSet(ExternalGroupByConfigProvider(config.name), config);
217
224
  });
225
+ this.std.provider
226
+ .getAll(CalendarExternalSourceProvider)
227
+ .forEach(source => {
228
+ dataSource.serviceSet(CalendarExternalSourceProvider(source.id), source);
229
+ });
218
230
  };
219
231
  const provider = this.std.getOptional(DatabaseDataSourceProvider);
220
232
  const dataSource = provider && this.model.props.externalSourceId
@@ -327,6 +339,7 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent {
327
339
  headerWidget: this.headerWidget,
328
340
  onDrag: this.onDrag,
329
341
  clipboard: this.std.clipboard,
342
+ dnd: this.std.dnd,
330
343
  notification: {
331
344
  toast: message => {
332
345
  const notification = this.std.getOptional(NotificationProvider);
@@ -0,0 +1,24 @@
1
+ import type { AffineInlineEditor } from '../../affine-shared/types/index.js';
2
+ import type { InlineRange } from '../../std/inline/index.js';
3
+ type UrlPasteInlineEditor = Pick<AffineInlineEditor, 'insertText' | 'setInlineRange'>;
4
+ export type UrlTextSegment = {
5
+ text: string;
6
+ link?: string;
7
+ };
8
+ /**
9
+ * Split pasted plain text into mixed segments, where only the URL segments
10
+ * carry link metadata. Text like `see https://example.com, then stop` keeps its
11
+ * prose as prose and linkifies only the address, punctuation excluded.
12
+ */
13
+ export declare function splitTextByUrl(text: string, baseUrl?: string): UrlTextSegment[];
14
+ /**
15
+ * Describe a paste for the database cells: the segments to insert, plus the
16
+ * single URL the whole paste amounts to (if any), which is the only case where
17
+ * a doc link may be resolved instead.
18
+ */
19
+ export declare function analyzeTextForUrlPaste(text: string): {
20
+ segments: UrlTextSegment[];
21
+ singleUrl: string | undefined;
22
+ };
23
+ export declare function insertUrlTextSegments(inlineEditor: UrlPasteInlineEditor, inlineRange: InlineRange, segments: UrlTextSegment[]): void;
24
+ export {};