@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
@@ -0,0 +1,2 @@
1
+ import './pc/effect.js';
2
+ export declare const calendarViewMeta: import("../../index.js").ViewMeta<"calendar", import("./types.js").CalendarViewData>;
@@ -0,0 +1,8 @@
1
+ import './pc/effect.js';
2
+ import { createIcon } from '../../core/utils/uni-icon.js';
3
+ import { calendarViewModel } from './define.js';
4
+ import { CalendarViewUILogic } from './pc/view.js';
5
+ export const calendarViewMeta = calendarViewModel.createMeta({
6
+ icon: createIcon('TodayIcon'),
7
+ pcLogic: () => CalendarViewUILogic,
8
+ });
@@ -0,0 +1,8 @@
1
+ import type { DataSource } from '../../core/data-source/base.js';
2
+ import type { CalendarExternalSource, CalendarStoredViewData } from './types.js';
3
+ export type CalendarExternalSourceFactory = {
4
+ id: string;
5
+ create(viewData: CalendarStoredViewData): CalendarExternalSource;
6
+ };
7
+ export declare const CalendarExternalSourceProvider: import("../../../global/di/types.js").ServiceIdentifier<CalendarExternalSourceFactory> & (<U extends CalendarExternalSourceFactory = CalendarExternalSourceFactory>(variant: import("../../../global/di/types.js").ServiceVariant) => import("../../../global/di/types.js").ServiceIdentifier<U>);
8
+ export declare const getCalendarExternalSources: (dataSource: DataSource, viewData: CalendarStoredViewData) => CalendarExternalSource[];
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from '../../../global/di/index.js';
2
+ export const CalendarExternalSourceProvider = createIdentifier('calendar-external-source');
3
+ export const getCalendarExternalSources = (dataSource, viewData) => Array.from(dataSource.provider.getAll(CalendarExternalSourceProvider).values()).map(source => source.create(viewData));
@@ -0,0 +1,79 @@
1
+ import type { FilterGroup } from '../../core/filter/types.js';
2
+ import type { Sort } from '../../core/sort/types.js';
3
+ import type { BasicViewDataType } from '../../core/view/data-view.js';
4
+ export type CalendarWorkspaceSourceConfig = {
5
+ enabled: boolean;
6
+ subscriptionIds?: string[];
7
+ };
8
+ export type CalendarUiData = {
9
+ emptyMonthHintDismissed?: boolean;
10
+ };
11
+ export type CalendarCardProperty = {
12
+ propertyId: string;
13
+ value: string;
14
+ };
15
+ export type CalendarTitleSegment = {
16
+ text: string;
17
+ linkedDoc?: boolean;
18
+ };
19
+ type CalendarViewDataShape = {
20
+ filter: FilterGroup;
21
+ sort?: Sort;
22
+ date: {
23
+ startColumnId?: string;
24
+ endColumnId?: string;
25
+ };
26
+ card: {
27
+ titleColumnId?: string;
28
+ visiblePropertyIds: string[];
29
+ };
30
+ sources: {
31
+ workspaceCalendar?: CalendarWorkspaceSourceConfig;
32
+ };
33
+ ui?: CalendarUiData;
34
+ };
35
+ export type CalendarViewData = BasicViewDataType<'calendar', CalendarViewDataShape>;
36
+ export type CalendarStoredViewData = CalendarViewData;
37
+ export type CalendarEntryBase = {
38
+ id: string;
39
+ sourceId: string;
40
+ title: string;
41
+ color?: string;
42
+ startAt: number;
43
+ endAt?: number;
44
+ allDay?: boolean;
45
+ };
46
+ export type CalendarRowEntry = CalendarEntryBase & {
47
+ kind: 'row';
48
+ sourceId: 'database';
49
+ rowId: string;
50
+ titleSegments?: CalendarTitleSegment[];
51
+ cardProperties: CalendarCardProperty[];
52
+ canResizeRange: boolean;
53
+ };
54
+ export type CalendarExternalEntry = CalendarEntryBase & {
55
+ kind: 'external';
56
+ sourceId: string;
57
+ externalId: string;
58
+ calendarName?: string;
59
+ location?: string;
60
+ description?: string;
61
+ canResizeRange: false;
62
+ };
63
+ export type CalendarEntry = CalendarRowEntry | CalendarExternalEntry;
64
+ export type CalendarEntryRange = {
65
+ from: number;
66
+ to: number;
67
+ };
68
+ export type CalendarExternalSource = {
69
+ id: string;
70
+ getSubscriptionOptions?(): CalendarExternalSourceSubscription[];
71
+ openConnectSettings?(): void;
72
+ getEntries(range: CalendarEntryRange): CalendarExternalEntry[] | Promise<CalendarExternalEntry[]>;
73
+ };
74
+ export type CalendarExternalSourceSubscription = {
75
+ id: string;
76
+ name: string;
77
+ color?: string;
78
+ };
79
+ export {};
@@ -1,6 +1,14 @@
1
1
  import { createViewConvert } from '../core/view/convert.js';
2
+ import { calendarViewModel } from './calendar/index.js';
2
3
  import { kanbanViewModel } from './kanban/index.js';
3
4
  import { tableViewModel } from './table/index.js';
5
+ const headerToCalendarCard = (header) => ({
6
+ titleColumnId: header?.titleColumn,
7
+ visiblePropertyIds: [],
8
+ });
9
+ const calendarCardToHeader = (card) => ({
10
+ titleColumn: card?.titleColumnId,
11
+ });
4
12
  export const viewConverts = [
5
13
  createViewConvert(tableViewModel, kanbanViewModel, data => {
6
14
  if (data.groupBy) {
@@ -17,4 +25,24 @@ export const viewConverts = [
17
25
  filter: data.filter,
18
26
  groupBy: data.groupBy,
19
27
  })),
28
+ createViewConvert(tableViewModel, calendarViewModel, data => ({
29
+ filter: data.filter,
30
+ sort: data.sort,
31
+ card: headerToCalendarCard(data.header),
32
+ })),
33
+ createViewConvert(kanbanViewModel, calendarViewModel, data => ({
34
+ filter: data.filter,
35
+ sort: data.sort,
36
+ card: headerToCalendarCard(data.header),
37
+ })),
38
+ createViewConvert(calendarViewModel, tableViewModel, data => ({
39
+ filter: data.filter,
40
+ sort: data.sort,
41
+ header: calendarCardToHeader(data.card),
42
+ })),
43
+ createViewConvert(calendarViewModel, kanbanViewModel, data => ({
44
+ filter: data.filter,
45
+ sort: data.sort,
46
+ header: calendarCardToHeader(data.card),
47
+ })),
20
48
  ];
@@ -1,6 +1,8 @@
1
+ import { calendarEffects } from './calendar/effect.js';
1
2
  import { kanbanEffects } from './kanban/effect.js';
2
3
  import { tableEffects } from './table/effect.js';
3
4
  export function viewPresetsEffects() {
5
+ calendarEffects();
4
6
  kanbanEffects();
5
7
  tableEffects();
6
8
  }
@@ -1,7 +1,9 @@
1
+ export * from './calendar/index.js';
1
2
  export * from './convert.js';
2
3
  export * from './kanban/index.js';
3
4
  export * from './table/index.js';
4
5
  export declare const viewPresets: {
5
6
  tableViewMeta: import("../index.js").ViewMeta<"table", import("./index.js").TableViewData>;
6
7
  kanbanViewMeta: import("../index.js").ViewMeta<"kanban", import("./index.js").KanbanViewData>;
8
+ calendarViewMeta: import("../index.js").ViewMeta<"calendar", import("./index.js").CalendarViewData>;
7
9
  };
@@ -1,9 +1,12 @@
1
+ import { calendarViewMeta } from './calendar/index.js';
1
2
  import { kanbanViewMeta } from './kanban/index.js';
2
3
  import { tableViewMeta } from './table/index.js';
4
+ export * from './calendar/index.js';
3
5
  export * from './convert.js';
4
6
  export * from './kanban/index.js';
5
7
  export * from './table/index.js';
6
8
  export const viewPresets = {
7
9
  tableViewMeta: tableViewMeta,
8
10
  kanbanViewMeta: kanbanViewMeta,
11
+ calendarViewMeta: calendarViewMeta,
9
12
  };
@@ -191,7 +191,9 @@ export class KanbanSingleView extends SingleViewBase {
191
191
  }
192
192
  isShow(rowId) {
193
193
  if (this.filter$.value?.conditions.length) {
194
- const rowMap = Object.fromEntries(this.properties$.value.map(column => [
194
+ // Filters are evaluated against every property of the view, hidden ones
195
+ // included: hiding a column must not silently drop the condition on it.
196
+ const rowMap = Object.fromEntries(this.propertiesRaw$.value.map(column => [
195
197
  column.id,
196
198
  column.cellGetOrCreate(rowId).jsonValue$.value,
197
199
  ]));
@@ -111,13 +111,13 @@ let MobileKanbanCell = (() => {
111
111
  return;
112
112
  this.disposables.add(effect(() => {
113
113
  const isEditing = this.isSelectionEditing$.value;
114
- if (isEditing) {
114
+ if (isEditing && !this.isEditing$.peek()) {
115
115
  this.isEditing$.value = true;
116
116
  requestAnimationFrame(() => {
117
117
  this._cell.value?.afterEnterEditingMode();
118
118
  });
119
119
  }
120
- else {
120
+ else if (!isEditing && this.isEditing$.peek()) {
121
121
  this._cell.value?.beforeExitEditingMode();
122
122
  this.isEditing$.value = false;
123
123
  }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared utility for managing table group collapsed state in sessionStorage.
3
+ * Used by both PC and mobile table group implementations.
4
+ */
5
+ /**
6
+ * Gets the collapsed state for a specific table group from sessionStorage.
7
+ * @param viewId - The ID of the table view
8
+ * @param groupKey - The key of the group
9
+ * @returns The collapsed state as a boolean, or false if not found or invalid
10
+ */
11
+ export declare function getCollapsedState(viewId: string, groupKey: string): boolean;
12
+ /**
13
+ * Sets the collapsed state for a specific table group in sessionStorage.
14
+ * @param viewId - The ID of the table view
15
+ * @param groupKey - The key of the group
16
+ * @param collapsed - The collapsed state to store
17
+ */
18
+ export declare function setCollapsedState(viewId: string, groupKey: string, collapsed: boolean): void;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Shared utility for managing table group collapsed state in sessionStorage.
3
+ * Used by both PC and mobile table group implementations.
4
+ */
5
+ /**
6
+ * Gets the collapsed state for a specific table group from sessionStorage.
7
+ * @param viewId - The ID of the table view
8
+ * @param groupKey - The key of the group
9
+ * @returns The collapsed state as a boolean, or false if not found or invalid
10
+ */
11
+ export function getCollapsedState(viewId, groupKey) {
12
+ try {
13
+ const value = sessionStorage.getItem(`affine:table-group:${viewId}:${groupKey}:collapsed`);
14
+ if (!value)
15
+ return false;
16
+ const parsed = JSON.parse(value);
17
+ return typeof parsed === 'boolean' ? parsed : false;
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
23
+ /**
24
+ * Sets the collapsed state for a specific table group in sessionStorage.
25
+ * @param viewId - The ID of the table view
26
+ * @param groupKey - The key of the group
27
+ * @param collapsed - The collapsed state to store
28
+ */
29
+ export function setCollapsedState(viewId, groupKey, collapsed) {
30
+ try {
31
+ sessionStorage.setItem(`affine:table-group:${viewId}:${groupKey}:collapsed`, JSON.stringify(collapsed));
32
+ }
33
+ catch {
34
+ // ignore
35
+ }
36
+ }
@@ -112,14 +112,14 @@ let MobileTableCell = (() => {
112
112
  return;
113
113
  this.disposables.add(effect(() => {
114
114
  const isEditing = this.isSelectionEditing$.value;
115
- if (isEditing) {
115
+ if (isEditing && !this.isEditing$.peek()) {
116
116
  this.isEditing$.value = true;
117
117
  const cell = this._cell.value;
118
118
  requestAnimationFrame(() => {
119
119
  cell?.afterEnterEditingMode();
120
120
  });
121
121
  }
122
- else {
122
+ else if (!isEditing && this.isEditing$.peek()) {
123
123
  this._cell.value?.beforeExitEditingMode();
124
124
  this.isEditing$.value = false;
125
125
  }
@@ -5,12 +5,23 @@ import type { MobileTableViewUILogic } from './table-view-ui-logic.js';
5
5
  declare const MobileTableGroup_base: typeof ShadowlessElement & import("../../../../global/utils/types.js").Constructor<import("../../../../global/lit/with-disposable.js").DisposableClass>;
6
6
  export declare class MobileTableGroup extends MobileTableGroup_base {
7
7
  static styles: import("lit").CSSResult;
8
+ collapsed$: import("@preact/signals-core").Signal<boolean>;
9
+ private storageLoaded;
10
+ /**
11
+ * Read the stored collapsed state once, as soon as the group and its view
12
+ * are both known. Reading it earlier would key the lookup on a missing view
13
+ * id and pin the group open.
14
+ */
15
+ private _loadCollapsedState;
16
+ private readonly _toggleCollapse;
8
17
  private readonly clickAddRow;
9
18
  private readonly clickAddRowInStart;
10
19
  private readonly clickGroupOptions;
11
20
  private readonly renderGroupHeader;
12
21
  get rows(): Row[];
13
22
  private renderRows;
23
+ willUpdate(changed: Map<PropertyKey, unknown>): void;
24
+ connectedCallback(): void;
14
25
  render(): import("lit-html").TemplateResult<1>;
15
26
  accessor group: Group | undefined;
16
27
  accessor tableViewLogic: MobileTableViewUILogic;
@@ -34,13 +34,15 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
34
34
  };
35
35
  import { menu, popFilterableSimpleMenu, popupTargetFromElement, } from '../../../../affine-components/context-menu/index.js';
36
36
  import { SignalWatcher, WithDisposable } from '../../../../global/lit/index.js';
37
- import { PlusIcon } from '@blocksuite/icons/lit';
37
+ import { PlusIcon, ToggleDownIcon, ToggleRightIcon, } from '@blocksuite/icons/lit';
38
38
  import { ShadowlessElement } from '../../../../std/index.js';
39
+ import { signal } from '@preact/signals-core';
39
40
  import { cssVarV2 } from '@toeverything/theme/v2';
40
- import { css, html, unsafeCSS } from 'lit';
41
+ import { css, html, nothing, unsafeCSS } from 'lit';
41
42
  import { property } from 'lit/decorators.js';
42
43
  import { repeat } from 'lit/directives/repeat.js';
43
44
  import { GroupTitle } from '../../../core/group-by/group-title.js';
45
+ import { getCollapsedState, setCollapsedState } from '../collapsed-state.js';
44
46
  import { LEFT_TOOL_BAR_WIDTH } from '../consts.js';
45
47
  const styles = css `
46
48
  .data-view-table-group-add-row {
@@ -67,6 +69,28 @@ const styles = css `
67
69
  line-height: 20px;
68
70
  color: var(--affine-text-secondary-color);
69
71
  }
72
+
73
+ .group-toggle-btn {
74
+ width: 20px;
75
+ height: 20px;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ border-radius: 4px;
80
+ cursor: pointer;
81
+ transition: background-color 150ms cubic-bezier(0.42, 0, 1, 1);
82
+ }
83
+
84
+ .group-toggle-btn:hover {
85
+ background: var(--affine-hover-color);
86
+ }
87
+
88
+ .group-toggle-btn svg {
89
+ width: 16px;
90
+ height: 16px;
91
+ flex-shrink: 0;
92
+ user-select: none;
93
+ }
70
94
  `;
71
95
  let MobileTableGroup = (() => {
72
96
  let _classSuper = SignalWatcher(WithDisposable(ShadowlessElement));
@@ -86,6 +110,20 @@ let MobileTableGroup = (() => {
86
110
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
87
111
  }
88
112
  static { this.styles = styles; }
113
+ /**
114
+ * Read the stored collapsed state once, as soon as the group and its view
115
+ * are both known. Reading it earlier would key the lookup on a missing view
116
+ * id and pin the group open.
117
+ */
118
+ _loadCollapsedState() {
119
+ if (this.storageLoaded)
120
+ return;
121
+ this.storageLoaded = true;
122
+ const view = this.tableViewLogic?.view;
123
+ if (!view)
124
+ return;
125
+ this.collapsed$.value = getCollapsedState(view.id, this.group?.key ?? 'all');
126
+ }
89
127
  get rows() {
90
128
  return this.group?.rows ?? this.view.rows$.value;
91
129
  }
@@ -122,8 +160,24 @@ let MobileTableGroup = (() => {
122
160
  </div>`}
123
161
  `;
124
162
  }
163
+ willUpdate(changed) {
164
+ super.willUpdate(changed);
165
+ if (!this.storageLoaded &&
166
+ (changed.has('group') || changed.has('tableViewLogic'))) {
167
+ this._loadCollapsedState();
168
+ }
169
+ }
170
+ connectedCallback() {
171
+ super.connectedCallback();
172
+ this._loadCollapsedState();
173
+ }
125
174
  render() {
126
- return this.renderRows(this.rows);
175
+ // Collapsed, only the header survives — the column header, the rows and
176
+ // the add-row affordance all fold away with them.
177
+ return html `
178
+ ${this.collapsed$.value ? this.renderGroupHeader() : nothing}
179
+ ${this.collapsed$.value ? nothing : this.renderRows(this.rows)}
180
+ `;
127
181
  }
128
182
  #group_accessor_storage;
129
183
  get group() { return this.#group_accessor_storage; }
@@ -136,6 +190,17 @@ let MobileTableGroup = (() => {
136
190
  }
137
191
  constructor() {
138
192
  super(...arguments);
193
+ this.collapsed$ = signal(false);
194
+ this.storageLoaded = false;
195
+ this._toggleCollapse = (e) => {
196
+ e?.stopPropagation();
197
+ const next = !this.collapsed$.value;
198
+ this.collapsed$.value = next;
199
+ const view = this.tableViewLogic?.view;
200
+ if (view) {
201
+ setCollapsedState(view.id, this.group?.key ?? 'all', next);
202
+ }
203
+ };
139
204
  this.clickAddRow = () => {
140
205
  this.view.rowAdd('end', this.group?.key);
141
206
  this.requestUpdate();
@@ -175,8 +240,26 @@ let MobileTableGroup = (() => {
175
240
  }
176
241
  return html `
177
242
  <div
178
- style="position: sticky;left: 0;width: max-content;padding: 6px 0;margin-bottom: 4px;display:flex;align-items:center;gap: 12px;max-width: 400px"
243
+ style="position: sticky;left: 0;width: max-content;padding: 6px 0;margin-bottom: 4px;display:flex;align-items:center;gap: 8px;max-width: 400px"
179
244
  >
245
+ <div
246
+ class="group-toggle-btn"
247
+ role="button"
248
+ aria-expanded=${this.collapsed$.value ? 'false' : 'true'}
249
+ aria-label=${this.collapsed$.value ? 'Expand group' : 'Collapse group'}
250
+ tabindex="0"
251
+ @click=${this._toggleCollapse}
252
+ @keydown=${(e) => {
253
+ if (e.key === 'Enter' || e.key === ' ') {
254
+ e.preventDefault();
255
+ this._toggleCollapse();
256
+ }
257
+ }}
258
+ >
259
+ ${this.collapsed$.value
260
+ ? ToggleRightIcon({ width: '16px', height: '16px' })
261
+ : ToggleDownIcon({ width: '16px', height: '16px' })}
262
+ </div>
180
263
  ${GroupTitle(this.group, {
181
264
  readonly: this.view.readonly$.value,
182
265
  clickAdd: this.clickAddRowInStart,
@@ -9,6 +9,9 @@ export declare class TableViewCellContainer extends TableViewCellContainer_base
9
9
  private readonly _cell$;
10
10
  accessor column: TableProperty;
11
11
  accessor rowId: string;
12
+ private _tagDraft;
13
+ setTagDraft(value: string): void;
14
+ consumeTagDraft(): string | undefined;
12
15
  cell$: import("@preact/signals-core").ReadonlySignal<import("../../../index.js").Cell<unknown, unknown, Record<string, unknown>>>;
13
16
  selectCurrentCell: (editing: boolean) => void;
14
17
  get cell(): DataViewCellLifeCycle | undefined;
@@ -100,6 +100,14 @@ let TableViewCellContainer = (() => {
100
100
  #rowId_accessor_storage;
101
101
  get rowId() { return this.#rowId_accessor_storage; }
102
102
  set rowId(value) { this.#rowId_accessor_storage = value; }
103
+ setTagDraft(value) {
104
+ this._tagDraft = value;
105
+ }
106
+ consumeTagDraft() {
107
+ const value = this._tagDraft;
108
+ this._tagDraft = undefined;
109
+ return value;
110
+ }
103
111
  get cell() {
104
112
  return this._cell$.value;
105
113
  }
@@ -169,9 +177,10 @@ let TableViewCellContainer = (() => {
169
177
  this._cell$ = signal();
170
178
  this.#column_accessor_storage = __runInitializers(this, _column_initializers, void 0);
171
179
  this.#rowId_accessor_storage = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowId_initializers, void 0));
172
- this.cell$ = (__runInitializers(this, _rowId_extraInitializers), computed(() => {
180
+ this._tagDraft = __runInitializers(this, _rowId_extraInitializers);
181
+ this.cell$ = computed(() => {
173
182
  return this.column.cellGetOrCreate(this.rowId);
174
- }));
183
+ });
175
184
  this.selectCurrentCell = (editing) => {
176
185
  if (this.view.readonly$.value) {
177
186
  return;
@@ -5,5 +5,6 @@ export declare class TableHotkeysController implements ReactiveController {
5
5
  get selectionController(): import("./selection.js").TableSelectionController;
6
6
  constructor(logic: TableViewUILogic);
7
7
  get host(): import("../table-view-ui-logic.js").TableViewUI | undefined;
8
+ private _handleDeleteOrBackspace;
8
9
  hostConnected(): void;
9
10
  }
@@ -12,39 +12,26 @@ export class TableHotkeysController {
12
12
  get host() {
13
13
  return this.logic.ui$.value;
14
14
  }
15
- hostConnected() {
16
- this.host?.disposables.add(this.logic.bindHotkey({
17
- Backspace: () => {
18
- const selection = this.selectionController.selection;
19
- if (!selection) {
20
- return;
21
- }
22
- if (TableViewRowSelection.is(selection)) {
23
- const rows = TableViewRowSelection.rowsIds(selection);
24
- this.selectionController.selection = undefined;
25
- this.logic.view.rowsDelete(rows);
26
- this.logic.ui$.value?.requestUpdate();
27
- return;
28
- }
29
- const { focus, rowsSelection, columnsSelection, isEditing, groupKey, } = selection;
30
- if (focus && !isEditing) {
31
- if (rowsSelection && columnsSelection) {
32
- // multi cell
33
- for (let i = rowsSelection.start; i <= rowsSelection.end; i++) {
34
- const { start, end } = columnsSelection;
35
- for (let j = start; j <= end; j++) {
36
- const container = this.selectionController.getCellContainer(groupKey, i, j);
37
- const rowId = container?.dataset.rowId;
38
- const columnId = container?.dataset.columnId;
39
- if (rowId && columnId) {
40
- container?.column.valueSetFromString(rowId, '');
41
- }
42
- }
43
- }
44
- }
45
- else {
46
- // single cell
47
- const container = this.selectionController.getCellContainer(groupKey, focus.rowIndex, focus.columnIndex);
15
+ _handleDeleteOrBackspace() {
16
+ const selection = this.selectionController.selection;
17
+ if (!selection) {
18
+ return;
19
+ }
20
+ if (TableViewRowSelection.is(selection)) {
21
+ const rows = TableViewRowSelection.rowsIds(selection);
22
+ this.selectionController.selection = undefined;
23
+ this.logic.view.rowsDelete(rows);
24
+ this.logic.ui$.value?.requestUpdate();
25
+ return;
26
+ }
27
+ const { focus, rowsSelection, columnsSelection, isEditing, groupKey } = selection;
28
+ if (focus && !isEditing) {
29
+ if (rowsSelection && columnsSelection) {
30
+ // multi cell
31
+ for (let i = rowsSelection.start; i <= rowsSelection.end; i++) {
32
+ const { start, end } = columnsSelection;
33
+ for (let j = start; j <= end; j++) {
34
+ const container = this.selectionController.getCellContainer(groupKey, i, j);
48
35
  const rowId = container?.dataset.rowId;
49
36
  const columnId = container?.dataset.columnId;
50
37
  if (rowId && columnId) {
@@ -52,6 +39,25 @@ export class TableHotkeysController {
52
39
  }
53
40
  }
54
41
  }
42
+ }
43
+ else {
44
+ // single cell
45
+ const container = this.selectionController.getCellContainer(groupKey, focus.rowIndex, focus.columnIndex);
46
+ const rowId = container?.dataset.rowId;
47
+ const columnId = container?.dataset.columnId;
48
+ if (rowId && columnId) {
49
+ container?.column.valueSetFromString(rowId, '');
50
+ }
51
+ }
52
+ }
53
+ }
54
+ hostConnected() {
55
+ this.host?.disposables.add(this.logic.bindHotkey({
56
+ Backspace: () => {
57
+ this._handleDeleteOrBackspace();
58
+ },
59
+ Delete: () => {
60
+ this._handleDeleteOrBackspace();
55
61
  },
56
62
  Escape: () => {
57
63
  const selection = this.selectionController.selection;
@@ -5,6 +5,15 @@ import type { TableViewUILogic } from './table-view-ui-logic.js';
5
5
  declare const TableGroup_base: typeof ShadowlessElement & import("../../../../global/utils/types.js").Constructor<import("../../../../global/lit/with-disposable.js").DisposableClass>;
6
6
  export declare class TableGroup extends TableGroup_base {
7
7
  static styles: import("lit").CSSResult;
8
+ collapsed$: import("@preact/signals-core").Signal<boolean>;
9
+ private storageLoaded;
10
+ /**
11
+ * Read the stored collapsed state once, as soon as the group and its view
12
+ * are both known. Reading it earlier would key the lookup on a missing view
13
+ * id and pin the group open.
14
+ */
15
+ private _loadCollapsedState;
16
+ private readonly _toggleCollapse;
8
17
  private readonly clickAddRow;
9
18
  private readonly clickAddRowInStart;
10
19
  private readonly clickGroupOptions;
@@ -14,6 +23,7 @@ export declare class TableGroup extends TableGroup_base {
14
23
  showIndicator: () => void;
15
24
  get rows(): Row[];
16
25
  private renderRows;
26
+ willUpdate(changed: Map<PropertyKey, unknown>): void;
17
27
  connectedCallback(): void;
18
28
  render(): import("lit-html").TemplateResult<1>;
19
29
  accessor rowsContainer: HTMLElement | null;