@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
@@ -4,6 +4,19 @@ import { groupByMatchers } from './define.js';
4
4
  export const createGroupByMatcher = (list) => {
5
5
  return new Matcher_(list, v => v.matchType);
6
6
  };
7
+ /**
8
+ * Resolve a group-by config by the name a stored `groupBy` carries. A property
9
+ * type can offer several configs — a date reads as relative, by day, by week,
10
+ * by month or by year — and only the stored name says which one the reader
11
+ * chose; matching on the type alone would silently snap back to the default.
12
+ */
13
+ export const findGroupByConfigByName = (dataSource, name) => {
14
+ const service = getGroupByService(dataSource);
15
+ return [
16
+ ...(service?.allExternalGroupByConfig() ?? []),
17
+ ...groupByMatchers,
18
+ ].find(config => config.name === name);
19
+ };
7
20
  export class GroupByService {
8
21
  constructor(dataSource) {
9
22
  this.dataSource = dataSource;
@@ -2,21 +2,21 @@ import { CheckBoxCheckSolidIcon, CheckBoxUnIcon } from '@blocksuite/icons/lit';
2
2
  import { css, html } from 'lit';
3
3
  import { BaseGroup } from './base.js';
4
4
  export class BooleanGroupView extends BaseGroup {
5
- static { this.styles = css `
6
- .data-view-group-title-boolean-view {
7
- display: flex;
8
- align-items: center;
9
- }
10
- .data-view-group-title-boolean-view svg {
11
- width: 20px;
12
- height: 20px;
13
- }
5
+ static { this.styles = css `
6
+ .data-view-group-title-boolean-view {
7
+ display: flex;
8
+ align-items: center;
9
+ }
10
+ .data-view-group-title-boolean-view svg {
11
+ width: 20px;
12
+ height: 20px;
13
+ }
14
14
  `; }
15
15
  render() {
16
- return html ` <div class="data-view-group-title-boolean-view">
16
+ return html ` <div class="data-view-group-title-boolean-view">
17
17
  ${this.value
18
18
  ? CheckBoxCheckSolidIcon({ style: `color:#1E96EB` })
19
- : CheckBoxUnIcon()}
19
+ : CheckBoxUnIcon()}
20
20
  </div>`;
21
21
  }
22
22
  }
@@ -0,0 +1,9 @@
1
+ import { ShadowlessElement } from '../../../../std/index.js';
2
+ import type { Group } from '../trait.js';
3
+ declare const DateGroupView_base: typeof ShadowlessElement & import("../../../../global/utils/types.js").Constructor<import("../../../../global/lit/with-disposable.js").DisposableClass>;
4
+ export declare class DateGroupView extends DateGroupView_base {
5
+ static styles: import("lit").CSSResult;
6
+ accessor group: Group;
7
+ protected render(): import("lit-html").TemplateResult<1>;
8
+ }
9
+ export {};
@@ -0,0 +1,97 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { SignalWatcher, WithDisposable } from '../../../../global/lit/index.js';
36
+ import { ShadowlessElement } from '../../../../std/index.js';
37
+ import { css, html } from 'lit';
38
+ import { property } from 'lit/decorators.js';
39
+ let DateGroupView = (() => {
40
+ let _classSuper = SignalWatcher(WithDisposable(ShadowlessElement));
41
+ let _group_decorators;
42
+ let _group_initializers = [];
43
+ let _group_extraInitializers = [];
44
+ return class DateGroupView extends _classSuper {
45
+ static {
46
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
47
+ _group_decorators = [property({ attribute: false })];
48
+ __esDecorate(this, null, _group_decorators, { kind: "accessor", name: "group", static: false, private: false, access: { has: obj => "group" in obj, get: obj => obj.group, set: (obj, value) => { obj.group = value; } }, metadata: _metadata }, _group_initializers, _group_extraInitializers);
49
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
50
+ }
51
+ static { this.styles = css `
52
+ .dv-date-group {
53
+ border-radius: 8px;
54
+ padding: 4px 8px;
55
+ width: max-content;
56
+ cursor: default;
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 6px;
60
+ }
61
+ .dv-date-group:hover {
62
+ background-color: var(--affine-hover-color);
63
+ }
64
+ .counter {
65
+ flex-shrink: 0;
66
+ min-width: 22px;
67
+ height: 22px;
68
+ border-radius: 4px;
69
+ background: var(--affine-background-secondary-color);
70
+ color: var(--affine-text-secondary-color);
71
+ font-size: var(--data-view-cell-text-size);
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: center;
75
+ }
76
+ `; }
77
+ #group_accessor_storage = __runInitializers(this, _group_initializers, void 0);
78
+ get group() { return this.#group_accessor_storage; }
79
+ set group(value) { this.#group_accessor_storage = value; }
80
+ render() {
81
+ const name = this.group.name$.value;
82
+ // Use contextual name based on the property when value is null
83
+ const displayName = name ||
84
+ (this.group.value === null
85
+ ? `No ${this.group.property.name$.value}`
86
+ : 'Ungroups');
87
+ return html `<div class="dv-date-group">
88
+ <span>${displayName}</span>
89
+ </div>`;
90
+ }
91
+ constructor() {
92
+ super(...arguments);
93
+ __runInitializers(this, _group_extraInitializers);
94
+ }
95
+ };
96
+ })();
97
+ export { DateGroupView };
@@ -200,6 +200,73 @@ let GroupSetting = (() => {
200
200
  };
201
201
  })();
202
202
  export { GroupSetting };
203
+ /**
204
+ * The grains a date property can be read at, in the order the picker offers
205
+ * them. Keys match the group-by config names registered in `define.ts`.
206
+ */
207
+ const dateGroupModes = [
208
+ { name: 'date-relative', label: 'Relative' },
209
+ { name: 'date-day', label: 'Day' },
210
+ { name: 'date-week-mon', label: 'Week (starts Monday)' },
211
+ { name: 'date-week-sun', label: 'Week (starts Sunday)' },
212
+ { name: 'date-month', label: 'Month' },
213
+ { name: 'date-year', label: 'Year' },
214
+ ];
215
+ const dateGroupModeLabel = (name) => dateGroupModes.find(mode => mode.name === name)?.label ?? '';
216
+ const dateGroupSettingItems = (group, reopen) => [
217
+ menu.subMenu({
218
+ name: 'Group dates by',
219
+ postfix: html `
220
+ <div
221
+ style="font-size: 12px;line-height: 20px;color: var(--affine-text-secondary-color);margin-right: 4px;margin-left: 8px;"
222
+ >
223
+ ${dateGroupModeLabel(group.groupInfo$.value?.config.name)}
224
+ </div>
225
+ `,
226
+ options: {
227
+ title: { text: 'Group dates by' },
228
+ items: dateGroupModes.map(mode => menu.action({
229
+ name: mode.label,
230
+ isSelected: group.groupInfo$.value?.config.name === mode.name,
231
+ select: () => {
232
+ group.changeGroupMode(mode.name);
233
+ reopen();
234
+ },
235
+ })),
236
+ },
237
+ }),
238
+ menu.subMenu({
239
+ name: 'Order',
240
+ postfix: html `
241
+ <div
242
+ style="font-size: 12px;line-height: 20px;color: var(--affine-text-secondary-color);margin-right: 4px;margin-left: 8px;"
243
+ >
244
+ ${group.sortAsc$.value ? 'Oldest first' : 'Newest first'}
245
+ </div>
246
+ `,
247
+ options: {
248
+ title: { text: 'Order' },
249
+ items: [
250
+ menu.action({
251
+ name: 'Oldest first',
252
+ isSelected: group.sortAsc$.value,
253
+ select: () => {
254
+ group.setDateSortOrder(true);
255
+ reopen();
256
+ },
257
+ }),
258
+ menu.action({
259
+ name: 'Newest first',
260
+ isSelected: !group.sortAsc$.value,
261
+ select: () => {
262
+ group.setDateSortOrder(false);
263
+ reopen();
264
+ },
265
+ }),
266
+ ],
267
+ },
268
+ }),
269
+ ];
203
270
  export const selectGroupByProperty = (group, ops) => {
204
271
  const view = group.view;
205
272
  return {
@@ -301,13 +368,25 @@ export const popGroupSetting = (target, group, onBack) => {
301
368
  ],
302
369
  }),
303
370
  menu.group({
304
- items: [
305
- menu => html ` <data-view-group-setting
306
- @mouseenter="${() => menu.closeSubMenu()}"
307
- .groupTrait="${group}"
308
- .columnId="${groupProperty.id}"
309
- ></data-view-group-setting>`,
310
- ],
371
+ items: group.isDateGroup$.value
372
+ ? dateGroupSettingItems(group, () => {
373
+ menuHandler.close();
374
+ popGroupSetting(target, group, onBack);
375
+ })
376
+ : [],
377
+ }),
378
+ menu.group({
379
+ // A date grouping has no manual group order: its groups are derived
380
+ // from the dates themselves and read chronologically.
381
+ items: group.isDateGroup$.value
382
+ ? []
383
+ : [
384
+ menu => html ` <data-view-group-setting
385
+ @mouseenter="${() => menu.closeSubMenu()}"
386
+ .groupTrait="${group}"
387
+ .columnId="${groupProperty.id}"
388
+ ></data-view-group-setting>`,
389
+ ],
311
390
  }),
312
391
  menu.group({
313
392
  items: [
@@ -24,10 +24,30 @@ export declare class Group<RawValue = unknown, JsonValue = unknown, Data extends
24
24
  get tType(): TypeInstance;
25
25
  get view(): import("../../../affine-shared/types/uni-component.js").UniComponent<import("./types.js").GroupRenderProps<unknown, {}>>;
26
26
  }
27
+ export declare const isDateGroupInfo: (groupInfo: GroupInfo | undefined) => boolean;
28
+ /**
29
+ * Order the group keys. Date groups read chronologically — their keys are
30
+ * timestamps, or the relative buckets from last30 to next30 — so the manual
31
+ * drag order does not apply to them and `sortGroup` is bypassed.
32
+ */
33
+ export declare const orderGroupKeys: (keys: string[], groupInfo: GroupInfo | undefined, sortGroup: (keys: string[]) => string[], sortAsc: boolean) => string[];
34
+ /**
35
+ * Move `groupKey` to `position` inside `keys`, or leave the order untouched
36
+ * when the move cannot be honoured: an unknown group, an unknown anchor, or a
37
+ * group dropped onto itself. Reordering blindly would splice at index -1 and
38
+ * quietly destroy the manual order of an unrelated group.
39
+ */
40
+ export declare const reorderGroupKeys: (keys: string[], groupKey: string, position: InsertToPosition) => string[];
27
41
  export declare class GroupTrait {
28
42
  private readonly groupBy$;
29
43
  view: SingleView;
30
44
  private readonly ops;
45
+ /**
46
+ * Reading direction of a date grouping. Kept in a signal so the UI can flip
47
+ * it, and mirrored from the stored `groupBy.sort` so a reload reads the same
48
+ * way round.
49
+ */
50
+ sortAsc$: import("@preact/signals-core").Signal<boolean>;
31
51
  groupInfo$: ReadonlySignal<GroupInfo<unknown, unknown, Record<string, unknown>> | undefined>;
32
52
  staticInfo$: ReadonlySignal<{
33
53
  staticMap: {
@@ -50,6 +70,20 @@ export declare class GroupTrait {
50
70
  changeGroupSort: (keys: string[]) => void;
51
71
  changeRowSort: (groupKeys: string[], groupKey: string, keys: string[]) => void;
52
72
  });
73
+ /**
74
+ * Whether the current grouping reads a date property, and so offers grains
75
+ * and a reading direction rather than a manual group order.
76
+ */
77
+ isDateGroup$: ReadonlySignal<boolean>;
78
+ /**
79
+ * Re-read the same property at another grain — relative, day, week, month,
80
+ * year — keeping the reading direction.
81
+ */
82
+ changeGroupMode(modeName: string): void;
83
+ /**
84
+ * Flip a date grouping between oldest-first and newest-first.
85
+ */
86
+ setDateSortOrder(asc: boolean): void;
53
87
  addToGroup(rowId: string, key: string): void;
54
88
  changeCardSort(groupKey: string, cardIds: string[]): void;
55
89
  changeGroup(columnId: string | undefined): void;
@@ -1,9 +1,10 @@
1
1
  import { insertPositionToIndex, } from '../../../affine-shared/utils/index.js';
2
- import { computed } from '@preact/signals-core';
2
+ import { computed, effect, signal, } from '@preact/signals-core';
3
3
  import { createTraitKey } from '../traits/key.js';
4
4
  import { computedLock } from '../utils/lock.js';
5
+ import { compareDateKeys } from './compare-date-keys.js';
5
6
  import { defaultGroupBy } from './default.js';
6
- import { getGroupByService } from './matcher.js';
7
+ import { findGroupByConfigByName, getGroupByService } from './matcher.js';
7
8
  export class Group {
8
9
  constructor(key, value, groupInfo, manager) {
9
10
  this.key = key;
@@ -32,6 +33,46 @@ export class Group {
32
33
  return this.config.view;
33
34
  }
34
35
  }
36
+ export const isDateGroupInfo = (groupInfo) => groupInfo?.config.matchType.name === 'Date';
37
+ /**
38
+ * Order the group keys. Date groups read chronologically — their keys are
39
+ * timestamps, or the relative buckets from last30 to next30 — so the manual
40
+ * drag order does not apply to them and `sortGroup` is bypassed.
41
+ */
42
+ export const orderGroupKeys = (keys, groupInfo, sortGroup, sortAsc) => {
43
+ if (isDateGroupInfo(groupInfo)) {
44
+ return [...keys].sort(compareDateKeys(groupInfo?.config.name, sortAsc));
45
+ }
46
+ return sortGroup(keys);
47
+ };
48
+ /**
49
+ * Move `groupKey` to `position` inside `keys`, or leave the order untouched
50
+ * when the move cannot be honoured: an unknown group, an unknown anchor, or a
51
+ * group dropped onto itself. Reordering blindly would splice at index -1 and
52
+ * quietly destroy the manual order of an unrelated group.
53
+ */
54
+ export const reorderGroupKeys = (keys, groupKey, position) => {
55
+ const currentIndex = keys.findIndex(key => key === groupKey);
56
+ if (currentIndex < 0) {
57
+ return keys;
58
+ }
59
+ if (typeof position === 'object') {
60
+ if (position.id === groupKey) {
61
+ return keys;
62
+ }
63
+ if (!keys.includes(position.id)) {
64
+ return keys;
65
+ }
66
+ }
67
+ const reordered = [...keys];
68
+ reordered.splice(currentIndex, 1);
69
+ const index = insertPositionToIndex(position, reordered, key => key);
70
+ if (index < 0) {
71
+ return keys;
72
+ }
73
+ reordered.splice(index, 0, groupKey);
74
+ return reordered;
75
+ };
35
76
  export class GroupTrait {
36
77
  get addGroup() {
37
78
  return this.property$.value?.meta$.value?.config.addGroup;
@@ -40,6 +81,12 @@ export class GroupTrait {
40
81
  this.groupBy$ = groupBy$;
41
82
  this.view = view;
42
83
  this.ops = ops;
84
+ /**
85
+ * Reading direction of a date grouping. Kept in a signal so the UI can flip
86
+ * it, and mirrored from the stored `groupBy.sort` so a reload reads the same
87
+ * way round.
88
+ */
89
+ this.sortAsc$ = signal(true);
43
90
  this.groupInfo$ = computed(() => {
44
91
  const groupBy = this.groupBy$.value;
45
92
  if (!groupBy) {
@@ -54,7 +101,12 @@ export class GroupTrait {
54
101
  return;
55
102
  }
56
103
  const groupByService = getGroupByService(this.view.manager.dataSource);
57
- const result = groupByService?.matcher.match(tType);
104
+ // The stored name wins: a date property offers several grains and only the
105
+ // name says which one was chosen. Matching on the type alone would snap a
106
+ // "by month" grouping back to the default grain on every reload.
107
+ const result = (groupBy.name != null
108
+ ? findGroupByConfigByName(this.view.manager.dataSource, groupBy.name)
109
+ : undefined) ?? groupByService?.matcher.match(tType);
58
110
  if (!result) {
59
111
  return;
60
112
  }
@@ -105,7 +157,7 @@ export class GroupTrait {
105
157
  if (!groupMap) {
106
158
  return;
107
159
  }
108
- const sortedGroup = this.ops.sortGroup(Object.keys(groupMap));
160
+ const sortedGroup = orderGroupKeys(Object.keys(groupMap), this.groupInfo$.value, this.ops.sortGroup, this.sortAsc$.value);
109
161
  sortedGroup.forEach(key => {
110
162
  if (!groupMap[key])
111
163
  return;
@@ -129,6 +181,44 @@ export class GroupTrait {
129
181
  }
130
182
  return groupInfo.property;
131
183
  });
184
+ /**
185
+ * Whether the current grouping reads a date property, and so offers grains
186
+ * and a reading direction rather than a manual group order.
187
+ */
188
+ this.isDateGroup$ = computed(() => isDateGroupInfo(this.groupInfo$.value));
189
+ // Mirror the stored reading direction into the signal the UI drives.
190
+ effect(() => {
191
+ const desc = this.groupBy$.value?.sort?.desc;
192
+ if (desc != null && this.sortAsc$.value === desc) {
193
+ this.sortAsc$.value = !desc;
194
+ }
195
+ });
196
+ }
197
+ /**
198
+ * Re-read the same property at another grain — relative, day, week, month,
199
+ * year — keeping the reading direction.
200
+ */
201
+ changeGroupMode(modeName) {
202
+ const propertyId = this.property$.value?.id;
203
+ if (!propertyId) {
204
+ return;
205
+ }
206
+ this.ops.groupBySet({
207
+ type: 'groupBy',
208
+ columnId: propertyId,
209
+ name: modeName,
210
+ sort: { desc: !this.sortAsc$.value },
211
+ });
212
+ }
213
+ /**
214
+ * Flip a date grouping between oldest-first and newest-first.
215
+ */
216
+ setDateSortOrder(asc) {
217
+ this.sortAsc$.value = asc;
218
+ const groupBy = this.groupBy$.value;
219
+ if (groupBy) {
220
+ this.ops.groupBySet({ ...groupBy, sort: { desc: !asc } });
221
+ }
132
222
  }
133
223
  addToGroup(rowId, key) {
134
224
  this.view.lockRows(false);
@@ -164,7 +254,11 @@ export class GroupTrait {
164
254
  const column = this.view.propertyGetOrCreate(columnId);
165
255
  const propertyMeta = this.view.manager.dataSource.propertyMetaGet(column.type$.value);
166
256
  if (propertyMeta) {
167
- this.ops.groupBySet(defaultGroupBy(this.view.manager.dataSource, propertyMeta, column.id, column.data$.value));
257
+ const groupBy = defaultGroupBy(this.view.manager.dataSource, propertyMeta, column.id, column.data$.value);
258
+ if (groupBy) {
259
+ groupBy.sort = { desc: !this.sortAsc$.value };
260
+ }
261
+ this.ops.groupBySet(groupBy);
168
262
  }
169
263
  }
170
264
  changeGroupSort(keys) {
@@ -214,11 +308,13 @@ export class GroupTrait {
214
308
  if (!groups) {
215
309
  return;
216
310
  }
217
- const keys = groups.map(v => v.key);
218
- keys.splice(keys.findIndex(key => key === groupKey), 1);
219
- const index = insertPositionToIndex(position, keys, key => key);
220
- keys.splice(index, 0, groupKey);
221
- this.changeGroupSort(keys);
311
+ const currentKeys = groups.map(v => v.key);
312
+ const reorderedKeys = reorderGroupKeys(currentKeys, groupKey, position);
313
+ if (currentKeys.length === reorderedKeys.length &&
314
+ currentKeys.every((key, index) => key === reorderedKeys[index])) {
315
+ return;
316
+ }
317
+ this.changeGroupSort(reorderedKeys);
222
318
  }
223
319
  removeFromGroup(rowId, key) {
224
320
  this.view.lockRows(false);
@@ -1,22 +1,22 @@
1
1
  import { ArrowLeftBigIcon } from '@blocksuite/icons/lit';
2
2
  import { html } from 'lit';
3
3
  export const menuTitle = (name, onBack) => {
4
- return html `
5
- <div
6
- style="display:flex;align-items:center;gap: 4px;padding: 3px 3px 3px 2px"
7
- >
8
- <div
9
- @click=${onBack}
10
- class="dv-icon-20 dv-hover dv-pd-2 dv-round-4"
11
- style="display:flex;"
12
- >
13
- ${ArrowLeftBigIcon()}
14
- </div>
15
- <div
16
- style="font-weight:500;font-size: 14px;line-height: 22px;color: var(--affine-text-primary-color)"
17
- >
18
- ${name}
19
- </div>
20
- </div>
4
+ return html `
5
+ <div
6
+ style="display:flex;align-items:center;gap: 4px;padding: 3px 3px 3px 2px"
7
+ >
8
+ <div
9
+ @click=${onBack}
10
+ class="dv-icon-20 dv-hover dv-pd-2 dv-round-4"
11
+ style="display:flex;"
12
+ >
13
+ ${ArrowLeftBigIcon()}
14
+ </div>
15
+ <div
16
+ style="font-weight:500;font-size: 14px;line-height: 22px;color: var(--affine-text-primary-color)"
17
+ >
18
+ ${name}
19
+ </div>
20
+ </div>
21
21
  `;
22
22
  };
@@ -1,7 +1,7 @@
1
1
  import { popupTargetFromElement } from '../../../affine-components/context-menu/index.js';
2
2
  import { computed } from '@preact/signals-core';
3
3
  import { html } from 'lit/static-html.js';
4
- import { popTagSelect } from '../../core/component/tags/multi-tag-select.js';
4
+ import { consumeTagDraftFromTableCellHost, popTagSelect, } from '../../core/component/tags/multi-tag-select.js';
5
5
  import { BaseCellRenderer } from '../../core/property/index.js';
6
6
  import { createFromBaseCellRenderer } from '../../core/property/renderer.js';
7
7
  import { stopPropagation } from '../../core/utils/event.js';
@@ -12,6 +12,7 @@ export class MultiSelectCell extends BaseCellRenderer {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.popTagSelect = () => {
15
+ const initialDraftText = consumeTagDraftFromTableCellHost(this);
15
16
  this.closePopup = popTagSelect(popupTargetFromElement(this), {
16
17
  name: this.cell.property.name$.value,
17
18
  options: this.options$,
@@ -22,6 +23,7 @@ export class MultiSelectCell extends BaseCellRenderer {
22
23
  },
23
24
  onComplete: this._editComplete,
24
25
  minWidth: 400,
26
+ initialDraftText,
25
27
  });
26
28
  };
27
29
  this._editComplete = () => {
@@ -2,6 +2,7 @@ import zod from 'zod';
2
2
  import { t } from '../../core/logical/type-presets.js';
3
3
  import { propertyType } from '../../core/property/property-config.js';
4
4
  import { NumberPropertySchema } from './types.js';
5
+ import { parseNumber } from './utils/formatter.js';
5
6
  export const numberPropertyType = propertyType('number');
6
7
  export const numberPropertyModelConfig = numberPropertyType.modelConfig({
7
8
  name: 'Number',
@@ -19,7 +20,7 @@ export const numberPropertyModelConfig = numberPropertyType.modelConfig({
19
20
  default: () => null,
20
21
  toString: ({ value }) => value?.toString() ?? '',
21
22
  fromString: ({ value }) => {
22
- const num = value ? Number(value) : NaN;
23
+ const num = value ? parseNumber(value) : NaN;
23
24
  return { value: isNaN(num) ? null : num };
24
25
  },
25
26
  toJson: ({ value }) => value ?? null,
@@ -1,7 +1,7 @@
1
1
  import { popupTargetFromElement } from '../../../affine-components/context-menu/index.js';
2
2
  import { computed } from '@preact/signals-core';
3
3
  import { html } from 'lit/static-html.js';
4
- import { popTagSelect } from '../../core/component/tags/multi-tag-select.js';
4
+ import { consumeTagDraftFromTableCellHost, popTagSelect, } from '../../core/component/tags/multi-tag-select.js';
5
5
  import { BaseCellRenderer } from '../../core/property/index.js';
6
6
  import { createFromBaseCellRenderer } from '../../core/property/renderer.js';
7
7
  import { createIcon } from '../../core/utils/uni-icon.js';
@@ -11,6 +11,7 @@ export class SelectCell extends BaseCellRenderer {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.popTagSelect = () => {
14
+ const initialDraftText = consumeTagDraftFromTableCellHost(this);
14
15
  this.closePopup = popTagSelect(popupTargetFromElement(this), {
15
16
  name: this.cell.property.name$.value,
16
17
  mode: 'single',
@@ -22,6 +23,7 @@ export class SelectCell extends BaseCellRenderer {
22
23
  },
23
24
  onComplete: this._editComplete,
24
25
  minWidth: 400,
26
+ initialDraftText,
25
27
  });
26
28
  };
27
29
  this._editComplete = () => {