@formicoidea/labre-core 0.40.0 → 0.42.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 (638) hide show
  1. package/LICENSE +384 -0
  2. package/dist/_pkgs/affine-block-attachment/attachment-block.js +7 -2
  3. package/dist/_pkgs/affine-block-attachment/components/rename-model.js +3 -2
  4. package/dist/_pkgs/affine-block-attachment/configs/slash-menu.js +7 -0
  5. package/dist/_pkgs/affine-block-attachment/configs/toolbar.js +11 -3
  6. package/dist/_pkgs/affine-block-attachment/configs/tooltips.js +4 -4
  7. package/dist/_pkgs/affine-block-attachment/translations.d.ts +49 -0
  8. package/dist/_pkgs/affine-block-attachment/translations.js +98 -0
  9. package/dist/_pkgs/affine-block-attachment/utils.js +9 -6
  10. package/dist/_pkgs/affine-block-bookmark/bookmark-block.js +2 -2
  11. package/dist/_pkgs/affine-block-bookmark/components/bookmark-card.js +13 -6
  12. package/dist/_pkgs/affine-block-bookmark/configs/slash-menu.js +6 -1
  13. package/dist/_pkgs/affine-block-bookmark/configs/toolbar.js +9 -1
  14. package/dist/_pkgs/affine-block-bookmark/configs/tooltips.js +2 -2
  15. package/dist/_pkgs/affine-block-bookmark/translations.d.ts +26 -0
  16. package/dist/_pkgs/affine-block-bookmark/translations.js +55 -0
  17. package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +4 -0
  18. package/dist/_pkgs/affine-block-callout/configs/tooltips.js +2 -2
  19. package/dist/_pkgs/affine-block-callout/translations.d.ts +16 -0
  20. package/dist/_pkgs/affine-block-callout/translations.js +24 -0
  21. package/dist/_pkgs/affine-block-code/code-block.js +6 -3
  22. package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +4 -2
  23. package/dist/_pkgs/affine-block-code/code-toolbar/components/lang-button.js +3 -2
  24. package/dist/_pkgs/affine-block-code/code-toolbar/components/preview-button.js +4 -3
  25. package/dist/_pkgs/affine-block-code/code-toolbar/config.js +116 -72
  26. package/dist/_pkgs/affine-block-code/translations.d.ts +30 -0
  27. package/dist/_pkgs/affine-block-code/translations.js +84 -0
  28. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +9 -3
  29. package/dist/_pkgs/affine-block-embed/common/render-linked-doc.js +7 -6
  30. package/dist/_pkgs/affine-block-embed/configs/toolbar.js +11 -2
  31. package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-block.js +2 -1
  32. package/dist/_pkgs/affine-block-embed/embed-github-block/embed-github-block.js +2 -1
  33. package/dist/_pkgs/affine-block-embed/embed-html-block/components/fullscreen-toolbar.js +4 -3
  34. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/toolbar.js +5 -1
  35. package/dist/_pkgs/affine-block-embed/embed-html-block/configs/tooltips.js +14 -14
  36. package/dist/_pkgs/affine-block-embed/embed-html-block/embed-html-block.js +7 -1
  37. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +11 -4
  38. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.d.ts +2 -0
  39. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.js +13 -3
  40. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-edit-popup.js +4 -2
  41. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-base.js +8 -5
  42. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-popup.js +21 -5
  43. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-loading-card.js +4 -1
  44. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/slash-menu/slash-menu.js +4 -0
  45. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.d.ts +2 -0
  46. package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +6 -1
  47. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.d.ts +2 -0
  48. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.js +5 -0
  49. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.d.ts +1 -0
  50. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +33 -9
  51. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.d.ts +8 -0
  52. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.js +19 -0
  53. package/dist/_pkgs/affine-block-embed/embed-loom-block/embed-loom-block.js +2 -1
  54. package/dist/_pkgs/affine-block-embed/embed-youtube-block/embed-youtube-block.js +2 -1
  55. package/dist/_pkgs/affine-block-embed/translations.d.ts +46 -0
  56. package/dist/_pkgs/affine-block-embed/translations.js +114 -0
  57. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/slash-menu.js +7 -0
  58. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +29 -12
  59. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/tooltips.js +4 -4
  60. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +10 -4
  61. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/components/embed-synced-doc-card.js +8 -4
  62. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +28 -13
  63. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-edgeless-synced-doc-block.js +3 -2
  64. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +3 -2
  65. package/dist/_pkgs/affine-block-embed-doc/translations.d.ts +40 -0
  66. package/dist/_pkgs/affine-block-embed-doc/translations.js +85 -0
  67. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-dense-menu.js +29 -22
  68. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-menu.js +5 -1
  69. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-tool-button.js +2 -1
  70. package/dist/_pkgs/affine-block-frame/edgeless-toolbar/presentation-toolbar.js +12 -9
  71. package/dist/_pkgs/affine-block-frame/frame-manager.js +8 -2
  72. package/dist/_pkgs/affine-block-frame/frame-tool.js +7 -2
  73. package/dist/_pkgs/affine-block-frame/frame-toolbar.js +18 -7
  74. package/dist/_pkgs/affine-block-frame/index.d.ts +1 -0
  75. package/dist/_pkgs/affine-block-frame/index.js +1 -0
  76. package/dist/_pkgs/affine-block-frame/present/frame-order-button.js +5 -1
  77. package/dist/_pkgs/affine-block-frame/present/navigator-setting-button.js +16 -6
  78. package/dist/_pkgs/affine-block-frame/present/present-button.js +3 -1
  79. package/dist/_pkgs/affine-block-frame/translations.d.ts +64 -0
  80. package/dist/_pkgs/affine-block-frame/translations.js +131 -0
  81. package/dist/_pkgs/affine-block-image/components/page-image-block.js +5 -2
  82. package/dist/_pkgs/affine-block-image/configs/slash-menu.js +4 -0
  83. package/dist/_pkgs/affine-block-image/configs/toolbar.js +7 -1
  84. package/dist/_pkgs/affine-block-image/configs/tooltips.js +1 -1
  85. package/dist/_pkgs/affine-block-image/image-block.js +3 -2
  86. package/dist/_pkgs/affine-block-image/image-edgeless-block.js +6 -3
  87. package/dist/_pkgs/affine-block-image/preview-image/page.js +5 -1
  88. package/dist/_pkgs/affine-block-image/translations.d.ts +35 -0
  89. package/dist/_pkgs/affine-block-image/translations.js +68 -0
  90. package/dist/_pkgs/affine-block-image/utils.js +9 -8
  91. package/dist/_pkgs/affine-block-latex/configs/slash-menu.d.ts +8 -0
  92. package/dist/_pkgs/affine-block-latex/configs/slash-menu.js +19 -3
  93. package/dist/_pkgs/affine-block-latex/latex-block.js +6 -2
  94. package/dist/_pkgs/affine-block-latex/translations.d.ts +35 -0
  95. package/dist/_pkgs/affine-block-latex/translations.js +60 -0
  96. package/dist/_pkgs/affine-block-list/list-keymap.js +7 -0
  97. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.d.ts +9 -0
  98. package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.js +23 -6
  99. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.d.ts +4 -1
  100. package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.js +26 -6
  101. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.d.ts +3 -0
  102. package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.js +21 -10
  103. package/dist/_pkgs/affine-block-note/components/edgeless-note-style-panel.js +22 -8
  104. package/dist/_pkgs/affine-block-note/configs/slash-menu.js +13 -0
  105. package/dist/_pkgs/affine-block-note/configs/toolbar.js +26 -19
  106. package/dist/_pkgs/affine-block-note/configs/tooltips.js +57 -30
  107. package/dist/_pkgs/affine-block-note/move-block.js +8 -2
  108. package/dist/_pkgs/affine-block-note/note-keymap.js +7 -1
  109. package/dist/_pkgs/affine-block-note/translations.d.ts +91 -0
  110. package/dist/_pkgs/affine-block-note/translations.js +253 -0
  111. package/dist/_pkgs/affine-block-paragraph/paragraph-block.js +7 -2
  112. package/dist/_pkgs/affine-block-paragraph/paragraph-keymap.js +7 -1
  113. package/dist/_pkgs/affine-block-paragraph/translations.d.ts +31 -0
  114. package/dist/_pkgs/affine-block-paragraph/translations.js +44 -0
  115. package/dist/_pkgs/affine-block-paragraph/view.js +6 -1
  116. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +1 -8
  117. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +1 -8
  118. package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +3 -1
  119. package/dist/_pkgs/affine-block-root/configs/toolbar.js +6 -3
  120. package/dist/_pkgs/affine-block-root/edgeless/clipboard/utils.js +1 -1
  121. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/alignment.js +26 -4
  122. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.d.ts +14 -0
  123. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.js +10 -3
  124. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.d.ts +8 -0
  125. package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -0
  126. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.d.ts +9 -0
  127. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +66 -6
  128. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.d.ts +22 -0
  129. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +46 -0
  130. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.d.ts +0 -1
  131. package/dist/_pkgs/affine-block-root/edgeless/utils/consts.js +0 -1
  132. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.d.ts +21 -0
  133. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.js +24 -0
  134. package/dist/_pkgs/affine-block-root/edgeless/utils/query.js +8 -0
  135. package/dist/_pkgs/affine-block-root/keyboard/keymap.js +1 -16
  136. package/dist/_pkgs/affine-block-root/translations.d.ts +61 -0
  137. package/dist/_pkgs/affine-block-root/translations.js +172 -0
  138. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
  139. package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
  140. package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +3 -1
  141. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.d.ts +23 -0
  142. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.js +89 -0
  143. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.d.ts +7 -0
  144. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.js +5 -0
  145. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.d.ts +41 -0
  146. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.js +70 -0
  147. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.d.ts +49 -0
  148. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.js +257 -0
  149. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.d.ts +16 -0
  150. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.js +24 -0
  151. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.d.ts +24 -0
  152. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.js +66 -0
  153. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +5 -0
  154. package/dist/_pkgs/affine-block-surface/extensions/index.js +5 -0
  155. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +66 -4
  156. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +272 -23
  157. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +58 -8
  158. package/dist/_pkgs/affine-block-surface/extensions/interchange.js +27 -0
  159. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.d.ts +81 -0
  160. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.js +81 -0
  161. package/dist/_pkgs/affine-block-surface/extensions/legend.d.ts +136 -0
  162. package/dist/_pkgs/affine-block-surface/extensions/legend.js +439 -0
  163. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +2 -2
  164. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +5 -2
  165. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +17 -3
  166. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +38 -15
  167. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +61 -1
  168. package/dist/_pkgs/affine-block-surface/extensions/reading.js +85 -39
  169. package/dist/_pkgs/affine-block-surface/extensions/record-action.d.ts +66 -0
  170. package/dist/_pkgs/affine-block-surface/extensions/record-action.js +145 -0
  171. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +48 -0
  172. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +120 -0
  173. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +36 -23
  174. package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +5 -5
  175. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +253 -28
  176. package/dist/_pkgs/affine-block-surface/extensions/validation.js +489 -41
  177. package/dist/_pkgs/affine-block-surface/framework-background/background-view.d.ts +115 -0
  178. package/dist/_pkgs/affine-block-surface/framework-background/background-view.js +185 -0
  179. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +1 -0
  180. package/dist/_pkgs/affine-block-surface/framework-background/index.js +1 -0
  181. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +16 -1
  182. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +31 -21
  183. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +29 -5
  184. package/dist/_pkgs/affine-block-surface/framework-background/stacking.d.ts +6 -4
  185. package/dist/_pkgs/affine-block-surface/framework-background/stacking.js +56 -8
  186. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +12 -0
  187. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +15 -0
  188. package/dist/_pkgs/affine-block-surface/view.js +8 -1
  189. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.d.ts +2 -1
  190. package/dist/_pkgs/affine-block-surface-ref/components/placeholder.js +21 -6
  191. package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +24 -7
  192. package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
  193. package/dist/_pkgs/affine-block-surface-ref/index.d.ts +1 -0
  194. package/dist/_pkgs/affine-block-surface-ref/index.js +1 -0
  195. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block-edgeless.js +1 -0
  196. package/dist/_pkgs/affine-block-surface-ref/surface-ref-block.js +1 -0
  197. package/dist/_pkgs/affine-block-surface-ref/translations.d.ts +83 -0
  198. package/dist/_pkgs/affine-block-surface-ref/translations.js +175 -0
  199. package/dist/_pkgs/affine-block-surface-ref/utils.d.ts +8 -1
  200. package/dist/_pkgs/affine-block-surface-ref/utils.js +12 -4
  201. package/dist/_pkgs/affine-components/caption/block-caption.js +3 -1
  202. package/dist/_pkgs/affine-components/card-style-dropdown-menu/dropdown-menu.js +4 -3
  203. package/dist/_pkgs/affine-components/citation/citation.d.ts +2 -0
  204. package/dist/_pkgs/affine-components/citation/citation.js +19 -3
  205. package/dist/_pkgs/affine-components/color-picker/button.d.ts +62 -1
  206. package/dist/_pkgs/affine-components/color-picker/button.js +182 -23
  207. package/dist/_pkgs/affine-components/color-picker/color-panel.d.ts +8 -0
  208. package/dist/_pkgs/affine-components/color-picker/color-panel.js +17 -2
  209. package/dist/_pkgs/affine-components/color-picker/color-picker.d.ts +4 -0
  210. package/dist/_pkgs/affine-components/color-picker/color-picker.js +27 -3
  211. package/dist/_pkgs/affine-components/color-picker/framework-palette.d.ts +106 -0
  212. package/dist/_pkgs/affine-components/color-picker/framework-palette.js +177 -0
  213. package/dist/_pkgs/affine-components/color-picker/index.d.ts +2 -0
  214. package/dist/_pkgs/affine-components/color-picker/index.js +2 -0
  215. package/dist/_pkgs/affine-components/color-picker/palette-carousel.d.ts +85 -0
  216. package/dist/_pkgs/affine-components/color-picker/palette-carousel.js +440 -0
  217. package/dist/_pkgs/affine-components/color-picker/types.d.ts +21 -0
  218. package/dist/_pkgs/affine-components/color-picker/utils.d.ts +28 -2
  219. package/dist/_pkgs/affine-components/color-picker/utils.js +32 -0
  220. package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -0
  221. package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +34 -7
  222. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.d.ts +2 -0
  223. package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.js +21 -2
  224. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.d.ts +2 -0
  225. package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.js +18 -2
  226. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +33 -1
  227. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +211 -56
  228. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-create-modal.js +5 -4
  229. package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +11 -9
  230. package/dist/_pkgs/affine-components/filterable-list/index.d.ts +2 -0
  231. package/dist/_pkgs/affine-components/filterable-list/index.js +17 -2
  232. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.d.ts +3 -0
  233. package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.js +40 -7
  234. package/dist/_pkgs/affine-components/icon-button/index.d.ts +1 -1
  235. package/dist/_pkgs/affine-components/icon-button/index.js +1 -1
  236. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +6 -0
  237. package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +42 -7
  238. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +4 -0
  239. package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +35 -5
  240. package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +2 -0
  241. package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +22 -5
  242. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.d.ts +2 -0
  243. package/dist/_pkgs/affine-components/linked-doc-title/doc-title.js +16 -3
  244. package/dist/_pkgs/affine-components/notification/linked-doc.js +5 -4
  245. package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.js +7 -4
  246. package/dist/_pkgs/affine-components/resource/resource.d.ts +16 -1
  247. package/dist/_pkgs/affine-components/resource/resource.js +48 -20
  248. package/dist/_pkgs/affine-components/resource/status.d.ts +2 -0
  249. package/dist/_pkgs/affine-components/resource/status.js +27 -12
  250. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.d.ts +4 -1
  251. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +23 -4
  252. package/dist/_pkgs/affine-components/toast/toast.d.ts +1 -1
  253. package/dist/_pkgs/affine-components/toast/toast.js +1 -1
  254. package/dist/_pkgs/affine-components/toggle-button/toggle-button.d.ts +3 -0
  255. package/dist/_pkgs/affine-components/toggle-button/toggle-button.js +18 -3
  256. package/dist/_pkgs/affine-components/toolbar/icon-button.d.ts +2 -0
  257. package/dist/_pkgs/affine-components/toolbar/icon-button.js +18 -2
  258. package/dist/_pkgs/affine-components/toolbar/tooltip.d.ts +3 -3
  259. package/dist/_pkgs/affine-components/toolbar/tooltip.js +3 -3
  260. package/dist/_pkgs/affine-components/translations.d.ts +149 -0
  261. package/dist/_pkgs/affine-components/translations.js +495 -0
  262. package/dist/_pkgs/affine-foundation/view.js +2 -1
  263. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.d.ts +3 -0
  264. package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.js +12 -1
  265. package/dist/_pkgs/affine-fragment-adapter-panel/body/adapter-panel-body.js +4 -3
  266. package/dist/_pkgs/affine-fragment-adapter-panel/config.d.ts +13 -0
  267. package/dist/_pkgs/affine-fragment-adapter-panel/config.js +18 -4
  268. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-menu.js +2 -2
  269. package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-panel-header.js +2 -2
  270. package/dist/_pkgs/affine-fragment-adapter-panel/translations.d.ts +24 -0
  271. package/dist/_pkgs/affine-fragment-adapter-panel/translations.js +37 -0
  272. package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +1 -0
  273. package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +9 -1
  274. package/dist/_pkgs/affine-fragment-doc-title/translations.d.ts +13 -0
  275. package/dist/_pkgs/affine-fragment-doc-title/translations.js +17 -0
  276. package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +3 -2
  277. package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +10 -4
  278. package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +18 -6
  279. package/dist/_pkgs/affine-fragment-frame-panel/translations.d.ts +16 -0
  280. package/dist/_pkgs/affine-fragment-frame-panel/translations.js +44 -0
  281. package/dist/_pkgs/affine-fragment-outline/body/outline-notice.js +10 -4
  282. package/dist/_pkgs/affine-fragment-outline/body/outline-panel-body.js +6 -3
  283. package/dist/_pkgs/affine-fragment-outline/card/outline-card.js +13 -6
  284. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.d.ts +1 -0
  285. package/dist/_pkgs/affine-fragment-outline/card/outline-preview.js +16 -9
  286. package/dist/_pkgs/affine-fragment-outline/config.d.ts +1 -20
  287. package/dist/_pkgs/affine-fragment-outline/config.js +8 -23
  288. package/dist/_pkgs/affine-fragment-outline/header/outline-panel-header.js +10 -3
  289. package/dist/_pkgs/affine-fragment-outline/header/outline-setting-menu.js +9 -2
  290. package/dist/_pkgs/affine-fragment-outline/outline-viewer.js +6 -3
  291. package/dist/_pkgs/affine-fragment-outline/translations.d.ts +54 -0
  292. package/dist/_pkgs/affine-fragment-outline/translations.js +110 -0
  293. package/dist/_pkgs/affine-gfx-brush/element-renderer.js +2 -2
  294. package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/eraser-tool-button.js +3 -2
  295. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.d.ts +3 -0
  296. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.js +3 -0
  297. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-menu.js +5 -4
  298. package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +3 -2
  299. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +10 -3
  300. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +10 -3
  301. package/dist/_pkgs/affine-gfx-brush/translations.d.ts +17 -0
  302. package/dist/_pkgs/affine-gfx-brush/translations.js +30 -0
  303. package/dist/_pkgs/affine-gfx-connector/connector-manager.d.ts +9 -1
  304. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +61 -0
  305. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +8 -1
  306. package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +7 -1
  307. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.d.ts +7 -1
  308. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +87 -17
  309. package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +78 -17
  310. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.d.ts +24 -2
  311. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +31 -8
  312. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.d.ts +124 -3
  313. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +219 -56
  314. package/dist/_pkgs/affine-gfx-connector/text/text.d.ts +13 -4
  315. package/dist/_pkgs/affine-gfx-connector/text/text.js +13 -44
  316. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +60 -1
  317. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +95 -13
  318. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-dense-menu.js +7 -5
  319. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-menu.js +8 -6
  320. package/dist/_pkgs/affine-gfx-connector/toolbar/connector-tool-button.js +4 -3
  321. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.d.ts +8 -0
  322. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.js +118 -0
  323. package/dist/_pkgs/affine-gfx-connector/translations.d.ts +32 -0
  324. package/dist/_pkgs/affine-gfx-connector/translations.js +79 -0
  325. package/dist/_pkgs/affine-gfx-connector/view/view.d.ts +37 -1
  326. package/dist/_pkgs/affine-gfx-connector/view/view.js +97 -8
  327. package/dist/_pkgs/affine-gfx-group/command/group-api.js +6 -1
  328. package/dist/_pkgs/affine-gfx-group/index.d.ts +1 -0
  329. package/dist/_pkgs/affine-gfx-group/index.js +1 -0
  330. package/dist/_pkgs/affine-gfx-group/store.js +0 -2
  331. package/dist/_pkgs/affine-gfx-group/toolbar/config.d.ts +6 -2
  332. package/dist/_pkgs/affine-gfx-group/toolbar/config.js +9 -4
  333. package/dist/_pkgs/affine-gfx-group/translations.d.ts +23 -0
  334. package/dist/_pkgs/affine-gfx-group/translations.js +29 -0
  335. package/dist/_pkgs/affine-gfx-link/toolbar/undo-dense-menu.js +2 -1
  336. package/dist/_pkgs/affine-gfx-link/toolbar/undo-tool-button.js +2 -1
  337. package/dist/_pkgs/affine-gfx-mindmap/index.d.ts +1 -0
  338. package/dist/_pkgs/affine-gfx-mindmap/index.js +1 -0
  339. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +628 -577
  340. package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +7 -3
  341. package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +9 -1
  342. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.d.ts +4 -0
  343. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.js +70 -7
  344. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +8 -5
  345. package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +4 -2
  346. package/dist/_pkgs/affine-gfx-mindmap/toolbar/senior-tool.js +7 -2
  347. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.d.ts +2 -1
  348. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +16 -8
  349. package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +84 -0
  350. package/dist/_pkgs/affine-gfx-mindmap/translations.js +171 -0
  351. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.d.ts +8 -0
  352. package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.js +24 -9
  353. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.d.ts +9 -0
  354. package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.js +28 -8
  355. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.d.ts +2 -1
  356. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.js +42 -73
  357. package/dist/_pkgs/affine-gfx-note/toolbar/note-menu.js +21 -17
  358. package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +3 -2
  359. package/dist/_pkgs/affine-gfx-note/toolbar/note-tool-button.js +3 -1
  360. package/dist/_pkgs/affine-gfx-note/toolbar/senior-tool.js +3 -1
  361. package/dist/_pkgs/affine-gfx-note/translations.d.ts +27 -0
  362. package/dist/_pkgs/affine-gfx-note/translations.js +59 -0
  363. package/dist/_pkgs/affine-gfx-pointer/quick-tool/default-tool-button.js +10 -2
  364. package/dist/_pkgs/affine-gfx-pointer/translations.d.ts +9 -0
  365. package/dist/_pkgs/affine-gfx-pointer/translations.js +17 -0
  366. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.d.ts +4 -0
  367. package/dist/_pkgs/affine-gfx-shape/components/shape-panel.js +17 -3
  368. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.d.ts +4 -0
  369. package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.js +23 -5
  370. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.d.ts +0 -1
  371. package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.js +6 -46
  372. package/dist/_pkgs/affine-gfx-shape/draggable/shape-tool-button.js +3 -1
  373. package/dist/_pkgs/affine-gfx-shape/element-renderer/highlighter.js +2 -2
  374. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.d.ts +6 -0
  375. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +30 -1
  376. package/dist/_pkgs/affine-gfx-shape/polygon-tool.d.ts +20 -1
  377. package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +9 -1
  378. package/dist/_pkgs/affine-gfx-shape/toolbar/config.d.ts +2 -0
  379. package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +35 -9
  380. package/dist/_pkgs/affine-gfx-shape/toolbar/palette-color-action.js +11 -1
  381. package/dist/_pkgs/affine-gfx-shape/toolbar/senior-tool.js +2 -0
  382. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.d.ts +3 -0
  383. package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.js +7 -0
  384. package/dist/_pkgs/affine-gfx-shape/translations.d.ts +37 -0
  385. package/dist/_pkgs/affine-gfx-shape/translations.js +93 -0
  386. package/dist/_pkgs/affine-gfx-template/builtin/other.js +70 -42
  387. package/dist/_pkgs/affine-gfx-template/contribute.js +8 -1
  388. package/dist/_pkgs/affine-gfx-template/index.d.ts +2 -0
  389. package/dist/_pkgs/affine-gfx-template/index.js +2 -0
  390. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.d.ts +6 -1
  391. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +43 -120
  392. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.d.ts +1 -0
  393. package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.js +12 -0
  394. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.d.ts +25 -0
  395. package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.js +36 -0
  396. package/dist/_pkgs/affine-gfx-template/toolbar/senior-tool.js +3 -1
  397. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.d.ts +1 -0
  398. package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +30 -8
  399. package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +41 -0
  400. package/dist/_pkgs/affine-gfx-template/translations.d.ts +71 -0
  401. package/dist/_pkgs/affine-gfx-template/translations.js +209 -0
  402. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.d.ts +13 -1
  403. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.js +19 -4
  404. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.d.ts +41 -0
  405. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +60 -4
  406. package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +9 -2
  407. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +33 -10
  408. package/dist/_pkgs/affine-gfx-text/toolbar/text-menu.js +1 -0
  409. package/dist/_pkgs/affine-gfx-text/translations.d.ts +32 -0
  410. package/dist/_pkgs/affine-gfx-text/translations.js +65 -0
  411. package/dist/_pkgs/affine-inline-footnote/footnote-node/footnote-popup.js +8 -2
  412. package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +5 -2
  413. package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +7 -2
  414. package/dist/_pkgs/affine-inline-latex/translations.d.ts +13 -0
  415. package/dist/_pkgs/affine-inline-latex/translations.js +16 -0
  416. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.d.ts +3 -3
  417. package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.js +6 -5
  418. package/dist/_pkgs/affine-inline-link/link-node/link-popup/link-popup.js +11 -5
  419. package/dist/_pkgs/affine-inline-link/translations.d.ts +23 -0
  420. package/dist/_pkgs/affine-inline-link/translations.js +44 -0
  421. package/dist/_pkgs/affine-inline-mention/affine-mention.js +11 -5
  422. package/dist/_pkgs/affine-inline-mention/translations.d.ts +16 -0
  423. package/dist/_pkgs/affine-inline-mention/translations.js +29 -0
  424. package/dist/_pkgs/affine-inline-preset/command/config.d.ts +3 -0
  425. package/dist/_pkgs/affine-inline-preset/command/config.js +8 -0
  426. package/dist/_pkgs/affine-inline-preset/markdown.js +5 -1
  427. package/dist/_pkgs/affine-inline-preset/translations.d.ts +25 -0
  428. package/dist/_pkgs/affine-inline-preset/translations.js +28 -0
  429. package/dist/_pkgs/affine-inline-reference/reference-node/configs/toolbar.js +2 -2
  430. package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +3 -3
  431. package/dist/_pkgs/affine-inline-reference/reference-node/reference-popup/reference-popup.js +8 -6
  432. package/dist/_pkgs/affine-inline-reference/translations.d.ts +8 -0
  433. package/dist/_pkgs/affine-inline-reference/translations.js +13 -0
  434. package/dist/_pkgs/affine-model/consts/connector.d.ts +28 -2
  435. package/dist/_pkgs/affine-model/consts/connector.js +26 -0
  436. package/dist/_pkgs/affine-model/elements/bpmn/pool.js +1 -1
  437. package/dist/_pkgs/affine-model/elements/brush/brush.js +1 -1
  438. package/dist/_pkgs/affine-model/elements/c4/board.js +1 -1
  439. package/dist/_pkgs/affine-model/elements/c4/boundary.js +1 -1
  440. package/dist/_pkgs/affine-model/elements/connector/connector.d.ts +135 -0
  441. package/dist/_pkgs/affine-model/elements/connector/connector.js +246 -5
  442. package/dist/_pkgs/affine-model/elements/connector/end-label.d.ts +83 -0
  443. package/dist/_pkgs/affine-model/elements/connector/end-label.js +119 -0
  444. package/dist/_pkgs/affine-model/elements/connector/index.d.ts +1 -0
  445. package/dist/_pkgs/affine-model/elements/connector/index.js +1 -0
  446. package/dist/_pkgs/affine-model/elements/context-map/context-map.js +1 -1
  447. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +28 -0
  448. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +129 -2
  449. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.d.ts +8 -0
  450. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.js +45 -2
  451. package/dist/_pkgs/affine-model/elements/edgy/board.js +1 -1
  452. package/dist/_pkgs/affine-model/elements/edgy/facets.js +1 -1
  453. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.d.ts +6 -0
  454. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.js +36 -2
  455. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +18 -7
  456. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +23 -8
  457. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +16 -0
  458. package/dist/_pkgs/affine-model/elements/framework-background/background.js +18 -0
  459. package/dist/_pkgs/affine-model/elements/highlighter/highlighter.js +1 -1
  460. package/dist/_pkgs/affine-model/elements/index.d.ts +8 -0
  461. package/dist/_pkgs/affine-model/elements/index.js +1 -0
  462. package/dist/_pkgs/affine-model/elements/shape/shape.js +1 -1
  463. package/dist/_pkgs/affine-model/elements/text/text.js +1 -1
  464. package/dist/_pkgs/affine-model/elements/uml/band.d.ts +39 -0
  465. package/dist/_pkgs/affine-model/elements/uml/band.js +31 -0
  466. package/dist/_pkgs/affine-model/elements/uml/diagram.d.ts +158 -0
  467. package/dist/_pkgs/affine-model/elements/uml/diagram.js +229 -0
  468. package/dist/_pkgs/affine-model/elements/uml/fragment.d.ts +161 -0
  469. package/dist/_pkgs/affine-model/elements/uml/fragment.js +205 -0
  470. package/dist/_pkgs/affine-model/elements/uml/index.d.ts +8 -0
  471. package/dist/_pkgs/affine-model/elements/uml/index.js +8 -0
  472. package/dist/_pkgs/affine-model/elements/uml/lifeline.d.ts +77 -0
  473. package/dist/_pkgs/affine-model/elements/uml/lifeline.js +89 -0
  474. package/dist/_pkgs/affine-model/elements/uml/node.d.ts +142 -0
  475. package/dist/_pkgs/affine-model/elements/uml/node.js +190 -0
  476. package/dist/_pkgs/affine-model/elements/uml/partition.d.ts +106 -0
  477. package/dist/_pkgs/affine-model/elements/uml/partition.js +172 -0
  478. package/dist/_pkgs/affine-model/elements/uml/region.d.ts +75 -0
  479. package/dist/_pkgs/affine-model/elements/uml/region.js +150 -0
  480. package/dist/_pkgs/affine-model/elements/uml/subject.d.ts +37 -0
  481. package/dist/_pkgs/affine-model/elements/uml/subject.js +108 -0
  482. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +1 -1
  483. package/dist/_pkgs/affine-rich-text/conversion.d.ts +13 -0
  484. package/dist/_pkgs/affine-rich-text/conversion.js +27 -0
  485. package/dist/_pkgs/affine-shared/adapters/clipboard/clipboard.js +1 -1
  486. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.d.ts +2 -1
  487. package/dist/_pkgs/affine-shared/adapters/clipboard/utils.js +6 -3
  488. package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -2
  489. package/dist/_pkgs/affine-shared/adapters/mix-text.js +5 -2
  490. package/dist/_pkgs/affine-shared/adapters/plain-text/plain-text.js +5 -2
  491. package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
  492. package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
  493. package/dist/_pkgs/affine-shared/adapters/utils/wording.d.ts +9 -0
  494. package/dist/_pkgs/affine-shared/adapters/utils/wording.js +12 -0
  495. package/dist/_pkgs/affine-shared/services/comment-service/utils.js +2 -0
  496. package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +6 -3
  497. package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.d.ts +1 -0
  498. package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +7 -0
  499. package/dist/_pkgs/affine-shared/services/font-loader/config.js +43 -0
  500. package/dist/_pkgs/affine-shared/services/notification-service.js +18 -1
  501. package/dist/_pkgs/affine-shared/services/open-doc-config.d.ts +0 -1
  502. package/dist/_pkgs/affine-shared/services/open-doc-config.js +0 -2
  503. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +1 -9
  504. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.d.ts +53 -0
  505. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.js +95 -0
  506. package/dist/_pkgs/affine-shared/services/telemetry-service/index.d.ts +1 -0
  507. package/dist/_pkgs/affine-shared/services/telemetry-service/index.js +1 -0
  508. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +26 -1
  509. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  510. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.d.ts +34 -0
  511. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.js +63 -0
  512. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  513. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  514. package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +432 -0
  515. package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +1045 -3
  516. package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +40 -2
  517. package/dist/_pkgs/affine-shared/services/translation-service/index.js +44 -3
  518. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +83 -2
  519. package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +92 -0
  520. package/dist/_pkgs/affine-shared/styles/index.d.ts +1 -0
  521. package/dist/_pkgs/affine-shared/styles/index.js +1 -0
  522. package/dist/_pkgs/affine-shared/styles/motion.d.ts +14 -0
  523. package/dist/_pkgs/affine-shared/styles/motion.js +38 -0
  524. package/dist/_pkgs/affine-shared/utils/event.d.ts +10 -0
  525. package/dist/_pkgs/affine-shared/utils/event.js +20 -0
  526. package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +16 -0
  527. package/dist/_pkgs/affine-shared/utils/file/filesys.js +25 -0
  528. package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
  529. package/dist/_pkgs/affine-shared/utils/index.js +1 -0
  530. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.d.ts +12 -0
  531. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.js +13 -0
  532. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.d.ts +4 -0
  533. package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.js +21 -8
  534. package/dist/_pkgs/affine-widget-drag-handle/helpers/preview-helper.js +1 -0
  535. package/dist/_pkgs/affine-widget-drag-handle/translations.d.ts +14 -0
  536. package/dist/_pkgs/affine-widget-drag-handle/translations.js +35 -0
  537. package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +4 -3
  538. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.d.ts +6 -0
  539. package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.js +14 -0
  540. package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +8 -5
  541. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +3 -2
  542. package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +3 -1
  543. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.d.ts +17 -0
  544. package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.js +30 -0
  545. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.d.ts +4 -0
  546. package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.js +18 -2
  547. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +12 -4
  548. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +29 -6
  549. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.d.ts +2 -0
  550. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.js +3 -0
  551. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +18 -1
  552. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +8 -3
  553. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +38 -18
  554. package/dist/_pkgs/affine-widget-edgeless-toolbar/create-popper.js +13 -0
  555. package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +2 -1
  556. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +2 -0
  557. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +2 -0
  558. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +80 -0
  559. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +270 -81
  560. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.d.ts +15 -0
  561. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.js +15 -0
  562. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.d.ts +8 -0
  563. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +38 -8
  564. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.d.ts +42 -0
  565. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.js +100 -0
  566. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.d.ts +100 -0
  567. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.js +274 -0
  568. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.d.ts +3 -0
  569. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.js +3 -0
  570. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.d.ts +25 -0
  571. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.js +67 -0
  572. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +15 -0
  573. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +20 -0
  574. package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +5 -0
  575. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.d.ts +7 -0
  576. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.js +23 -0
  577. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-bar-toggle-button.js +3 -1
  578. package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-toolbar.js +5 -3
  579. package/dist/_pkgs/affine-widget-linked-doc/config.js +15 -10
  580. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.d.ts +12 -1
  581. package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +27 -18
  582. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.d.ts +4 -1
  583. package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.js +2 -2
  584. package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +4 -1
  585. package/dist/_pkgs/affine-widget-linked-doc/mobile-linked-doc-menu.js +6 -2
  586. package/dist/_pkgs/affine-widget-linked-doc/transformers/html.js +3 -2
  587. package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +3 -2
  588. package/dist/_pkgs/affine-widget-linked-doc/translations.d.ts +53 -0
  589. package/dist/_pkgs/affine-widget-linked-doc/translations.js +104 -0
  590. package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +4 -1
  591. package/dist/_pkgs/affine-widget-remote-selection/translations.d.ts +12 -0
  592. package/dist/_pkgs/affine-widget-remote-selection/translations.js +12 -0
  593. package/dist/_pkgs/affine-widget-slash-menu/config.js +15 -0
  594. package/dist/_pkgs/affine-widget-slash-menu/index.d.ts +1 -0
  595. package/dist/_pkgs/affine-widget-slash-menu/index.js +1 -0
  596. package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +30 -15
  597. package/dist/_pkgs/affine-widget-slash-menu/tooltips/copy.js +1 -1
  598. package/dist/_pkgs/affine-widget-slash-menu/tooltips/delete.js +2 -2
  599. package/dist/_pkgs/affine-widget-slash-menu/tooltips/index.js +9 -0
  600. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-down.js +2 -2
  601. package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-up.js +2 -2
  602. package/dist/_pkgs/affine-widget-slash-menu/tooltips/now.js +3 -3
  603. package/dist/_pkgs/affine-widget-slash-menu/tooltips/today.js +2 -2
  604. package/dist/_pkgs/affine-widget-slash-menu/tooltips/tomorrow.js +3 -3
  605. package/dist/_pkgs/affine-widget-slash-menu/tooltips/yesterday.js +3 -3
  606. package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +91 -0
  607. package/dist/_pkgs/affine-widget-slash-menu/translations.js +175 -0
  608. package/dist/_pkgs/affine-widget-slash-menu/types.d.ts +18 -0
  609. package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +20 -1
  610. package/dist/_pkgs/affine-widget-slash-menu/utils.js +37 -0
  611. package/dist/_pkgs/affine-widget-toolbar/translations.d.ts +9 -0
  612. package/dist/_pkgs/affine-widget-toolbar/translations.js +13 -0
  613. package/dist/_pkgs/affine-widget-toolbar/utils.js +2 -1
  614. package/dist/_pkgs/global/gfx/xywh.js +7 -0
  615. package/dist/_pkgs/std/extension/command-registry.d.ts +158 -1
  616. package/dist/_pkgs/std/extension/command-registry.js +22 -0
  617. package/dist/_pkgs/std/extension/translation-manifest.d.ts +7 -0
  618. package/dist/_pkgs/std/gfx/index.d.ts +1 -1
  619. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.d.ts +12 -0
  620. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +20 -1
  621. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +10 -0
  622. package/dist/_pkgs/std/gfx/interactivity/manager.js +12 -0
  623. package/dist/_pkgs/std/gfx/model/surface/element-model.js +12 -7
  624. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +56 -0
  625. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +84 -3
  626. package/dist/_pkgs/std/gfx/view/view.d.ts +11 -2
  627. package/dist/_pkgs/std/gfx/view/view.js +16 -2
  628. package/dist/_pkgs/std/translations.d.ts +24 -0
  629. package/dist/_pkgs/std/translations.js +28 -0
  630. package/dist/_pkgs/std/view/element/block-component.js +24 -7
  631. package/dist/commands.d.ts +6 -0
  632. package/dist/commands.js +8 -1
  633. package/dist/frameworks.d.ts +9 -0
  634. package/dist/frameworks.js +19 -0
  635. package/dist/translations.js +160 -5
  636. package/package.json +9 -4
  637. package/dist/_pkgs/affine-gfx-group/group-watcher.d.ts +0 -1
  638. package/dist/_pkgs/affine-gfx-group/group-watcher.js +0 -20
@@ -26,8 +26,14 @@ export interface TranslationService {
26
26
  /**
27
27
  * Resolve an i18n key. Return `undefined` when the catalogue has no entry,
28
28
  * so the caller can fall back rather than render an empty bubble.
29
+ *
30
+ * `params` carries the values of a sentence with holes in it ("Failed to
31
+ * upload {{name}}"). The host interpolates them — and pluralises on `count` —
32
+ * with its own i18n stack; the placeholders are i18next's `{{name}}`, so a
33
+ * catalogue seeded from the manifest's fallbacks works as is. A host that
34
+ * ignores `params` still type-checks and simply shows its unfilled wording.
29
35
  */
30
- t(key: string): string | undefined;
36
+ t(key: string, params?: TranslationParams): string | undefined;
31
37
  /**
32
38
  * The language the catalogue is currently serving, as a BCP-47 tag
33
39
  * (`'fr'`, `'en-GB'`). Optional, and NOT locale negotiation — the library
@@ -51,6 +57,34 @@ export interface TranslationService {
51
57
  * framework has a convention that holds in `en-GB` and not in `en-US`.
52
58
  */
53
59
  export declare function hostLanguage(std: BlockStdScope): string | undefined;
60
+ /**
61
+ * The host's full language tag (`'fr-CA'`), or `undefined` when no host said —
62
+ * for `Intl` formatting of dates and numbers, where the region matters
63
+ * (`en-GB` and `en-US` write a date differently). `undefined` hands `Intl` the
64
+ * runtime default, which is what the editor did before hosts could say.
65
+ */
66
+ export declare function hostLocale(std: BlockStdScope): string | undefined;
67
+ /**
68
+ * `hostLocale(std)`, defaulting to `'en-US'` when the host said nothing —
69
+ * the locale every `Intl.*Format` call in the library resolves against.
70
+ *
71
+ * Dates and numbers fall back to English like every string does, so a
72
+ * standalone playground stays deterministic: `Intl`'s own runtime-default
73
+ * fallback would instead read whatever locale the machine happens to have,
74
+ * which is not a fallback a test can assert on.
75
+ */
76
+ export declare function formatLocale(std: BlockStdScope): string;
77
+ /** The values of a wording's `{{name}}` placeholders. */
78
+ export type TranslationParams = Record<string, string | number>;
79
+ /**
80
+ * Fill `{{name}}` placeholders from `params`; a placeholder with no value is
81
+ * left as written, so a missing argument shows rather than vanishes.
82
+ *
83
+ * The library's side of interpolation only — used on the English fallback when
84
+ * the host has no entry. Pluralisation is the host's: a fallback stays neutral
85
+ * ("{{count}} element(s)").
86
+ */
87
+ export declare function fillPlaceholders(wording: string, params?: TranslationParams): string;
54
88
  export declare const TranslationProvider: import("../../../global/di/types.js").ServiceIdentifier<TranslationService> & (<U extends TranslationService = TranslationService>(variant: import("../../../global/di/types.js").ServiceVariant) => import("../../../global/di/types.js").ServiceIdentifier<U>);
55
89
  export declare const TranslationExtension: (service: TranslationService) => ExtensionType;
56
90
  /**
@@ -65,5 +99,9 @@ export declare const TranslationExtension: (service: TranslationService) => Exte
65
99
  * made up.
66
100
  * - **Chrome** (the word "Warning" on a severity chip) passes an English
67
101
  * default, so a standalone playground reads correctly without a catalogue.
102
+ *
103
+ * `params` fill the wording's `{{name}}` placeholders: handed to the host,
104
+ * which interpolates its own translation, and filled here into the fallback
105
+ * when the host has none.
68
106
  */
69
- export declare function translateKey(std: BlockStdScope, key: string, fallback?: string): string;
107
+ export declare function translateKey(std: BlockStdScope, key: string, fallback?: string, params?: TranslationParams): string;
@@ -13,6 +13,41 @@ export function hostLanguage(std) {
13
13
  return undefined;
14
14
  return tag.split('-')[0].toLowerCase();
15
15
  }
16
+ /**
17
+ * The host's full language tag (`'fr-CA'`), or `undefined` when no host said —
18
+ * for `Intl` formatting of dates and numbers, where the region matters
19
+ * (`en-GB` and `en-US` write a date differently). `undefined` hands `Intl` the
20
+ * runtime default, which is what the editor did before hosts could say.
21
+ */
22
+ export function hostLocale(std) {
23
+ const tag = std.getOptional(TranslationProvider)?.language;
24
+ return typeof tag === 'string' && tag.length > 0 ? tag : undefined;
25
+ }
26
+ /**
27
+ * `hostLocale(std)`, defaulting to `'en-US'` when the host said nothing —
28
+ * the locale every `Intl.*Format` call in the library resolves against.
29
+ *
30
+ * Dates and numbers fall back to English like every string does, so a
31
+ * standalone playground stays deterministic: `Intl`'s own runtime-default
32
+ * fallback would instead read whatever locale the machine happens to have,
33
+ * which is not a fallback a test can assert on.
34
+ */
35
+ export function formatLocale(std) {
36
+ return hostLocale(std) ?? 'en-US';
37
+ }
38
+ /**
39
+ * Fill `{{name}}` placeholders from `params`; a placeholder with no value is
40
+ * left as written, so a missing argument shows rather than vanishes.
41
+ *
42
+ * The library's side of interpolation only — used on the English fallback when
43
+ * the host has no entry. Pluralisation is the host's: a fallback stays neutral
44
+ * ("{{count}} element(s)").
45
+ */
46
+ export function fillPlaceholders(wording, params) {
47
+ if (!params)
48
+ return wording;
49
+ return wording.replace(/\{\{\s*(\w+)\s*\}\}/g, (hole, name) => name in params ? String(params[name]) : hole);
50
+ }
16
51
  export const TranslationProvider = createIdentifier('AffineTranslationService');
17
52
  export const TranslationExtension = (service) => {
18
53
  return {
@@ -33,8 +68,14 @@ export const TranslationExtension = (service) => {
33
68
  * made up.
34
69
  * - **Chrome** (the word "Warning" on a severity chip) passes an English
35
70
  * default, so a standalone playground reads correctly without a catalogue.
71
+ *
72
+ * `params` fill the wording's `{{name}}` placeholders: handed to the host,
73
+ * which interpolates its own translation, and filled here into the fallback
74
+ * when the host has none.
36
75
  */
37
- export function translateKey(std, key, fallback = key) {
38
- const resolved = std.getOptional(TranslationProvider)?.t(key);
39
- return resolved !== undefined && resolved !== '' ? resolved : fallback;
76
+ export function translateKey(std, key, fallback = key, params) {
77
+ const resolved = std.getOptional(TranslationProvider)?.t(key, params);
78
+ return resolved !== undefined && resolved !== ''
79
+ ? resolved
80
+ : fillPlaceholders(fallback, params);
40
81
  }
@@ -1,4 +1,4 @@
1
- import type { BlockStdScope, FrameworkId } from '../../std/index.js';
1
+ import type { BlockStdScope, FrameworkId, TranslationKeyManifestEntry } from '../../std/index.js';
2
2
  import type { RoleDefs, RoleId } from '../../std/gfx/index.js';
3
3
  import type { ExtensionType } from '../../store/index.js';
4
4
  /**
@@ -15,9 +15,31 @@ export type TagValueId = string;
15
15
  export type TagValueDef = {
16
16
  /** `'<tagId>/<local>'`, e.g. `'wardley:nature/data'`. */
17
17
  id: TagValueId;
18
- /** Display label, already localized by the host. */
18
+ /**
19
+ * Display label. For a HOST-seeded pack this is already localized — the app
20
+ * seeds a pack per deployment and `label` is that deployment's own wording,
21
+ * same as ever. For the library's OWN pack (`WARDLEY_TAG_DEFS`, the format's
22
+ * worked example) it is the ENGLISH fallback beside {@link labelKey}, on the
23
+ * same seam every other library string uses (ADR 0007 § 2bis's rule for role
24
+ * labels, extended here to tag values).
25
+ */
19
26
  label: string;
27
+ /**
28
+ * i18n key resolved by the host's catalogue, `label` its fallback — see
29
+ * {@link translateTagLabel}. Optional and additive: a pack seeded before this
30
+ * field existed (or a host pack that never sets it) still shows `label`
31
+ * exactly as it always has.
32
+ */
33
+ labelKey?: string;
20
34
  description?: string;
35
+ /**
36
+ * i18n key resolved by the host's catalogue, `description` its fallback —
37
+ * see {@link translateTagDescription}. Optional and additive, on the same
38
+ * seam as {@link labelKey}: a pack seeded before this field existed (or a
39
+ * host pack that never sets it) still shows `description` exactly as it
40
+ * always has.
41
+ */
42
+ descriptionKey?: string;
21
43
  /** Advisory colour token. The library may ignore it; it never affects layout. */
22
44
  color?: string;
23
45
  /** Hidden from pickers; still displayed when already present on an element. */
@@ -26,8 +48,13 @@ export type TagValueDef = {
26
48
  export type TagDef = {
27
49
  /** `'<framework>:<local>'`, e.g. `'wardley:nature'`. */
28
50
  id: QualifiedId;
51
+ /** See {@link TagValueDef.label}. */
29
52
  label: string;
53
+ /** See {@link TagValueDef.labelKey}. */
54
+ labelKey?: string;
30
55
  description?: string;
56
+ /** See {@link TagValueDef.descriptionKey}. */
57
+ descriptionKey?: string;
31
58
  /** How many values an element may carry for this tag. */
32
59
  cardinality: 'single' | 'multi';
33
60
  /** A closed list, or `'open'` for free-text values. */
@@ -68,8 +95,62 @@ export type UniverseTagDefs = {
68
95
  packId: string;
69
96
  framework: FrameworkId;
70
97
  label: string;
98
+ /**
99
+ * i18n key for the PACK's own `label` — see {@link TagValueDef.labelKey}
100
+ * for the seam. Optional and additive: a pack seeded before this field
101
+ * existed (or a host pack that never sets it) still shows `label` exactly
102
+ * as it always has.
103
+ */
104
+ labelKey?: string;
71
105
  tags: TagDef[];
72
106
  };
107
+ /**
108
+ * The DISPLAYED wording of a tag def or a tag value def — {@link translateKey}
109
+ * over {@link TagDef.labelKey} / {@link TagValueDef.labelKey} when present,
110
+ * `label` unresolved otherwise (a host pack that never sets `labelKey` shows
111
+ * exactly what it always has).
112
+ *
113
+ * The one function every RENDERER of a tag label goes through — the "Qualify"
114
+ * toolbar's section titles and options (`tags-toolbar.ts`), the reading
115
+ * panel's nature value (`reading-widget.ts`). `resolveRecordNature` in
116
+ * `reading.ts` deliberately does NOT: it matches an external record's words
117
+ * against `label`, which is a comparison and not a display, and the wording it
118
+ * matches against is the one the record itself was written with.
119
+ *
120
+ * The same shape resolves a PACK's own `label` too (`UniverseTagDefs.label` /
121
+ * `.labelKey`): both carry an identical `{ label, labelKey? }` pair, so no
122
+ * second function is needed for it.
123
+ */
124
+ export declare function translateTagLabel(std: BlockStdScope, def: Pick<TagDef | TagValueDef | UniverseTagDefs, 'label' | 'labelKey'>): string;
125
+ /**
126
+ * The DISPLAYED description of a tag def or a tag value def —
127
+ * {@link translateKey} over {@link TagDef.descriptionKey} /
128
+ * {@link TagValueDef.descriptionKey} when present, `description` unresolved
129
+ * otherwise. The mirror of {@link translateTagLabel} for the `description`
130
+ * field, on the same seam: a def with no `descriptionKey` (a pack seeded
131
+ * before the field existed, or one that never sets it) keeps showing
132
+ * `description` exactly as it always has — including `undefined`, when the
133
+ * def carries no description at all.
134
+ */
135
+ export declare function translateTagDescription(std: BlockStdScope, def: Pick<TagDef | TagValueDef, 'description' | 'descriptionKey'>): string | undefined;
136
+ /**
137
+ * A pack's contribution to the translation-key manifest — every `labelKey`
138
+ * (the pack's own, a tag's, or a tag value's) and every `descriptionKey` (a
139
+ * tag's or a tag value's) it declares, paired with `label` / `description`
140
+ * as its English fallback.
141
+ *
142
+ * Manual, not `collectTranslationKeys('tag', pack)`: that generic walker pairs
143
+ * a `labelKey` with a sibling `labelFallback` (the roles' / rules' own
144
+ * convention), and this format's fallback field is named `label` — the same
145
+ * field a host-seeded pack's ALREADY-localized wording lives in. Walking it
146
+ * generically would either miss the fallback entirely or, worse, treat a
147
+ * host's own pack as a manifest contribution the library never asked for.
148
+ *
149
+ * For the library's own pack ONLY (`WARDLEY_TAG_DEFS` — see
150
+ * `wardleyTranslationEntries`); a host's app-seeded pack needs no entry here,
151
+ * because it carries no key at all unless the host itself decides to add one.
152
+ */
153
+ export declare function tagDefsTranslationEntries(pack: UniverseTagDefs): TranslationKeyManifestEntry[];
73
154
  /** A seed-time problem, for a host diagnostics panel. Never thrown. */
74
155
  export type UniverseDefIssue = {
75
156
  severity: 'warning' | 'error';
@@ -24,11 +24,101 @@
24
24
  import { createIdentifier } from '../../global/di/index.js';
25
25
  import { FRAMEWORK_IDS } from '../../std/index.js';
26
26
  import { roleIsA } from '../../std/gfx/index.js';
27
+ import { translateKey } from './translation-service/index.js';
27
28
  /**
28
29
  * Lower-kebab, case-sensitive, no unicode, no dots. Hyphenated framework ids
29
30
  * are legal, so `cynefin-estuarine:domain` is well formed.
30
31
  */
31
32
  const ID_PATTERN = /^[a-z0-9][a-z0-9-]*:[a-z0-9][a-z0-9-]*(\/[a-z0-9][a-z0-9-]*)?$/;
33
+ /**
34
+ * The DISPLAYED wording of a tag def or a tag value def — {@link translateKey}
35
+ * over {@link TagDef.labelKey} / {@link TagValueDef.labelKey} when present,
36
+ * `label` unresolved otherwise (a host pack that never sets `labelKey` shows
37
+ * exactly what it always has).
38
+ *
39
+ * The one function every RENDERER of a tag label goes through — the "Qualify"
40
+ * toolbar's section titles and options (`tags-toolbar.ts`), the reading
41
+ * panel's nature value (`reading-widget.ts`). `resolveRecordNature` in
42
+ * `reading.ts` deliberately does NOT: it matches an external record's words
43
+ * against `label`, which is a comparison and not a display, and the wording it
44
+ * matches against is the one the record itself was written with.
45
+ *
46
+ * The same shape resolves a PACK's own `label` too (`UniverseTagDefs.label` /
47
+ * `.labelKey`): both carry an identical `{ label, labelKey? }` pair, so no
48
+ * second function is needed for it.
49
+ */
50
+ export function translateTagLabel(std, def) {
51
+ return def.labelKey ? translateKey(std, def.labelKey, def.label) : def.label;
52
+ }
53
+ /**
54
+ * The DISPLAYED description of a tag def or a tag value def —
55
+ * {@link translateKey} over {@link TagDef.descriptionKey} /
56
+ * {@link TagValueDef.descriptionKey} when present, `description` unresolved
57
+ * otherwise. The mirror of {@link translateTagLabel} for the `description`
58
+ * field, on the same seam: a def with no `descriptionKey` (a pack seeded
59
+ * before the field existed, or one that never sets it) keeps showing
60
+ * `description` exactly as it always has — including `undefined`, when the
61
+ * def carries no description at all.
62
+ */
63
+ export function translateTagDescription(std, def) {
64
+ if (!def.descriptionKey)
65
+ return def.description;
66
+ return translateKey(std, def.descriptionKey, def.description ?? '');
67
+ }
68
+ /**
69
+ * A pack's contribution to the translation-key manifest — every `labelKey`
70
+ * (the pack's own, a tag's, or a tag value's) and every `descriptionKey` (a
71
+ * tag's or a tag value's) it declares, paired with `label` / `description`
72
+ * as its English fallback.
73
+ *
74
+ * Manual, not `collectTranslationKeys('tag', pack)`: that generic walker pairs
75
+ * a `labelKey` with a sibling `labelFallback` (the roles' / rules' own
76
+ * convention), and this format's fallback field is named `label` — the same
77
+ * field a host-seeded pack's ALREADY-localized wording lives in. Walking it
78
+ * generically would either miss the fallback entirely or, worse, treat a
79
+ * host's own pack as a manifest contribution the library never asked for.
80
+ *
81
+ * For the library's own pack ONLY (`WARDLEY_TAG_DEFS` — see
82
+ * `wardleyTranslationEntries`); a host's app-seeded pack needs no entry here,
83
+ * because it carries no key at all unless the host itself decides to add one.
84
+ */
85
+ export function tagDefsTranslationEntries(pack) {
86
+ const out = [];
87
+ if (pack.labelKey) {
88
+ out.push({ key: pack.labelKey, fallback: pack.label, source: 'tag' });
89
+ }
90
+ for (const tag of pack.tags) {
91
+ if (tag.labelKey) {
92
+ out.push({ key: tag.labelKey, fallback: tag.label, source: 'tag' });
93
+ }
94
+ if (tag.descriptionKey) {
95
+ out.push({
96
+ key: tag.descriptionKey,
97
+ fallback: tag.description ?? '',
98
+ source: 'tag',
99
+ });
100
+ }
101
+ if (tag.values !== 'open') {
102
+ for (const value of tag.values) {
103
+ if (value.labelKey) {
104
+ out.push({
105
+ key: value.labelKey,
106
+ fallback: value.label,
107
+ source: 'tag',
108
+ });
109
+ }
110
+ if (value.descriptionKey) {
111
+ out.push({
112
+ key: value.descriptionKey,
113
+ fallback: value.description ?? '',
114
+ source: 'tag',
115
+ });
116
+ }
117
+ }
118
+ }
119
+ }
120
+ return out;
121
+ }
32
122
  /**
33
123
  * Variant-parameterized: **one registration per pack, keyed by `packId`** —
34
124
  * the same mechanism as `SpotlightHostExtension(elementType)` and
@@ -158,6 +248,8 @@ function mergeTagDef(drafts, def, pack, issue, rank) {
158
248
  const draft = existing.def;
159
249
  if (def.label !== undefined)
160
250
  draft.label = def.label;
251
+ if (def.labelKey !== undefined)
252
+ draft.labelKey = def.labelKey;
161
253
  if (def.description !== undefined)
162
254
  draft.description = def.description;
163
255
  if (def.order !== undefined)
@@ -1,4 +1,5 @@
1
1
  export { fontBaseStyle, fontSMStyle, fontXSStyle } from './font.js';
2
+ export { reducedMotionStyle, SPRING_DURATION_MS, SPRING_EASING, springDuration, springEasing, } from './motion.js';
2
3
  export { panelBaseColorsStyle, panelBaseStyle } from './panel.js';
3
4
  export { scrollbarStyle } from './scrollbar-style.js';
4
5
  export { affineTextStyles } from './text.js';
@@ -1,4 +1,5 @@
1
1
  export { fontBaseStyle, fontSMStyle, fontXSStyle } from './font.js';
2
+ export { reducedMotionStyle, SPRING_DURATION_MS, SPRING_EASING, springDuration, springEasing, } from './motion.js';
2
3
  export { panelBaseColorsStyle, panelBaseStyle } from './panel.js';
3
4
  export { scrollbarStyle } from './scrollbar-style.js';
4
5
  export { affineTextStyles } from './text.js';
@@ -0,0 +1,14 @@
1
+ /** easeOutBack: travel, overshoot a little, settle. */
2
+ export declare const SPRING_EASING = "cubic-bezier(0.34, 1.56, 0.64, 1)";
3
+ /** The house tempo of the edgeless chrome, in milliseconds. */
4
+ export declare const SPRING_DURATION_MS = 240;
5
+ /** {@link SPRING_EASING} for a `css` template. */
6
+ export declare const springEasing: import("lit").CSSResult;
7
+ /** {@link SPRING_DURATION_MS} for a `css` template. */
8
+ export declare const springDuration: import("lit").CSSResult;
9
+ /**
10
+ * Every animation and transition inside `container` off when the reader asked
11
+ * the OS for less motion. The end state is the resting state in each case, so
12
+ * dropping the animation loses nothing but the travel.
13
+ */
14
+ export declare const reducedMotionStyle: (container: string) => import("lit").CSSResult;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The chrome's motion tokens — the first of them, and deliberately only the
3
+ * values the library had already converged on by hand.
4
+ *
5
+ * The edgeless chrome has been animating at ~0.23-0.24s since upstream
6
+ * (`edgeless-toolbar.ts`, `create-popper.ts`, `date-picker/style.ts`, `toast`),
7
+ * and the fork's one overshoot curve is the senior toolbar's "pop upright"
8
+ * (`gfx/mindmap/src/toolbar/senior-tool.ts`): `cubic-bezier(0.34, 1.56, 0.64, 1)`,
9
+ * the standard easeOutBack. Nothing exported it, so the second component that
10
+ * wanted a springy settle would have invented a third easing. This module is
11
+ * where it stops being a literal.
12
+ *
13
+ * `springEasing` overshoots by design — only use it on a transform that has
14
+ * room to overshoot (a slide, a scale, a rotation), never on a colour or on
15
+ * anything whose end value must never be passed.
16
+ */
17
+ import { css, unsafeCSS } from 'lit';
18
+ /** easeOutBack: travel, overshoot a little, settle. */
19
+ export const SPRING_EASING = 'cubic-bezier(0.34, 1.56, 0.64, 1)';
20
+ /** The house tempo of the edgeless chrome, in milliseconds. */
21
+ export const SPRING_DURATION_MS = 240;
22
+ /** {@link SPRING_EASING} for a `css` template. */
23
+ export const springEasing = unsafeCSS(SPRING_EASING);
24
+ /** {@link SPRING_DURATION_MS} for a `css` template. */
25
+ export const springDuration = unsafeCSS(`${SPRING_DURATION_MS}ms`);
26
+ /**
27
+ * Every animation and transition inside `container` off when the reader asked
28
+ * the OS for less motion. The end state is the resting state in each case, so
29
+ * dropping the animation loses nothing but the travel.
30
+ */
31
+ export const reducedMotionStyle = (container) => css `
32
+ @media (prefers-reduced-motion: reduce) {
33
+ ${unsafeCSS(container)}, ${unsafeCSS(container)} * {
34
+ animation: none !important;
35
+ transition: none !important;
36
+ }
37
+ }
38
+ `;
@@ -19,6 +19,16 @@ export declare function isMiddleButtonPressed(e: MouseEvent): boolean;
19
19
  export declare function isRightButtonPressed(e: MouseEvent): boolean;
20
20
  export declare function stopPropagation(event: Event): void;
21
21
  export declare function isControlledKeyboardEvent(e: KeyboardEvent): boolean;
22
+ /**
23
+ * The editor swallows Tab, Shift-Tab and Enter so that indentation and block
24
+ * splitting stay under the control of the block-scoped handlers. That would
25
+ * however trap the focus on the native controls the editor renders (the
26
+ * collapse button of headings and lists, for instance), which then could
27
+ * neither be reached, left nor activated with the keyboard. When the event
28
+ * originates from such a control — and not from editable text — the native
29
+ * behaviour is let through.
30
+ */
31
+ export declare function isNativeFocusableTarget(target: EventTarget | null): boolean;
22
32
  export declare function isNewTabTrigger(event?: MouseEvent): boolean;
23
33
  export declare function isNewViewTrigger(event?: MouseEvent): boolean;
24
34
  export declare function on<T extends HTMLElement, K extends keyof M, M = HTMLElementEventMap>(element: T, event: K, handler: (ev: M[K]) => void, options?: boolean | AddEventListenerOptions): () => void;
@@ -37,6 +37,26 @@ export function stopPropagation(event) {
37
37
  export function isControlledKeyboardEvent(e) {
38
38
  return e.ctrlKey || e.metaKey || e.altKey;
39
39
  }
40
+ // The editor host itself carries `tabindex="0"` so that it can receive the
41
+ // keystrokes aimed at a block selection; it is the editing surface, not a
42
+ // control, hence the exclusion.
43
+ const NATIVE_FOCUSABLE_SELECTOR = 'button, a[href], input, select, textarea, [tabindex]:not([tabindex="-1"]):not(editor-host)';
44
+ /**
45
+ * The editor swallows Tab, Shift-Tab and Enter so that indentation and block
46
+ * splitting stay under the control of the block-scoped handlers. That would
47
+ * however trap the focus on the native controls the editor renders (the
48
+ * collapse button of headings and lists, for instance), which then could
49
+ * neither be reached, left nor activated with the keyboard. When the event
50
+ * originates from such a control — and not from editable text — the native
51
+ * behaviour is let through.
52
+ */
53
+ export function isNativeFocusableTarget(target) {
54
+ if (!(target instanceof Element))
55
+ return false;
56
+ if (target instanceof HTMLElement && target.isContentEditable)
57
+ return false;
58
+ return !!target.closest(NATIVE_FOCUSABLE_SELECTOR);
59
+ }
40
60
  export function isNewTabTrigger(event) {
41
61
  return event
42
62
  ? (event.ctrlKey || event.metaKey || event.button === 1) && !event.altKey
@@ -52,6 +52,22 @@ export declare function openSingleFileWith(acceptType?: AcceptTypes): Promise<Fi
52
52
  */
53
53
  export declare function openSingleFileWithSpec(spec: FilePickerSpec): Promise<File | null>;
54
54
  export declare function getImageFilesFromLocal(): Promise<File[]>;
55
+ /**
56
+ * A name a file system will accept, minus the extension.
57
+ *
58
+ * The sanitiser the framework exports each wrote for themselves
59
+ * (`wardleySafeFilename`, `c4SafeFilename`, BPMN's) — same five steps, same
60
+ * 120-character ceiling — lifted here for the callers that belong to no
61
+ * framework at all. The generic SVG export (ADR 0025) is the first of them: it
62
+ * writes a file for ELEVEN kinds of board, so it has no framework's fallback to
63
+ * borrow and takes one as a parameter instead.
64
+ *
65
+ * The three framework copies stay where they are: each is part of an
66
+ * interchange capability with its own format id and its own declared fallback
67
+ * (`map`, `board`, `process`), and rewriting them to call this one would touch
68
+ * three exported APIs for no behaviour change.
69
+ */
70
+ export declare function safeFilename(raw: string | undefined, fallback: string): string;
55
71
  export declare function downloadBlob(blob: Blob, name: string): void;
56
72
  /**
57
73
  * Because the image block and attachment block have different props.
@@ -188,6 +188,31 @@ export async function getImageFilesFromLocal() {
188
188
  const files = await openFilesWith('Images');
189
189
  return files ?? [];
190
190
  }
191
+ /**
192
+ * A name a file system will accept, minus the extension.
193
+ *
194
+ * The sanitiser the framework exports each wrote for themselves
195
+ * (`wardleySafeFilename`, `c4SafeFilename`, BPMN's) — same five steps, same
196
+ * 120-character ceiling — lifted here for the callers that belong to no
197
+ * framework at all. The generic SVG export (ADR 0025) is the first of them: it
198
+ * writes a file for ELEVEN kinds of board, so it has no framework's fallback to
199
+ * borrow and takes one as a parameter instead.
200
+ *
201
+ * The three framework copies stay where they are: each is part of an
202
+ * interchange capability with its own format id and its own declared fallback
203
+ * (`map`, `board`, `process`), and rewriting them to call this one would touch
204
+ * three exported APIs for no behaviour change.
205
+ */
206
+ export function safeFilename(raw, fallback) {
207
+ const safe = (raw ?? '')
208
+ .trim()
209
+ .replaceAll(/[\\/:*?"<>|]/g, '-')
210
+ .replaceAll(/\s+/g, ' ')
211
+ .trim()
212
+ .slice(0, 120)
213
+ .replace(/[. ]+$/, '');
214
+ return safe || fallback;
215
+ }
191
216
  export function downloadBlob(blob, name) {
192
217
  const dataURL = URL.createObjectURL(blob);
193
218
  const tmpLink = document.createElement('a');
@@ -13,6 +13,7 @@ export * from './fractional-indexing.js';
13
13
  export * from './image.js';
14
14
  export * from './insert.js';
15
15
  export * from './is-abort-error.js';
16
+ export * from './link-preview-refresh.js';
16
17
  export * from './math.js';
17
18
  export * from './model/index.js';
18
19
  export * from './popper-position.js';
@@ -13,6 +13,7 @@ export * from './fractional-indexing.js';
13
13
  export * from './image.js';
14
14
  export * from './insert.js';
15
15
  export * from './is-abort-error.js';
16
+ export * from './link-preview-refresh.js';
16
17
  export * from './math.js';
17
18
  export * from './model/index.js';
18
19
  export * from './popper-position.js';
@@ -0,0 +1,12 @@
1
+ import type { Store } from '../../store/index.js';
2
+ /**
3
+ * Whether a bookmark or embed card must refetch its link preview after a props
4
+ * change.
5
+ *
6
+ * `BlockModel.propsUpdated` carries the key only, so a subscriber cannot tell a
7
+ * local edit from an update that arrived from another peer. A readonly peer
8
+ * receives the change like everyone else; the author is the one who refetches
9
+ * and syncs the result. Without this guard every reader of the document races
10
+ * the author to rewrite the same title, description and image.
11
+ */
12
+ export declare function shouldRefreshOnPropsUpdate(store: Store, key: string): boolean;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Whether a bookmark or embed card must refetch its link preview after a props
3
+ * change.
4
+ *
5
+ * `BlockModel.propsUpdated` carries the key only, so a subscriber cannot tell a
6
+ * local edit from an update that arrived from another peer. A readonly peer
7
+ * receives the change like everyone else; the author is the one who refetches
8
+ * and syncs the result. Without this guard every reader of the document races
9
+ * the author to rewrite the same title, description and image.
10
+ */
11
+ export function shouldRefreshOnPropsUpdate(store, key) {
12
+ return key === 'url' && !store.readonly;
13
+ }
@@ -1,3 +1,4 @@
1
+ import type { BlockStdScope } from '../../../std/index.js';
1
2
  import { LitElement } from 'lit';
2
3
  declare global {
3
4
  interface HTMLElementTagNameMap {
@@ -10,6 +11,9 @@ export declare class EdgelessDndPreviewElement extends LitElement {
10
11
  accessor elementTypes: {
11
12
  type: string;
12
13
  }[];
14
+ /** Set by the caller that has one (`preview-helper.ts`) — optional so this
15
+ * element still renders (in English) when created with none. */
16
+ accessor std: BlockStdScope | undefined;
13
17
  private _getPreviewIcon;
14
18
  render(): import("lit-html").TemplateResult<1>;
15
19
  }