@univerjs-pro/embed-ui 1.0.0-beta.0 → 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.
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/locale/ar-SA.js +1 -1
- package/lib/cjs/locale/ca-ES.js +1 -1
- package/lib/cjs/locale/de-DE.js +1 -1
- package/lib/cjs/locale/en-US.js +1 -1
- package/lib/cjs/locale/es-ES.js +1 -1
- package/lib/cjs/locale/fa-IR.js +1 -1
- package/lib/cjs/locale/fr-FR.js +1 -1
- package/lib/cjs/locale/id-ID.js +1 -1
- package/lib/cjs/locale/it-IT.js +1 -1
- package/lib/cjs/locale/ja-JP.js +1 -1
- package/lib/cjs/locale/ko-KR.js +1 -1
- package/lib/cjs/locale/pl-PL.js +1 -1
- package/lib/cjs/locale/pt-BR.js +1 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/cjs/locale/sk-SK.js +1 -1
- package/lib/cjs/locale/vi-VN.js +1 -1
- package/lib/cjs/locale/zh-CN.js +1 -1
- package/lib/cjs/locale/zh-HK.js +1 -1
- package/lib/cjs/locale/zh-TW.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/es/locale/ar-SA.js +1 -1
- package/lib/es/locale/ca-ES.js +1 -1
- package/lib/es/locale/de-DE.js +1 -1
- package/lib/es/locale/en-US.js +1 -1
- package/lib/es/locale/es-ES.js +1 -1
- package/lib/es/locale/fa-IR.js +1 -1
- package/lib/es/locale/fr-FR.js +1 -1
- package/lib/es/locale/id-ID.js +1 -1
- package/lib/es/locale/it-IT.js +1 -1
- package/lib/es/locale/ja-JP.js +1 -1
- package/lib/es/locale/ko-KR.js +1 -1
- package/lib/es/locale/pl-PL.js +1 -1
- package/lib/es/locale/pt-BR.js +1 -1
- package/lib/es/locale/ru-RU.js +1 -1
- package/lib/es/locale/sk-SK.js +1 -1
- package/lib/es/locale/vi-VN.js +1 -1
- package/lib/es/locale/zh-CN.js +1 -1
- package/lib/es/locale/zh-HK.js +1 -1
- package/lib/es/locale/zh-TW.js +1 -1
- package/lib/index.css +204 -78
- package/lib/index.js +1 -1
- package/lib/locale/ar-SA.js +1 -1
- package/lib/locale/ca-ES.js +1 -1
- package/lib/locale/de-DE.js +1 -1
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/es-ES.js +1 -1
- package/lib/locale/fa-IR.js +1 -1
- package/lib/locale/fr-FR.js +1 -1
- package/lib/locale/id-ID.js +1 -1
- package/lib/locale/it-IT.js +1 -1
- package/lib/locale/ja-JP.js +1 -1
- package/lib/locale/ko-KR.js +1 -1
- package/lib/locale/pl-PL.js +1 -1
- package/lib/locale/pt-BR.js +1 -1
- package/lib/locale/ru-RU.js +1 -1
- package/lib/locale/sk-SK.js +1 -1
- package/lib/locale/vi-VN.js +1 -1
- package/lib/locale/zh-CN.js +1 -1
- package/lib/locale/zh-HK.js +1 -1
- package/lib/locale/zh-TW.js +1 -1
- package/lib/types/components/EmbedFloatDomRenderer.d.ts +3 -3
- package/lib/types/components/EmbedFloatFullscreenButton.d.ts +1 -0
- package/lib/types/components/EmbedMenuTooltip.d.ts +11 -0
- package/lib/types/components/EmbedPrintImage.d.ts +8 -0
- package/lib/types/components/EmbedRuntimeProviders.d.ts +2 -0
- package/lib/types/components/embed-float-dom-geometry.d.ts +4 -1
- package/lib/types/components/embed-float-dom-interaction.d.ts +11 -2
- package/lib/types/controllers/embed-host-popup-lifecycle.controller.d.ts +13 -0
- package/lib/types/controllers/embed-host-ribbon-override.controller.d.ts +3 -2
- package/lib/types/controllers/embed-owned-dialog-cleanup.controller.d.ts +11 -0
- package/lib/types/controllers/embed-print.controller.d.ts +71 -0
- package/lib/types/controllers/embed-sheet-editor-shortcut.controller.d.ts +8 -0
- package/lib/types/locale/en-US.d.ts +6 -0
- package/lib/types/products/bases/EmbedChildView.d.ts +3 -3
- package/lib/types/products/bases/embed-content-size.d.ts +1 -0
- package/lib/types/products/boards/EmbedChildView.d.ts +2 -1
- package/lib/types/products/docs/EmbedDocsCustomBlockRenderer.d.ts +6 -0
- package/lib/types/products/docs/docs-custom-block-layout.d.ts +1 -0
- package/lib/types/products/docs/embed-docs-custom-block-bleed.render-controller.d.ts +7 -1
- package/lib/types/products/sheets/embed-content-size.d.ts +4 -0
- package/lib/types/products/slides/EmbedChildView.d.ts +4 -1
- package/lib/types/products/slides/embed-floating-menu-stage.d.ts +2 -2
- package/lib/types/products/slides/register.d.ts +4 -0
- package/lib/types/products/slides/services/embed-slide-presentation-preview.d.ts +14 -2
- package/lib/types/services/embed-activation.service.d.ts +5 -1
- package/lib/types/services/embed-child-runtime-scope.d.ts +2 -2
- package/lib/types/services/embed-child-unit-scoped-injector.d.ts +8 -2
- package/lib/types/services/embed-content-size-registry.service.d.ts +9 -1
- package/lib/types/services/embed-dom-wheel.d.ts +4 -2
- package/lib/types/services/embed-floating-menu-root.d.ts +2 -1
- package/lib/types/services/embed-fullscreen.service.d.ts +4 -1
- package/lib/types/services/embed-host-menu-override.service.d.ts +1 -0
- package/lib/types/services/embed-host-wheel-gesture.service.d.ts +1 -1
- package/lib/types/services/embed-host-zoom-wheel.d.ts +7 -0
- package/lib/types/services/embed-interaction-boundary.service.d.ts +8 -2
- package/lib/types/services/embed-mount.service.d.ts +8 -1
- package/lib/types/services/embed-presentation-policy.d.ts +1 -0
- package/lib/types/services/embed-print.service.d.ts +55 -0
- package/lib/types/services/embed-render-canvas-preview-provider.d.ts +3 -2
- package/lib/types/services/embed-render-child-view-contribution.d.ts +7 -3
- package/lib/types/services/embed-runtime-host-lease.service.d.ts +2 -2
- package/lib/types/services/embed-scene-canvas-capture.service.d.ts +29 -1
- package/lib/types/services/embed-ui-runtime-scope-lease.service.d.ts +16 -0
- package/lib/types/types/embed-ui.d.ts +29 -5
- package/lib/umd/index.js +1 -1
- package/lib/umd/locale/ar-SA.js +1 -1
- package/lib/umd/locale/ca-ES.js +1 -1
- package/lib/umd/locale/de-DE.js +1 -1
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/es-ES.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/fr-FR.js +1 -1
- package/lib/umd/locale/id-ID.js +1 -1
- package/lib/umd/locale/it-IT.js +1 -1
- package/lib/umd/locale/ja-JP.js +1 -1
- package/lib/umd/locale/ko-KR.js +1 -1
- package/lib/umd/locale/pl-PL.js +1 -1
- package/lib/umd/locale/pt-BR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/sk-SK.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-HK.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +40 -37
|
@@ -3,6 +3,7 @@ import type { IEmbedHostMenuOverride } from '../types/embed-ui';
|
|
|
3
3
|
export interface IEmbedHostMenuOverrideActivateOptions {
|
|
4
4
|
layoutPolicy?: IEmbedLayoutPolicy;
|
|
5
5
|
allowPlaceholder?: boolean;
|
|
6
|
+
allowHiddenRibbon?: boolean;
|
|
6
7
|
portalContainer?: HTMLElement | null;
|
|
7
8
|
}
|
|
8
9
|
export declare class EmbedHostMenuOverrideService {
|
|
@@ -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;
|
|
@@ -4,17 +4,21 @@ export declare function getEmbedInteractionBoundaryOwnerId(element: HTMLElement
|
|
|
4
4
|
export declare function isEventTargetInSameEmbedInteractionBoundary(scopeElement: HTMLElement | null | undefined, target: EventTarget | null | undefined): boolean;
|
|
5
5
|
export declare class EmbedInteractionBoundaryService {
|
|
6
6
|
private readonly _roots;
|
|
7
|
+
private readonly _childUnitIds;
|
|
7
8
|
private readonly _portalObservers;
|
|
9
|
+
private readonly _closedPortalInputGuards;
|
|
8
10
|
private readonly _activePortalOwners;
|
|
9
11
|
private _pendingPortalOwner;
|
|
10
|
-
registerRoot(embedId: string, root: HTMLElement): IDisposable;
|
|
12
|
+
registerRoot(embedId: string, root: HTMLElement, childUnitId?: string): IDisposable;
|
|
11
13
|
private _registerRootPopupDescendantFocusRoles;
|
|
12
14
|
registerOwnedElement(embedId: string, element: HTMLElement): IDisposable;
|
|
13
15
|
contains(embedId: string | undefined, target: EventTarget | null | undefined, event?: Event): boolean;
|
|
14
16
|
hasRecentInteraction(ownerDocument?: Document): boolean;
|
|
15
17
|
hasRecentInteractionFor(embedId: string | undefined, ownerDocument?: Document): boolean;
|
|
16
18
|
closeOwnedFloatingSurfaces(embedId: string | undefined, ownerDocument: Document | undefined): void;
|
|
17
|
-
activatePortalScope(embedId: string, ownerDocument: Document | undefined
|
|
19
|
+
activatePortalScope(embedId: string, ownerDocument: Document | undefined, options?: {
|
|
20
|
+
includeAppShellEditorPortal?: boolean;
|
|
21
|
+
}): IDisposable;
|
|
18
22
|
private _collectOwnedFloatingSurfaceRoots;
|
|
19
23
|
private _resolveFloatingSurfaceRoot;
|
|
20
24
|
private _dispatchEscapeToFloatingSurface;
|
|
@@ -29,6 +33,8 @@ export declare class EmbedInteractionBoundaryService {
|
|
|
29
33
|
private _isUniverPortalCandidate;
|
|
30
34
|
private _isDetachedOffscreenPortalCandidate;
|
|
31
35
|
private _markRuntimeFocusRole;
|
|
36
|
+
private _syncClosedPortalInputGuard;
|
|
37
|
+
private _clearClosedPortalInputGuard;
|
|
32
38
|
private _markInteractionBoundaryOwnerTree;
|
|
33
39
|
private _isUniverPortalTreeElement;
|
|
34
40
|
private _getBodyPortalOwner;
|
|
@@ -2,6 +2,7 @@ import type { IEmbedDescriptor } from '@univerjs-pro/embed';
|
|
|
2
2
|
import type { IEmbedHostMountResult, IEmbedMountSession } from '../types/embed-ui';
|
|
3
3
|
import { Injector, IUniverInstanceService } from '@univerjs/core';
|
|
4
4
|
import { EmbedChildViewRegistryService } from './embed-child-view-registry.service';
|
|
5
|
+
import { EmbedFloatingActiveService } from './embed-floating-active.service';
|
|
5
6
|
import { EmbedHostContainerRegistryService } from './embed-host-container-registry.service';
|
|
6
7
|
import { EmbedOverlayRootService } from './embed-overlay-root.service';
|
|
7
8
|
import { EmbedRuntimePolicyService } from './embed-runtime-policy.service';
|
|
@@ -19,11 +20,13 @@ export declare class EmbedMountService {
|
|
|
19
20
|
private readonly _overlayRootService;
|
|
20
21
|
private readonly _sceneCanvasCaptureService;
|
|
21
22
|
private readonly _univerInstanceService;
|
|
23
|
+
private readonly _floatingActiveService;
|
|
22
24
|
private readonly _runtimePolicyService;
|
|
23
25
|
private readonly _injector;
|
|
24
26
|
private readonly _sessions;
|
|
25
27
|
private readonly _tabFocusLeases;
|
|
26
|
-
|
|
28
|
+
private readonly _tabHostRenderLeases;
|
|
29
|
+
constructor(_hostContainerRegistry: EmbedHostContainerRegistryService, _childViewRegistry: EmbedChildViewRegistryService, _overlayRootService: EmbedOverlayRootService, _sceneCanvasCaptureService: EmbedSceneCanvasCaptureService, _univerInstanceService: IUniverInstanceService, _floatingActiveService: EmbedFloatingActiveService, _runtimePolicyService: EmbedRuntimePolicyService, _injector: Injector);
|
|
27
30
|
mount(descriptor: IEmbedDescriptor): IEmbedMountSession;
|
|
28
31
|
mountIntoHostElement(descriptor: IEmbedDescriptor, hostElement: HTMLElement, runtimeRoots?: IEmbedHostMountResult['runtimeRoots']): IEmbedMountSession;
|
|
29
32
|
private _mountResolvedHost;
|
|
@@ -33,10 +36,13 @@ export declare class EmbedMountService {
|
|
|
33
36
|
getSession(embedId: string): IEmbedMountSession | undefined;
|
|
34
37
|
listSessions(): IEmbedMountSession[];
|
|
35
38
|
activateSession(embedId: string): void;
|
|
39
|
+
releaseSessionFocus(embedId: string): boolean;
|
|
36
40
|
deactivateTabSessions(embedId?: string): IEmbedMountSession[];
|
|
37
41
|
deactivateFloatingSession(embedId: string): IEmbedMountSession | undefined;
|
|
38
42
|
setActive(embedId: string, active: boolean): void;
|
|
39
43
|
private _runChildBeforeDeactivate;
|
|
44
|
+
private _suspendTabPeerHostRender;
|
|
45
|
+
private _releaseTabPeerHostRenderLease;
|
|
40
46
|
private _resolveLayout;
|
|
41
47
|
private _createRenderScope;
|
|
42
48
|
private _registerRuntimeBoundary;
|
|
@@ -44,6 +50,7 @@ export declare class EmbedMountService {
|
|
|
44
50
|
private _mountFloatingMenu;
|
|
45
51
|
private _registerChildFocusBridge;
|
|
46
52
|
private _focusTabPeerSession;
|
|
53
|
+
private _refreshTabPeerRender;
|
|
47
54
|
private _activateTabPeerFocusLease;
|
|
48
55
|
private _releaseTabPeerFocusLeasesForHost;
|
|
49
56
|
private _releaseTabPeerFocusLease;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function findEmbedPresentationElementAtPoint(root: HTMLElement, selector: string, clientX: number, clientY: number): HTMLElement | undefined;
|
|
@@ -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
|
+
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { DependencyIdentifier, Injector, UniverInstanceType } from '@univerjs/core';
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
2
|
+
import type { IEmbedChildContainerContext, IEmbedFloatPreviewProvider } from '../types/embed-ui';
|
|
3
|
+
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
4
4
|
export interface ICreateEmbedRenderCanvasPreviewProviderOptions {
|
|
5
5
|
childType: UniverInstanceType;
|
|
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, renderCurrentFrame?: boolean): Promise<void>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { EmbedLayout } from '@univerjs-pro/embed';
|
|
2
|
-
import type { DependencyIdentifier, IDisposable
|
|
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
|
-
|
|
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.
|
|
12
|
-
*
|
|
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.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { IDisposable
|
|
1
|
+
import type { IDisposable } from '@univerjs/core';
|
|
2
2
|
import type { IEmbedChildContainerContext } from '../types/embed-ui';
|
|
3
|
+
import { UniverInstanceType } from '@univerjs/core';
|
|
3
4
|
export type EmbedSceneCanvasCaptureResult = string | HTMLCanvasElement | ImageBitmap;
|
|
4
5
|
export interface IEmbedSceneCanvasCaptureProvider {
|
|
5
6
|
childType: UniverInstanceType;
|
|
@@ -22,3 +23,30 @@ export declare class EmbedSceneCanvasCaptureService {
|
|
|
22
23
|
captureByChildUnitId(childUnitId: string): Promise<EmbedSceneCanvasCaptureResult | null | undefined>;
|
|
23
24
|
}
|
|
24
25
|
export declare function captureEmbedContextSceneCanvas(context: IEmbedChildContainerContext): string | undefined;
|
|
26
|
+
interface IEmbedSceneScrollBar {
|
|
27
|
+
enableHorizontal: boolean;
|
|
28
|
+
enableVertical: boolean;
|
|
29
|
+
}
|
|
30
|
+
interface IEmbedScrollBarRender {
|
|
31
|
+
scene?: IEmbedScrollBarScene;
|
|
32
|
+
}
|
|
33
|
+
interface IEmbedScrollBarScene {
|
|
34
|
+
getViewports?: () => Array<{
|
|
35
|
+
getScrollBar?: () => IEmbedSceneScrollBar | null | undefined | void;
|
|
36
|
+
}>;
|
|
37
|
+
getAllObjects?: () => IEmbedScrollBarSceneObject[];
|
|
38
|
+
makeDirty?: (force?: boolean) => void;
|
|
39
|
+
render?: () => void;
|
|
40
|
+
}
|
|
41
|
+
interface IEmbedScrollBarSceneObject {
|
|
42
|
+
getSubScenes?: () => Map<string, IEmbedScrollBarScene>;
|
|
43
|
+
hide?: () => void;
|
|
44
|
+
oKey?: string;
|
|
45
|
+
show?: () => void;
|
|
46
|
+
visible?: boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare function getEmbedContextSceneCanvas(context: IEmbedChildContainerContext, allowTainted?: boolean): HTMLCanvasElement | undefined;
|
|
49
|
+
export declare function hideEmbedContextScrollbars(context: IEmbedChildContainerContext): () => void;
|
|
50
|
+
export declare function hideEmbedRenderScrollbars(render: IEmbedScrollBarRender | null | undefined, roots?: readonly HTMLElement[]): () => void;
|
|
51
|
+
export declare function waitForEmbedPrintScrollbarsHidden(childType: UniverInstanceType): Promise<void>;
|
|
52
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IDisposable } from '@univerjs/core';
|
|
2
|
+
import type { IUIRuntimeScope } from '@univerjs/ui';
|
|
3
|
+
import { Disposable } from '@univerjs/core';
|
|
4
|
+
import { IUIRuntimeScopeService } from '@univerjs/ui';
|
|
5
|
+
/**
|
|
6
|
+
* Keeps nested Embed render scopes behind one stable UI runtime registration.
|
|
7
|
+
* The global UI service therefore retains its single-owner behavior while
|
|
8
|
+
* fullscreen scopes can temporarily take over and restore their parent scope.
|
|
9
|
+
*/
|
|
10
|
+
export declare class EmbedUIRuntimeScopeLeaseService extends Disposable {
|
|
11
|
+
private readonly _runtimeScopeService;
|
|
12
|
+
private readonly _entries;
|
|
13
|
+
constructor(_runtimeScopeService: IUIRuntimeScopeService);
|
|
14
|
+
acquire(scope: IUIRuntimeScope): IDisposable;
|
|
15
|
+
dispose(): void;
|
|
16
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EmbedHostEntry, EmbedLayout, EmbedMenuBehavior, IEmbedDescriptor, IEmbedLayoutPolicies } from '@univerjs-pro/embed';
|
|
2
|
-
import type { DependencyIdentifier, ICommandService, IDisposable, Injector, IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
|
3
|
-
import type { IMenuManagerService, IRibbonService } from '@univerjs/ui';
|
|
2
|
+
import type { Dependency, DependencyIdentifier, ICommandService, IDisposable, Injector, IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
|
|
3
|
+
import type { IMenuManagerService, IRibbonService, RibbonType } from '@univerjs/ui';
|
|
4
4
|
import type { Observable } from 'rxjs';
|
|
5
5
|
export interface IEmbedContainerContext {
|
|
6
6
|
descriptor: IEmbedDescriptor;
|
|
@@ -92,6 +92,7 @@ export interface IEmbedHostContainerContribution {
|
|
|
92
92
|
export interface IEmbedChildViewContribution {
|
|
93
93
|
childType: UniverInstanceType;
|
|
94
94
|
supportedLayouts: EmbedLayout[];
|
|
95
|
+
scopedDependencies?: readonly Dependency[];
|
|
95
96
|
canvasRootClassName?: string;
|
|
96
97
|
beforeDeactivate?: (context: IEmbedChildContainerContext) => void;
|
|
97
98
|
mount?: (context: IEmbedChildContainerContext) => IDisposable | void;
|
|
@@ -113,12 +114,13 @@ export interface IEmbedProductMenuMountContext {
|
|
|
113
114
|
surface?: EmbedProductMenuSurface;
|
|
114
115
|
childUnitId?: string;
|
|
115
116
|
embedId?: string;
|
|
116
|
-
injector:
|
|
117
|
+
injector: Injector;
|
|
117
118
|
menuSchema: unknown;
|
|
118
119
|
menuTitlePrefix?: string;
|
|
119
120
|
activeRibbonTab?: string;
|
|
120
121
|
headerMenu?: boolean;
|
|
121
122
|
toolbarOnly?: boolean;
|
|
123
|
+
ribbonType?: RibbonType;
|
|
122
124
|
ribbonHeaderClassName?: string;
|
|
123
125
|
scopedActionServiceTokens?: readonly DependencyIdentifier<unknown>[];
|
|
124
126
|
}
|
|
@@ -139,12 +141,26 @@ export interface IEmbedProductRibbonOverrideContext {
|
|
|
139
141
|
hostUnitId: string;
|
|
140
142
|
entry: EmbedHostEntry;
|
|
141
143
|
}
|
|
144
|
+
export interface IEmbedPresentationPolicyContext {
|
|
145
|
+
childContext: IEmbedChildContainerContext;
|
|
146
|
+
entry: EmbedHostEntry;
|
|
147
|
+
runtimeHost: HTMLElement;
|
|
148
|
+
}
|
|
149
|
+
export interface IEmbedPresentationNavigationContext extends IEmbedPresentationPolicyContext {
|
|
150
|
+
clientX: number;
|
|
151
|
+
clientY: number;
|
|
152
|
+
}
|
|
153
|
+
export interface IEmbedPresentationPolicyContribution {
|
|
154
|
+
getChromeCss?: (context: IEmbedPresentationPolicyContext) => string | undefined;
|
|
155
|
+
activateNavigationAtPoint?: (context: IEmbedPresentationNavigationContext) => boolean;
|
|
156
|
+
}
|
|
142
157
|
export interface IEmbedBlockContribution {
|
|
143
158
|
childType: UniverInstanceType;
|
|
144
159
|
productName: string;
|
|
145
160
|
hostChromeMode?: EmbedHostChromeMode;
|
|
146
161
|
hostHeaderMode?: 'none' | 'placeholder';
|
|
147
162
|
layoutPolicy?: IEmbedLayoutPolicies;
|
|
163
|
+
presentationPolicy?: IEmbedPresentationPolicyContribution;
|
|
148
164
|
createRibbonOverride?: (context: IEmbedProductRibbonOverrideContext) => IEmbedProductRibbonOverride | undefined;
|
|
149
165
|
}
|
|
150
166
|
export declare enum EmbedHostChromeMode {
|
|
@@ -172,14 +188,18 @@ export interface IEmbedFloatingMenuContribution {
|
|
|
172
188
|
export interface IEmbedPassiveViewportWheelContext extends IEmbedChildContainerContext {
|
|
173
189
|
event: WheelEvent;
|
|
174
190
|
stage: EmbedFloatingStage;
|
|
175
|
-
source?: 'wheel' | 'host-scroll-sync';
|
|
191
|
+
source?: 'wheel' | 'host-scroll-sync' | 'print-capture';
|
|
176
192
|
viewportScrollX?: number;
|
|
177
193
|
viewportScrollY?: number;
|
|
178
194
|
}
|
|
179
195
|
export interface IEmbedPassiveViewportProvider {
|
|
180
196
|
childType: UniverInstanceType;
|
|
181
197
|
supportedLayouts?: EmbedLayout[];
|
|
198
|
+
getHorizontalScroll?: (context: IEmbedChildContainerContext) => number | undefined;
|
|
199
|
+
getVerticalScroll?: (context: IEmbedChildContainerContext) => number | undefined;
|
|
200
|
+
getStickyLeftWidth?: (context: IEmbedChildContainerContext) => number | undefined;
|
|
182
201
|
getStickyHeaderHeight?: (context: IEmbedChildContainerContext) => number | undefined;
|
|
202
|
+
getStickyFooterHeight?: (context: IEmbedChildContainerContext) => number | undefined;
|
|
183
203
|
handleWheel: (context: IEmbedPassiveViewportWheelContext) => boolean | void;
|
|
184
204
|
subscribeVerticalScroll?: (context: IEmbedChildContainerContext, listener: (viewportScrollY: number) => void) => IDisposable | void;
|
|
185
205
|
}
|
|
@@ -192,11 +212,15 @@ export interface IEmbedPassiveWheelHandlerContribution {
|
|
|
192
212
|
export interface IEmbedContentSize {
|
|
193
213
|
height?: number;
|
|
194
214
|
width?: number;
|
|
215
|
+
verticalBreaks?: readonly number[];
|
|
195
216
|
}
|
|
196
217
|
export interface IEmbedContentSizeMeasureContext {
|
|
197
218
|
childType: UniverInstanceType;
|
|
198
219
|
childUnit?: unknown;
|
|
199
220
|
childUnitId: string;
|
|
221
|
+
injector?: Injector;
|
|
222
|
+
limitRowsToViewportWidth?: boolean;
|
|
223
|
+
viewportHeight?: number;
|
|
200
224
|
viewportWidth?: number;
|
|
201
225
|
}
|
|
202
226
|
export interface IEmbedContentSizeProvider {
|
|
@@ -233,7 +257,7 @@ export interface IEmbedMountSession {
|
|
|
233
257
|
context?: IEmbedChildContainerContext;
|
|
234
258
|
}
|
|
235
259
|
export type EmbedFloatPreviewStatus = 'pending' | 'ready' | 'error' | 'stale';
|
|
236
|
-
export type EmbedFloatPreviewReason = 'initial' | 'stage-exit' | 'resize' | 'content-change' | 'manual';
|
|
260
|
+
export type EmbedFloatPreviewReason = 'initial' | 'stage-exit' | 'resize' | 'content-change' | 'manual' | 'print';
|
|
237
261
|
export type EmbedFloatPreviewInvalidationReason = 'model-change' | 'view-state-change' | 'resize' | 'theme-change' | 'locale-change' | 'dispose';
|
|
238
262
|
export type EmbedFloatPreviewRenderResult = string | HTMLCanvasElement | ImageBitmap;
|
|
239
263
|
export interface IEmbedFloatPreviewEntry<TViewState = unknown> {
|