@univerjs-pro/embed-ui 1.0.0-beta.1 → 1.0.0-beta.2

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 (117) hide show
  1. package/lib/cjs/index.js +1 -1
  2. package/lib/cjs/locale/ar-SA.js +1 -1
  3. package/lib/cjs/locale/ca-ES.js +1 -1
  4. package/lib/cjs/locale/de-DE.js +1 -1
  5. package/lib/cjs/locale/en-US.js +1 -1
  6. package/lib/cjs/locale/es-ES.js +1 -1
  7. package/lib/cjs/locale/fa-IR.js +1 -1
  8. package/lib/cjs/locale/fr-FR.js +1 -1
  9. package/lib/cjs/locale/id-ID.js +1 -1
  10. package/lib/cjs/locale/it-IT.js +1 -1
  11. package/lib/cjs/locale/ja-JP.js +1 -1
  12. package/lib/cjs/locale/ko-KR.js +1 -1
  13. package/lib/cjs/locale/pl-PL.js +1 -1
  14. package/lib/cjs/locale/pt-BR.js +1 -1
  15. package/lib/cjs/locale/ru-RU.js +1 -1
  16. package/lib/cjs/locale/sk-SK.js +1 -1
  17. package/lib/cjs/locale/vi-VN.js +1 -1
  18. package/lib/cjs/locale/zh-CN.js +1 -1
  19. package/lib/cjs/locale/zh-HK.js +1 -1
  20. package/lib/cjs/locale/zh-TW.js +1 -1
  21. package/lib/es/index.js +1 -1
  22. package/lib/es/locale/ar-SA.js +1 -1
  23. package/lib/es/locale/ca-ES.js +1 -1
  24. package/lib/es/locale/de-DE.js +1 -1
  25. package/lib/es/locale/en-US.js +1 -1
  26. package/lib/es/locale/es-ES.js +1 -1
  27. package/lib/es/locale/fa-IR.js +1 -1
  28. package/lib/es/locale/fr-FR.js +1 -1
  29. package/lib/es/locale/id-ID.js +1 -1
  30. package/lib/es/locale/it-IT.js +1 -1
  31. package/lib/es/locale/ja-JP.js +1 -1
  32. package/lib/es/locale/ko-KR.js +1 -1
  33. package/lib/es/locale/pl-PL.js +1 -1
  34. package/lib/es/locale/pt-BR.js +1 -1
  35. package/lib/es/locale/ru-RU.js +1 -1
  36. package/lib/es/locale/sk-SK.js +1 -1
  37. package/lib/es/locale/vi-VN.js +1 -1
  38. package/lib/es/locale/zh-CN.js +1 -1
  39. package/lib/es/locale/zh-HK.js +1 -1
  40. package/lib/es/locale/zh-TW.js +1 -1
  41. package/lib/index.css +115 -24
  42. package/lib/index.js +1 -1
  43. package/lib/locale/ar-SA.js +1 -1
  44. package/lib/locale/ca-ES.js +1 -1
  45. package/lib/locale/de-DE.js +1 -1
  46. package/lib/locale/en-US.js +1 -1
  47. package/lib/locale/es-ES.js +1 -1
  48. package/lib/locale/fa-IR.js +1 -1
  49. package/lib/locale/fr-FR.js +1 -1
  50. package/lib/locale/id-ID.js +1 -1
  51. package/lib/locale/it-IT.js +1 -1
  52. package/lib/locale/ja-JP.js +1 -1
  53. package/lib/locale/ko-KR.js +1 -1
  54. package/lib/locale/pl-PL.js +1 -1
  55. package/lib/locale/pt-BR.js +1 -1
  56. package/lib/locale/ru-RU.js +1 -1
  57. package/lib/locale/sk-SK.js +1 -1
  58. package/lib/locale/vi-VN.js +1 -1
  59. package/lib/locale/zh-CN.js +1 -1
  60. package/lib/locale/zh-HK.js +1 -1
  61. package/lib/locale/zh-TW.js +1 -1
  62. package/lib/types/components/EmbedFloatDomRenderer.d.ts +3 -3
  63. package/lib/types/components/EmbedFloatFullscreenButton.d.ts +1 -0
  64. package/lib/types/components/EmbedMenuTooltip.d.ts +11 -0
  65. package/lib/types/components/EmbedPrintImage.d.ts +8 -0
  66. package/lib/types/components/EmbedRuntimeProviders.d.ts +2 -0
  67. package/lib/types/components/embed-float-dom-geometry.d.ts +2 -1
  68. package/lib/types/components/embed-float-dom-interaction.d.ts +3 -2
  69. package/lib/types/controllers/embed-host-popup-lifecycle.controller.d.ts +13 -0
  70. package/lib/types/controllers/embed-host-ribbon-override.controller.d.ts +1 -0
  71. package/lib/types/controllers/embed-owned-dialog-cleanup.controller.d.ts +11 -0
  72. package/lib/types/controllers/embed-print.controller.d.ts +71 -0
  73. package/lib/types/controllers/embed-sheet-editor-shortcut.controller.d.ts +8 -0
  74. package/lib/types/locale/en-US.d.ts +6 -0
  75. package/lib/types/products/bases/EmbedChildView.d.ts +1 -1
  76. package/lib/types/products/bases/embed-content-size.d.ts +1 -0
  77. package/lib/types/products/docs/EmbedDocsCustomBlockRenderer.d.ts +6 -0
  78. package/lib/types/products/docs/docs-custom-block-layout.d.ts +1 -0
  79. package/lib/types/products/docs/embed-docs-custom-block-bleed.render-controller.d.ts +4 -0
  80. package/lib/types/products/sheets/embed-content-size.d.ts +4 -0
  81. package/lib/types/products/slides/EmbedChildView.d.ts +4 -1
  82. package/lib/types/services/embed-activation.service.d.ts +4 -1
  83. package/lib/types/services/embed-child-unit-scoped-injector.d.ts +4 -1
  84. package/lib/types/services/embed-dom-wheel.d.ts +4 -2
  85. package/lib/types/services/embed-floating-menu-root.d.ts +2 -1
  86. package/lib/types/services/embed-fullscreen.service.d.ts +4 -1
  87. package/lib/types/services/embed-host-wheel-gesture.service.d.ts +1 -1
  88. package/lib/types/services/embed-host-zoom-wheel.d.ts +7 -0
  89. package/lib/types/services/embed-interaction-boundary.service.d.ts +6 -1
  90. package/lib/types/services/embed-print.service.d.ts +55 -0
  91. package/lib/types/services/embed-render-canvas-preview-provider.d.ts +1 -1
  92. package/lib/types/services/embed-render-child-view-contribution.d.ts +7 -3
  93. package/lib/types/services/embed-runtime-host-lease.service.d.ts +2 -2
  94. package/lib/types/services/embed-scene-canvas-capture.service.d.ts +29 -1
  95. package/lib/types/services/embed-ui-runtime-scope-lease.service.d.ts +16 -0
  96. package/lib/types/types/embed-ui.d.ts +8 -2
  97. package/lib/umd/index.js +1 -1
  98. package/lib/umd/locale/ar-SA.js +1 -1
  99. package/lib/umd/locale/ca-ES.js +1 -1
  100. package/lib/umd/locale/de-DE.js +1 -1
  101. package/lib/umd/locale/en-US.js +1 -1
  102. package/lib/umd/locale/es-ES.js +1 -1
  103. package/lib/umd/locale/fa-IR.js +1 -1
  104. package/lib/umd/locale/fr-FR.js +1 -1
  105. package/lib/umd/locale/id-ID.js +1 -1
  106. package/lib/umd/locale/it-IT.js +1 -1
  107. package/lib/umd/locale/ja-JP.js +1 -1
  108. package/lib/umd/locale/ko-KR.js +1 -1
  109. package/lib/umd/locale/pl-PL.js +1 -1
  110. package/lib/umd/locale/pt-BR.js +1 -1
  111. package/lib/umd/locale/ru-RU.js +1 -1
  112. package/lib/umd/locale/sk-SK.js +1 -1
  113. package/lib/umd/locale/vi-VN.js +1 -1
  114. package/lib/umd/locale/zh-CN.js +1 -1
  115. package/lib/umd/locale/zh-HK.js +1 -1
  116. package/lib/umd/locale/zh-TW.js +1 -1
  117. package/package.json +40 -37
@@ -1 +1 @@
1
- const _0x370ae1=_0x8fb6;(function(_0x117350,_0x86da71){const _0x5f286a=_0x8fb6,_0x3eed82=_0x117350();while(!![]){try{const _0xd04ece=-parseInt(_0x5f286a(0x153))/0x1*(parseInt(_0x5f286a(0x16c))/0x2)+-parseInt(_0x5f286a(0x16d))/0x3+parseInt(_0x5f286a(0x169))/0x4+-parseInt(_0x5f286a(0x163))/0x5*(parseInt(_0x5f286a(0x160))/0x6)+parseInt(_0x5f286a(0x170))/0x7*(-parseInt(_0x5f286a(0x161))/0x8)+parseInt(_0x5f286a(0x175))/0x9*(-parseInt(_0x5f286a(0x174))/0xa)+parseInt(_0x5f286a(0x167))/0xb*(parseInt(_0x5f286a(0x159))/0xc);if(_0xd04ece===_0x86da71)break;else _0x3eed82['push'](_0x3eed82['shift']());}catch(_0xb06c0c){_0x3eed82['push'](_0x3eed82['shift']());}}}(_0x3636,0xbc824));const e={'embed-ui':{'deleteBlock':_0x370ae1(0x155),'fullscreen':{'exit':_0x370ae1(0x172)},'boardsFloating':{'fitContent':_0x370ae1(0x15e),'zoomOut':'縮小','resetZoom':'重設縮放','zoomIn':'放大','delete':'刪除'},'basesFloating':{'copySuffix':'副本','delete':'刪除','confirmDelete':{'viewTitle':_0x370ae1(0x152),'viewDescription':_0x370ae1(0x164),'tableTitle':_0x370ae1(0x16e),'tableDescription':'此表和其中的記錄將被刪除。'},'tableSidebar':{'defaultTableName':_0x370ae1(0x173)},'duplicateTable':{'copyName':_0x370ae1(0x156)},'viewSettings':{'title':_0x370ae1(0x15d),'addView':_0x370ae1(0x171),'configureView':_0x370ae1(0x15a),'deleteView':'刪除檢視'}},'sheetsFloating':{'toolbar':{'formatPainter':_0x370ae1(0x158),'font':'字型','fontSize':_0x370ae1(0x16a),'numberFormat':_0x370ae1(0x16f),'bold':'粗體','filter':'篩選','resetColor':_0x370ae1(0x157),'textColor':{'main':_0x370ae1(0x168)},'fillColor':{'main':_0x370ae1(0x165)},'border':{'main':'邊框'},'mergeCell':{'main':_0x370ae1(0x154)},'horizontalAlignMode':{'main':_0x370ae1(0x15f)},'verticalAlignMode':{'main':'垂直對齊'},'textWrapMode':{'main':_0x370ae1(0x166)}},'align':{'left':'靠左對齊','center':'置中','right':_0x370ae1(0x16b),'top':'靠上對齊','middle':'垂直置中','bottom':_0x370ae1(0x15b)},'borderLine':{'borderColor':_0x370ae1(0x162),'borderSize':_0x370ae1(0x15c)},'textWrap':{'overflow':'溢出','wrap':_0x370ae1(0x166),'clip':'截斷'}}}};function _0x8fb6(_0x34d909,_0x2787f7){_0x34d909=_0x34d909-0x152;const _0x363663=_0x3636();let _0x8fb6bb=_0x363663[_0x34d909];return _0x8fb6bb;}export{e as default};function _0x3636(){const _0x3feb89=['2330PoLrgK','21015IeiHvv','刪除此檢視?','498oXlkCY','合併儲存格','刪除嵌入區塊','{0}\x20副本','重置顏色','複製格式','9228ZvBKav','設定檢視','靠下對齊','邊框粗細','檢視設定','適應內容','水平對齊','1368iLqnUU','7432LpgMCZ','邊框顏色','30670UXJSWZ','此檢視將被刪除。','填滿色彩','自動換行','59125ajUdZl','字型顏色','1138376SeVkyH','字型大小','靠右對齊','1462aWhhdp','843183VyLmtH','刪除此表?','數字格式','7973GpOWaL','新增檢視','退出全螢幕','表\x20{0}'];_0x3636=function(){return _0x3feb89;};return _0x3636();}
1
+ const _0x352294=_0x72b0;function _0x515e(){const _0xc7be7a=['邊框粗細','合併儲存格','水平對齊','設定檢視','重設縮放','進入全螢幕','{0}\x20副本','刪除此表?','適應內容','18FLNNVs','刪除檢視','刪除嵌入區塊','34282bOkQsU','字型顏色','上一頁','20wWQQYT','靠上對齊','11iKAEDg','323030axOJBX','垂直置中','141PVgQVZ','刪除此檢視?','9818256miAEgw','6587940GCdWGo','退出全螢幕','483RzORtd','367414RwfrZK','此檢視將被刪除。','下一張投影片','靠左對齊','159792LPnFDL','垂直對齊','重置顏色','靠右對齊','自動換行','靠下對齊','邊框顏色','此表和其中的記錄將被刪除。','5833110BxpKFr','字型大小','檢視設定','數字格式'];_0x515e=function(){return _0xc7be7a;};return _0x515e();}(function(_0x305379,_0x550456){const _0x539932=_0x72b0,_0xd02621=_0x305379();while(!![]){try{const _0x178f05=-parseInt(_0x539932(0x203))/0x1+parseInt(_0x539932(0x1f5))/0x2*(-parseInt(_0x539932(0x1fd))/0x3)+parseInt(_0x539932(0x1f8))/0x4*(-parseInt(_0x539932(0x1fb))/0x5)+-parseInt(_0x539932(0x200))/0x6+-parseInt(_0x539932(0x202))/0x7*(-parseInt(_0x539932(0x207))/0x8)+-parseInt(_0x539932(0x1f2))/0x9*(-parseInt(_0x539932(0x20f))/0xa)+parseInt(_0x539932(0x1fa))/0xb*(parseInt(_0x539932(0x1ff))/0xc);if(_0x178f05===_0x550456)break;else _0xd02621['push'](_0xd02621['shift']());}catch(_0x59a6e4){_0xd02621['push'](_0xd02621['shift']());}}}(_0x515e,0xbbbbb));const e={'embed-ui':{'deleteBlock':_0x352294(0x1f4),'fullscreen':{'enter':_0x352294(0x1ee),'exit':_0x352294(0x201)},'slidesFloating':{'previousSlide':_0x352294(0x1f7),'nextSlide':_0x352294(0x205),'selectSlide':'簡報縮圖'},'boardsFloating':{'fitContent':_0x352294(0x1f1),'zoomOut':'縮小','resetZoom':_0x352294(0x1ed),'zoomIn':'放大','delete':'刪除'},'basesFloating':{'copySuffix':'副本','delete':'刪除','confirmDelete':{'viewTitle':_0x352294(0x1fe),'viewDescription':_0x352294(0x204),'tableTitle':_0x352294(0x1f0),'tableDescription':_0x352294(0x20e)},'tableSidebar':{'defaultTableName':'表\x20{0}'},'duplicateTable':{'copyName':_0x352294(0x1ef)},'viewSettings':{'title':_0x352294(0x211),'addView':'新增檢視','configureView':_0x352294(0x1ec),'deleteView':_0x352294(0x1f3)}},'sheetsFloating':{'toolbar':{'formatPainter':'複製格式','font':'字型','fontSize':_0x352294(0x210),'numberFormat':_0x352294(0x212),'bold':'粗體','filter':'篩選','resetColor':_0x352294(0x209),'textColor':{'main':_0x352294(0x1f6)},'fillColor':{'main':'填滿色彩'},'border':{'main':'邊框'},'mergeCell':{'main':_0x352294(0x214)},'horizontalAlignMode':{'main':_0x352294(0x215)},'verticalAlignMode':{'main':_0x352294(0x208)},'textWrapMode':{'main':'自動換行'}},'align':{'left':_0x352294(0x206),'center':'置中','right':_0x352294(0x20a),'top':_0x352294(0x1f9),'middle':_0x352294(0x1fc),'bottom':_0x352294(0x20c)},'borderLine':{'borderColor':_0x352294(0x20d),'borderSize':_0x352294(0x213)},'textWrap':{'overflow':'溢出','wrap':_0x352294(0x20b),'clip':'截斷'}}}};function _0x72b0(_0x4db027,_0x27b279){_0x4db027=_0x4db027-0x1ec;const _0x515ea8=_0x515e();let _0x72b03f=_0x515ea8[_0x4db027];return _0x72b03f;}export{e as default};
@@ -13,6 +13,7 @@ export type IEmbedDocsCustomBlockLayout = {
13
13
  pageContentWidth: number;
14
14
  sheetLike: true;
15
15
  viewScale: number;
16
+ visibleCanvasHeight?: number;
16
17
  viewportHeight: number;
17
18
  };
18
19
  export declare function EmbedFloatDomRenderer(props: {
@@ -27,11 +28,10 @@ export declare function EmbedFloatDomRenderer(props: {
27
28
  floatingChromeZIndex?: number;
28
29
  syncHostVerticalScroll?: boolean;
29
30
  enableStage1BodyDrag?: boolean;
30
- fullscreenButtonInBlock?: boolean;
31
31
  /**
32
32
  * Avoid mounting and measuring body-level floating chrome while the block
33
- * is inactive. Hosts with an in-block fullscreen affordance can use this
34
- * to keep viewport movement independent of the number of float blocks.
33
+ * is inactive to keep viewport movement independent of the number of
34
+ * float blocks.
35
35
  */
36
36
  deferInactiveFloatingChrome?: boolean;
37
37
  resolveHostWheelGestureRoot?: (container: HTMLElement) => HTMLElement | null | undefined;
@@ -5,6 +5,7 @@ export interface IEmbedFloatFullscreenButtonProps {
5
5
  hostUnitId?: string;
6
6
  embedId?: string;
7
7
  className?: string;
8
+ variant?: 'float' | 'menu';
8
9
  }
9
10
  export declare function EmbedFloatFullscreenButton(props: IEmbedFloatFullscreenButtonProps): import("react").JSX.Element;
10
11
  export declare function enterEmbedFullscreen(params: {
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * All rights reserved.
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export declare function EmbedMenuTooltip(props: {
8
+ children: ReactNode;
9
+ placement?: 'top' | 'right' | 'bottom' | 'left';
10
+ title: string;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare const EMBED_PRINT_IMAGE_COMPONENT_KEY = "UniverEmbedPrintImage";
2
+ export declare const EMBED_PRINT_PLACEHOLDER_COMPONENT_KEY = "UniverEmbedPrintPlaceholder";
3
+ export interface IEmbedPrintImageProps {
4
+ data?: unknown;
5
+ unitId: string;
6
+ }
7
+ export declare function EmbedPrintImage(props: IEmbedPrintImageProps): import("react").JSX.Element | null;
8
+ export declare function EmbedPrintPlaceholder(): null;
@@ -5,6 +5,8 @@ export interface IEmbedRuntimeProvidersProps {
5
5
  children?: ReactNode;
6
6
  mountContainer?: HTMLElement | null;
7
7
  embedId?: string;
8
+ passThroughWheelGestures?: boolean;
8
9
  }
9
10
  export declare function EmbedRuntimeProviders(props: IEmbedRuntimeProvidersProps): import("react").JSX.Element;
10
11
  export declare function focusEmbedRuntimePointerTarget(embedId: string, runtimeProvider: HTMLElement, target: EventTarget | null): void;
12
+ export declare function focusEmbedRuntimeRoot(embedId: string, runtimeRoot: HTMLElement): void;
@@ -17,6 +17,7 @@ interface IDocsEmbedVerticalScrollState {
17
17
  visualOffset: number;
18
18
  }
19
19
  export interface IEmbedHostVerticalScrollSyncOptions {
20
+ collapseViewportHeight?: number;
20
21
  collapseWithoutChildScroll?: boolean;
21
22
  container: HTMLElement;
22
23
  content: HTMLElement;
@@ -79,7 +80,7 @@ export declare function registerEmbedChromeLayout(options: {
79
80
  }): IDisposable;
80
81
  export declare function isPointInsideFloatBlock(container: HTMLElement, event: MouseEvent): boolean;
81
82
  export declare function syncRuntimeInteractionVisibility(container: HTMLElement, chrome: HTMLElement | undefined, visible: boolean, _stage: EmbedFloatingStage): void;
82
- export declare function syncChromeControlsVisibility(container: HTMLElement, chrome: HTMLElement | undefined, visible: boolean, stage: EmbedFloatingStage): void;
83
+ export declare function syncChromeControlsVisibility(chrome: HTMLElement | undefined, visible: boolean, stage: EmbedFloatingStage): void;
83
84
  export declare function syncDocsSheetLikeChromePageArea(chrome: HTMLElement, chromeRect: DOMRect, pageRect: DOMRect): void;
84
85
  export declare function resolveDocsSheetLikePageAreaRect(containerRect: DOMRect, layout?: {
85
86
  contentWidth: number;
@@ -8,7 +8,7 @@ import type { EmbedRuntimeFocusCoordinator, EmbedRuntimeFocusRole } from '../ser
8
8
  import type { EmbedFloatingStage, EmbedInteractionFlow } from '../types/embed-ui';
9
9
  import type { EmbedVerticalScrollOwner } from './embed-float-dom-geometry';
10
10
  import { UniverInstanceType } from '@univerjs/core';
11
- export declare const EMBED_FLOAT_CHROME_CONTROL_SELECTOR = "[data-embed-floating-menu=\"true\"], [data-embed-floating-menu-popup=\"true\"], [data-embed-ribbon-override=\"true\"]";
11
+ export declare const EMBED_FLOAT_CHROME_CONTROL_SELECTOR = "[data-embed-floating-menu=\"true\"], [data-embed-floating-menu-popup=\"true\"], [data-embed-ribbon-override=\"true\"], [data-embed-float-fullscreen-button=\"true\"]";
12
12
  export declare const EMBED_FLOAT_DRAG_HANDLE_POINTER_DOWN_EVENT = "univer:embed-float-drag-handle:pointerdown";
13
13
  export interface IEmbedFloatDragHandlePointerDownDetail {
14
14
  button?: number;
@@ -20,7 +20,8 @@ export interface IEmbedFloatDragHandlePointerDownDetail {
20
20
  pointerId?: number;
21
21
  }
22
22
  export declare function getRuntimeRootElements(...roots: Array<HTMLElement | null | undefined>): HTMLElement[];
23
- export declare function registerEmbedBrowserZoomPrevention(container: HTMLElement, chrome: HTMLElement | null): () => void;
23
+ export declare function registerEmbedFloatWheelBoundary(container: HTMLElement, chrome: HTMLElement | null, routeWheelToHost?: (event: WheelEvent) => boolean, hostAnchor?: HTMLElement | null, childType?: UniverInstanceType): () => void;
24
+ export declare function registerEmbedFullscreenButtonHover(container: HTMLElement, button: HTMLElement): () => void;
24
25
  export declare function findRuntimeCanvas(roots: HTMLElement[], target?: EventTarget | null): HTMLCanvasElement | null;
25
26
  export declare function shouldAutoFocusRuntimeCanvas(childType: UniverInstanceType | undefined, allowBase?: boolean): boolean;
26
27
  export declare function isChildEditorOrPopupRuntimeElement(target: EventTarget | null): boolean;
@@ -0,0 +1,13 @@
1
+ import { Disposable, Injector } from '@univerjs/core';
2
+ import { EmbedRuntimeFocusCoordinator } from '../services/embed-runtime-focus-coordinator.service';
3
+ export declare class EmbedHostPopupLifecycleController extends Disposable {
4
+ private readonly _injector;
5
+ private readonly _runtimeFocusCoordinator;
6
+ private _suspendedSheetNote;
7
+ private _suppressedSheetNoteHostUnitId;
8
+ constructor(_injector: Injector, _runtimeFocusCoordinator: EmbedRuntimeFocusCoordinator);
9
+ private _syncHostPopupVisibility;
10
+ private _hideDocParagraphMenu;
11
+ private _syncPersistentSheetNotes;
12
+ private _syncActiveSheetNote;
13
+ }
@@ -10,5 +10,6 @@ export declare class EmbedHostRibbonOverrideController extends Disposable {
10
10
  private _current;
11
11
  private _currentOverride;
12
12
  constructor(_menuOverrideService: EmbedHostMenuOverrideService, _blockRegistry: EmbedBlockRegistryService, _ribbonOverrideService: IRibbonOverrideService, uiPartsService: IUIPartsService, _injector: Injector);
13
+ private _registerRibbonOwnership;
13
14
  dispose(): void;
14
15
  }
@@ -0,0 +1,11 @@
1
+ import { EmbedModelService } from '@univerjs-pro/embed';
2
+ import { Disposable, ICommandService } from '@univerjs/core';
3
+ import { IDialogService } from '@univerjs/ui';
4
+ export declare class EmbedOwnedDialogCleanupController extends Disposable {
5
+ private readonly _commandService;
6
+ private readonly _embedModelService;
7
+ private readonly _dialogService;
8
+ private _dialogs;
9
+ constructor(_commandService: ICommandService, _embedModelService: EmbedModelService, _dialogService: IDialogService);
10
+ dispose(): void;
11
+ }
@@ -0,0 +1,71 @@
1
+ import type { IBoardPrintElementMap, IBoardPrintElementTransformContext } from '@univerjs-pro/boards-print';
2
+ import type { IPrintPreparationContext, IPrintPreparationContribution } from '@univerjs-pro/print';
3
+ import type { ISlidePrintDrawingMap, ISlidePrintDrawingTransformContext } from '@univerjs-pro/slides-print';
4
+ import type { DisposableCollection, IDocumentData } from '@univerjs/core';
5
+ import { BoardPrintCompositionService } from '@univerjs-pro/boards-print';
6
+ import { IPrintPreparationService } from '@univerjs-pro/print';
7
+ import { SlidePrintDrawingTransformService } from '@univerjs-pro/slides-print';
8
+ import { Disposable, Injector, IUniverInstanceService } from '@univerjs/core';
9
+ import { EmbedPrintService } from '../services/embed-print.service';
10
+ type IPrintPageBreakRange = NonNullable<IPrintPreparationContext['pageBreakRanges']>[number];
11
+ interface IDocEmbedPrintDrawingLayout {
12
+ height: number;
13
+ segments?: IDocEmbedPrintSegment[];
14
+ top: number;
15
+ }
16
+ interface IDocEmbedPrintSegment {
17
+ height: number;
18
+ sourceHeight: number;
19
+ sourceTop: number;
20
+ top: number;
21
+ }
22
+ interface IDocEmbedPrintPageMetrics {
23
+ firstTop: number;
24
+ pageStride: number;
25
+ }
26
+ interface IDocEmbedPrintLayout {
27
+ contentHeight: number;
28
+ contentHeightAdjustment: number;
29
+ drawings: Map<string, IDocEmbedPrintDrawingLayout>;
30
+ pageBreakRanges: IPrintPageBreakRange[];
31
+ }
32
+ export declare class EmbedPrintController extends Disposable implements IPrintPreparationContribution {
33
+ private readonly _embedPrintService;
34
+ private readonly _printPreparationService;
35
+ private readonly _injector;
36
+ private readonly _univerInstanceService;
37
+ private readonly _slidePrintDrawingTransformService;
38
+ private readonly _boardPrintCompositionService;
39
+ private _docPrintRegistered;
40
+ private _sheetPrintRegistered;
41
+ private readonly _docPrintLayouts;
42
+ constructor(_embedPrintService: EmbedPrintService, _printPreparationService: IPrintPreparationService, _injector: Injector, _univerInstanceService: IUniverInstanceService, _slidePrintDrawingTransformService: SlidePrintDrawingTransformService, _boardPrintCompositionService: BoardPrintCompositionService);
43
+ prepare(context: IPrintPreparationContext): Promise<void>;
44
+ private _registerPrintPreparation;
45
+ private _resolveDocPageMetrics;
46
+ private _registerDocPrinting;
47
+ private _registerSheetPrinting;
48
+ private _getOriginalSheetTabData;
49
+ private _registerSlidePrinting;
50
+ private _registerBoardPrinting;
51
+ dispose(): void;
52
+ }
53
+ export declare function transformBoardEmbedPrintElements(elementMap: IBoardPrintElementMap, context: IBoardPrintElementTransformContext, embedPrintService: Pick<EmbedPrintService, 'getResource'>): IBoardPrintElementMap;
54
+ export declare function mountDocPrintImages(root: HTMLElement, snapshot: IDocumentData, hostUnitId: string, offset: {
55
+ x: number;
56
+ y: number;
57
+ }, bound: {
58
+ top: number;
59
+ left: number;
60
+ right: number;
61
+ bottom: number;
62
+ }, printService: EmbedPrintService, collection: DisposableCollection, layout?: IDocEmbedPrintLayout): void;
63
+ export declare function createDocEmbedPrintLayout(snapshot: IDocumentData, hostUnitId: string, printService: Pick<EmbedPrintService, 'getImage' | 'getResource'>, pageMetrics?: IDocEmbedPrintPageMetrics, segmentTableRows?: boolean, compactTableRows?: boolean): IDocEmbedPrintLayout;
64
+ export declare function mountSheetTabPrintImage(root: HTMLElement, source: string, collection: DisposableCollection, page: {
65
+ height: number;
66
+ offsetX: number;
67
+ offsetY: number;
68
+ width: number;
69
+ }): HTMLImageElement;
70
+ export declare function transformSlideEmbedPrintDrawings(drawingMap: ISlidePrintDrawingMap, context: ISlidePrintDrawingTransformContext, printService: EmbedPrintService): ISlidePrintDrawingMap;
71
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { IContextService } from '@univerjs/core';
2
+ import { Disposable } from '@univerjs/core';
3
+ import { IShortcutService } from '@univerjs/ui';
4
+ export declare class EmbedSheetEditorShortcutController extends Disposable {
5
+ constructor(shortcutService: IShortcutService);
6
+ }
7
+ export declare function isEmbedSheetEditorShortcutTarget(event: KeyboardEvent): boolean;
8
+ export declare function isEmbedSheetEditorInteractionActive(contextService: IContextService): boolean;
@@ -2,8 +2,14 @@ declare const locale: {
2
2
  'embed-ui': {
3
3
  deleteBlock: string;
4
4
  fullscreen: {
5
+ enter: string;
5
6
  exit: string;
6
7
  };
8
+ slidesFloating: {
9
+ previousSlide: string;
10
+ nextSlide: string;
11
+ selectSlide: string;
12
+ };
7
13
  boardsFloating: {
8
14
  fitContent: string;
9
15
  zoomOut: string;
@@ -12,5 +12,5 @@ export declare function createBasesEmbedChildUnitScopedInjector(context: IEmbedC
12
12
  export declare function initializeBasesEmbedState(stateService: BaseUIStateService, childUnit: BaseDataModel, chromeMode?: BaseEmbedChromeMode, displayTarget?: EmbedDisplayTarget): void;
13
13
  export declare function resolveBasesDisplayTarget(childUnit: BaseDataModel, displayTarget?: EmbedDisplayTarget): IEmbedBaseDisplayTarget;
14
14
  export declare function resolveBasesEmbedChromeMode(context: Pick<IEmbedChildContainerContext, 'renderScope'>): BaseEmbedChromeMode;
15
- export declare function createBasesEmbedScopedInjector(rootInjector: Injector, childScopedInjector: Injector, baseStateService: BaseUIStateService, basePopupService?: BaseUIPopupService, baseEditorService?: BaseEditorService, chromeMode?: BaseEmbedChromeMode, baseWheelScrollService?: IBaseViewWheelScrollService, readOnly?: boolean, globalPortalContainer?: HTMLElement | null): Injector;
15
+ export declare function createBasesEmbedScopedInjector(childScopedInjector: Injector, baseStateService: BaseUIStateService, basePopupService?: BaseUIPopupService, baseEditorService?: BaseEditorService, chromeMode?: BaseEmbedChromeMode, baseWheelScrollService?: IBaseViewWheelScrollService, readOnly?: boolean, globalPortalContainer?: HTMLElement | null): Injector;
16
16
  export declare function resolveEmbeddedBaseUIConfig(baseConfig: IUniverBaseUIConfig, chromeMode?: BaseEmbedChromeMode): IUniverBaseUIConfig;
@@ -10,6 +10,7 @@ export declare class BasesEmbedContentSizeProvider implements IEmbedContentSizeP
10
10
  constructor(_baseUIStateService: IBaseUIStateService, _projectionService: IBaseProjectionService, _wheelScrollService: IBaseViewWheelScrollService);
11
11
  measureContentSize(context: Parameters<IEmbedContentSizeProvider['measureContentSize']>[0]): {
12
12
  height: number | undefined;
13
+ verticalBreaks: number[] | undefined;
13
14
  width: number | undefined;
14
15
  } | undefined;
15
16
  }
@@ -9,12 +9,18 @@ export interface IEmbedDocsCustomBlockRuntimeProps {
9
9
  height?: number;
10
10
  pageContentWidth?: number;
11
11
  viewScale?: number;
12
+ visibleCanvasHeight?: number;
12
13
  viewportHeight?: number;
13
14
  };
14
15
  }
15
16
  export declare function EmbedDocsCustomBlockRenderer(props: {
16
17
  data?: IEmbedFloatDomData;
17
18
  } & IEmbedDocsCustomBlockRuntimeProps): import("react").JSX.Element;
19
+ export declare function applyDocsCustomBlockZoomVisualScale(root: HTMLElement, params: {
20
+ fromScale: number;
21
+ outerHeight: number;
22
+ toScale: number;
23
+ }): void;
18
24
  export declare function blurHostDocSelectionWhenEmbedRuntimeEntersStage(renderManagerService: IRenderManagerService, hostUnitId: string | undefined, stage: 'inactive' | 'stage1' | 'stage2'): void;
19
25
  export declare function resolveDocsTableLikeCustomBlockRuntimeContentHeight(authoritativeContentHeight: number | undefined): number;
20
26
  export declare function resolveDocsCustomBlockRuntimeViewportHeight(params: {
@@ -1,4 +1,5 @@
1
1
  export declare const DOCS_CUSTOM_BLOCK_FLOATING_MENU_INSET_TOP = 52;
2
+ export declare const DOCS_CUSTOM_BLOCK_ZOOM_SETTLE_DELAY = 120;
2
3
  export declare function resolveDocsSheetCustomBlockContentHeight(contentHeight: number): number;
3
4
  export declare function resolveDocsCustomBlockLayoutHeight(params: {
4
5
  contentHeight: number;
@@ -6,6 +6,10 @@ import { DocViewScaleService } from '@univerjs/docs-ui';
6
6
  import { IRenderManagerService } from '@univerjs/engine-render';
7
7
  import { EmbedContentSizeRegistryService } from '../../services/embed-content-size-registry.service';
8
8
  import { EmbedMountService } from '../../services/embed-mount.service';
9
+ export declare function createDocsCustomBlockZoomRefreshScheduler(refresh: () => void, settleDelay?: number): {
10
+ dispose: () => void;
11
+ schedule: () => void;
12
+ };
9
13
  export declare class EmbedDocsCustomBlockBleedRenderController extends Disposable implements IRenderModule {
10
14
  private readonly _context;
11
15
  private readonly _univerInstanceService;
@@ -1,4 +1,8 @@
1
1
  import type { IEmbedContentSizeProvider } from '../../types/embed-ui';
2
+ import { Workbook } from '@univerjs/core';
2
3
  export declare const DEFAULT_SHEET_COLUMN_HEADER_HEIGHT = 24;
4
+ type ActiveWorksheet = Exclude<ReturnType<Workbook['getActiveSheet']>, null | undefined | void>;
3
5
  export declare function createSheetsContentSizeProvider(): IEmbedContentSizeProvider;
4
6
  export declare function resolveSheetsStickyHeaderHeight(childUnit: unknown): number;
7
+ export declare function resolveSheetsViewportEndColumn(worksheet: ActiveWorksheet, viewportWidth: number): number;
8
+ export {};
@@ -1,7 +1,10 @@
1
1
  import type { EmbedDisplayTarget } from '@univerjs-pro/embed';
2
2
  import type { SlideModel } from '@univerjs-pro/slides';
3
- import type { ICommandService } from '@univerjs/core';
3
+ import type { ICommandService, IDisposable } from '@univerjs/core';
4
4
  import type { IEmbedChildContainerContext, IEmbedChildViewContribution } from '../../types/embed-ui';
5
+ import { ISlideDrawingStateService } from '@univerjs-pro/slides-ui';
6
+ import { IContextService } from '@univerjs/core';
5
7
  export declare function createSlidesEmbedChildViewContribution(commandService: ICommandService): IEmbedChildViewContribution;
8
+ export declare function registerSlideEmbedDrawingContext(childUnitId: string, drawingStateService: Pick<ISlideDrawingStateService, 'state$'>, contextService: Pick<IContextService, 'setContextValue'>): IDisposable;
6
9
  export declare function applySlideDisplayTarget(slide: SlideModel, target: EmbedDisplayTarget | undefined): void;
7
10
  export declare function shouldUseSlideEmbedFloatingPreview(context: Pick<IEmbedChildContainerContext, 'layout' | 'renderScope'>): boolean;
@@ -10,6 +10,9 @@ import { EmbedMountService } from './embed-mount.service';
10
10
  export interface IEmbedFloatingActivationOptions {
11
11
  portalContainer?: HTMLElement | null;
12
12
  }
13
+ export interface IEmbedFullscreenActivationOptions {
14
+ focusLayout?: boolean;
15
+ }
13
16
  export declare class EmbedActivationService extends Disposable {
14
17
  private readonly _univerInstanceService;
15
18
  private readonly _focusOwnerService;
@@ -25,7 +28,7 @@ export declare class EmbedActivationService extends Disposable {
25
28
  activateTab(descriptor: IEmbedDescriptor): IEmbedHostMenuOverride | null;
26
29
  activateFloating(descriptor: IEmbedDescriptor, stage?: 'stage1' | 'stage2', _options?: IEmbedFloatingActivationOptions): void;
27
30
  focusFloatingRuntime(descriptor: IEmbedDescriptor, options?: IEmbedFloatingActivationOptions): void;
28
- activateFullscreen(descriptor: IEmbedDescriptor): void;
31
+ activateFullscreen(descriptor: IEmbedDescriptor, options?: IEmbedFullscreenActivationOptions): void;
29
32
  focusHostForPassiveRuntime(descriptor: IEmbedDescriptor): void;
30
33
  clearFullscreen(descriptor: IEmbedDescriptor): void;
31
34
  clearFloating(embedId?: string, hostUnitId?: string): void;
@@ -1,9 +1,12 @@
1
1
  import type { Dependency } from '@univerjs/core';
2
2
  import type { IEmbedChildContainerContext } from '../types/embed-ui';
3
- import { Injector } from '@univerjs/core';
3
+ import { IConfigService, Injector } from '@univerjs/core';
4
+ import { IMenuManagerService } from '@univerjs/ui';
4
5
  export type IEmbedScopedConfigOverrides = ReadonlyMap<string | symbol, (config: unknown) => unknown>;
5
6
  type EmbedChildContainerSetupContext = Omit<IEmbedChildContainerContext, 'runtimeScope'>;
6
7
  export declare function createEmbedChildUnitScopedInjector(context: EmbedChildContainerSetupContext, scopedDependencies?: readonly Dependency[]): Injector | undefined;
7
8
  export declare function createEmbedScopedConfigInjector(parentInjector: Injector, configOverrides: IEmbedScopedConfigOverrides): Injector | undefined;
9
+ export declare function createEmbedImportHiddenConfigService(configService: IConfigService): IConfigService;
8
10
  export declare function createEmbedScopedInjector(parentInjector: Injector, overrides: ReadonlyMap<unknown, unknown>, sharedRootInjector?: Injector): Injector;
11
+ export declare function createEmbedImportHiddenMenuManager(menuManager: IMenuManagerService): IMenuManagerService;
9
12
  export {};
@@ -3,7 +3,7 @@ import type { IEmbedChildContainerContext } from '../types/embed-ui';
3
3
  import type { EmbedHostWheelGestureService } from './embed-host-wheel-gesture.service';
4
4
  import type { EmbedPassiveViewportRegistryService } from './embed-passive-viewport-registry.service';
5
5
  import type { EmbedPassiveWheelHandlerRegistryService } from './embed-passive-wheel-handler-registry.service';
6
- export declare function registerEmbedDomWheelRouting(options: {
6
+ interface IEmbedDomWheelRoutingOptions {
7
7
  container: HTMLElement;
8
8
  gate: HTMLElement;
9
9
  getChildContext: () => IEmbedChildContainerContext | undefined;
@@ -21,7 +21,8 @@ export declare function registerEmbedDomWheelRouting(options: {
21
21
  routeHostGestures: boolean;
22
22
  syncHostVerticalScroll?: boolean;
23
23
  viewScale?: number;
24
- }): IDisposable;
24
+ }
25
+ export declare function registerEmbedDomWheelRouting(options: IEmbedDomWheelRoutingOptions): IDisposable;
25
26
  export declare function createEmbedWheelEventForViewScale(event: WheelEvent, viewScale: number | undefined): WheelEvent;
26
27
  export declare function createForwardedEmbedWheelEvent(source: WheelEvent, init: WheelEventInit): WheelEvent;
27
28
  export declare function isEmbedForwardedWheelEvent(event: Event | undefined): boolean;
@@ -38,3 +39,4 @@ export declare function shouldUseRuntimeDomHorizontalScroll(container: HTMLEleme
38
39
  export declare function getHorizontalWheelDelta(event: WheelEvent): number;
39
40
  export declare function scrollDocsSheetLikeHorizontalWheel(deltaX: number, resizeRenderer: () => boolean, scrollChild: () => boolean): boolean;
40
41
  export declare function shouldRouteUnhandledWheelToHost(event: WheelEvent): boolean;
42
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { IEmbedFloatingMenuMountContext } from '../types/embed-ui';
2
2
  export declare function resolveEmbedFloatingMenuRoot(context: Pick<IEmbedFloatingMenuMountContext, 'embedId' | 'renderScope' | 'runtimeScope'>): HTMLElement;
3
3
  export declare function createEmbedFloatingMenuContainer(context: IEmbedFloatingMenuMountContext): {
4
- root: HTMLElement;
5
4
  menu: HTMLDivElement;
5
+ menuRoot: HTMLElement;
6
+ portalContainer: HTMLElement;
6
7
  };
@@ -1,10 +1,13 @@
1
1
  import type { IEmbedDescriptor } from '@univerjs-pro/embed';
2
2
  import type { IEmbedFullscreenSession } from '../types/embed-ui';
3
- export declare class EmbedFullscreenService {
3
+ import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
4
+ export declare class EmbedFullscreenService extends Disposable {
4
5
  private readonly _session$;
5
6
  private readonly _exited$;
6
7
  readonly session$: import("rxjs").Observable<IEmbedFullscreenSession | null>;
7
8
  readonly exited$: import("rxjs").Observable<IEmbedFullscreenSession>;
9
+ constructor(commandService: ICommandService, univerInstanceService: IUniverInstanceService);
10
+ dispose(): void;
8
11
  getSession(): IEmbedFullscreenSession | null;
9
12
  enter(descriptor: IEmbedDescriptor): IEmbedFullscreenSession;
10
13
  exit(embedId?: string): void;
@@ -2,7 +2,7 @@ import type { IDisposable } from '@univerjs/core';
2
2
  export declare class EmbedHostWheelGestureService {
3
3
  private readonly _sessions;
4
4
  private readonly _hostGestureEvents;
5
- register(root: HTMLElement): IDisposable;
5
+ register(root: HTMLElement, container: HTMLElement): IDisposable;
6
6
  isHostGesture(event: WheelEvent): boolean;
7
7
  private _observeWheel;
8
8
  }
@@ -0,0 +1,7 @@
1
+ import type { ICommandService, IUniverInstanceService } from '@univerjs/core';
2
+ import type { IEmbedChildContainerContext } from '../types/embed-ui';
3
+ export interface IEmbedHostZoomWheelDependencies {
4
+ commandService: ICommandService;
5
+ univerInstanceService: IUniverInstanceService;
6
+ }
7
+ export declare function routeEmbedHostZoomWheel(event: WheelEvent, context: IEmbedChildContainerContext, dependencies: IEmbedHostZoomWheelDependencies): boolean;
@@ -6,6 +6,7 @@ export declare class EmbedInteractionBoundaryService {
6
6
  private readonly _roots;
7
7
  private readonly _childUnitIds;
8
8
  private readonly _portalObservers;
9
+ private readonly _closedPortalInputGuards;
9
10
  private readonly _activePortalOwners;
10
11
  private _pendingPortalOwner;
11
12
  registerRoot(embedId: string, root: HTMLElement, childUnitId?: string): IDisposable;
@@ -15,7 +16,9 @@ export declare class EmbedInteractionBoundaryService {
15
16
  hasRecentInteraction(ownerDocument?: Document): boolean;
16
17
  hasRecentInteractionFor(embedId: string | undefined, ownerDocument?: Document): boolean;
17
18
  closeOwnedFloatingSurfaces(embedId: string | undefined, ownerDocument: Document | undefined): void;
18
- activatePortalScope(embedId: string, ownerDocument: Document | undefined): IDisposable;
19
+ activatePortalScope(embedId: string, ownerDocument: Document | undefined, options?: {
20
+ includeAppShellEditorPortal?: boolean;
21
+ }): IDisposable;
19
22
  private _collectOwnedFloatingSurfaceRoots;
20
23
  private _resolveFloatingSurfaceRoot;
21
24
  private _dispatchEscapeToFloatingSurface;
@@ -30,6 +33,8 @@ export declare class EmbedInteractionBoundaryService {
30
33
  private _isUniverPortalCandidate;
31
34
  private _isDetachedOffscreenPortalCandidate;
32
35
  private _markRuntimeFocusRole;
36
+ private _syncClosedPortalInputGuard;
37
+ private _clearClosedPortalInputGuard;
33
38
  private _markInteractionBoundaryOwnerTree;
34
39
  private _isUniverPortalTreeElement;
35
40
  private _getBodyPortalOwner;
@@ -0,0 +1,55 @@
1
+ import type { IPrintPreparationContext, IPrintPreparationContribution } from '@univerjs-pro/print';
2
+ import { EmbedHostAdapterRegistryService, EmbedHostAnchorModelService, EmbedModelService } from '@univerjs-pro/embed';
3
+ import { Disposable, ICommandService, IImageIoService, IUniverInstanceService, ThemeService } from '@univerjs/core';
4
+ import { EmbedContentSizeRegistryService } from './embed-content-size-registry.service';
5
+ import { EmbedFloatPreviewService } from './embed-float-preview.service';
6
+ import { EmbedHostRestoreService } from './embed-host-restore.service';
7
+ import { EmbedMountService } from './embed-mount.service';
8
+ import { EmbedPassiveViewportRegistryService } from './embed-passive-viewport-registry.service';
9
+ export interface IEmbedPrintResource {
10
+ canvas?: HTMLCanvasElement;
11
+ height: number;
12
+ source?: string;
13
+ verticalBreaks?: readonly number[];
14
+ width: number;
15
+ }
16
+ export declare class EmbedPrintService extends Disposable implements IPrintPreparationContribution {
17
+ private readonly _embedModelService;
18
+ private readonly _anchorModelService;
19
+ private readonly _hostAdapterRegistry;
20
+ private readonly _restoreService;
21
+ private readonly _previewService;
22
+ private readonly _mountService;
23
+ private readonly _contentSizeRegistry;
24
+ private readonly _passiveViewportRegistry;
25
+ private readonly _commandService;
26
+ private readonly _univerInstanceService;
27
+ private readonly _themeService;
28
+ private readonly _imageIoService;
29
+ private readonly _resources;
30
+ constructor(_embedModelService: EmbedModelService, _anchorModelService: EmbedHostAnchorModelService, _hostAdapterRegistry: EmbedHostAdapterRegistryService, _restoreService: EmbedHostRestoreService, _previewService: EmbedFloatPreviewService, _mountService: EmbedMountService, _contentSizeRegistry: EmbedContentSizeRegistryService, _passiveViewportRegistry: EmbedPassiveViewportRegistryService, _commandService: ICommandService, _univerInstanceService: IUniverInstanceService, _themeService: ThemeService, _imageIoService: IImageIoService);
31
+ prepare(context: IPrintPreparationContext): Promise<void>;
32
+ getImage(hostUnitId: string, embedId: string): string | undefined;
33
+ getResource(hostUnitId: string, embedId: string): IEmbedPrintResource | undefined;
34
+ private _activateSheetTabForPrint;
35
+ private _activateSlidePageForPrint;
36
+ private _prepareDescriptor;
37
+ private _captureMountedCanvas;
38
+ private _renderMountedScene;
39
+ private _renderCompleteScene;
40
+ private _resolveCompleteCaptureOptions;
41
+ private _measureContentSize;
42
+ private _resolveViewState;
43
+ private _resolveSize;
44
+ private _resolveTabViewportSize;
45
+ private _toDataUrl;
46
+ private _preloadImage;
47
+ private _clearHost;
48
+ private _getKey;
49
+ dispose(): void;
50
+ }
51
+ export declare function resolveCaptureFrameSlice(scroll: number, viewportSize: number, contentSize: number): {
52
+ size: number;
53
+ sourceOffset: number;
54
+ target: number;
55
+ };
@@ -6,4 +6,4 @@ export interface ICreateEmbedRenderCanvasPreviewProviderOptions {
6
6
  renderManagerService: DependencyIdentifier<IRenderManagerService>;
7
7
  }
8
8
  export declare function createEmbedRenderCanvasPreviewProvider(injector: Injector, options: ICreateEmbedRenderCanvasPreviewProviderOptions): IEmbedFloatPreviewProvider;
9
- export declare function waitForEmbedContextCanvasPreviewReady(context: IEmbedChildContainerContext): Promise<void>;
9
+ export declare function waitForEmbedContextCanvasPreviewReady(context: IEmbedChildContainerContext, renderCurrentFrame?: boolean): Promise<void>;
@@ -1,8 +1,9 @@
1
1
  import type { EmbedLayout } from '@univerjs-pro/embed';
2
- import type { DependencyIdentifier, IDisposable, UniverInstanceType } from '@univerjs/core';
2
+ import type { DependencyIdentifier, IDisposable } from '@univerjs/core';
3
3
  import type { IRenderManagerService } from '@univerjs/engine-render';
4
+ import type { Observable } from 'rxjs';
4
5
  import type { IEmbedChildContainerContext, IEmbedChildViewContribution } from '../types/embed-ui';
5
- import { Injector } from '@univerjs/core';
6
+ import { Injector, UniverInstanceType } from '@univerjs/core';
6
7
  export interface IEmbedRenderLike {
7
8
  isMainScene?: boolean;
8
9
  engine: {
@@ -25,7 +26,9 @@ export interface IEmbedRenderLike {
25
26
  makeDirty?: (dirty?: boolean) => void;
26
27
  } | null | void;
27
28
  scene: {
28
- makeDirty: () => void;
29
+ afterRender$?: Observable<unknown>;
30
+ makeDirty: (dirty?: boolean) => void;
31
+ requestRender?: () => Promise<unknown> | unknown;
29
32
  render?: () => void;
30
33
  };
31
34
  with?: <T>(dependency: DependencyIdentifier<T>) => T;
@@ -44,6 +47,7 @@ export declare function createEmbedRenderChildViewContribution(options: ICreateE
44
47
  export declare function mountEmbedRenderChildUnit(context: IEmbedChildContainerContext, renderManagerServiceIdentifier: DependencyIdentifier<IRenderManagerService>, target?: HTMLElement, options?: IMountEmbedRenderChildUnitOptions): IDisposable | undefined;
45
48
  export declare function observeEmbedRenderTargetResize(render: IEmbedRenderLike, target: HTMLElement, options?: {
46
49
  activate?: boolean;
50
+ idleMs?: number;
47
51
  }): IDisposable;
48
52
  export declare function ensureEmbedChildRender(renderManagerService: IRenderManagerService, childUnitId: string, renderParentInjector?: Injector): IEmbedRenderLike | undefined;
49
53
  export declare function createEmbedChildRender(renderManagerService: IRenderManagerService, childUnitId: string, renderParentInjector?: Injector): IEmbedRenderLike | undefined;
@@ -8,8 +8,8 @@ export interface IEmbedRuntimeHostLease extends IDisposable {
8
8
  }
9
9
  /**
10
10
  * Temporarily lends a single Embed runtime to another DOM host without creating
11
- * a duplicate child session. This is a host-lifecycle bridge, not a global
12
- * interaction policy; consumers remain responsible for their local input rules.
11
+ * a duplicate child session. Only Embed-owned runtime slots are relocated: the
12
+ * outer host can belong to React and must remain under its original parent.
13
13
  *
14
14
  * If passive runtime hosting becomes common outside presentation, promote the
15
15
  * capability into EmbedMountService instead of adding more DOM relocation paths.