@formicoidea/labre-core 0.31.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (637) hide show
  1. package/dist/_pkgs/affine-block-attachment/attachment-block.js +1 -1
  2. package/dist/_pkgs/affine-block-callout/callout-block.d.ts +6 -0
  3. package/dist/_pkgs/affine-block-callout/callout-block.js +26 -4
  4. package/dist/_pkgs/affine-block-callout/callout-keymap.js +59 -19
  5. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.d.ts +20 -0
  6. package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.js +60 -0
  7. package/dist/_pkgs/affine-block-callout/commands/split-callout.d.ts +17 -0
  8. package/dist/_pkgs/affine-block-callout/commands/split-callout.js +42 -0
  9. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +9 -6
  10. package/dist/_pkgs/affine-block-callout/emoji-margin.d.ts +9 -0
  11. package/dist/_pkgs/affine-block-callout/emoji-margin.js +36 -0
  12. package/dist/_pkgs/affine-block-callout/emoji-menu.d.ts +5 -1
  13. package/dist/_pkgs/affine-block-callout/emoji-menu.js +5 -0
  14. package/dist/_pkgs/affine-block-code/code-block-inline.js +1 -1
  15. package/dist/_pkgs/affine-block-code/code-block.d.ts +14 -0
  16. package/dist/_pkgs/affine-block-code/code-block.js +44 -6
  17. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.d.ts +2 -0
  18. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +23 -14
  19. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.d.ts +16 -0
  20. package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.js +93 -0
  21. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +54 -5
  22. package/dist/_pkgs/affine-block-code/code-toolbar/index.js +1 -1
  23. package/dist/_pkgs/affine-block-code/effects.d.ts +2 -0
  24. package/dist/_pkgs/affine-block-code/effects.js +2 -0
  25. package/dist/_pkgs/affine-block-code/highlight/affine-code-unit.js +6 -1
  26. package/dist/_pkgs/affine-block-code/index.d.ts +1 -0
  27. package/dist/_pkgs/affine-block-code/index.js +1 -0
  28. package/dist/_pkgs/affine-block-code/line-numbers.d.ts +25 -0
  29. package/dist/_pkgs/affine-block-code/line-numbers.js +27 -0
  30. package/dist/_pkgs/affine-block-code/styles.js +31 -0
  31. package/dist/_pkgs/affine-block-data-view/data-view-block.js +1 -0
  32. package/dist/_pkgs/affine-block-database/components/title/index.js +4 -1
  33. package/dist/_pkgs/affine-block-database/configs/slash-menu.js +28 -1
  34. package/dist/_pkgs/affine-block-database/data-source.js +1 -2
  35. package/dist/_pkgs/affine-block-database/database-block.js +13 -0
  36. package/dist/_pkgs/affine-block-database/external-data-source.js +1 -1
  37. package/dist/_pkgs/affine-block-database/properties/paste-url.d.ts +24 -0
  38. package/dist/_pkgs/affine-block-database/properties/paste-url.js +98 -0
  39. package/dist/_pkgs/affine-block-database/properties/rich-text/cell-renderer.js +9 -19
  40. package/dist/_pkgs/affine-block-database/properties/title/text.js +20 -25
  41. package/dist/_pkgs/affine-block-database/views/index.js +1 -0
  42. package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +11 -1
  43. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.d.ts +3 -0
  44. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +48 -1
  45. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.d.ts +17 -0
  46. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.js +24 -0
  47. package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-service.js +1 -1
  48. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +2 -2
  49. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.d.ts +9 -0
  50. package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.js +10 -0
  51. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +1 -1
  52. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +8 -4
  53. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/utils.js +1 -1
  54. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +1 -1
  55. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts +4 -0
  56. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +23 -4
  57. package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
  58. package/dist/_pkgs/affine-block-frame/frame-manager.js +34 -2
  59. package/dist/_pkgs/affine-block-frame/frame-tool.js +1 -1
  60. package/dist/_pkgs/affine-block-image/components/page-image-block.js +1 -1
  61. package/dist/_pkgs/affine-block-image/image-edgeless-block.js +1 -1
  62. package/dist/_pkgs/affine-block-latex/styles.js +6 -1
  63. package/dist/_pkgs/affine-block-list/utils/forward-delete.js +1 -1
  64. package/dist/_pkgs/affine-block-note/commands/select-block.js +1 -1
  65. package/dist/_pkgs/affine-block-note/commands/select-blocks-between.js +1 -1
  66. package/dist/_pkgs/affine-block-note/move-block.js +1 -1
  67. package/dist/_pkgs/affine-block-note/note-edgeless-block.d.ts +9 -0
  68. package/dist/_pkgs/affine-block-note/note-edgeless-block.js +29 -1
  69. package/dist/_pkgs/affine-block-paragraph/utils/forward-delete.js +2 -2
  70. package/dist/_pkgs/affine-block-paragraph/utils/merge-with-prev.js +1 -1
  71. package/dist/_pkgs/affine-block-root/commands/pivot-commands.d.ts +37 -0
  72. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +168 -0
  73. package/dist/_pkgs/affine-block-root/commands/reading-commands.d.ts +23 -0
  74. package/dist/_pkgs/affine-block-root/commands/reading-commands.js +107 -0
  75. package/dist/_pkgs/affine-block-root/commands/tag-commands.d.ts +47 -0
  76. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +159 -0
  77. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -0
  78. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +10 -3
  79. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/render-linked-doc.js +1 -1
  80. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +27 -2
  81. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +11 -2
  82. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-service.js +14 -0
  83. package/dist/_pkgs/affine-block-root/edgeless/index.d.ts +1 -0
  84. package/dist/_pkgs/affine-block-root/edgeless/index.js +1 -0
  85. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.d.ts +21 -0
  86. package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.js +34 -0
  87. package/dist/_pkgs/affine-block-root/edgeless/utils/clipboard-utils.js +1 -1
  88. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.d.ts +7 -1
  89. package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.js +11 -2
  90. package/dist/_pkgs/affine-block-root/index.d.ts +4 -1
  91. package/dist/_pkgs/affine-block-root/index.js +4 -1
  92. package/dist/_pkgs/affine-block-root/keyboard/commands.d.ts +2 -0
  93. package/dist/_pkgs/affine-block-root/keyboard/commands.js +147 -0
  94. package/dist/_pkgs/affine-block-root/view.js +13 -4
  95. package/dist/_pkgs/affine-block-surface/adapters/markdown/element-adapter/type.js +1 -1
  96. package/dist/_pkgs/affine-block-surface/adapters/plain-text/element-adapter/type.js +1 -1
  97. package/dist/_pkgs/affine-block-surface/commands/reassociate-connectors.js +0 -1
  98. package/dist/_pkgs/affine-block-surface/effects.js +6 -0
  99. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
  100. package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
  101. package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
  102. package/dist/_pkgs/affine-block-surface/extensions/audit.js +489 -0
  103. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
  104. package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +37 -5
  105. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.d.ts +133 -0
  106. package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.js +327 -0
  107. package/dist/_pkgs/affine-block-surface/extensions/element-renderer.js +1 -1
  108. package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +1 -1
  109. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +17 -0
  110. package/dist/_pkgs/affine-block-surface/extensions/index.js +17 -0
  111. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +172 -0
  112. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +393 -0
  113. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +306 -0
  114. package/dist/_pkgs/affine-block-surface/extensions/interchange.js +64 -0
  115. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.d.ts +146 -0
  116. package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.js +528 -0
  117. package/dist/_pkgs/affine-block-surface/extensions/map-quality.d.ts +109 -0
  118. package/dist/_pkgs/affine-block-surface/extensions/map-quality.js +84 -0
  119. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +248 -0
  120. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +248 -0
  121. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.d.ts +15 -0
  122. package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +158 -0
  123. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +145 -0
  124. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +588 -0
  125. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +494 -0
  126. package/dist/_pkgs/affine-block-surface/extensions/reading.js +767 -0
  127. package/dist/_pkgs/affine-block-surface/extensions/spotlight.d.ts +45 -0
  128. package/dist/_pkgs/affine-block-surface/extensions/spotlight.js +177 -0
  129. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.d.ts +107 -0
  130. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +958 -0
  131. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.d.ts +10 -0
  132. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +295 -0
  133. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.d.ts +27 -0
  134. package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.js +361 -0
  135. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +2129 -0
  136. package/dist/_pkgs/affine-block-surface/extensions/validation.js +4620 -0
  137. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +330 -0
  138. package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +1004 -0
  139. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.d.ts +80 -0
  140. package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.js +123 -0
  141. package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +610 -0
  142. package/dist/_pkgs/affine-block-surface/framework-background/def.js +206 -0
  143. package/dist/_pkgs/affine-block-surface/framework-background/facts.d.ts +188 -0
  144. package/dist/_pkgs/affine-block-surface/framework-background/facts.js +284 -0
  145. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +5 -0
  146. package/dist/_pkgs/affine-block-surface/framework-background/index.js +5 -0
  147. package/dist/_pkgs/affine-block-surface/framework-background/interaction.d.ts +12 -0
  148. package/dist/_pkgs/affine-block-surface/framework-background/interaction.js +24 -0
  149. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +99 -0
  150. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +193 -0
  151. package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
  152. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +399 -0
  153. package/dist/_pkgs/affine-block-surface/index.d.ts +1 -0
  154. package/dist/_pkgs/affine-block-surface/index.js +1 -0
  155. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +69 -3
  156. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +333 -44
  157. package/dist/_pkgs/affine-block-surface/renderer/dom-renderer.js +18 -2
  158. package/dist/_pkgs/affine-block-surface/renderer/overlay.js +1 -1
  159. package/dist/_pkgs/affine-block-surface/tool/default-tool.js +8 -0
  160. package/dist/_pkgs/affine-block-surface/utils/font.js +9 -3
  161. package/dist/_pkgs/affine-block-surface/view.d.ts +17 -0
  162. package/dist/_pkgs/affine-block-surface/view.js +57 -2
  163. package/dist/_pkgs/affine-block-surface-ref/portal/note.js +2 -2
  164. package/dist/_pkgs/affine-block-table/commands.js +1 -1
  165. package/dist/_pkgs/affine-block-table/selection-controller.d.ts +6 -0
  166. package/dist/_pkgs/affine-block-table/selection-controller.js +24 -1
  167. package/dist/_pkgs/affine-block-table/table-block.js +8 -2
  168. package/dist/_pkgs/affine-block-table/table-cell.js +5 -6
  169. package/dist/_pkgs/affine-block-table/table-keymap.d.ts +18 -0
  170. package/dist/_pkgs/affine-block-table/table-keymap.js +41 -0
  171. package/dist/_pkgs/affine-block-table/utils.d.ts +7 -0
  172. package/dist/_pkgs/affine-block-table/utils.js +12 -0
  173. package/dist/_pkgs/affine-block-table/view.js +2 -0
  174. package/dist/_pkgs/affine-components/caption/captioned-block-component.js +2 -1
  175. package/dist/_pkgs/affine-components/context-menu/button.d.ts +7 -0
  176. package/dist/_pkgs/affine-components/context-menu/button.js +7 -2
  177. package/dist/_pkgs/affine-components/context-menu/input.d.ts +4 -0
  178. package/dist/_pkgs/affine-components/context-menu/input.js +12 -0
  179. package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +2 -0
  180. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +8 -1
  181. package/dist/_pkgs/affine-components/context-menu/sub-menu.js +3 -0
  182. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +1 -1
  183. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +1 -1
  184. package/dist/_pkgs/affine-components/filterable-list/styles.js +1 -1
  185. package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
  186. package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
  187. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +28 -0
  188. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +231 -0
  189. package/dist/_pkgs/affine-components/icon-picker/emoji-data.d.ts +40 -0
  190. package/dist/_pkgs/affine-components/icon-picker/emoji-data.js +99 -0
  191. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +32 -0
  192. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +276 -0
  193. package/dist/_pkgs/affine-components/icon-picker/icon-data.d.ts +34 -0
  194. package/dist/_pkgs/affine-components/icon-picker/icon-data.js +83 -0
  195. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +39 -0
  196. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +233 -0
  197. package/dist/_pkgs/affine-components/icon-picker/index.d.ts +8 -0
  198. package/dist/_pkgs/affine-components/icon-picker/index.js +15 -0
  199. package/dist/_pkgs/affine-components/icon-picker/recent-store.d.ts +8 -0
  200. package/dist/_pkgs/affine-components/icon-picker/recent-store.js +41 -0
  201. package/dist/_pkgs/affine-components/icon-picker/styles.d.ts +5 -0
  202. package/dist/_pkgs/affine-components/icon-picker/styles.js +166 -0
  203. package/dist/_pkgs/affine-components/icon-picker/types.d.ts +22 -0
  204. package/dist/_pkgs/affine-components/icon-picker/types.js +10 -0
  205. package/dist/_pkgs/affine-components/icons/text.js +426 -426
  206. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.d.ts +1 -0
  207. package/dist/_pkgs/affine-components/peek/peekable.js +1 -1
  208. package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
  209. package/dist/_pkgs/affine-components/toolbar/index.d.ts +1 -0
  210. package/dist/_pkgs/affine-components/toolbar/index.js +1 -0
  211. package/dist/_pkgs/affine-components/toolbar/menu-button.js +2 -1
  212. package/dist/_pkgs/affine-components/toolbar/picker-menu.d.ts +55 -0
  213. package/dist/_pkgs/affine-components/toolbar/picker-menu.js +47 -0
  214. package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
  215. package/dist/_pkgs/affine-foundation/view.js +11 -2
  216. package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +2 -2
  217. package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +2 -2
  218. package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +1 -1
  219. package/dist/_pkgs/affine-fragment-outline/mobile-outline-panel.js +1 -1
  220. package/dist/_pkgs/affine-gfx-brush/index.d.ts +1 -0
  221. package/dist/_pkgs/affine-gfx-brush/index.js +1 -0
  222. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.d.ts +1 -0
  223. package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.js +11 -0
  224. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.d.ts +1 -0
  225. package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.js +11 -0
  226. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.d.ts +2 -0
  227. package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.js +2 -0
  228. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.d.ts +14 -0
  229. package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.js +54 -0
  230. package/dist/_pkgs/affine-gfx-brush/renderer/index.d.ts +1 -0
  231. package/dist/_pkgs/affine-gfx-brush/renderer/index.js +4 -0
  232. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +1 -1
  233. package/dist/_pkgs/affine-gfx-brush/view.d.ts +14 -0
  234. package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
  235. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +39 -16
  236. package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +26 -1
  237. package/dist/_pkgs/affine-gfx-connector/connector-tool.js +12 -3
  238. package/dist/_pkgs/affine-gfx-connector/connector-watcher.js +1 -4
  239. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
  240. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +282 -0
  241. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.d.ts +65 -0
  242. package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.js +395 -0
  243. package/dist/_pkgs/affine-gfx-connector/direction/index.d.ts +4 -0
  244. package/dist/_pkgs/affine-gfx-connector/direction/index.js +4 -0
  245. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +72 -0
  246. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +185 -0
  247. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.d.ts +69 -0
  248. package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.js +66 -0
  249. package/dist/_pkgs/affine-gfx-connector/effects.d.ts +2 -0
  250. package/dist/_pkgs/affine-gfx-connector/effects.js +2 -0
  251. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +78 -41
  252. package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +1 -1
  253. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +1 -1
  254. package/dist/_pkgs/affine-gfx-connector/index.d.ts +1 -0
  255. package/dist/_pkgs/affine-gfx-connector/index.js +1 -0
  256. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +50 -0
  257. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +68 -2
  258. package/dist/_pkgs/affine-gfx-connector/view.js +16 -0
  259. package/dist/_pkgs/affine-gfx-group/command/group-api.js +150 -62
  260. package/dist/_pkgs/affine-gfx-group/text/edgeless-group-title-editor.js +4 -1
  261. package/dist/_pkgs/affine-gfx-mindmap/adapter/markdown/index.js +1 -1
  262. package/dist/_pkgs/affine-gfx-mindmap/adapter/utils.js +1 -1
  263. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +583 -4
  264. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +23 -23
  265. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +5 -1
  266. package/dist/_pkgs/affine-gfx-mindmap/view/utils.js +1 -1
  267. package/dist/_pkgs/affine-gfx-note/overlay/overlay.js +1 -1
  268. package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +1 -1
  269. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.d.ts +16 -0
  270. package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.js +102 -32
  271. package/dist/_pkgs/affine-gfx-shape/commands.d.ts +2 -0
  272. package/dist/_pkgs/affine-gfx-shape/commands.js +33 -0
  273. package/dist/_pkgs/affine-gfx-shape/consts.js +1 -1
  274. package/dist/_pkgs/affine-gfx-shape/draggable/shape-draggable.js +1 -1
  275. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/polygon.js +17 -9
  276. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/utils.js +8 -3
  277. package/dist/_pkgs/affine-gfx-shape/element-renderer/shape-dom/index.js +48 -19
  278. package/dist/_pkgs/affine-gfx-shape/element-view.js +19 -12
  279. package/dist/_pkgs/affine-gfx-shape/index.d.ts +1 -1
  280. package/dist/_pkgs/affine-gfx-shape/index.js +1 -1
  281. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +1 -1
  282. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-vertex-editing-overlay.js +12 -7
  283. package/dist/_pkgs/affine-gfx-shape/overlay/shape-overlay.js +1 -1
  284. package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +4 -2
  285. package/dist/_pkgs/affine-gfx-shape/shape-tool.js +1 -1
  286. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.d.ts +26 -0
  287. package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -15
  288. package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
  289. package/dist/_pkgs/affine-gfx-template/builtin/other.js +66 -17
  290. package/dist/_pkgs/affine-gfx-template/toolbar/overlay-scrollbar.js +1 -1
  291. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +1 -1
  292. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.d.ts +2 -0
  293. package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.js +18 -1
  294. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +9 -5
  295. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +1 -1
  296. package/dist/_pkgs/affine-inline-latex/command.js +46 -26
  297. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.d.ts +10 -0
  298. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +23 -0
  299. package/dist/_pkgs/affine-inline-link/command.js +1 -1
  300. package/dist/_pkgs/affine-inline-link/link-node/affine-link.js +4 -1
  301. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.d.ts +3 -0
  302. package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.js +29 -1
  303. package/dist/_pkgs/affine-inline-preset/command/format-block.js +1 -1
  304. package/dist/_pkgs/affine-inline-preset/command/format-native.js +2 -2
  305. package/dist/_pkgs/affine-inline-preset/command/format-text.js +1 -1
  306. package/dist/_pkgs/affine-inline-preset/inline-spec.js +1 -1
  307. package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +1 -1
  308. package/dist/_pkgs/affine-model/blocks/code/code-model.d.ts +1 -0
  309. package/dist/_pkgs/affine-model/blocks/code/code-model.js +1 -0
  310. package/dist/_pkgs/affine-model/elements/bpmn/node.d.ts +40 -7
  311. package/dist/_pkgs/affine-model/elements/bpmn/node.js +4 -2
  312. package/dist/_pkgs/affine-model/elements/bpmn/pool.d.ts +74 -17
  313. package/dist/_pkgs/affine-model/elements/bpmn/pool.js +55 -26
  314. package/dist/_pkgs/affine-model/elements/c4/board.d.ts +88 -0
  315. package/dist/_pkgs/affine-model/elements/c4/board.js +128 -0
  316. package/dist/_pkgs/affine-model/elements/c4/boundary.d.ts +63 -0
  317. package/dist/_pkgs/affine-model/elements/c4/boundary.js +134 -0
  318. package/dist/_pkgs/affine-model/elements/c4/index.d.ts +3 -0
  319. package/dist/_pkgs/affine-model/elements/c4/index.js +3 -0
  320. package/dist/_pkgs/affine-model/elements/c4/node.d.ts +97 -0
  321. package/dist/_pkgs/affine-model/elements/c4/node.js +130 -0
  322. package/dist/_pkgs/affine-model/elements/connector/connector.js +25 -1
  323. package/dist/_pkgs/affine-model/elements/context-map/context-map.d.ts +27 -0
  324. package/dist/_pkgs/affine-model/elements/context-map/context-map.js +94 -0
  325. package/dist/_pkgs/affine-model/elements/context-map/index.d.ts +1 -0
  326. package/dist/_pkgs/affine-model/elements/context-map/index.js +1 -0
  327. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +34 -17
  328. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +28 -26
  329. package/dist/_pkgs/affine-model/elements/edgy/board.d.ts +32 -0
  330. package/dist/_pkgs/affine-model/elements/edgy/board.js +112 -0
  331. package/dist/_pkgs/affine-model/elements/edgy/facets.d.ts +12 -0
  332. package/dist/_pkgs/affine-model/elements/edgy/facets.js +25 -1
  333. package/dist/_pkgs/affine-model/elements/edgy/index.d.ts +1 -0
  334. package/dist/_pkgs/affine-model/elements/edgy/index.js +1 -0
  335. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +36 -0
  336. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +103 -0
  337. package/dist/_pkgs/affine-model/elements/event-storming/index.d.ts +1 -0
  338. package/dist/_pkgs/affine-model/elements/event-storming/index.js +1 -0
  339. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +42 -0
  340. package/dist/_pkgs/affine-model/elements/framework-background/background.js +42 -0
  341. package/dist/_pkgs/affine-model/elements/framework-background/index.d.ts +1 -0
  342. package/dist/_pkgs/affine-model/elements/framework-background/index.js +1 -0
  343. package/dist/_pkgs/affine-model/elements/index.d.ts +14 -1
  344. package/dist/_pkgs/affine-model/elements/index.js +4 -0
  345. package/dist/_pkgs/affine-model/elements/mindmap/mindmap.js +8 -3
  346. package/dist/_pkgs/affine-model/elements/mindmap/style.d.ts +10 -0
  347. package/dist/_pkgs/affine-model/elements/mindmap/style.js +8 -0
  348. package/dist/_pkgs/affine-model/elements/shape/api/polygon.js +2 -8
  349. package/dist/_pkgs/affine-model/elements/wardley/wardley.d.ts +21 -29
  350. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
  351. package/dist/_pkgs/affine-shared/adapters/html/block-adapter.js +1 -1
  352. package/dist/_pkgs/affine-shared/adapters/markdown/block-adapter.js +1 -1
  353. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
  354. package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +161 -3
  355. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -1
  356. package/dist/_pkgs/affine-shared/adapters/notion-html/block-adapter.js +1 -1
  357. package/dist/_pkgs/affine-shared/adapters/notion-html/delta-converter.js +1 -1
  358. package/dist/_pkgs/affine-shared/adapters/plain-text/block-adapter.js +1 -1
  359. package/dist/_pkgs/affine-shared/adapters/plain-text/delta-converter.js +1 -1
  360. package/dist/_pkgs/affine-shared/adapters/types/delta-converter.d.ts +1 -0
  361. package/dist/_pkgs/affine-shared/adapters/utils/color.d.ts +24 -0
  362. package/dist/_pkgs/affine-shared/adapters/utils/color.js +283 -0
  363. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  364. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  365. package/dist/_pkgs/affine-shared/commands/block-crud/get-selected-blocks.js +10 -2
  366. package/dist/_pkgs/affine-shared/commands/model-crud/draft-selected-models.js +1 -1
  367. package/dist/_pkgs/affine-shared/commands/selection/focus-block-end.js +1 -1
  368. package/dist/_pkgs/affine-shared/commands/selection/focus-block-start.js +1 -1
  369. package/dist/_pkgs/affine-shared/consts/index.d.ts +10 -0
  370. package/dist/_pkgs/affine-shared/consts/index.js +10 -0
  371. package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.d.ts +55 -0
  372. package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.js +35 -0
  373. package/dist/_pkgs/affine-shared/services/audit-service.d.ts +311 -0
  374. package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
  375. package/dist/_pkgs/affine-shared/services/command-usage-service.d.ts +31 -0
  376. package/dist/_pkgs/affine-shared/services/command-usage-service.js +109 -0
  377. package/dist/_pkgs/affine-shared/services/comment-service/block-comment-manager.js +1 -1
  378. package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +1 -1
  379. package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +7 -0
  380. package/dist/_pkgs/affine-shared/services/edit-props-store.js +11 -0
  381. package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.js +1 -1
  382. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +26 -1
  383. package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.js +124 -7
  384. package/dist/_pkgs/affine-shared/services/index.d.ts +7 -0
  385. package/dist/_pkgs/affine-shared/services/index.js +7 -0
  386. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
  387. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +312 -0
  388. package/dist/_pkgs/affine-shared/services/pivot-properties-service.d.ts +217 -0
  389. package/dist/_pkgs/affine-shared/services/pivot-properties-service.js +114 -0
  390. package/dist/_pkgs/affine-shared/services/telemetry-service/code-block.d.ts +1 -1
  391. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +255 -1
  392. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  393. package/dist/_pkgs/affine-shared/services/telemetry-service/types.d.ts +6 -1
  394. package/dist/_pkgs/affine-shared/services/toolbar-service/action.d.ts +10 -0
  395. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  396. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  397. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.d.ts +134 -0
  398. package/dist/_pkgs/affine-shared/services/toolbar-service/layout.js +146 -0
  399. package/dist/_pkgs/affine-shared/services/toolbar-service/registry.d.ts +44 -0
  400. package/dist/_pkgs/affine-shared/services/toolbar-service/registry.js +161 -3
  401. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +68 -0
  402. package/dist/_pkgs/affine-shared/services/translation-service/index.js +39 -0
  403. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +155 -0
  404. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +256 -0
  405. package/dist/_pkgs/affine-shared/test-utils/affine-template.js +1 -1
  406. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.d.ts +4 -0
  407. package/dist/_pkgs/affine-shared/utils/dom/point-to-range.js +58 -2
  408. package/dist/_pkgs/affine-shared/utils/dom/viewport.d.ts +60 -0
  409. package/dist/_pkgs/affine-shared/utils/dom/viewport.js +58 -0
  410. package/dist/_pkgs/affine-shared/utils/edgeless.js +1 -1
  411. package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +34 -0
  412. package/dist/_pkgs/affine-shared/utils/file/filesys.js +48 -7
  413. package/dist/_pkgs/affine-shared/utils/print-to-pdf.d.ts +21 -0
  414. package/dist/_pkgs/affine-shared/utils/print-to-pdf.js +166 -32
  415. package/dist/_pkgs/affine-shared/utils/zod-schema.d.ts +7 -0
  416. package/dist/_pkgs/affine-shared/utils/zod-schema.js +25 -1
  417. package/dist/_pkgs/affine-widget-drag-handle/utils.js +1 -1
  418. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.d.ts +19 -10
  419. package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.js +122 -23
  420. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.d.ts +2 -0
  421. package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.js +25 -4
  422. package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +1 -1
  423. package/dist/_pkgs/affine-widget-edgeless-dragging-area/edgeless-dragging-area-rect.js +1 -1
  424. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +10 -5
  425. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.d.ts +15 -1
  426. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +37 -32
  427. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +5 -4
  428. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-selected-rect.js +19 -9
  429. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.d.ts +16 -2
  430. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +19 -2
  431. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.d.ts +14 -0
  432. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.js +40 -0
  433. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +158 -0
  434. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +572 -0
  435. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.d.ts +46 -0
  436. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.js +66 -0
  437. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.d.ts +13 -0
  438. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.js +50 -0
  439. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.d.ts +6 -0
  440. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +15 -5
  441. package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.d.ts +2 -0
  442. package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.js +2 -0
  443. package/dist/_pkgs/affine-widget-edgeless-toolbar/extension/index.d.ts +7 -0
  444. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +5 -0
  445. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +5 -0
  446. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +57 -0
  447. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +140 -0
  448. package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +9 -0
  449. package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +4 -1
  450. package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
  451. package/dist/_pkgs/affine-widget-keyboard-toolbar/keyboard-tool-panel.js +1 -1
  452. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +1 -1
  453. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +2 -15
  454. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.d.ts +10 -1
  455. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +133 -6
  456. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.d.ts +10 -0
  457. package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.js +120 -3
  458. package/dist/_pkgs/affine-widget-linked-doc/utils.d.ts +12 -0
  459. package/dist/_pkgs/affine-widget-linked-doc/utils.js +33 -0
  460. package/dist/_pkgs/affine-widget-page-dragging-area/index.js +1 -1
  461. package/dist/_pkgs/affine-widget-remote-selection/doc/doc-remote-selection.js +1 -1
  462. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +6 -4
  463. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +8 -4
  464. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +9 -0
  465. package/dist/_pkgs/affine-widget-slash-menu/utils.js +24 -0
  466. package/dist/_pkgs/affine-widget-toolbar/toolbar.d.ts +6 -0
  467. package/dist/_pkgs/affine-widget-toolbar/toolbar.js +40 -8
  468. package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
  469. package/dist/_pkgs/affine-widget-toolbar/utils.js +744 -58
  470. package/dist/_pkgs/data-view/core/common/property-menu.js +3 -16
  471. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +4 -0
  472. package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +28 -1
  473. package/dist/_pkgs/data-view/core/data-view.d.ts +3 -1
  474. package/dist/_pkgs/data-view/core/data-view.js +25 -3
  475. package/dist/_pkgs/data-view/core/detail/field.js +2 -2
  476. package/dist/_pkgs/data-view/core/detail/selection.d.ts +4 -2
  477. package/dist/_pkgs/data-view/core/detail/selection.js +23 -7
  478. package/dist/_pkgs/data-view/core/effect.js +2 -0
  479. package/dist/_pkgs/data-view/core/filter/eval.js +36 -23
  480. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.d.ts +7 -0
  481. package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.js +12 -0
  482. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.d.ts +11 -0
  483. package/dist/_pkgs/data-view/core/group-by/compare-date-keys.js +55 -0
  484. package/dist/_pkgs/data-view/core/group-by/define.d.ts +6 -0
  485. package/dist/_pkgs/data-view/core/group-by/define.js +114 -0
  486. package/dist/_pkgs/data-view/core/group-by/matcher.d.ts +7 -0
  487. package/dist/_pkgs/data-view/core/group-by/matcher.js +13 -0
  488. package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +11 -11
  489. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.d.ts +9 -0
  490. package/dist/_pkgs/data-view/core/group-by/renderer/date-group.js +97 -0
  491. package/dist/_pkgs/data-view/core/group-by/setting.js +86 -7
  492. package/dist/_pkgs/data-view/core/group-by/trait.d.ts +34 -0
  493. package/dist/_pkgs/data-view/core/group-by/trait.js +106 -10
  494. package/dist/_pkgs/data-view/core/utils/menu-title.js +17 -17
  495. package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
  496. package/dist/_pkgs/data-view/property-presets/number/define.js +2 -1
  497. package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
  498. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.d.ts +70 -0
  499. package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.js +449 -0
  500. package/dist/_pkgs/data-view/view-presets/calendar/define.d.ts +10 -0
  501. package/dist/_pkgs/data-view/view-presets/calendar/define.js +27 -0
  502. package/dist/_pkgs/data-view/view-presets/calendar/effect.d.ts +1 -0
  503. package/dist/_pkgs/data-view/view-presets/calendar/effect.js +4 -0
  504. package/dist/_pkgs/data-view/view-presets/calendar/index.d.ts +6 -0
  505. package/dist/_pkgs/data-view/view-presets/calendar/index.js +6 -0
  506. package/dist/_pkgs/data-view/view-presets/calendar/layout.d.ts +37 -0
  507. package/dist/_pkgs/data-view/view-presets/calendar/layout.js +138 -0
  508. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.d.ts +7 -0
  509. package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.js +64 -0
  510. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.d.ts +32 -0
  511. package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.js +159 -0
  512. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.d.ts +1 -0
  513. package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.js +7 -0
  514. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.d.ts +1 -0
  515. package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.js +28 -0
  516. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.d.ts +1 -0
  517. package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.js +707 -0
  518. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.d.ts +89 -0
  519. package/dist/_pkgs/data-view/view-presets/calendar/pc/view.js +849 -0
  520. package/dist/_pkgs/data-view/view-presets/calendar/renderer.d.ts +2 -0
  521. package/dist/_pkgs/data-view/view-presets/calendar/renderer.js +8 -0
  522. package/dist/_pkgs/data-view/view-presets/calendar/source.d.ts +8 -0
  523. package/dist/_pkgs/data-view/view-presets/calendar/source.js +3 -0
  524. package/dist/_pkgs/data-view/view-presets/calendar/types.d.ts +79 -0
  525. package/dist/_pkgs/data-view/view-presets/calendar/types.js +1 -0
  526. package/dist/_pkgs/data-view/view-presets/convert.js +28 -0
  527. package/dist/_pkgs/data-view/view-presets/effect.js +2 -0
  528. package/dist/_pkgs/data-view/view-presets/index.d.ts +2 -0
  529. package/dist/_pkgs/data-view/view-presets/index.js +3 -0
  530. package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +3 -1
  531. package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +2 -2
  532. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +18 -0
  533. package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +36 -0
  534. package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +2 -2
  535. package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +11 -0
  536. package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +89 -4
  537. package/dist/_pkgs/data-view/view-presets/table/pc/cell.d.ts +3 -0
  538. package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +11 -2
  539. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.d.ts +1 -0
  540. package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +39 -33
  541. package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +10 -0
  542. package/dist/_pkgs/data-view/view-presets/table/pc/group.js +86 -5
  543. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.d.ts +1 -0
  544. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +39 -33
  545. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +18 -18
  546. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.d.ts +3 -0
  547. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +8 -0
  548. package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +3 -1
  549. package/dist/_pkgs/data-view/view-presets/table/utils.d.ts +3 -0
  550. package/dist/_pkgs/data-view/view-presets/table/utils.js +16 -1
  551. package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +3 -1
  552. package/dist/_pkgs/global/gfx/curve.js +4 -3
  553. package/dist/_pkgs/std/clipboard/clipboard.js +13 -3
  554. package/dist/_pkgs/std/clipboard/utils.d.ts +5 -0
  555. package/dist/_pkgs/std/clipboard/utils.js +10 -0
  556. package/dist/_pkgs/std/event/dispatcher.js +27 -1
  557. package/dist/_pkgs/std/event/keymap.js +16 -6
  558. package/dist/_pkgs/std/extension/command-registry.d.ts +475 -0
  559. package/dist/_pkgs/std/extension/command-registry.js +431 -0
  560. package/dist/_pkgs/std/extension/dnd/index.d.ts +1 -1
  561. package/dist/_pkgs/std/extension/index.d.ts +2 -0
  562. package/dist/_pkgs/std/extension/index.js +2 -0
  563. package/dist/_pkgs/std/extension/shortcut.js +2 -1
  564. package/dist/_pkgs/std/extension/translation-manifest.d.ts +49 -0
  565. package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
  566. package/dist/_pkgs/std/gfx/grid.js +1 -1
  567. package/dist/_pkgs/std/gfx/index.d.ts +7 -3
  568. package/dist/_pkgs/std/gfx/index.js +6 -2
  569. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +6 -1
  570. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +8 -0
  571. package/dist/_pkgs/std/gfx/interactivity/manager.js +18 -0
  572. package/dist/_pkgs/std/gfx/layer.d.ts +1 -1
  573. package/dist/_pkgs/std/gfx/layer.js +1 -2
  574. package/dist/_pkgs/std/gfx/model/surface/decorators/field.js +9 -0
  575. package/dist/_pkgs/std/gfx/model/surface/decorators/index.d.ts +2 -2
  576. package/dist/_pkgs/std/gfx/model/surface/decorators/index.js +2 -2
  577. package/dist/_pkgs/std/gfx/model/surface/decorators/local.d.ts +14 -0
  578. package/dist/_pkgs/std/gfx/model/surface/decorators/local.js +22 -0
  579. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.d.ts +2 -0
  580. package/dist/_pkgs/std/gfx/model/surface/decorators/observer.js +40 -1
  581. package/dist/_pkgs/std/gfx/model/surface/element-model.d.ts +442 -0
  582. package/dist/_pkgs/std/gfx/model/surface/element-model.js +510 -25
  583. package/dist/_pkgs/std/gfx/model/surface/pivot.d.ts +48 -0
  584. package/dist/_pkgs/std/gfx/model/surface/pivot.js +34 -0
  585. package/dist/_pkgs/std/gfx/model/surface/role.d.ts +153 -0
  586. package/dist/_pkgs/std/gfx/model/surface/role.js +117 -0
  587. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
  588. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +305 -17
  589. package/dist/_pkgs/std/gfx/model/surface/tags.d.ts +77 -0
  590. package/dist/_pkgs/std/gfx/model/surface/tags.js +246 -0
  591. package/dist/_pkgs/std/gfx/perf.d.ts +10 -0
  592. package/dist/_pkgs/std/gfx/perf.js +30 -0
  593. package/dist/_pkgs/std/gfx/selection.js +1 -1
  594. package/dist/_pkgs/std/gfx/tool/tool-controller.d.ts +13 -0
  595. package/dist/_pkgs/std/gfx/tool/tool-controller.js +26 -0
  596. package/dist/_pkgs/std/gfx/viewport.d.ts +12 -0
  597. package/dist/_pkgs/std/gfx/viewport.js +20 -2
  598. package/dist/_pkgs/std/inline/extensions/inline-manager.js +1 -1
  599. package/dist/_pkgs/std/inline/extensions/markdown-matcher.js +1 -1
  600. package/dist/_pkgs/std/inline/services/event.d.ts +2 -0
  601. package/dist/_pkgs/std/inline/services/event.js +96 -21
  602. package/dist/_pkgs/std/utils/layer.js +2 -6
  603. package/dist/_pkgs/std/utils/tree.d.ts +14 -0
  604. package/dist/_pkgs/std/utils/tree.js +59 -8
  605. package/dist/_pkgs/std/view/element/gfx-block-component.js +23 -13
  606. package/dist/_pkgs/store/extension/workspace/workspace-meta.d.ts +10 -0
  607. package/dist/_pkgs/store/model/block/flat-sync-controller.js +2 -12
  608. package/dist/_pkgs/store/model/store/crud.js +10 -4
  609. package/dist/_pkgs/store/reactive/flat-native-y/index.d.ts +1 -1
  610. package/dist/_pkgs/store/reactive/flat-native-y/index.js +24 -2
  611. package/dist/commands.d.ts +58 -0
  612. package/dist/commands.js +66 -0
  613. package/dist/extensions/command-telemetry.d.ts +21 -0
  614. package/dist/extensions/command-telemetry.js +89 -0
  615. package/dist/extensions/command-usage.d.ts +23 -0
  616. package/dist/extensions/command-usage.js +37 -0
  617. package/dist/extensions/store.d.ts +9 -4
  618. package/dist/extensions/store.js +27 -24
  619. package/dist/extensions/view.d.ts +9 -4
  620. package/dist/extensions/view.js +35 -8
  621. package/dist/flags.d.ts +98 -21
  622. package/dist/flags.js +103 -22
  623. package/dist/frameworks.d.ts +45 -0
  624. package/dist/frameworks.js +186 -0
  625. package/dist/schemas.d.ts +8 -5
  626. package/dist/schemas.js +28 -32
  627. package/dist/shortcuts.d.ts +16 -16
  628. package/dist/shortcuts.js +8 -36
  629. package/dist/translations.d.ts +56 -0
  630. package/dist/translations.js +200 -0
  631. package/package.json +16 -4
  632. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.d.ts +0 -8
  633. package/dist/_pkgs/affine-block-root/keyboard/shortcuts.js +0 -48
  634. package/dist/_pkgs/affine-gfx-shape/shortcuts.d.ts +0 -6
  635. package/dist/_pkgs/affine-gfx-shape/shortcuts.js +0 -28
  636. package/dist/_pkgs/data-view/core/utils/cache.d.ts +0 -5
  637. package/dist/_pkgs/data-view/core/utils/cache.js +0 -28
@@ -30,43 +30,46 @@ import { LatexStoreExtension as InlineLatexStoreExtension } from '../_pkgs/affin
30
30
  import { LinkStoreExtension } from '../_pkgs/affine-inline-link/store.js';
31
31
  import { InlinePresetStoreExtension } from '../_pkgs/affine-inline-preset/store.js';
32
32
  import { ReferenceStoreExtension } from '../_pkgs/affine-inline-reference/store.js';
33
- import { isBlockEnabled, } from '../flags.js';
34
33
  /**
35
- * Store extensions, honoring block flags.
36
- * Omitted flags default to enabled. See {@link BlockFlags}.
34
+ * Store extensions.
35
+ *
36
+ * Registered UNCONDITIONALLY: the store side (models, adapters, transformers)
37
+ * is what makes a document readable and round-trippable, and a flag must never
38
+ * gate that (see {@link LabreFlags} and `docs/adr/0009`). The `flags` parameter
39
+ * is kept for source compatibility with callers written against the previous
40
+ * contract, and is deliberately ignored.
37
41
  */
38
- export function getInternalStoreExtensions(flags) {
39
- const on = (block) => isBlockEnabled(flags, block);
42
+ export function getInternalStoreExtensions(_flags) {
40
43
  return [
41
44
  FoundationStoreExtension,
42
- ...(on('attachment') ? [AttachmentStoreExtension] : []),
43
- ...(on('bookmark') ? [BookmarkStoreExtension] : []),
44
- ...(on('callout') ? [CalloutStoreExtension] : []),
45
- ...(on('code') ? [CodeStoreExtension] : []),
46
- ...(on('data-view') ? [DataViewStoreExtension] : []),
47
- ...(on('database') ? [DatabaseStoreExtension] : []),
48
- ...(on('divider') ? [DividerStoreExtension] : []),
49
- ...(on('edgeless-text') ? [EdgelessTextStoreExtension] : []),
50
- ...(on('embed') ? [EmbedStoreExtension] : []),
51
- ...(on('embed-doc') ? [EmbedDocStoreExtension] : []),
52
- ...(on('frame') ? [FrameStoreExtension] : []),
53
- ...(on('image') ? [ImageStoreExtension] : []),
54
- ...(on('latex') ? [LatexStoreExtension] : []),
55
- ...(on('list') ? [ListStoreExtension] : []),
45
+ AttachmentStoreExtension,
46
+ BookmarkStoreExtension,
47
+ CalloutStoreExtension,
48
+ CodeStoreExtension,
49
+ DataViewStoreExtension,
50
+ DatabaseStoreExtension,
51
+ DividerStoreExtension,
52
+ EdgelessTextStoreExtension,
53
+ EmbedStoreExtension,
54
+ EmbedDocStoreExtension,
55
+ FrameStoreExtension,
56
+ ImageStoreExtension,
57
+ LatexStoreExtension,
58
+ ListStoreExtension,
56
59
  NoteStoreExtension,
57
60
  ParagraphStoreExtension,
58
- ...(on('surface-ref') ? [SurfaceRefStoreExtension] : []),
59
- ...(on('table') ? [TableStoreExtension] : []),
61
+ SurfaceRefStoreExtension,
62
+ TableStoreExtension,
60
63
  SurfaceStoreExtension,
61
64
  RootStoreExtension,
62
65
  FootnoteStoreExtension,
63
66
  LinkStoreExtension,
64
67
  ReferenceStoreExtension,
65
- ...(on('latex') ? [InlineLatexStoreExtension] : []),
68
+ InlineLatexStoreExtension,
66
69
  InlinePresetStoreExtension,
67
- ...(on('brush') ? [BrushStoreExtension] : []),
70
+ BrushStoreExtension,
68
71
  ShapeStoreExtension,
69
- ...(on('mindmap') ? [MindmapStoreExtension] : []),
72
+ MindmapStoreExtension,
70
73
  ConnectorStoreExtension,
71
74
  GroupStoreExtension,
72
75
  TextStoreExtension,
@@ -1,7 +1,12 @@
1
1
  import { AdapterPanelViewExtension } from '../_pkgs/affine-fragment-adapter-panel/view.js';
2
- import { type BlockFlags } from '../flags.js';
2
+ import { type LabreFlags } from '../flags.js';
3
3
  /**
4
- * View extensions, honoring block flags.
5
- * Omitted flags default to enabled. See {@link BlockFlags}.
4
+ * View extensions.
5
+ *
6
+ * Rendering is registered UNCONDITIONALLY; a flag removes only the matching
7
+ * TOOLING extension (senior button, its submenus and its creation shortcuts),
8
+ * so a framework switched off disappears from the toolbar without any element
9
+ * already drawn disappearing from the canvas. Omitted flags default to
10
+ * enabled. See {@link BlockFlags} and `docs/adr/0009`.
6
11
  */
7
- export declare function getInternalViewExtensions(flags?: BlockFlags): (typeof AdapterPanelViewExtension)[];
12
+ export declare function getInternalViewExtensions(flags?: LabreFlags): (typeof AdapterPanelViewExtension)[];
@@ -15,7 +15,7 @@ import { ListViewExtension } from '../_pkgs/affine-block-list/view.js';
15
15
  import { NoteViewExtension } from '../_pkgs/affine-block-note/view.js';
16
16
  import { ParagraphViewExtension } from '../_pkgs/affine-block-paragraph/view.js';
17
17
  import { RootViewExtension } from '../_pkgs/affine-block-root/view.js';
18
- import { SurfaceViewExtension } from '../_pkgs/affine-block-surface/view.js';
18
+ import { AuditViewExtension, SurfaceViewExtension, } from '../_pkgs/affine-block-surface/view.js';
19
19
  import { SurfaceRefViewExtension } from '../_pkgs/affine-block-surface-ref/view.js';
20
20
  import { TableViewExtension } from '../_pkgs/affine-block-table/view.js';
21
21
  import { FoundationViewExtension } from '../_pkgs/affine-foundation/view.js';
@@ -23,7 +23,7 @@ import { AdapterPanelViewExtension } from '../_pkgs/affine-fragment-adapter-pane
23
23
  import { DocTitleViewExtension } from '../_pkgs/affine-fragment-doc-title/view.js';
24
24
  import { FramePanelViewExtension } from '../_pkgs/affine-fragment-frame-panel/view.js';
25
25
  import { OutlineViewExtension } from '../_pkgs/affine-fragment-outline/view.js';
26
- import { BrushViewExtension } from '../_pkgs/affine-gfx-brush/view.js';
26
+ import { BrushRenderViewExtension, BrushViewExtension, } from '../_pkgs/affine-gfx-brush/view.js';
27
27
  import { ConnectorViewExtension } from '../_pkgs/affine-gfx-connector/view.js';
28
28
  import { GroupViewExtension } from '../_pkgs/affine-gfx-group/view.js';
29
29
  import { LinkViewExtension as GfxLinkViewExtension } from '../_pkgs/affine-gfx-link/view.js';
@@ -56,25 +56,48 @@ import { ScrollAnchoringViewExtension } from '../_pkgs/affine-widget-scroll-anch
56
56
  import { SlashMenuViewExtension } from '../_pkgs/affine-widget-slash-menu/view.js';
57
57
  import { ToolbarViewExtension } from '../_pkgs/affine-widget-toolbar/view.js';
58
58
  import { ViewportOverlayViewExtension } from '../_pkgs/affine-widget-viewport-overlay/view.js';
59
- import { isBlockEnabled, } from '../flags.js';
59
+ import { isBlockEnabled, isCapabilityEnabled, } from '../flags.js';
60
+ import { CommandTelemetryViewExtension } from './command-telemetry.js';
61
+ import { CommandUsageViewExtension } from './command-usage.js';
60
62
  /**
61
- * View extensions, honoring block flags.
62
- * Omitted flags default to enabled. See {@link BlockFlags}.
63
+ * View extensions.
64
+ *
65
+ * Rendering is registered UNCONDITIONALLY; a flag removes only the matching
66
+ * TOOLING extension (senior button, its submenus and its creation shortcuts),
67
+ * so a framework switched off disappears from the toolbar without any element
68
+ * already drawn disappearing from the canvas. Omitted flags default to
69
+ * enabled. See {@link BlockFlags} and `docs/adr/0009`.
63
70
  */
64
71
  export function getInternalViewExtensions(flags) {
65
72
  const on = (block) => isBlockEnabled(flags, block);
66
73
  return [
67
74
  FoundationViewExtension,
68
- // Gfx
75
+ // The single command-telemetry emitter. Unconditional: a disabled
76
+ // framework simply never invokes a command (docs/adr/0008).
77
+ CommandTelemetryViewExtension,
78
+ // The default (browser-local) recency/frequency measure. Unconditional for
79
+ // the same reason, and independent of telemetry: it feeds an in-editor
80
+ // ranking, not a dashboard (docs/adr/0008).
81
+ CommandUsageViewExtension,
82
+ // Gfx — each framework contributes an always-on `…Render…` extension
83
+ // (element view + renderer + interaction + contextual toolbar) and a
84
+ // flag-gated tooling extension (senior button + creation shortcuts).
85
+ //
86
+ // The eight business frameworks are registered as PAIRS, in the order their
87
+ // senior buttons must read left to right: no framework declares a
88
+ // `SeniorTool.order`, so they all share the default group and the row is
89
+ // sorted stably — i.e. left in registration order. The single source of that
90
+ // order is `FRAMEWORK_DESCRIPTORS`, and `senior-row-order.unit.spec.ts` pins
91
+ // the two lists together.
69
92
  PointerViewExtension,
70
93
  GfxNoteViewExtension,
94
+ BrushRenderViewExtension,
71
95
  ...(on('brush') ? [BrushViewExtension] : []),
72
96
  // Standalone text / add-file senior buttons, placed right after pen/eraser
73
97
  // (registration order = senior-row order for the default order group).
74
98
  ...(on('edgeless-text') ? [TextToolViewExtension] : []),
75
99
  ...(on('edgeless-media') ? [MediaToolViewExtension] : []),
76
100
  ShapeViewExtension,
77
- // Mindmap rendering is always on; the flags gate only the senior buttons.
78
101
  MindmapRenderViewExtension,
79
102
  ...(on('mindmap') ? [MindmapToolViewExtension] : []),
80
103
  ConnectorViewExtension,
@@ -82,7 +105,6 @@ export function getInternalViewExtensions(flags) {
82
105
  TextViewExtension,
83
106
  ...(on('template') ? [TemplateViewExtension] : []),
84
107
  ...(on('link') ? [GfxLinkViewExtension] : []),
85
- // Core Domain rendering is always on; the flag gates only the senior button.
86
108
  // Block
87
109
  ...(on('attachment') ? [AttachmentViewExtension] : []),
88
110
  ...(on('bookmark') ? [BookmarkViewExtension] : []),
@@ -103,6 +125,11 @@ export function getInternalViewExtensions(flags) {
103
125
  ...(on('surface-ref') ? [SurfaceRefViewExtension] : []),
104
126
  ...(on('table') ? [TableViewExtension] : []),
105
127
  SurfaceViewExtension,
128
+ // The AI audit seam (PF14.1). A CAPABILITY, not a block: `ai-audit` gates
129
+ // the `map.audit` command and nothing else, and nothing it touches is
130
+ // persisted, so switching it off cannot lose anything. See
131
+ // `OPTIONAL_CAPABILITIES` for why it is not an `OPTIONAL_BLOCKS` entry.
132
+ ...(isCapabilityEnabled(flags, 'ai-audit') ? [AuditViewExtension] : []),
106
133
  RootViewExtension,
107
134
  // Inline
108
135
  InlineCommentViewExtension,
package/dist/flags.d.ts CHANGED
@@ -1,30 +1,107 @@
1
1
  /**
2
- * Feature flags for block registration.
2
+ * Feature flags for editor TOOLING.
3
3
  *
4
- * Each key matches a block (or gfx module) that can be turned off at editor
5
- * assembly time, through `getAffineSchemas`, `getInternalStoreExtensions` and
6
- * `getInternalViewExtensions`. Blocks absent from this list form the
7
- * structural core of the editor (root, surface, note, paragraph, base gfx
8
- * tools, inline presets, widgets) and are always registered.
4
+ * ## Contract (reversed in PF4 — see `docs/adr/0009`)
9
5
  *
10
- * Flags default to enabled: `{ database: false }` disables the database
11
- * block, an empty object (or no flags at all) enables everything. This lets
12
- * an application ship a block "dark" (registered code, disabled flag), enable
13
- * it progressively and turn it off again without redeploying.
6
+ * A flag NEVER decides whether a document can be read. Block schemas
7
+ * (`getAffineSchemas`) and store extensions (`getInternalStoreExtensions`) are
8
+ * registered unconditionally, so **every document opens, round-trips and saves
9
+ * identically whatever the flags say**. Turning a flag off never deletes,
10
+ * strips or downgrades stored content, and never fails schema validation on
11
+ * load; turning it back on restores the tooling with the content untouched.
12
+ *
13
+ * What a flag gates is the **tooling** that lets a user CREATE and reach that
14
+ * content:
15
+ * - the senior toolbar button (edgeless) and its submenus,
16
+ * - the keyboard shortcuts it owns (see `getShortcutManifest`, which filters on
17
+ * {@link ShortcutDescriptor.owner}),
18
+ * - future side-panel / command-palette entries and validation rules.
19
+ *
20
+ * Business framework modules (wardley, edgy, bpmn, cynefin-estuarine, brush,
21
+ * mindmap, ddd-*) therefore ship their view layer as TWO extensions: an
22
+ * always-registered `…RenderViewExtension` (element view, renderer,
23
+ * interaction, contextual toolbar of an already-placed element) and a
24
+ * flag-gated `…ViewExtension` (senior button + creation shortcuts). Elements
25
+ * already drawn on a canvas keep painting, stay selectable and stay editable
26
+ * when their framework is switched off — only the way to add new ones goes
27
+ * away. The consequence is accepted: the bundle always carries every
28
+ * framework's renderer, so a framework can no longer ship fully "dark".
29
+ *
30
+ * Flags default to enabled: `{ mindmap: false }` hides the Mind Map tooling, an
31
+ * empty object (or no flags at all) enables everything.
32
+ *
33
+ * Note for hosts consuming the PUBLISHED bundles: `scripts/build-bundles.mjs`
34
+ * strips the four business-framework flags (`wardley`, `edgy`, `bpmn`,
35
+ * `cynefin-estuarine`) from `@formicoidea/labre-core`'s copy of this file —
36
+ * they exist only when the matching `@formicoidea/labre-framework-*` bundle is
37
+ * installed, and the host applies them through that bundle's descriptor. The
38
+ * examples here therefore use a flag that always ships with core.
14
39
  *
15
40
  * Caveats:
16
- * - Disabling a block does not migrate existing documents: a stored document
17
- * containing a disabled block will fail schema validation on load. Only
18
- * disable blocks that never reached users' documents, or re-enable the flag
19
- * to restore access.
20
- * - The `embed` store extension also registers the linked/synced doc schemas
21
- * for backward compatibility; to fully disable doc embeds, disable both
22
- * `embed` and `embed-doc`.
23
- * - `latex` controls both the latex block and inline latex.
24
- * - `frame` also controls the frame panel fragment.
41
+ * - The reversal covers **surface elements** (everything living in the surface
42
+ * `elements` map: brush, mindmap, wardley, edgy, cynefin, estuarine, bpmn,
43
+ * coreDomain). BLOCKS (database, code, image, latex, frame, edgeless-text, …)
44
+ * still have their whole view extension gated, because their renderer and
45
+ * their tooling live in the same extension. Their data is safe — schema and
46
+ * store side are unconditional, so the document loads, round-trips and
47
+ * re-renders untouched once the flag is back on — but a disabled block
48
+ * currently renders as nothing until its view extension is split the way the
49
+ * frameworks' were. See the "Consequences" section of `docs/adr/0009`.
50
+ * - `latex` covers both the latex block and inline latex.
51
+ * - `frame` also covers the frame panel fragment.
52
+ * - `ddd-templates` covers all four DDD Templates-panel categories, so the
53
+ * catalogue survives disabling individual DDD senior buttons.
25
54
  */
26
- export declare const OPTIONAL_BLOCKS: readonly ["attachment", "bookmark", "callout", "code", "data-view", "database", "divider", "edgeless-text", "embed", "embed-doc", "frame", "image", "latex", "list", "surface-ref", "table", "brush", "mindmap", "edgeless-text", "edgeless-media", "template", "link"];
55
+ export declare const OPTIONAL_BLOCKS: readonly ["attachment", "bookmark", "callout", "code", "data-view", "database", "divider", "edgeless-text", "embed", "embed-doc", "frame", "image", "latex", "list", "surface-ref", "table", "brush", "mindmap", "edgeless-media", "template", "link"];
27
56
  export type OptionalBlock = (typeof OPTIONAL_BLOCKS)[number];
28
- /** Map of optional block -> enabled. Missing keys default to enabled. */
57
+ /** Map of optional block -> tooling enabled. Missing keys default to enabled. */
29
58
  export type BlockFlags = Partial<Record<OptionalBlock, boolean>>;
59
+ /**
60
+ * Whether the tooling of `block` is enabled. Never consult this to decide
61
+ * whether content can be read or rendered — see the contract above.
62
+ */
30
63
  export declare function isBlockEnabled(flags: BlockFlags | undefined, block: OptionalBlock): boolean;
64
+ /**
65
+ * Editor CAPABILITIES — a second switch axis, deliberately not a member of
66
+ * {@link OPTIONAL_BLOCKS}.
67
+ *
68
+ * ## Why a separate list (PF14.1 decision)
69
+ *
70
+ * `OPTIONAL_BLOCKS` answers one question: "does this BLOCK or FRAMEWORK exist
71
+ * for this user". Every entry names a thing a document can contain, which is
72
+ * what makes the contract above meaningful — "the schema is registered
73
+ * unconditionally, so the content is safe" is a sentence about content.
74
+ *
75
+ * `ai-audit` names no block, no element and no schema. It is a capability of
76
+ * the editor: whether this build can ask an assistant for an opinion. Filing it
77
+ * under `OPTIONAL_BLOCKS` would have cost nothing at the keyboard and a lot
78
+ * afterwards — `FrameworkId` is asserted `satisfies readonly OptionalBlock[]`,
79
+ * `scripts/build-bundles.mjs` reads the list as the set of things a bundle can
80
+ * carry, and the flags README would have had to explain why one of its entries
81
+ * has no schema to protect. A list whose members do not answer the same
82
+ * question is a list that has to be filtered at every use.
83
+ *
84
+ * ## Same contract, in full
85
+ *
86
+ * Everything the flag contract promises holds here, and holds trivially:
87
+ * missing key = enabled; switching it off removes TOOLING only; and there is no
88
+ * data to lose, because the audit seam persists nothing at all — criteria are
89
+ * code, findings are session state in `ValidationManager.auditFindings$`, and
90
+ * neither ever reaches a `Y.Doc`. Off, the command is not registered: it
91
+ * disappears from the registry, both manifests and the keymap together. Back
92
+ * on, it is there again, with the document untouched in between.
93
+ *
94
+ * Hosts pass ONE object ({@link LabreFlags}): the two key spaces are disjoint,
95
+ * so nothing about the wiring changes.
96
+ */
97
+ export declare const OPTIONAL_CAPABILITIES: readonly ["ai-audit"];
98
+ export type OptionalCapability = (typeof OPTIONAL_CAPABILITIES)[number];
99
+ /** Map of capability -> enabled. Missing keys default to enabled. */
100
+ export type CapabilityFlags = Partial<Record<OptionalCapability, boolean>>;
101
+ /**
102
+ * The one object a host passes. Two disjoint key spaces, one bag — a host that
103
+ * only ever spoke `BlockFlags` keeps compiling and keeps behaving identically.
104
+ */
105
+ export type LabreFlags = BlockFlags & CapabilityFlags;
106
+ /** Whether `capability` is enabled. Same defaulting rule as a block flag. */
107
+ export declare function isCapabilityEnabled(flags: CapabilityFlags | undefined, capability: OptionalCapability): boolean;
package/dist/flags.js CHANGED
@@ -1,27 +1,56 @@
1
1
  /**
2
- * Feature flags for block registration.
2
+ * Feature flags for editor TOOLING.
3
3
  *
4
- * Each key matches a block (or gfx module) that can be turned off at editor
5
- * assembly time, through `getAffineSchemas`, `getInternalStoreExtensions` and
6
- * `getInternalViewExtensions`. Blocks absent from this list form the
7
- * structural core of the editor (root, surface, note, paragraph, base gfx
8
- * tools, inline presets, widgets) and are always registered.
4
+ * ## Contract (reversed in PF4 — see `docs/adr/0009`)
9
5
  *
10
- * Flags default to enabled: `{ database: false }` disables the database
11
- * block, an empty object (or no flags at all) enables everything. This lets
12
- * an application ship a block "dark" (registered code, disabled flag), enable
13
- * it progressively and turn it off again without redeploying.
6
+ * A flag NEVER decides whether a document can be read. Block schemas
7
+ * (`getAffineSchemas`) and store extensions (`getInternalStoreExtensions`) are
8
+ * registered unconditionally, so **every document opens, round-trips and saves
9
+ * identically whatever the flags say**. Turning a flag off never deletes,
10
+ * strips or downgrades stored content, and never fails schema validation on
11
+ * load; turning it back on restores the tooling with the content untouched.
12
+ *
13
+ * What a flag gates is the **tooling** that lets a user CREATE and reach that
14
+ * content:
15
+ * - the senior toolbar button (edgeless) and its submenus,
16
+ * - the keyboard shortcuts it owns (see `getShortcutManifest`, which filters on
17
+ * {@link ShortcutDescriptor.owner}),
18
+ * - future side-panel / command-palette entries and validation rules.
19
+ *
20
+ * Business framework modules (wardley, edgy, bpmn, cynefin-estuarine, brush,
21
+ * mindmap, ddd-*) therefore ship their view layer as TWO extensions: an
22
+ * always-registered `…RenderViewExtension` (element view, renderer,
23
+ * interaction, contextual toolbar of an already-placed element) and a
24
+ * flag-gated `…ViewExtension` (senior button + creation shortcuts). Elements
25
+ * already drawn on a canvas keep painting, stay selectable and stay editable
26
+ * when their framework is switched off — only the way to add new ones goes
27
+ * away. The consequence is accepted: the bundle always carries every
28
+ * framework's renderer, so a framework can no longer ship fully "dark".
29
+ *
30
+ * Flags default to enabled: `{ mindmap: false }` hides the Mind Map tooling, an
31
+ * empty object (or no flags at all) enables everything.
32
+ *
33
+ * Note for hosts consuming the PUBLISHED bundles: `scripts/build-bundles.mjs`
34
+ * strips the four business-framework flags (`wardley`, `edgy`, `bpmn`,
35
+ * `cynefin-estuarine`) from `@formicoidea/labre-core`'s copy of this file —
36
+ * they exist only when the matching `@formicoidea/labre-framework-*` bundle is
37
+ * installed, and the host applies them through that bundle's descriptor. The
38
+ * examples here therefore use a flag that always ships with core.
14
39
  *
15
40
  * Caveats:
16
- * - Disabling a block does not migrate existing documents: a stored document
17
- * containing a disabled block will fail schema validation on load. Only
18
- * disable blocks that never reached users' documents, or re-enable the flag
19
- * to restore access.
20
- * - The `embed` store extension also registers the linked/synced doc schemas
21
- * for backward compatibility; to fully disable doc embeds, disable both
22
- * `embed` and `embed-doc`.
23
- * - `latex` controls both the latex block and inline latex.
24
- * - `frame` also controls the frame panel fragment.
41
+ * - The reversal covers **surface elements** (everything living in the surface
42
+ * `elements` map: brush, mindmap, wardley, edgy, cynefin, estuarine, bpmn,
43
+ * coreDomain). BLOCKS (database, code, image, latex, frame, edgeless-text, …)
44
+ * still have their whole view extension gated, because their renderer and
45
+ * their tooling live in the same extension. Their data is safe — schema and
46
+ * store side are unconditional, so the document loads, round-trips and
47
+ * re-renders untouched once the flag is back on — but a disabled block
48
+ * currently renders as nothing until its view extension is split the way the
49
+ * frameworks' were. See the "Consequences" section of `docs/adr/0009`.
50
+ * - `latex` covers both the latex block and inline latex.
51
+ * - `frame` also covers the frame panel fragment.
52
+ * - `ddd-templates` covers all four DDD Templates-panel categories, so the
53
+ * catalogue survives disabling individual DDD senior buttons.
25
54
  */
26
55
  export const OPTIONAL_BLOCKS = [
27
56
  'attachment',
@@ -43,13 +72,65 @@ export const OPTIONAL_BLOCKS = [
43
72
  // gfx modules
44
73
  'brush',
45
74
  'mindmap',
46
- // Standalone text / add-file tools, promoted out of the former "Others"
47
- // senior submenu (each individually toggleable).
48
- 'edgeless-text',
75
+ // Media / template / link tools, promoted out of the former "Others"
76
+ // senior submenu (each individually toggleable). The edgeless-text tool is
77
+ // gated by the 'edgeless-text' block flag above.
49
78
  'edgeless-media',
50
79
  'template',
51
80
  'link',
52
81
  ];
82
+ /**
83
+ * Whether the tooling of `block` is enabled. Never consult this to decide
84
+ * whether content can be read or rendered — see the contract above.
85
+ */
53
86
  export function isBlockEnabled(flags, block) {
54
87
  return flags?.[block] !== false;
55
88
  }
89
+ /**
90
+ * Editor CAPABILITIES — a second switch axis, deliberately not a member of
91
+ * {@link OPTIONAL_BLOCKS}.
92
+ *
93
+ * ## Why a separate list (PF14.1 decision)
94
+ *
95
+ * `OPTIONAL_BLOCKS` answers one question: "does this BLOCK or FRAMEWORK exist
96
+ * for this user". Every entry names a thing a document can contain, which is
97
+ * what makes the contract above meaningful — "the schema is registered
98
+ * unconditionally, so the content is safe" is a sentence about content.
99
+ *
100
+ * `ai-audit` names no block, no element and no schema. It is a capability of
101
+ * the editor: whether this build can ask an assistant for an opinion. Filing it
102
+ * under `OPTIONAL_BLOCKS` would have cost nothing at the keyboard and a lot
103
+ * afterwards — `FrameworkId` is asserted `satisfies readonly OptionalBlock[]`,
104
+ * `scripts/build-bundles.mjs` reads the list as the set of things a bundle can
105
+ * carry, and the flags README would have had to explain why one of its entries
106
+ * has no schema to protect. A list whose members do not answer the same
107
+ * question is a list that has to be filtered at every use.
108
+ *
109
+ * ## Same contract, in full
110
+ *
111
+ * Everything the flag contract promises holds here, and holds trivially:
112
+ * missing key = enabled; switching it off removes TOOLING only; and there is no
113
+ * data to lose, because the audit seam persists nothing at all — criteria are
114
+ * code, findings are session state in `ValidationManager.auditFindings$`, and
115
+ * neither ever reaches a `Y.Doc`. Off, the command is not registered: it
116
+ * disappears from the registry, both manifests and the keymap together. Back
117
+ * on, it is there again, with the document untouched in between.
118
+ *
119
+ * Hosts pass ONE object ({@link LabreFlags}): the two key spaces are disjoint,
120
+ * so nothing about the wiring changes.
121
+ */
122
+ export const OPTIONAL_CAPABILITIES = [
123
+ /**
124
+ * The AI audit seam (PF14.1): the `map.audit` command on the `'agent'`
125
+ * surface. Independent of whether an `AuditProvider` is actually registered —
126
+ * this says whether the editor OFFERS the capability, the provider says
127
+ * whether anything can answer. Both are needed for an audit to run, and the
128
+ * degraded paths differ: switched off, the command does not exist; wired off,
129
+ * it exists and refuses cleanly.
130
+ */
131
+ 'ai-audit',
132
+ ];
133
+ /** Whether `capability` is enabled. Same defaulting rule as a block flag. */
134
+ export function isCapabilityEnabled(flags, capability) {
135
+ return flags?.[capability] !== false;
136
+ }
@@ -0,0 +1,45 @@
1
+ import type { FrameworkDescriptor, FrameworkId } from './_pkgs/std/index.js';
2
+ import type { OptionalBlock } from './flags.js';
3
+ /**
4
+ * THE per-framework identity — the thing that was spelled five times across
5
+ * the repo (flag key, senior-tool id, `ShortcutDescriptor.owner`, telemetry
6
+ * union member, `scripts/build-bundles.mjs`) and had already drifted.
7
+ *
8
+ * This module is DATA ONLY: plain object literals and type-only imports, no
9
+ * lit, no runtime dependency. That is what lets `scripts/build-bundles.mjs`
10
+ * read it (through a type-strip transform) instead of hand-maintaining its own
11
+ * `FRAMEWORKS` array. Keep it that way. See `docs/adr/0008` § Packaging.
12
+ *
13
+ * `telemetryKey` and `telemetrySegment` hold the HISTORICAL PostHog values.
14
+ * They are the reason the identity unification is code-side only and existing
15
+ * dashboards keep working untouched — never "tidy" them.
16
+ */
17
+ /**
18
+ * Every `FrameworkId` is a real tooling flag key — the ADR's
19
+ * `satisfies readonly OptionalBlock[]`, expressed at the type level so this
20
+ * module keeps NO runtime import (`FRAMEWORK_IDS` lives in `@labre/std`, where
21
+ * `CommandDescriptor.owner` needs it and `OptionalBlock` cannot reach).
22
+ */
23
+ type AssertFlagKey<_T extends OptionalBlock> = true;
24
+ export type FrameworkIdsAreFlags = AssertFlagKey<FrameworkId>;
25
+ export declare const FRAMEWORK_DESCRIPTORS: FrameworkDescriptor[];
26
+ /**
27
+ * Bundles that are NOT frameworks: no senior button, no commands, no identity
28
+ * to unify — just packaging. `ddd-aggregate` ships the four DDD Templates-panel
29
+ * categories, which is why its flag (`ddd-templates`) is not a `FrameworkId`.
30
+ * Kept separate on purpose: folding it into {@link FRAMEWORK_DESCRIPTORS} would
31
+ * mean inventing a framework identity for something that has none.
32
+ */
33
+ export declare const AUXILIARY_BUNDLES: {
34
+ bundle: string;
35
+ label: string;
36
+ info: string;
37
+ pkg: string;
38
+ dir: string;
39
+ extensions: {
40
+ flag: string;
41
+ viewExtension: string;
42
+ }[];
43
+ }[];
44
+ export declare const frameworkDescriptor: (id: FrameworkId) => FrameworkDescriptor | undefined;
45
+ export {};