@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,70 @@
1
+ import type { InsertToPosition } from '../../../affine-shared/utils/index.js';
2
+ import { type ReadonlySignal } from '@preact/signals-core';
3
+ import { FilterTrait } from '../../core/filter/trait.js';
4
+ import { PropertyBase } from '../../core/view-manager/property.js';
5
+ import { type Row, RowBase } from '../../core/view-manager/row.js';
6
+ import { SingleViewBase } from '../../core/view-manager/single-view.js';
7
+ import type { ViewManager } from '../../core/view-manager/view-manager.js';
8
+ import type { CalendarEntry, CalendarEntryRange, CalendarExternalEntry, CalendarExternalSource, CalendarRowEntry, CalendarStoredViewData } from './types.js';
9
+ export type CalendarDateMapping = {
10
+ status: 'ready';
11
+ propertyId: string;
12
+ } | {
13
+ status: 'setup';
14
+ propertyId?: string;
15
+ };
16
+ export declare class CalendarSingleView extends SingleViewBase<CalendarStoredViewData> {
17
+ private readonly externalEntries$;
18
+ private externalEntriesRequestId;
19
+ propertiesRaw$: ReadonlySignal<CalendarProperty[]>;
20
+ properties$: ReadonlySignal<CalendarProperty[]>;
21
+ detailProperties$: ReadonlySignal<CalendarProperty[]>;
22
+ private readonly filter$;
23
+ private readonly sortList$;
24
+ emptyMonthHintDismissed$: ReadonlySignal<boolean>;
25
+ private readonly sortManager;
26
+ filterTrait: FilterTrait;
27
+ mainProperties$: ReadonlySignal<{
28
+ titleColumn: string | undefined;
29
+ }>;
30
+ readonly$: ReadonlySignal<boolean>;
31
+ dateProperties$: ReadonlySignal<CalendarProperty[]>;
32
+ dateMapping$: ReadonlySignal<CalendarDateMapping>;
33
+ startDateMapping$: ReadonlySignal<CalendarDateMapping>;
34
+ endDateMapping$: ReadonlySignal<CalendarDateMapping>;
35
+ private readonly visibleCardProperties$;
36
+ rowEntries$: ReadonlySignal<CalendarRowEntry[]>;
37
+ entries$: ReadonlySignal<CalendarEntry[]>;
38
+ externalSources$: ReadonlySignal<CalendarExternalSource[]>;
39
+ get type(): string;
40
+ constructor(viewManager: ViewManager, viewId: string);
41
+ isShow(rowId: string): boolean;
42
+ rowsMapping(rows: Row[]): Row[];
43
+ propertyGetOrCreate(propertyId: string): CalendarProperty;
44
+ rowGetOrCreate(rowId: string): CalendarRow;
45
+ setStartDateColumn(propertyId: string): void;
46
+ setDateColumn(propertyId: string): void;
47
+ setEndDateColumn(propertyId: string | undefined): void;
48
+ setWorkspaceCalendarEnabled(enabled: boolean): void;
49
+ setWorkspaceCalendarSubscriptionIds(subscriptionIds?: string[]): void;
50
+ dismissEmptyMonthHint(): void;
51
+ getDocDisplayTitle(docId: string): string;
52
+ createStartDateColumn(): string | undefined;
53
+ createDateColumn(): string | undefined;
54
+ createEndDateColumn(): string | undefined;
55
+ createRowOnDate(date: number | Date): string | undefined;
56
+ createLinkedDocRowOnDate(date: number | Date, docId: string): string | undefined;
57
+ moveRowToDate(rowId: string, date: number | Date): void;
58
+ resizeRowRange(rowId: string, edge: 'start' | 'end', date: number | Date): void;
59
+ loadExternalEntries(range: CalendarEntryRange): Promise<CalendarExternalEntry[]>;
60
+ }
61
+ export declare class CalendarProperty extends PropertyBase {
62
+ hide$: ReadonlySignal<boolean>;
63
+ constructor(view: CalendarSingleView, propertyId: string);
64
+ hideSet(_hide: boolean): void;
65
+ move(_position: InsertToPosition): void;
66
+ }
67
+ export declare class CalendarRow extends RowBase {
68
+ readonly calendarView: CalendarSingleView;
69
+ constructor(calendarView: CalendarSingleView, rowId: string);
70
+ }
@@ -0,0 +1,449 @@
1
+ import { DocDisplayMetaProvider } from '../../../affine-shared/services/index.js';
2
+ import { Text } from '../../../store/index.js';
3
+ import { computed, signal } from '@preact/signals-core';
4
+ import { Doc } from 'yjs';
5
+ import { evalFilter } from '../../core/filter/eval.js';
6
+ import { generateDefaultValues } from '../../core/filter/generate-default-values.js';
7
+ import { FilterTrait, filterTraitKey } from '../../core/filter/trait.js';
8
+ import { emptyFilterGroup } from '../../core/filter/utils.js';
9
+ import { fromJson } from '../../core/property/utils.js';
10
+ import { SortManager, sortTraitKey } from '../../core/sort/manager.js';
11
+ import { PropertyBase } from '../../core/view-manager/property.js';
12
+ import { RowBase } from '../../core/view-manager/row.js';
13
+ import { SingleViewBase, } from '../../core/view-manager/single-view.js';
14
+ import { getCalendarExternalSources } from './source.js';
15
+ const getStartColumnId = (data) => data?.date?.startColumnId;
16
+ const getEndColumnId = (data) => {
17
+ return data?.date?.endColumnId;
18
+ };
19
+ const getDateData = (data) => ({
20
+ ...data.date,
21
+ startColumnId: getStartColumnId(data),
22
+ });
23
+ const getCardData = (data) => {
24
+ if (data) {
25
+ return data.card;
26
+ }
27
+ return {
28
+ visiblePropertyIds: [],
29
+ };
30
+ };
31
+ const toTimestamp = (date) => date instanceof Date ? date.getTime() : date;
32
+ const isValidTimestamp = (value) => typeof value === 'number' && Number.isFinite(value);
33
+ const createLinkedDocTitle = (docId) => {
34
+ const text = new Text();
35
+ new Doc().getMap('root').set('text', text.yText);
36
+ text.applyDelta([
37
+ {
38
+ insert: ' ',
39
+ attributes: { reference: { type: 'LinkedPage', pageId: docId } },
40
+ },
41
+ ]);
42
+ return text;
43
+ };
44
+ const getTitleDeltas = (value) => typeof value === 'object' && value != null && 'deltas$' in value
45
+ ? value.deltas$?.value
46
+ : undefined;
47
+ const getTitleSegments = (value, title, getLinkedDocTitle) => {
48
+ const deltas = getTitleDeltas(value);
49
+ if (!Array.isArray(deltas)) {
50
+ return;
51
+ }
52
+ const segments = deltas.flatMap(delta => {
53
+ const item = delta;
54
+ const linkedDoc = item.attributes?.reference?.type === 'LinkedPage' &&
55
+ typeof item.attributes.reference.pageId === 'string';
56
+ const referenceTitle = item.attributes?.reference?.title;
57
+ const resolvedLinkedDocTitle = linkedDoc && typeof item.attributes?.reference?.pageId === 'string'
58
+ ? getLinkedDocTitle?.(item.attributes.reference.pageId, typeof referenceTitle === 'string' ? referenceTitle : undefined)
59
+ : undefined;
60
+ const text = resolvedLinkedDocTitle ||
61
+ (linkedDoc && typeof referenceTitle === 'string' && referenceTitle
62
+ ? referenceTitle
63
+ : typeof item.insert === 'string'
64
+ ? item.insert.trim()
65
+ : '');
66
+ if (linkedDoc) {
67
+ return {
68
+ text,
69
+ linkedDoc,
70
+ };
71
+ }
72
+ if (!text) {
73
+ return [];
74
+ }
75
+ return {
76
+ text,
77
+ };
78
+ });
79
+ const normalizedSegments = segments.reduce((result, segment) => {
80
+ const previous = result.at(-1);
81
+ if (previous?.linkedDoc &&
82
+ !previous.text &&
83
+ !segment.linkedDoc &&
84
+ segment.text) {
85
+ previous.text = segment.text;
86
+ return result;
87
+ }
88
+ result.push(segment);
89
+ return result;
90
+ }, []);
91
+ if (!normalizedSegments.some(segment => segment.linkedDoc)) {
92
+ return;
93
+ }
94
+ if (!normalizedSegments.some(segment => segment.text)) {
95
+ return title
96
+ ? [...normalizedSegments, { text: title }]
97
+ : normalizedSegments;
98
+ }
99
+ return normalizedSegments;
100
+ };
101
+ export class CalendarSingleView extends SingleViewBase {
102
+ get type() {
103
+ return this.data$.value?.mode ?? 'calendar';
104
+ }
105
+ constructor(viewManager, viewId) {
106
+ super(viewManager, viewId);
107
+ this.externalEntries$ = signal([]);
108
+ this.externalEntriesRequestId = 0;
109
+ this.propertiesRaw$ = computed(() => {
110
+ return this.dataSource.properties$.value.map(id => this.propertyGetOrCreate(id));
111
+ });
112
+ this.properties$ = this.propertiesRaw$;
113
+ this.detailProperties$ = computed(() => {
114
+ return this.propertiesRaw$.value.filter(property => property.type$.value !== 'title');
115
+ });
116
+ this.filter$ = computed(() => {
117
+ return this.data$.value?.filter ?? emptyFilterGroup;
118
+ });
119
+ this.sortList$ = computed(() => {
120
+ return this.data$.value?.sort;
121
+ });
122
+ this.emptyMonthHintDismissed$ = computed(() => {
123
+ return this.data$.value?.ui?.emptyMonthHintDismissed ?? false;
124
+ });
125
+ this.sortManager = this.traitSet(sortTraitKey, new SortManager(this.sortList$, this, {
126
+ setSortList: sortList => {
127
+ this.dataUpdate(data => ({
128
+ sort: {
129
+ ...data.sort,
130
+ ...sortList,
131
+ },
132
+ }));
133
+ },
134
+ }));
135
+ this.filterTrait = this.traitSet(filterTraitKey, new FilterTrait(this.filter$, this, {
136
+ filterSet: (filter) => {
137
+ this.dataUpdate(() => ({ filter }));
138
+ },
139
+ }));
140
+ this.mainProperties$ = computed(() => {
141
+ const card = getCardData(this.data$.value);
142
+ return {
143
+ titleColumn: card.titleColumnId ??
144
+ this.propertiesRaw$.value.find(property => property.type$.value === 'title')?.id,
145
+ };
146
+ });
147
+ this.readonly$ = computed(() => {
148
+ return this.manager.readonly$.value;
149
+ });
150
+ this.dateProperties$ = computed(() => {
151
+ return this.propertiesRaw$.value.filter(property => property.type$.value === 'date');
152
+ });
153
+ this.dateMapping$ = computed(() => {
154
+ const propertyId = getStartColumnId(this.data$.value);
155
+ if (propertyId &&
156
+ this.dataSource.properties$.value.includes(propertyId) &&
157
+ this.dataSource.propertyTypeGet(propertyId) === 'date') {
158
+ return {
159
+ status: 'ready',
160
+ propertyId,
161
+ };
162
+ }
163
+ return {
164
+ status: 'setup',
165
+ propertyId,
166
+ };
167
+ });
168
+ this.startDateMapping$ = this.dateMapping$;
169
+ this.endDateMapping$ = computed(() => {
170
+ const propertyId = getEndColumnId(this.data$.value);
171
+ if (propertyId &&
172
+ this.dataSource.properties$.value.includes(propertyId) &&
173
+ this.dataSource.propertyTypeGet(propertyId) === 'date') {
174
+ return {
175
+ status: 'ready',
176
+ propertyId,
177
+ };
178
+ }
179
+ return {
180
+ status: 'setup',
181
+ propertyId,
182
+ };
183
+ });
184
+ this.visibleCardProperties$ = computed(() => {
185
+ const card = getCardData(this.data$.value);
186
+ const visiblePropertyIds = card.visiblePropertyIds ?? [];
187
+ const titleColumn = card.titleColumnId;
188
+ return visiblePropertyIds
189
+ .filter(propertyId => propertyId !== titleColumn)
190
+ .map(propertyId => this.propertyGetOrCreate(propertyId));
191
+ });
192
+ this.rowEntries$ = computed(() => {
193
+ const mapping = this.dateMapping$.value;
194
+ if (mapping.status !== 'ready') {
195
+ return [];
196
+ }
197
+ const endMapping = this.endDateMapping$.value;
198
+ return this.rows$.value.flatMap(row => {
199
+ const startAt = this.cellGetOrCreate(row.rowId, mapping.propertyId)
200
+ .jsonValue$.value;
201
+ if (!isValidTimestamp(startAt)) {
202
+ return [];
203
+ }
204
+ const endAt = endMapping.status === 'ready'
205
+ ? this.cellGetOrCreate(row.rowId, endMapping.propertyId).jsonValue$
206
+ .value
207
+ : undefined;
208
+ const titleColumn = this.mainProperties$.value.titleColumn ?? 'title';
209
+ const titleCell = this.cellGetOrCreate(row.rowId, titleColumn);
210
+ const jsonTitle = titleCell.jsonValue$.value;
211
+ const title = (typeof jsonTitle === 'string'
212
+ ? jsonTitle
213
+ : titleCell.stringValue$.value) ?? '';
214
+ const docDisplayMeta = this.manager.dataSource.serviceGet(DocDisplayMetaProvider);
215
+ const resolveLinkedDocTitle = (pageId, title) => docDisplayMeta?.title(pageId, { title }).value;
216
+ const titleSegments = getTitleSegments(titleCell.value$.value, title, resolveLinkedDocTitle);
217
+ const cardProperties = this.visibleCardProperties$.value.flatMap(property => {
218
+ const cell = this.cellGetOrCreate(row.rowId, property.id);
219
+ const value = cell.stringValue$.value;
220
+ if (!value) {
221
+ return [];
222
+ }
223
+ return {
224
+ propertyId: property.id,
225
+ value,
226
+ };
227
+ });
228
+ return {
229
+ kind: 'row',
230
+ id: `database:${row.rowId}`,
231
+ sourceId: 'database',
232
+ rowId: row.rowId,
233
+ title,
234
+ startAt,
235
+ endAt: isValidTimestamp(endAt) && endAt >= startAt ? endAt : undefined,
236
+ titleSegments,
237
+ cardProperties,
238
+ canResizeRange: endMapping.status === 'ready' && !this.readonly$.value,
239
+ };
240
+ });
241
+ });
242
+ this.entries$ = computed(() => {
243
+ return [...this.rowEntries$.value, ...this.externalEntries$.value];
244
+ });
245
+ this.externalSources$ = computed(() => {
246
+ const viewData = this.data$.value;
247
+ if (!viewData) {
248
+ return [];
249
+ }
250
+ return getCalendarExternalSources(this.dataSource, viewData);
251
+ });
252
+ }
253
+ isShow(rowId) {
254
+ if (this.filter$.value.conditions.length) {
255
+ const rowMap = Object.fromEntries(this.propertiesRaw$.value.map(column => [
256
+ column.id,
257
+ column.cellGetOrCreate(rowId).jsonValue$.value,
258
+ ]));
259
+ return evalFilter(this.filter$.value, rowMap);
260
+ }
261
+ return true;
262
+ }
263
+ rowsMapping(rows) {
264
+ return this.sortManager.sort(super.rowsMapping(rows));
265
+ }
266
+ propertyGetOrCreate(propertyId) {
267
+ return new CalendarProperty(this, propertyId);
268
+ }
269
+ rowGetOrCreate(rowId) {
270
+ return new CalendarRow(this, rowId);
271
+ }
272
+ setStartDateColumn(propertyId) {
273
+ this.dataUpdate(data => ({
274
+ date: {
275
+ ...getDateData(data),
276
+ startColumnId: propertyId,
277
+ },
278
+ }));
279
+ }
280
+ setDateColumn(propertyId) {
281
+ this.setStartDateColumn(propertyId);
282
+ }
283
+ setEndDateColumn(propertyId) {
284
+ this.dataUpdate(data => ({
285
+ date: {
286
+ ...getDateData(data),
287
+ endColumnId: propertyId,
288
+ },
289
+ }));
290
+ }
291
+ setWorkspaceCalendarEnabled(enabled) {
292
+ this.dataUpdate(data => ({
293
+ sources: {
294
+ ...data.sources,
295
+ workspaceCalendar: {
296
+ ...(data.sources?.workspaceCalendar ?? { enabled: true }),
297
+ enabled,
298
+ },
299
+ },
300
+ }));
301
+ }
302
+ setWorkspaceCalendarSubscriptionIds(subscriptionIds) {
303
+ this.dataUpdate(data => ({
304
+ sources: {
305
+ ...data.sources,
306
+ workspaceCalendar: {
307
+ ...(data.sources?.workspaceCalendar ?? { enabled: true }),
308
+ subscriptionIds,
309
+ },
310
+ },
311
+ }));
312
+ }
313
+ dismissEmptyMonthHint() {
314
+ this.dataUpdate(data => ({
315
+ ui: {
316
+ ...data.ui,
317
+ emptyMonthHintDismissed: true,
318
+ },
319
+ }));
320
+ }
321
+ getDocDisplayTitle(docId) {
322
+ return (this.manager.dataSource.serviceGet(DocDisplayMetaProvider)?.title(docId)
323
+ .value ?? 'Untitled');
324
+ }
325
+ createStartDateColumn() {
326
+ const id = this.propertyAdd('end', {
327
+ type: 'date',
328
+ name: 'Date',
329
+ });
330
+ if (id) {
331
+ this.setStartDateColumn(id);
332
+ }
333
+ return id;
334
+ }
335
+ createDateColumn() {
336
+ return this.createStartDateColumn();
337
+ }
338
+ createEndDateColumn() {
339
+ const id = this.propertyAdd('end', {
340
+ type: 'date',
341
+ name: 'End Date',
342
+ });
343
+ if (id) {
344
+ this.setEndDateColumn(id);
345
+ }
346
+ return id;
347
+ }
348
+ createRowOnDate(date) {
349
+ const mapping = this.startDateMapping$.value;
350
+ if (mapping.status !== 'ready') {
351
+ return;
352
+ }
353
+ const rowId = this.rowAdd('end');
354
+ const filter = this.filter$.value;
355
+ if (filter.conditions.length > 0) {
356
+ const defaultValues = generateDefaultValues(filter, this.vars$.value);
357
+ Object.entries(defaultValues).forEach(([propertyId, jsonValue]) => {
358
+ const property = this.propertyGetOrCreate(propertyId);
359
+ const propertyMeta = property.meta$.value;
360
+ if (propertyMeta) {
361
+ const value = fromJson(propertyMeta.config, {
362
+ value: jsonValue,
363
+ data: property.data$.value,
364
+ dataSource: this.dataSource,
365
+ });
366
+ this.cellGetOrCreate(rowId, propertyId).valueSet(value);
367
+ }
368
+ });
369
+ }
370
+ this.cellGetOrCreate(rowId, mapping.propertyId).jsonValueSet(toTimestamp(date));
371
+ this.dismissEmptyMonthHint();
372
+ return rowId;
373
+ }
374
+ createLinkedDocRowOnDate(date, docId) {
375
+ const rowId = this.createRowOnDate(date);
376
+ if (!rowId)
377
+ return;
378
+ const titleColumn = this.mainProperties$.value.titleColumn ?? 'title';
379
+ this.cellGetOrCreate(rowId, titleColumn).valueSet(createLinkedDocTitle(docId));
380
+ return rowId;
381
+ }
382
+ moveRowToDate(rowId, date) {
383
+ const mapping = this.startDateMapping$.value;
384
+ if (mapping.status !== 'ready') {
385
+ return;
386
+ }
387
+ const value = toTimestamp(date);
388
+ const oldStartAt = this.cellGetOrCreate(rowId, mapping.propertyId)
389
+ .jsonValue$.value;
390
+ const endMapping = this.endDateMapping$.value;
391
+ if (endMapping.status === 'ready' && isValidTimestamp(oldStartAt)) {
392
+ const oldEndAt = this.cellGetOrCreate(rowId, endMapping.propertyId)
393
+ .jsonValue$.value;
394
+ if (isValidTimestamp(oldEndAt) && oldEndAt >= oldStartAt) {
395
+ this.cellGetOrCreate(rowId, endMapping.propertyId).jsonValueSet(value + (oldEndAt - oldStartAt));
396
+ }
397
+ }
398
+ this.cellGetOrCreate(rowId, mapping.propertyId).jsonValueSet(value);
399
+ }
400
+ resizeRowRange(rowId, edge, date) {
401
+ const startMapping = this.startDateMapping$.value;
402
+ const endMapping = this.endDateMapping$.value;
403
+ if (startMapping.status !== 'ready' || endMapping.status !== 'ready') {
404
+ return;
405
+ }
406
+ const startCell = this.cellGetOrCreate(rowId, startMapping.propertyId);
407
+ const endCell = this.cellGetOrCreate(rowId, endMapping.propertyId);
408
+ const startAt = startCell.jsonValue$.value;
409
+ const endAt = endCell.jsonValue$.value;
410
+ if (!isValidTimestamp(startAt) || !isValidTimestamp(endAt)) {
411
+ return;
412
+ }
413
+ const value = toTimestamp(date);
414
+ if (edge === 'start') {
415
+ startCell.jsonValueSet(Math.min(value, endAt));
416
+ }
417
+ else {
418
+ endCell.jsonValueSet(Math.max(value, startAt));
419
+ }
420
+ }
421
+ async loadExternalEntries(range) {
422
+ const requestId = ++this.externalEntriesRequestId;
423
+ const viewData = this.data$.value;
424
+ if (!viewData) {
425
+ this.externalEntries$.value = [];
426
+ return [];
427
+ }
428
+ const results = await Promise.allSettled(this.externalSources$.value.map(source => Promise.resolve(source.getEntries(range))));
429
+ const entries = results.flatMap(result => result.status === 'fulfilled' ? result.value : []);
430
+ if (requestId === this.externalEntriesRequestId) {
431
+ this.externalEntries$.value = entries;
432
+ }
433
+ return entries;
434
+ }
435
+ }
436
+ export class CalendarProperty extends PropertyBase {
437
+ constructor(view, propertyId) {
438
+ super(view, propertyId);
439
+ this.hide$ = computed(() => false);
440
+ }
441
+ hideSet(_hide) { }
442
+ move(_position) { }
443
+ }
444
+ export class CalendarRow extends RowBase {
445
+ constructor(calendarView, rowId) {
446
+ super(calendarView, rowId);
447
+ this.calendarView = calendarView;
448
+ }
449
+ }
@@ -0,0 +1,10 @@
1
+ import type { CalendarViewData } from './types.js';
2
+ export declare const calendarViewType: {
3
+ type: "calendar";
4
+ createModel: <Data extends import("../../index.js").DataViewDataType>(model: import("../../index.js").DataViewModelConfig<Data>) => import("../../index.js").DataViewModel<"calendar", Data> & {
5
+ createMeta: (renderer: import("../../index.js").DataViewRendererConfig) => import("../../index.js").ViewMeta<"calendar", Data>;
6
+ };
7
+ };
8
+ export declare const calendarViewModel: import("../../index.js").DataViewModel<"calendar", CalendarViewData> & {
9
+ createMeta: (renderer: import("../../index.js").DataViewRendererConfig) => import("../../index.js").ViewMeta<"calendar", CalendarViewData>;
10
+ };
@@ -0,0 +1,27 @@
1
+ import { viewType } from '../../core/view/data-view.js';
2
+ import { CalendarSingleView } from './calendar-view-manager.js';
3
+ export const calendarViewType = viewType('calendar');
4
+ export const calendarViewModel = calendarViewType.createModel({
5
+ defaultName: 'Calendar View',
6
+ dataViewManager: CalendarSingleView,
7
+ defaultData: viewManager => {
8
+ return {
9
+ filter: {
10
+ type: 'group',
11
+ op: 'and',
12
+ conditions: [],
13
+ },
14
+ date: {},
15
+ card: {
16
+ titleColumnId: viewManager.dataSource.properties$.value.find(id => viewManager.dataSource.propertyTypeGet(id) === 'title'),
17
+ visiblePropertyIds: [],
18
+ },
19
+ sources: {
20
+ workspaceCalendar: {
21
+ enabled: true,
22
+ },
23
+ },
24
+ ui: {},
25
+ };
26
+ },
27
+ });
@@ -0,0 +1 @@
1
+ export declare function calendarEffects(): void;
@@ -0,0 +1,4 @@
1
+ import { pcEffects } from './pc/effect.js';
2
+ export function calendarEffects() {
3
+ pcEffects();
4
+ }
@@ -0,0 +1,6 @@
1
+ export * from './calendar-view-manager.js';
2
+ export * from './define.js';
3
+ export * from './layout.js';
4
+ export * from './renderer.js';
5
+ export * from './source.js';
6
+ export * from './types.js';
@@ -0,0 +1,6 @@
1
+ export * from './calendar-view-manager.js';
2
+ export * from './define.js';
3
+ export * from './layout.js';
4
+ export * from './renderer.js';
5
+ export * from './source.js';
6
+ export * from './types.js';
@@ -0,0 +1,37 @@
1
+ import type { CalendarEntry } from './types.js';
2
+ export type CalendarDayLayout = {
3
+ date: number;
4
+ inMonth: boolean;
5
+ entries: CalendarEntry[];
6
+ segments: CalendarRangeSegment[];
7
+ };
8
+ export type CalendarRangeSegment = {
9
+ entry: CalendarEntry;
10
+ weekIndex: number;
11
+ startIndex: number;
12
+ span: number;
13
+ slot: number;
14
+ startsBeforeWeek: boolean;
15
+ endsAfterWeek: boolean;
16
+ };
17
+ export type CalendarMonthLayout = {
18
+ from: number;
19
+ to: number;
20
+ weeks: CalendarDayLayout[][];
21
+ days: CalendarDayLayout[];
22
+ segments: CalendarRangeSegment[];
23
+ };
24
+ export type CalendarMonthLayoutOptions = {
25
+ month: number | Date;
26
+ entries: CalendarEntry[];
27
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
28
+ };
29
+ export declare const getCalendarVisibleMonthRange: (month: number | Date, weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6) => {
30
+ from: number;
31
+ to: number;
32
+ monthStart: number;
33
+ monthEnd: number;
34
+ };
35
+ export declare const getCalendarDaySegmentSlots: (day: CalendarDayLayout, ignoredEntryId?: string) => number;
36
+ export declare const getCalendarDayContentSlots: (day: CalendarDayLayout, ignoredEntryId?: string) => number;
37
+ export declare const createCalendarMonthLayout: ({ month, entries, weekStartsOn, }: CalendarMonthLayoutOptions) => CalendarMonthLayout;