@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
@@ -7,13 +7,13 @@ export const TweetTooltip = html `<svg width="170" height="106" viewBox="0 0 170
7
7
  <path d="M168 0H2C0.89543 0 0 0.89543 0 2V104C0 105.105 0.89543 106 2 106H168C169.105 106 170 105.105 170 104V2C170 0.89543 169.105 0 168 0Z" fill="white"/>
8
8
  </mask>
9
9
  <g mask="url(#mask0_24732_2246)">
10
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="10" letter-spacing="0em"><tspan x="10" y="18.2727">Embed a X post (tweet).</tspan></text>
10
+ <rect x="10" y="10.7727" width="126.5" height="8" rx="4" fill="#8E8D91" fill-opacity="0.55"/>
11
11
  <path d="M174 28.5H12C10.067 28.5 8.5 30.067 8.5 32V209C8.5 210.933 10.067 212.5 12 212.5H174C175.933 212.5 177.5 210.933 177.5 209V32C177.5 30.067 175.933 28.5 174 28.5Z" fill="white" stroke="#E3E2E4"/>
12
12
  <path d="M168.244 71H17.7557C16.7861 71 16 71.2054 16 71.4588V105.541C16 105.795 16.7861 106 17.7557 106H168.244C169.214 106 170 105.795 170 105.541V71.4588C170 71.2054 169.214 71 168.244 71Z" fill="url(#pattern0_24732_2246)" stroke="#E3E2E4" stroke-width="0.5"/>
13
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" letter-spacing="0em"><tspan x="16" y="62.5454">To Shape, Not to Adapt.</tspan></text>
13
+ <rect x="16" y="55.7954" width="113.85" height="7.2" rx="3.6" fill="#121212" fill-opacity="0.3"/>
14
14
  <path d="M32 42C32 37.5817 28.4183 34 24 34C19.5817 34 16 37.5817 16 42C16 46.4183 19.5817 50 24 50C28.4183 50 32 46.4183 32 42Z" fill="url(#pattern1_24732_2246)" stroke="#E3E2E4" stroke-width="0.5"/>
15
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" letter-spacing="0em"><tspan x="38" y="45.0454">AFFiNE</tspan></text>
16
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" letter-spacing="0em"><tspan x="72" y="45.0454">@AFFiNEOfficial</tspan></text>
15
+ <rect x="38" y="38.2954" width="29.7" height="7.2" rx="3.6" fill="#121212" fill-opacity="0.3"/>
16
+ <rect x="72" y="38.2954" width="74.25" height="7.2" rx="3.6" fill="#8E8D91" fill-opacity="0.55"/>
17
17
  </g>
18
18
  </g>
19
19
  <defs>
@@ -38,26 +38,26 @@ export const LinearTooltip = html `<svg width="170" height="106" viewBox="0 0 17
38
38
  <rect width="170" height="106" rx="2" fill="white"/>
39
39
  </mask>
40
40
  <g mask="url(#mask0_16460_1097)">
41
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="10" letter-spacing="0px"><tspan x="10" y="18.6364">Insert a Linear issue.</tspan></text>
41
+ <rect x="10" y="11.1364" width="121" height="8" rx="4" fill="#8E8D91" fill-opacity="0.55"/>
42
42
  <rect x="8.5" y="28.5" width="169" height="84" rx="3.5" fill="white" stroke="#E3E2E4"/>
43
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="9" font-weight="500" letter-spacing="0em"><tspan x="18" y="44.7727">Change theme following phone case color</tspan></text>
43
+ <rect x="18" y="38.0227" width="152" height="7.2" rx="3.6" fill="#121212" fill-opacity="0.3"/>
44
44
  <g clip-path="url(#clip0_16460_1097)">
45
45
  <path fill-rule="evenodd" clip-rule="evenodd" d="M20.5474 50.5324C20.6694 50.6545 20.6694 50.8523 20.5474 50.9744L19.7835 51.7383C19.6614 51.8603 19.4636 51.8603 19.3415 51.7383C19.2195 51.6162 19.2195 51.4184 19.3415 51.2963L20.1054 50.5324C20.2275 50.4104 20.4253 50.4104 20.5474 50.5324ZM25.4526 50.5324C25.5747 50.4104 25.7725 50.4104 25.8946 50.5324L26.6585 51.2963C26.7805 51.4184 26.7805 51.6162 26.6585 51.7383C26.5364 51.8603 26.3386 51.8603 26.2165 51.7383L25.4526 50.9744C25.3306 50.8523 25.3306 50.6545 25.4526 50.5324ZM23 51.4479C21.4851 51.4479 20.2569 52.676 20.2569 54.1909C20.2569 55.7059 21.4851 56.934 23 56.934C24.5149 56.934 25.7431 55.7059 25.7431 54.1909C25.7431 52.676 24.5149 51.4479 23 51.4479ZM19.6319 54.1909C19.6319 52.3308 21.1399 50.8229 23 50.8229C24.8601 50.8229 26.3681 52.3308 26.3681 54.1909C26.3681 56.051 24.8601 57.559 23 57.559C21.1399 57.559 19.6319 56.051 19.6319 54.1909Z" fill="#8E8D91"/>
46
46
  <path fill-rule="evenodd" clip-rule="evenodd" d="M24.3321 53.316C24.4541 53.4381 24.4541 53.6359 24.3321 53.758L22.8506 55.2394C22.7286 55.3615 22.5307 55.3615 22.4087 55.2394L21.6679 54.4987C21.5459 54.3767 21.5459 54.1788 21.6679 54.0568C21.79 53.9347 21.9878 53.9347 22.1099 54.0568L22.6296 54.5765L23.8901 53.316C24.0122 53.194 24.21 53.194 24.3321 53.316Z" fill="#8E8D91"/>
47
47
  </g>
48
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" letter-spacing="0em"><tspan x="30" y="56.5455">Work in Progress &#xb7; </tspan></text>
48
+ <rect x="30" y="51.2955" width="73.15" height="5.6" rx="2.8" fill="#8E8D91" fill-opacity="0.55"/>
49
49
  <g clip-path="url(#clip1_16460_1097)">
50
50
  <path fill-rule="evenodd" clip-rule="evenodd" d="M96.6591 50.3635C96.8266 50.4054 96.9284 50.5751 96.8865 50.7425L96.4627 52.4375H98.3185L98.7802 50.5909C98.822 50.4235 98.9917 50.3217 99.1591 50.3635C99.3266 50.4054 99.4284 50.5751 99.3865 50.7425L98.9627 52.4375H100.333C100.506 52.4375 100.646 52.5774 100.646 52.75C100.646 52.9226 100.506 53.0625 100.333 53.0625H98.8065L98.3377 54.9375H99.5C99.6726 54.9375 99.8125 55.0774 99.8125 55.25C99.8125 55.4226 99.6726 55.5625 99.5 55.5625H98.1815L97.7198 57.4092C97.678 57.5766 97.5083 57.6784 97.3409 57.6365C97.1734 57.5947 97.0716 57.425 97.1135 57.2576L97.5373 55.5625H95.6815L95.2198 57.4092C95.178 57.5766 95.0083 57.6784 94.8409 57.6365C94.6734 57.5947 94.5716 57.425 94.6135 57.2576L95.0373 55.5625H93.6667C93.4941 55.5625 93.3542 55.4226 93.3542 55.25C93.3542 55.0774 93.4941 54.9375 93.6667 54.9375H95.1935L95.6623 53.0625H94.5C94.3274 53.0625 94.1875 52.9226 94.1875 52.75C94.1875 52.5774 94.3274 52.4375 94.5 52.4375H95.8185L96.2802 50.5909C96.322 50.4235 96.4917 50.3217 96.6591 50.3635ZM96.3065 53.0625L95.8377 54.9375H97.6935L98.1623 53.0625H96.3065Z" fill="#8E8D91"/>
51
51
  </g>
52
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" letter-spacing="0em"><tspan x="104" y="56.5455">High</tspan></text>
52
+ <rect x="104" y="51.2955" width="15.4" height="5.6" rx="2.8" fill="#8E8D91" fill-opacity="0.55"/>
53
53
  <rect x="16" y="65" width="12" height="12" rx="6" fill="url(#pattern0_16460_1097)"/>
54
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" font-weight="500" letter-spacing="0em"><tspan x="32" y="71.5455">qpomelo</tspan></text>
55
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" letter-spacing="0em"><tspan x="32" y="79.5455">re-assigned to </tspan></text>
56
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" font-weight="500" letter-spacing="0em"><tspan x="82.1006" y="79.5455">tsiheng</tspan></text>
54
+ <rect x="32" y="66.2955" width="26.95" height="5.6" rx="2.8" fill="#121212" fill-opacity="0.3"/>
55
+ <rect x="32" y="74.2955" width="57.75" height="5.6" rx="2.8" fill="#8E8D91" fill-opacity="0.55"/>
56
+ <rect x="82.1006" y="74.2955" width="26.95" height="5.6" rx="2.8" fill="#121212" fill-opacity="0.3"/>
57
57
  <rect x="16" y="87" width="12" height="12" rx="6" fill="url(#pattern1_16460_1097)"/>
58
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" font-weight="500" letter-spacing="0em"><tspan x="32" y="93.5455">tsiheng</tspan></text>
59
- <text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" letter-spacing="0em"><tspan x="32" y="101.545">re-assigned to </tspan></text>
60
- <text fill="#121212" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="7" font-weight="500" letter-spacing="0em"><tspan x="82.1006" y="101.545">qpomelo</tspan></text>
58
+ <rect x="32" y="88.2955" width="26.95" height="5.6" rx="2.8" fill="#121212" fill-opacity="0.3"/>
59
+ <rect x="32" y="96.295" width="57.75" height="5.6" rx="2.8" fill="#8E8D91" fill-opacity="0.55"/>
60
+ <rect x="82.1006" y="96.295" width="26.95" height="5.6" rx="2.8" fill="#121212" fill-opacity="0.3"/>
61
61
  <path d="M22 79V85" stroke="#E3E2E4" stroke-width="0.5" stroke-linecap="round" stroke-dasharray="5 5"/>
62
62
  <path d="M22 101V107" stroke="#E3E2E4" stroke-width="0.5" stroke-linecap="round" stroke-dasharray="5 5"/>
63
63
  </g>
@@ -32,12 +32,14 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
+ import { translateKey } from '../../affine-shared/services/index.js';
35
36
  import { BlockSelection } from '../../std/index.js';
36
37
  import { html } from 'lit';
37
38
  import { query } from 'lit/decorators.js';
38
39
  import { classMap } from 'lit/directives/class-map.js';
39
40
  import { styleMap } from 'lit/directives/style-map.js';
40
41
  import { EmbedBlockComponent } from '../common/embed-block-element.js';
42
+ import { EMBED_HTML_EMPTY } from '../translations.js';
41
43
  import { HtmlIcon, styles } from './styles.js';
42
44
  let EmbedHtmlBlockComponent = (() => {
43
45
  let _classSuper = EmbedBlockComponent;
@@ -83,7 +85,11 @@ let EmbedHtmlBlockComponent = (() => {
83
85
  `;
84
86
  return this.renderEmbed(() => {
85
87
  if (!this.model.props.html) {
86
- return html ` <div class="affine-html-empty">Empty</div>`;
88
+ return html `
89
+ <div class="affine-html-empty">
90
+ ${translateKey(this.std, ...EMBED_HTML_EMPTY)}
91
+ </div>
92
+ `;
87
93
  }
88
94
  return html `
89
95
  <div
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  return useValue ? value : void 0;
34
34
  };
35
35
  import { createLitPortal } from '../../../affine-components/portal/index.js';
36
- import { DocModeProvider, TelemetryProvider, } from '../../../affine-shared/services/index.js';
36
+ import { DocModeProvider, TelemetryProvider, TOOLBAR_RELOAD, translateKey, } from '../../../affine-shared/services/index.js';
37
37
  import { unsafeCSSVarV2 } from '../../../affine-shared/theme/index.js';
38
38
  import { WithDisposable } from '../../../global/lit/index.js';
39
39
  import { EditIcon, InformationIcon, ResetIcon } from '@blocksuite/icons/lit';
@@ -44,6 +44,7 @@ import { property, query } from 'lit/decorators.js';
44
44
  import { classMap } from 'lit/directives/class-map.js';
45
45
  import { styleMap } from 'lit/directives/style-map.js';
46
46
  import { ERROR_CARD_DEFAULT_HEIGHT } from '../consts.js';
47
+ import { EMBED_IFRAME_ERROR_EDIT, EMBED_IFRAME_ERROR_TITLE, } from '../../translations.js';
47
48
  const LINK_EDIT_POPUP_OFFSET = 12;
48
49
  let EmbedIframeErrorCard = (() => {
49
50
  let _classSuper = WithDisposable(LitElement);
@@ -262,7 +263,9 @@ let EmbedIframeErrorCard = (() => {
262
263
  <span class="error-icon">
263
264
  ${InformationIcon({ width: '16px', height: '16px' })}
264
265
  </span>
265
- <span class="error-title-text">This link couldn’t be loaded.</span>
266
+ <span class="error-title-text"
267
+ >${translateKey(this.std, ...EMBED_IFRAME_ERROR_TITLE)}</span
268
+ >
266
269
  </div>
267
270
  <div class="error-message">
268
271
  ${this.error?.message || 'Failed to load embedded content'}
@@ -275,14 +278,18 @@ let EmbedIframeErrorCard = (() => {
275
278
  <span class="icon"
276
279
  >${EditIcon({ width: '16px', height: '16px' })}</span
277
280
  >
278
- <span class="text">Edit</span>
281
+ <span class="text"
282
+ >${translateKey(this.std, ...EMBED_IFRAME_ERROR_EDIT)}</span
283
+ >
279
284
  </div>
280
285
  `}
281
286
  <div class="button retry" @click=${this._handleRetry}>
282
287
  <span class="icon"
283
288
  >${ResetIcon({ width: '16px', height: '16px' })}</span
284
289
  >
285
- <span class="text">Reload</span>
290
+ <span class="text"
291
+ >${translateKey(this.std, ...TOOLBAR_RELOAD)}</span
292
+ >
286
293
  </div>
287
294
  </div>
288
295
  </div>
@@ -1,9 +1,11 @@
1
+ import type { BlockStdScope } from '../../../std/index.js';
1
2
  import { LitElement } from 'lit';
2
3
  import type { EmbedIframeStatusCardOptions } from '../types.js';
3
4
  declare const EmbedIframeIdleCard_base: typeof LitElement & import("../../../global/utils/types.js").Constructor<import("../../../global/lit/with-disposable.js").DisposableClass>;
4
5
  export declare class EmbedIframeIdleCard extends EmbedIframeIdleCard_base {
5
6
  static styles: import("lit").CSSResult;
6
7
  render(): import("lit-html").TemplateResult<1>;
8
+ accessor std: BlockStdScope;
7
9
  accessor options: EmbedIframeStatusCardOptions;
8
10
  }
9
11
  export {};
@@ -32,6 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
+ import { translateKey } from '../../../affine-shared/services/index.js';
35
36
  import { unsafeCSSVarV2 } from '../../../affine-shared/theme/index.js';
36
37
  import { WithDisposable } from '../../../global/lit/index.js';
37
38
  import { EmbedIcon } from '@blocksuite/icons/lit';
@@ -41,15 +42,21 @@ import { property } from 'lit/decorators.js';
41
42
  import { classMap } from 'lit/directives/class-map.js';
42
43
  import { styleMap } from 'lit/directives/style-map.js';
43
44
  import { IDLE_CARD_DEFAULT_HEIGHT } from '../consts.js';
45
+ import { EMBED_IFRAME_IDLE_TEXT } from '../../translations.js';
44
46
  let EmbedIframeIdleCard = (() => {
45
47
  let _classSuper = WithDisposable(LitElement);
48
+ let _std_decorators;
49
+ let _std_initializers = [];
50
+ let _std_extraInitializers = [];
46
51
  let _options_decorators;
47
52
  let _options_initializers = [];
48
53
  let _options_extraInitializers = [];
49
54
  return class EmbedIframeIdleCard extends _classSuper {
50
55
  static {
51
56
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
57
+ _std_decorators = [property({ attribute: false })];
52
58
  _options_decorators = [property({ attribute: false })];
59
+ __esDecorate(this, null, _std_decorators, { kind: "accessor", name: "std", static: false, private: false, access: { has: obj => "std" in obj, get: obj => obj.std, set: (obj, value) => { obj.std = value; } }, metadata: _metadata }, _std_initializers, _std_extraInitializers);
53
60
  __esDecorate(this, null, _options_decorators, { kind: "accessor", name: "options", static: false, private: false, access: { has: obj => "options" in obj, get: obj => obj.options, set: (obj, value) => { obj.options = value; } }, metadata: _metadata }, _options_initializers, _options_extraInitializers);
54
61
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
62
  }
@@ -157,15 +164,18 @@ let EmbedIframeIdleCard = (() => {
157
164
  <div class=${cardClasses} style=${cardStyle}>
158
165
  <span class="icon"> ${EmbedIcon()} </span>
159
166
  <span class="text">
160
- Embed anything (Google Drive, Google Docs, Spotify, Miro…)
167
+ ${translateKey(this.std, ...EMBED_IFRAME_IDLE_TEXT)}
161
168
  </span>
162
169
  </div>
163
170
  `;
164
171
  }
165
- #options_accessor_storage = __runInitializers(this, _options_initializers, {
172
+ #std_accessor_storage = __runInitializers(this, _std_initializers, void 0);
173
+ get std() { return this.#std_accessor_storage; }
174
+ set std(value) { this.#std_accessor_storage = value; }
175
+ #options_accessor_storage = (__runInitializers(this, _std_extraInitializers), __runInitializers(this, _options_initializers, {
166
176
  layout: 'horizontal',
167
177
  height: IDLE_CARD_DEFAULT_HEIGHT,
168
- });
178
+ }));
169
179
  get options() { return this.#options_accessor_storage; }
170
180
  set options(value) { this.#options_accessor_storage = value; }
171
181
  constructor() {
@@ -1,4 +1,4 @@
1
- import { DocModeProvider, TelemetryProvider, } from '../../../affine-shared/services/index.js';
1
+ import { DocModeProvider, TelemetryProvider, TOOLBAR_LINK, translateKey, } from '../../../affine-shared/services/index.js';
2
2
  import { unsafeCSSVar, unsafeCSSVarV2 } from '../../../affine-shared/theme/index.js';
3
3
  import { SignalWatcher } from '../../../global/lit/index.js';
4
4
  import { DoneIcon } from '@blocksuite/icons/lit';
@@ -79,7 +79,9 @@ export class EmbedIframeLinkEditPopup extends SignalWatcher(EmbedIframeLinkInput
79
79
  return html `
80
80
  <div class="embed-iframe-link-edit-popup">
81
81
  <div class="input-container">
82
- <span class="input-label">Link</span>
82
+ <span class="input-label"
83
+ >${translateKey(this.std, ...TOOLBAR_LINK)}</span
84
+ >
83
85
  <input
84
86
  class="link-input"
85
87
  type="text"
@@ -32,13 +32,14 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { EmbedIframeService, NotificationProvider, } from '../../../affine-shared/services/index.js';
35
+ import { EmbedIframeService, NotificationProvider, translateKey, } from '../../../affine-shared/services/index.js';
36
36
  import { isValidUrl, stopPropagation } from '../../../affine-shared/utils/index.js';
37
37
  import { WithDisposable } from '../../../global/lit/index.js';
38
38
  import { noop } from '../../../global/utils/index.js';
39
39
  import { BlockSelection, SurfaceSelection, } from '../../../std/index.js';
40
40
  import { LitElement } from 'lit';
41
41
  import { property, query, state } from 'lit/decorators.js';
42
+ import { EMBED_IFRAME_CREATION_ERROR_FALLBACK, EMBED_IFRAME_CREATION_ERROR_TITLE, EMBED_IFRAME_INVALID_URL_MESSAGE, EMBED_IFRAME_INVALID_URL_TITLE, } from '../../translations.js';
42
43
  let EmbedIframeLinkInputBase = (() => {
43
44
  let _classSuper = WithDisposable(LitElement);
44
45
  let __linkInputValue_decorators;
@@ -87,8 +88,8 @@ let EmbedIframeLinkInputBase = (() => {
87
88
  tryToAddBookmark(url) {
88
89
  if (!isValidUrl(url)) {
89
90
  this.notificationService?.notify({
90
- title: 'Invalid URL',
91
- message: 'Please enter a valid URL',
91
+ title: translateKey(this.std, ...EMBED_IFRAME_INVALID_URL_TITLE),
92
+ message: translateKey(this.std, ...EMBED_IFRAME_INVALID_URL_MESSAGE),
92
93
  accent: 'error',
93
94
  onClose: function () { },
94
95
  });
@@ -143,8 +144,10 @@ let EmbedIframeLinkInputBase = (() => {
143
144
  catch (error) {
144
145
  this.track('failure');
145
146
  this.notificationService?.notify({
146
- title: 'Error in embed iframe creation',
147
- message: error instanceof Error ? error.message : 'Please try again',
147
+ title: translateKey(this.std, ...EMBED_IFRAME_CREATION_ERROR_TITLE),
148
+ message: error instanceof Error
149
+ ? error.message
150
+ : translateKey(this.std, ...EMBED_IFRAME_CREATION_ERROR_FALLBACK),
148
151
  accent: 'error',
149
152
  onClose: function () { },
150
153
  });
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
32
32
  }
33
33
  return useValue ? value : void 0;
34
34
  };
35
- import { DocModeProvider, TelemetryProvider, } from '../../../affine-shared/services/index.js';
35
+ import { DocModeProvider, TelemetryProvider, translateKey, } from '../../../affine-shared/services/index.js';
36
36
  import { unsafeCSSVar, unsafeCSSVarV2 } from '../../../affine-shared/theme/index.js';
37
37
  import { CloseIcon } from '@blocksuite/icons/lit';
38
38
  import { baseTheme } from '@toeverything/theme';
@@ -40,6 +40,7 @@ import { css, html, nothing, unsafeCSS } from 'lit';
40
40
  import { property } from 'lit/decorators.js';
41
41
  import { classMap } from 'lit/directives/class-map.js';
42
42
  import { ifDefined } from 'lit/directives/if-defined.js';
43
+ import { EMBED_CONFIRM, EMBED_IFRAME_LINK_POPUP_DESCRIPTION, EMBED_IFRAME_LINK_POPUP_PLACEHOLDER, EMBED_IFRAME_LINK_POPUP_TITLE, } from '../../translations.js';
43
44
  import { EmbedIframeLinkInputBase } from './embed-iframe-link-input-base.js';
44
45
  const DEFAULT_OPTIONS = {
45
46
  showCloseButton: false,
@@ -257,6 +258,21 @@ let EmbedIframeLinkInputPopup = (() => {
257
258
  render() {
258
259
  const options = { ...DEFAULT_OPTIONS, ...this.options };
259
260
  const { showCloseButton, variant, title, description, placeholder } = options;
261
+ const { std } = this;
262
+ // The three wordings below are ALWAYS the (untranslated) defaults today —
263
+ // no caller overrides them (see `../../translations.ts`,
264
+ // `EMBED_IFRAME_LINK_POPUP_TITLE`'s doc comment) — but the identity check
265
+ // keeps a future custom `options.title/description/placeholder` showing
266
+ // its own literal instead of being silently translated as if it were ours.
267
+ const titleText = title === DEFAULT_OPTIONS.title
268
+ ? translateKey(std, ...EMBED_IFRAME_LINK_POPUP_TITLE)
269
+ : title;
270
+ const descriptionText = description === DEFAULT_OPTIONS.description
271
+ ? translateKey(std, ...EMBED_IFRAME_LINK_POPUP_DESCRIPTION)
272
+ : description;
273
+ const placeholderText = placeholder === DEFAULT_OPTIONS.placeholder
274
+ ? translateKey(std, ...EMBED_IFRAME_LINK_POPUP_PLACEHOLDER)
275
+ : placeholder;
260
276
  const modalMainWrapperClass = classMap({
261
277
  'link-input-popup-main-wrapper': true,
262
278
  mobile: variant === 'mobile',
@@ -271,13 +287,13 @@ let EmbedIframeLinkInputPopup = (() => {
271
287
  `
272
288
  : nothing}
273
289
  <div class="link-input-popup-content-wrapper">
274
- <div class="title">${title}</div>
275
- <div class="description">${description}</div>
290
+ <div class="title">${titleText}</div>
291
+ <div class="description">${descriptionText}</div>
276
292
  <div class="input-container">
277
293
  <input
278
294
  class="link-input"
279
295
  type="text"
280
- placeholder=${ifDefined(placeholder)}
296
+ placeholder=${ifDefined(placeholderText)}
281
297
  @input=${this.handleInput}
282
298
  @keydown=${this.handleKeyDown}
283
299
  />
@@ -289,7 +305,7 @@ let EmbedIframeLinkInputPopup = (() => {
289
305
  @click=${this.onConfirm}
290
306
  ?disabled=${this.isInputEmpty()}
291
307
  >
292
- Confirm
308
+ ${translateKey(std, ...EMBED_CONFIRM)}
293
309
  </div>
294
310
  </div>
295
311
  </div>
@@ -33,6 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
33
33
  return useValue ? value : void 0;
34
34
  };
35
35
  import { LoadingIcon } from '../../../affine-components/icons/index.js';
36
+ import { CHROME_LOADING, translateKey } from '../../../affine-shared/services/index.js';
36
37
  import { unsafeCSSVarV2 } from '../../../affine-shared/theme/index.js';
37
38
  import { EmbedIcon } from '@blocksuite/icons/lit';
38
39
  import {} from '../../../std/index.js';
@@ -217,7 +218,9 @@ let EmbedIframeLoadingCard = (() => {
217
218
  <div class=${cardClasses} style=${cardStyle}>
218
219
  <div class="loading-content">
219
220
  <div class="loading-spinner">${LoadingIcon()}</div>
220
- <div class="loading-text">Loading...</div>
221
+ <div class="loading-text">
222
+ ${translateKey(this.std, ...CHROME_LOADING)}
223
+ </div>
221
224
  </div>
222
225
  <div class="loading-banner">
223
226
  <div class="icon-box">${EmbedIcon()}</div>
@@ -1,16 +1,20 @@
1
1
  import { getSelectedModelsCommand } from '../../../../affine-shared/commands/index.js';
2
2
  import { EmbedIcon } from '@blocksuite/icons/lit';
3
3
  import { insertEmptyEmbedIframeCommand } from '../../commands/insert-empty-embed-iframe.js';
4
+ import { EMBED_IFRAME_SLASH_DESCRIPTION, EMBED_IFRAME_SLASH_NAME, } from '../../../translations.js';
4
5
  import { EmbedIframeTooltip } from './tooltip.js';
5
6
  export const embedIframeSlashMenuConfig = {
6
7
  items: [
7
8
  {
8
9
  name: 'Embed',
10
+ nameWording: EMBED_IFRAME_SLASH_NAME,
9
11
  description: 'For Google Drive, and more.',
12
+ descriptionWording: EMBED_IFRAME_SLASH_DESCRIPTION,
10
13
  icon: EmbedIcon(),
11
14
  tooltip: {
12
15
  figure: EmbedIframeTooltip,
13
16
  caption: 'Embed',
17
+ captionWording: EMBED_IFRAME_SLASH_NAME,
14
18
  },
15
19
  group: '4_Content & Media@5',
16
20
  when: ({ model }) => {
@@ -19,6 +19,7 @@ export declare const builtinToolbarConfig: {
19
19
  }, ToolbarAction, {
20
20
  readonly id: "e.convert-to-linked-doc";
21
21
  readonly tooltip: "Create Linked Doc";
22
+ readonly tooltipWording: import("../../../affine-shared/services/index.js").ChromeWording;
22
23
  readonly icon: import("lit-html").TemplateResult<1>;
23
24
  readonly run: (ctx: ToolbarContext) => void;
24
25
  }, {
@@ -39,6 +40,7 @@ export declare const builtinToolbarConfig: {
39
40
  readonly placement: ActionPlacement.More;
40
41
  readonly id: "b.reload";
41
42
  readonly label: "Reload";
43
+ readonly labelWording: import("../../../affine-shared/services/index.js").ChromeWording;
42
44
  readonly icon: import("lit-html").TemplateResult<1>;
43
45
  readonly run: (ctx: ToolbarContext) => void;
44
46
  }, {
@@ -2,7 +2,7 @@ import { reassociateConnectorsCommand } from '../../../affine-block-surface/inde
2
2
  import { toast } from '../../../affine-components/toast/index.js';
3
3
  import { BookmarkStyles, EmbedIframeBlockModel } from '../../../affine-model/index.js';
4
4
  import { EMBED_CARD_HEIGHT, EMBED_CARD_WIDTH, } from '../../../affine-shared/consts/index.js';
5
- import { ActionPlacement, TOAST_COPIED_TO_CLIPBOARD, TOOLBAR_CARD_VIEW, TOOLBAR_COPY, TOOLBAR_DELETE, TOOLBAR_DUPLICATE, TOOLBAR_EMBED_VIEW, TOOLBAR_INLINE_VIEW, toolbarActionLabel, ToolbarModuleExtension, translateKey, } from '../../../affine-shared/services/index.js';
5
+ import { ActionPlacement, TOAST_COPIED_TO_CLIPBOARD, TOOLBAR_CAPTION, TOOLBAR_CARD_VIEW, TOOLBAR_COPY, TOOLBAR_DELETE, TOOLBAR_DUPLICATE, TOOLBAR_EMBED_VIEW, TOOLBAR_INLINE_VIEW, TOOLBAR_RELOAD, toolbarActionLabel, ToolbarModuleExtension, translateKey, } from '../../../affine-shared/services/index.js';
6
6
  import { getBlockProps } from '../../../affine-shared/utils/index.js';
7
7
  import { Bound } from '../../../global/gfx/index.js';
8
8
  import { CaptionIcon, CopyIcon, DeleteIcon, DuplicateIcon, LinkedPageIcon, OpenInNewIcon, ResetIcon, } from '@blocksuite/icons/lit';
@@ -13,6 +13,7 @@ import { html } from 'lit';
13
13
  import { keyed } from 'lit/directives/keyed.js';
14
14
  import * as Y from 'yjs';
15
15
  import { convertSelectedBlocksToLinkedDoc, getTitleFromSelectedModels, notifyDocCreated, promptDocTitle, } from '../../common/render-linked-doc.js';
16
+ import { EMBED_IFRAME_TOOLBAR_CREATE_LINKED_DOC, EMBED_IFRAME_TOOLBAR_ORIGINAL, } from '../../translations.js';
16
17
  import { EmbedIframeBlockComponent } from '../embed-iframe-block.js';
17
18
  const trackBaseProps = {
18
19
  category: 'embed iframe block',
@@ -28,6 +29,7 @@ const openLinkAction = (id) => {
28
29
  id,
29
30
  when: showWhenUrlExists,
30
31
  tooltip: 'Original',
32
+ tooltipWording: EMBED_IFRAME_TOOLBAR_ORIGINAL,
31
33
  icon: OpenInNewIcon(),
32
34
  run(ctx) {
33
35
  const component = ctx.getCurrentBlockByType(EmbedIframeBlockComponent);
@@ -44,6 +46,7 @@ const captionAction = (id) => {
44
46
  id,
45
47
  when: showWhenUrlExists,
46
48
  tooltip: 'Caption',
49
+ tooltipWording: TOOLBAR_CAPTION,
47
50
  icon: CaptionIcon(),
48
51
  run(ctx) {
49
52
  const component = ctx.getCurrentBlockByType(EmbedIframeBlockComponent);
@@ -151,6 +154,7 @@ export const builtinToolbarConfig = {
151
154
  {
152
155
  id: 'e.convert-to-linked-doc',
153
156
  tooltip: 'Create Linked Doc',
157
+ tooltipWording: EMBED_IFRAME_TOOLBAR_CREATE_LINKED_DOC,
154
158
  icon: LinkedPageIcon(),
155
159
  run(ctx) {
156
160
  const model = ctx.getCurrentModelByType(EmbedIframeBlockModel);
@@ -227,6 +231,7 @@ export const builtinToolbarConfig = {
227
231
  placement: ActionPlacement.More,
228
232
  id: 'b.reload',
229
233
  label: 'Reload',
234
+ labelWording: TOOLBAR_RELOAD,
230
235
  icon: ResetIcon(),
231
236
  run(ctx) {
232
237
  const component = ctx.getCurrentBlockByType(EmbedIframeBlockComponent);
@@ -4,6 +4,8 @@ export declare const EMBED_IFRAME_DEFAULT_CONTAINER_BORDER_RADIUS = 8;
4
4
  export declare const DEFAULT_IFRAME_HEIGHT = 152;
5
5
  export declare const DEFAULT_IFRAME_WIDTH = "100%";
6
6
  export declare const LINK_CREATE_POPUP_OFFSET = 4;
7
+ export declare const TRUSTED_SANDBOX = "allow-same-origin allow-scripts allow-forms allow-presentation";
8
+ export declare const UNTRUSTED_SANDBOX = "allow-scripts";
7
9
  export declare const IDLE_CARD_DEFAULT_HEIGHT = 48;
8
10
  export declare const LOADING_CARD_DEFAULT_HEIGHT = 114;
9
11
  export declare const ERROR_CARD_DEFAULT_HEIGHT = 114;
@@ -4,6 +4,11 @@ export const EMBED_IFRAME_DEFAULT_CONTAINER_BORDER_RADIUS = 8;
4
4
  export const DEFAULT_IFRAME_HEIGHT = 152;
5
5
  export const DEFAULT_IFRAME_WIDTH = '100%';
6
6
  export const LINK_CREATE_POPUP_OFFSET = 4;
7
+ // Sandbox granted to an embed served by a known provider (spotify, miro, …).
8
+ export const TRUSTED_SANDBOX = 'allow-same-origin allow-scripts allow-forms allow-presentation';
9
+ // Sandbox granted to an arbitrary url: the generic provider, or no provider at
10
+ // all. Without `allow-same-origin` the frame runs on an opaque origin.
11
+ export const UNTRUSTED_SANDBOX = 'allow-scripts';
7
12
  export const IDLE_CARD_DEFAULT_HEIGHT = 48;
8
13
  export const LOADING_CARD_DEFAULT_HEIGHT = 114;
9
14
  export const ERROR_CARD_DEFAULT_HEIGHT = 114;
@@ -21,6 +21,7 @@ export declare class EmbedIframeBlockComponent extends CaptionedBlockComponent<E
21
21
  readonly showOverlay$: ReadonlySignal<boolean>;
22
22
  readonly selectedBorderRadius$: ReadonlySignal<number>;
23
23
  protected iframeOptions: IframeOptions | undefined;
24
+ private currentConfigName;
24
25
  get embedIframeService(): EmbedIframeService;
25
26
  get linkPreviewService(): import("../../affine-shared/services/index.js").LinkPreviewProvider;
26
27
  get notificationService(): import("../../affine-shared/services/notification-service.js").NotificationService | null;
@@ -36,7 +36,7 @@ import { SurfaceBlockModel } from '../../affine-block-surface/index.js';
36
36
  import { CaptionedBlockComponent, SelectedStyle, } from '../../affine-components/caption/index.js';
37
37
  import { createLitPortal } from '../../affine-components/portal/index.js';
38
38
  import { EmbedIframeService, LinkPreviewServiceIdentifier, NotificationProvider, TOAST_NO_LINK_FOUND, translateKey, } from '../../affine-shared/services/index.js';
39
- import { matchModels } from '../../affine-shared/utils/index.js';
39
+ import { matchModels, shouldRefreshOnPropsUpdate, } from '../../affine-shared/utils/index.js';
40
40
  import { BlockSuiteError, ErrorCode } from '../../global/exceptions/index.js';
41
41
  import { BlockSelection } from '../../std/index.js';
42
42
  import { flip, offset, shift } from '@floating-ui/dom';
@@ -46,9 +46,10 @@ import { query } from 'lit/decorators.js';
46
46
  import { classMap } from 'lit/directives/class-map.js';
47
47
  import { ifDefined } from 'lit/directives/if-defined.js';
48
48
  import { styleMap } from 'lit/directives/style-map.js';
49
- import { DEFAULT_IFRAME_HEIGHT, DEFAULT_IFRAME_WIDTH, EMBED_IFRAME_DEFAULT_CONTAINER_BORDER_RADIUS, ERROR_CARD_DEFAULT_HEIGHT, IDLE_CARD_DEFAULT_HEIGHT, LINK_CREATE_POPUP_OFFSET, LOADING_CARD_DEFAULT_HEIGHT, } from './consts.js';
49
+ import { DEFAULT_IFRAME_HEIGHT, DEFAULT_IFRAME_WIDTH, EMBED_IFRAME_DEFAULT_CONTAINER_BORDER_RADIUS, ERROR_CARD_DEFAULT_HEIGHT, IDLE_CARD_DEFAULT_HEIGHT, LINK_CREATE_POPUP_OFFSET, LOADING_CARD_DEFAULT_HEIGHT, TRUSTED_SANDBOX, UNTRUSTED_SANDBOX, } from './consts.js';
50
50
  import { embedIframeBlockStyles } from './style.js';
51
- import { safeGetIframeSrc } from './utils.js';
51
+ import { isSafeEmbedUrl, safeGetIframeSrc } from './utils.js';
52
+ import { EMBED_IFRAME_NO_LINK_MESSAGE } from '../translations.js';
52
53
  let EmbedIframeBlockComponent = (() => {
53
54
  let _classSuper = CaptionedBlockComponent;
54
55
  let __blockContainer_decorators;
@@ -121,7 +122,7 @@ let EmbedIframeBlockComponent = (() => {
121
122
  }
122
123
  // refresh data when original url changes
123
124
  this.disposables.add(this.model.propsUpdated.subscribe(({ key }) => {
124
- if (key === 'url') {
125
+ if (shouldRefreshOnPropsUpdate(this.store, key)) {
125
126
  this.refreshData().catch(console.error);
126
127
  }
127
128
  }));
@@ -218,18 +219,21 @@ let EmbedIframeBlockComponent = (() => {
218
219
  return EMBED_IFRAME_DEFAULT_CONTAINER_BORDER_RADIUS;
219
220
  });
220
221
  this.iframeOptions = undefined;
222
+ // the name of the provider config matched by the original url, if any
223
+ this.currentConfigName = undefined;
221
224
  this.open = () => {
222
225
  const link = this.model.props.url;
223
- if (!link) {
226
+ // a non http(s) link would run in the opener context, never open it
227
+ if (!isSafeEmbedUrl(link)) {
224
228
  this.notificationService?.notify({
225
229
  title: translateKey(this.std, ...TOAST_NO_LINK_FOUND),
226
- message: 'Please set a link to the block',
230
+ message: translateKey(this.std, ...EMBED_IFRAME_NO_LINK_MESSAGE),
227
231
  accent: 'warning',
228
232
  onClose: function () { },
229
233
  });
230
234
  return;
231
235
  }
232
- window.open(link, '_blank');
236
+ window.open(link, '_blank', 'noopener,noreferrer');
233
237
  };
234
238
  this.refreshData = async () => {
235
239
  try {
@@ -324,6 +328,7 @@ let EmbedIframeBlockComponent = (() => {
324
328
  const config = this.embedIframeService?.getConfig(url);
325
329
  if (config) {
326
330
  this.iframeOptions = config.options;
331
+ this.currentConfigName = config.name;
327
332
  }
328
333
  };
329
334
  this._handleDoubleClick = () => {
@@ -358,11 +363,28 @@ let EmbedIframeBlockComponent = (() => {
358
363
  };
359
364
  this._renderIframe = () => {
360
365
  const { iframeUrl } = this.model.props;
361
- const { widthPercent, heightInNote, style, allow, referrerpolicy, scrolling, allowFullscreen, } = this.iframeOptions ?? {};
366
+ // the url comes from the document: refuse to give a non http(s) one to src
367
+ if (!isSafeEmbedUrl(iframeUrl)) {
368
+ return html `<embed-iframe-error-card
369
+ .error=${new Error('Invalid iframe URL')}
370
+ .model=${this.model}
371
+ .onRetry=${this._handleRetry}
372
+ .std=${this.std}
373
+ .inSurface=${this.inSurface}
374
+ .options=${this._statusCardOptions}
375
+ ></embed-iframe-error-card>`;
376
+ }
377
+ const { widthPercent, heightInNote, style, allow, referrerpolicy, scrolling, allowFullscreen, sandbox, } = this.iframeOptions ?? {};
362
378
  const width = `${widthPercent}%`;
363
379
  // if the block is in the surface, use 100% as the height
364
380
  // otherwise, use the heightInNote
365
381
  const height = this.inSurface ? '100%' : heightInNote;
382
+ // a provider may widen its own sandbox; an arbitrary url (generic config,
383
+ // or no config at all) only ever gets the untrusted one
384
+ const sandboxValue = sandbox ??
385
+ (this.currentConfigName && this.currentConfigName !== 'generic'
386
+ ? TRUSTED_SANDBOX
387
+ : UNTRUSTED_SANDBOX);
366
388
  return html `
367
389
  <iframe
368
390
  width=${width ?? DEFAULT_IFRAME_WIDTH}
@@ -371,7 +393,8 @@ let EmbedIframeBlockComponent = (() => {
371
393
  loading="lazy"
372
394
  frameborder="0"
373
395
  credentialless
374
- src=${ifDefined(iframeUrl)}
396
+ sandbox=${sandboxValue}
397
+ src=${iframeUrl}
375
398
  allow=${ifDefined(allow)}
376
399
  referrerpolicy=${ifDefined(referrerpolicy)}
377
400
  scrolling=${ifDefined(scrolling)}
@@ -382,6 +405,7 @@ let EmbedIframeBlockComponent = (() => {
382
405
  this._renderContent = () => {
383
406
  if (this.isIdle$.value) {
384
407
  return html `<embed-iframe-idle-card
408
+ .std=${this.std}
385
409
  .options=${this._statusCardOptions}
386
410
  ></embed-iframe-idle-card>`;
387
411
  }
@@ -13,6 +13,14 @@ export interface EmbedIframeUrlValidationOptions {
13
13
  * @returns Whether the url is valid
14
14
  */
15
15
  export declare function validateEmbedIframeUrl(url: string, options: EmbedIframeUrlValidationOptions): boolean;
16
+ /**
17
+ * Whether a url stored in the document may be handed to an iframe `src` or to
18
+ * `window.open`. Only http(s) passes: the url comes from a collaborative
19
+ * document, so a `javascript:` or `data:` one must never reach the browser.
20
+ * @param url URL to check
21
+ * @returns Whether the url is safe to navigate to
22
+ */
23
+ export declare function isSafeEmbedUrl(url: string | undefined): url is string;
16
24
  /**
17
25
  * Safely extracts the src URL from an iframe HTML string
18
26
  * @param htmlString The iframe HTML string to parse