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

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 (124) 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 +135 -98
  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 +4 -40
  63. package/lib/types/components/EmbedHostToolbarMenu.d.ts +0 -26
  64. package/lib/types/components/embed-float-dom-data.d.ts +10 -0
  65. package/lib/types/components/embed-float-dom-geometry.d.ts +97 -0
  66. package/lib/types/components/embed-float-dom-interaction.d.ts +122 -0
  67. package/lib/types/controllers/embed-host-ribbon-override.controller.d.ts +2 -2
  68. package/lib/types/plugin.d.ts +4 -2
  69. package/lib/types/products/bases/BaseFullscreenTableSidebar.d.ts +31 -0
  70. package/lib/types/products/bases/EmbedChildView.d.ts +2 -2
  71. package/lib/types/products/bases/EmbedFloatingMenu.d.ts +1 -6
  72. package/lib/types/products/bases/embed-content-size.d.ts +13 -7
  73. package/lib/types/products/bases/embed-passive-viewport.d.ts +2 -3
  74. package/lib/types/products/bases/register.d.ts +1 -0
  75. package/lib/types/products/boards/EmbedChildView.d.ts +2 -1
  76. package/lib/types/products/docs/EmbedDocsCustomBlockRenderer.d.ts +3 -10
  77. package/lib/types/products/docs/docs-custom-block-layout.d.ts +2 -1
  78. package/lib/types/products/docs/embed-docs-custom-block-bleed.render-controller.d.ts +8 -1
  79. package/lib/types/products/product-ui-contributions.d.ts +1 -0
  80. package/lib/types/products/sheets/EmbedFloatingMenu.d.ts +2 -33
  81. package/lib/types/products/sheets/SheetEmbedFloatingMenuControls.d.ts +92 -0
  82. package/lib/types/products/sheets/SheetEmbedFloatingMenuPrimitives.d.ts +85 -0
  83. package/lib/types/products/sheets/embed-content-size.d.ts +2 -0
  84. package/lib/types/products/sheets/embed-passive-viewport.d.ts +2 -3
  85. package/lib/types/products/sheets/register.d.ts +1 -1
  86. package/lib/types/products/slides/EmbedChildView.d.ts +1 -1
  87. package/lib/types/products/slides/embed-floating-menu-stage.d.ts +2 -2
  88. package/lib/types/products/slides/register.d.ts +4 -0
  89. package/lib/types/products/slides/services/embed-slide-presentation-preview.d.ts +14 -2
  90. package/lib/types/services/embed-activation.service.d.ts +1 -0
  91. package/lib/types/services/embed-child-runtime-scope.d.ts +2 -2
  92. package/lib/types/services/embed-child-unit-scoped-injector.d.ts +4 -1
  93. package/lib/types/services/embed-content-size-registry.service.d.ts +9 -1
  94. package/lib/types/services/embed-display-target-sync.d.ts +3 -5
  95. package/lib/types/services/embed-dom-wheel.d.ts +40 -0
  96. package/lib/types/services/embed-fullscreen-runtime.d.ts +26 -0
  97. package/lib/types/services/embed-host-menu-override.service.d.ts +1 -0
  98. package/lib/types/services/embed-interaction-boundary.service.d.ts +2 -1
  99. package/lib/types/services/embed-mount.service.d.ts +8 -1
  100. package/lib/types/services/embed-presentation-policy.d.ts +1 -0
  101. package/lib/types/services/embed-render-canvas-preview-provider.d.ts +3 -2
  102. package/lib/types/types/embed-ui.d.ts +23 -3
  103. package/lib/umd/index.js +1 -1
  104. package/lib/umd/locale/ar-SA.js +1 -1
  105. package/lib/umd/locale/ca-ES.js +1 -1
  106. package/lib/umd/locale/de-DE.js +1 -1
  107. package/lib/umd/locale/en-US.js +1 -1
  108. package/lib/umd/locale/es-ES.js +1 -1
  109. package/lib/umd/locale/fa-IR.js +1 -1
  110. package/lib/umd/locale/fr-FR.js +1 -1
  111. package/lib/umd/locale/id-ID.js +1 -1
  112. package/lib/umd/locale/it-IT.js +1 -1
  113. package/lib/umd/locale/ja-JP.js +1 -1
  114. package/lib/umd/locale/ko-KR.js +1 -1
  115. package/lib/umd/locale/pl-PL.js +1 -1
  116. package/lib/umd/locale/pt-BR.js +1 -1
  117. package/lib/umd/locale/ru-RU.js +1 -1
  118. package/lib/umd/locale/sk-SK.js +1 -1
  119. package/lib/umd/locale/vi-VN.js +1 -1
  120. package/lib/umd/locale/zh-CN.js +1 -1
  121. package/lib/umd/locale/zh-HK.js +1 -1
  122. package/lib/umd/locale/zh-TW.js +1 -1
  123. package/package.json +36 -36
  124. package/lib/types/products/slides/components/embed-floating-preview/SlideEmbedFloatingPreview.d.ts +0 -24
@@ -1 +1 @@
1
- const _0x56c7ff=_0x231c;(function(_0x4ce006,_0x3e8d85){const _0x4fc759=_0x231c,_0x38013c=_0x4ce006();while(!![]){try{const _0x29b99b=parseInt(_0x4fc759(0xd4))/0x1*(-parseInt(_0x4fc759(0xc2))/0x2)+parseInt(_0x4fc759(0xc6))/0x3*(parseInt(_0x4fc759(0xc1))/0x4)+parseInt(_0x4fc759(0xc5))/0x5*(-parseInt(_0x4fc759(0xd5))/0x6)+parseInt(_0x4fc759(0xc3))/0x7+-parseInt(_0x4fc759(0xd6))/0x8*(-parseInt(_0x4fc759(0xd0))/0x9)+parseInt(_0x4fc759(0xcb))/0xa*(parseInt(_0x4fc759(0xd8))/0xb)+parseInt(_0x4fc759(0xdb))/0xc*(parseInt(_0x4fc759(0xd3))/0xd);if(_0x29b99b===_0x3e8d85)break;else _0x38013c['push'](_0x38013c['shift']());}catch(_0x5541fc){_0x38013c['push'](_0x38013c['shift']());}}}(_0x145d,0xd3dfb));const e={'embed-ui':{'deleteBlock':_0x56c7ff(0xc0),'fullscreen':{'exit':_0x56c7ff(0xc4)},'boardsFloating':{'fitContent':_0x56c7ff(0xd2),'zoomOut':'縮小','resetZoom':'重設縮放','zoomIn':'放大','delete':'刪除'},'basesFloating':{'copySuffix':'副本','delete':'刪除','confirmDelete':{'viewTitle':_0x56c7ff(0xd9),'viewDescription':_0x56c7ff(0xbf),'tableTitle':_0x56c7ff(0xc9),'tableDescription':'此表和其中的記錄將被刪除。'},'tableSidebar':{'defaultTableName':'表\x20{0}'},'duplicateTable':{'copyName':_0x56c7ff(0xbd)},'viewSettings':{'title':_0x56c7ff(0xbe),'addView':_0x56c7ff(0xce),'configureView':'設定檢視','deleteView':'刪除檢視'}},'sheetsFloating':{'toolbar':{'formatPainter':_0x56c7ff(0xda),'font':'字型','fontSize':'字型大小','numberFormat':_0x56c7ff(0xc8),'bold':'粗體','filter':'篩選','resetColor':'重置顏色','textColor':{'main':_0x56c7ff(0xd1)},'fillColor':{'main':'填滿色彩'},'border':{'main':'邊框'},'mergeCell':{'main':'合併儲存格'},'horizontalAlignMode':{'main':_0x56c7ff(0xc7)},'verticalAlignMode':{'main':_0x56c7ff(0xcf)},'textWrapMode':{'main':_0x56c7ff(0xcd)}},'align':{'left':_0x56c7ff(0xcc),'center':'置中','right':_0x56c7ff(0xd7),'top':'靠上對齊','middle':'垂直置中','bottom':'靠下對齊'},'borderLine':{'borderColor':'邊框顏色','borderSize':_0x56c7ff(0xca)},'textWrap':{'overflow':'溢出','wrap':'自動換行','clip':'截斷'}}}};function _0x231c(_0x42dd19,_0x303e48){_0x42dd19=_0x42dd19-0xbd;const _0x145d35=_0x145d();let _0x231c27=_0x145d35[_0x42dd19];return _0x231c27;}function _0x145d(){const _0x1f637f=['70103PckiAl','刪除此檢視?','複製格式','108ytzdsV','{0}\x20副本','檢視設定','此檢視將被刪除。','刪除嵌入區塊','1872wqSVSN','10VqyfPG','5509952YXpFLl','退出全螢幕','858830pSCPUx','1401FxOpcK','水平對齊','數字格式','刪除此表?','邊框粗細','830rpVWcj','靠左對齊','自動換行','新增檢視','垂直對齊','9AhpzJt','字型顏色','適應內容','1132677VypKMg','204496rjPYrh','36ZpznGd','4816792bheYKJ','靠右對齊'];_0x145d=function(){return _0x1f637f;};return _0x145d();}export{e as default};
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,27 +1,6 @@
1
- import type { IDisposable } from '@univerjs/core';
2
1
  import type { Observable } from 'rxjs';
3
2
  import type { EmbedFloatingStage, EmbedInteractionFlow, IEmbedChildContainerContext } from '../types/embed-ui';
4
- import { UniverInstanceType } from '@univerjs/core';
5
- import { ILayoutService } from '@univerjs/ui';
6
- import { EmbedRuntimeFocusCoordinator } from '../services/embed-runtime-focus-coordinator.service';
7
- export declare const EMBED_FLOAT_DRAG_HANDLE_POINTER_DOWN_EVENT = "univer:embed-float-drag-handle:pointerdown";
8
- export interface IEmbedFloatDragHandlePointerDownDetail {
9
- embedId: string;
10
- hostUnitId: string;
11
- hostAnchorId: string;
12
- pointerId?: number;
13
- clientX: number;
14
- clientY: number;
15
- button?: number;
16
- }
17
- export interface IEmbedFloatDomData {
18
- version: 1;
19
- embedId: string;
20
- hostUnitId?: string;
21
- hostAnchorId: string;
22
- childUnitId?: string;
23
- childType?: UniverInstanceType;
24
- }
3
+ import type { IEmbedFloatDomData } from './embed-float-dom-data';
25
4
  export type IEmbedDocsCustomBlockLayout = {
26
5
  floatingMenuInsetTop: number;
27
6
  sheetLike: false;
@@ -29,8 +8,11 @@ export type IEmbedDocsCustomBlockLayout = {
29
8
  bleedLeft: number;
30
9
  bleedWidth: number;
31
10
  contentHeight: number;
11
+ contentWidth: number;
32
12
  floatingMenuInsetTop: number;
13
+ pageContentWidth: number;
33
14
  sheetLike: true;
15
+ viewScale: number;
34
16
  viewportHeight: number;
35
17
  };
36
18
  export declare function EmbedFloatDomRenderer(props: {
@@ -55,21 +37,3 @@ export declare function EmbedFloatDomRenderer(props: {
55
37
  resolveHostWheelGestureRoot?: (container: HTMLElement) => HTMLElement | null | undefined;
56
38
  isExternalHostInteraction?: (event: PointerEvent) => boolean;
57
39
  }): import("react").JSX.Element;
58
- export declare function resetEmbedChromeLayoutStyles(chrome: HTMLElement): void;
59
- export declare function isPointInsideFloatBlock(container: HTMLElement, event: MouseEvent): boolean;
60
- export declare function syncRuntimeInteractionVisibility(container: HTMLElement, chrome: HTMLElement | undefined, visible: boolean, _stage: 'inactive' | 'stage1' | 'stage2'): void;
61
- export declare function syncChromeControlsVisibility(container: HTMLElement, chrome: HTMLElement | undefined, visible: boolean, stage: 'inactive' | 'stage1' | 'stage2'): void;
62
- export declare function syncDocsSheetLikeChromePageArea(chrome: HTMLElement, chromeRect: DOMRect, pageRect: DOMRect): void;
63
- export declare function resolveChromeAnchorRect(container: HTMLElement): DOMRect;
64
- export declare function shouldRouteUnhandledWheelToHost(event: WheelEvent): boolean;
65
- export declare function registerEmbedStage2LayoutContainers(layoutService: Pick<ILayoutService, 'checkElementInCurrentContainers' | 'registerContainerElement'>, focusCoordinator: Pick<EmbedRuntimeFocusCoordinator, 'listElements' | 'runtimeFocusChanged$'>, embedId: string | undefined, container: HTMLElement | null, stage: EmbedFloatingStage): IDisposable | undefined;
66
- export declare function shouldAcquireOwnedInteractionPointerLease(options: {
67
- stage: EmbedFloatingStage;
68
- target: EventTarget | null;
69
- liveRoot: HTMLElement;
70
- isOwnedChildInteraction: boolean;
71
- }): boolean;
72
- export declare function shouldPreserveFocusAfterOwnedPointerInteraction(options: {
73
- now: number;
74
- ownedPointerInteractionUntil: number;
75
- }): boolean;
@@ -1,6 +1,3 @@
1
- import type { EmbedLayout, IEmbedDescriptor } from '@univerjs-pro/embed';
2
- import type { IDisposable } from '@univerjs/core';
3
- import type { IEmbedChildContainerContext, IEmbedRenderScope } from '../types/embed-ui';
4
1
  import { Injector } from '@univerjs/core';
5
2
  export declare function EmbedHostToolbarMenu(): import("react").JSX.Element | null;
6
3
  interface IEmbedFullscreenRuntimeParts {
@@ -11,27 +8,4 @@ interface IEmbedFullscreenRuntimeParts {
11
8
  }
12
9
  export declare function EmbedFullscreenPopupParts(props: IEmbedFullscreenRuntimeParts): import("react").JSX.Element;
13
10
  export declare function EmbedFullscreenRightSidebarParts(props: IEmbedFullscreenRuntimeParts): import("react").JSX.Element;
14
- export declare function createFullscreenRenderScope(descriptor: IEmbedDescriptor, layout: EmbedLayout, roots: {
15
- viewport: HTMLElement;
16
- menuSlot: HTMLElement;
17
- popupSlot?: HTMLElement;
18
- footerSlot: HTMLElement;
19
- }): IEmbedRenderScope;
20
- export declare function registerFullscreenRuntimeOwnership(params: {
21
- injector: Injector;
22
- descriptor: IEmbedDescriptor;
23
- renderScope: IEmbedRenderScope;
24
- menuRoot: HTMLElement | null;
25
- menuSlot: HTMLElement;
26
- popupSlot: HTMLElement;
27
- sidebarSlot: HTMLElement;
28
- rightSidebarSlot: HTMLElement;
29
- footerSlot: HTMLElement;
30
- }): IDisposable;
31
- export declare function mountFullscreenWorkbenchMenus(params: {
32
- injector: Injector;
33
- descriptor: IEmbedDescriptor;
34
- childContext: IEmbedChildContainerContext;
35
- menuContainer: HTMLElement;
36
- }): IDisposable | undefined;
37
11
  export {};
@@ -0,0 +1,10 @@
1
+ import type { UniverInstanceType } from '@univerjs/core';
2
+ export interface IEmbedFloatDomData {
3
+ childType?: UniverInstanceType;
4
+ childUnitId?: string;
5
+ embedId: string;
6
+ hostAnchorId: string;
7
+ hostUnitId?: string;
8
+ version: 1;
9
+ }
10
+ export declare function normalizeEmbedFloatDomData(data: unknown): IEmbedFloatDomData | undefined;
@@ -0,0 +1,97 @@
1
+ import type { IDisposable } from '@univerjs/core';
2
+ import type { Observable } from 'rxjs';
3
+ import type { EmbedFloatingGeometryService } from '../services/embed-floating-geometry.service';
4
+ import type { EmbedFloatingStage, IEmbedChildContainerContext, IEmbedPassiveViewportProvider } from '../types/embed-ui';
5
+ interface IEmbedFloatDomRect {
6
+ height: number;
7
+ left: number;
8
+ top: number;
9
+ width: number;
10
+ }
11
+ export declare const MIN_DOCS_SHEET_LIKE_RUNTIME_INTERACTION_HEIGHT = 24;
12
+ export declare const MIN_EMBED_FLOATING_CHROME_CONTROLS_HEIGHT = 40;
13
+ export type EmbedVerticalScrollOwner = 'host' | 'child' | undefined;
14
+ interface IDocsEmbedVerticalScrollState {
15
+ childOffset: number;
16
+ clipBottom: number;
17
+ visualOffset: number;
18
+ }
19
+ export interface IEmbedHostVerticalScrollSyncOptions {
20
+ collapseWithoutChildScroll?: boolean;
21
+ container: HTMLElement;
22
+ content: HTMLElement;
23
+ contentHeight?: number;
24
+ enabled?: boolean;
25
+ getChildContext: () => IEmbedChildContainerContext | undefined;
26
+ getProvider: (context: IEmbedChildContainerContext) => IEmbedPassiveViewportProvider | undefined;
27
+ getStage: () => EmbedFloatingStage;
28
+ hostLayout$?: Observable<unknown>;
29
+ invalidate: () => void;
30
+ offset: {
31
+ current: number;
32
+ };
33
+ onHostWheel?: (event: WheelEvent, context: IEmbedChildContainerContext) => boolean | void;
34
+ owner: {
35
+ current: EmbedVerticalScrollOwner;
36
+ };
37
+ syncingChildFromHost: {
38
+ current: boolean;
39
+ };
40
+ syncingHostFromChild: {
41
+ current: boolean;
42
+ };
43
+ viewScale?: number;
44
+ viewportHeight?: number;
45
+ }
46
+ export declare function registerEmbedHostVerticalScrollSync(options: IEmbedHostVerticalScrollSyncOptions): IDisposable;
47
+ export declare function canWriteDocsEmbedVerticalScroll(owner: EmbedVerticalScrollOwner, writer: Exclude<EmbedVerticalScrollOwner, undefined>): boolean;
48
+ export declare function resolveDocsEmbedHostScrollDelta(targetOffset: number, currentOffset: number, distanceToSticky: number): number;
49
+ export declare function resolveDocsEmbedVerticalScrollState(params: {
50
+ collapseWithoutChildScroll?: boolean;
51
+ contentHeight: number;
52
+ hostOffset: number;
53
+ stickyHeaderHeight: number;
54
+ viewportHeight: number;
55
+ }): IDocsEmbedVerticalScrollState;
56
+ export declare function resolveDocsSheetLikeHorizontalMetrics(layout: {
57
+ bleedLeft: number;
58
+ bleedWidth: number;
59
+ contentWidth: number;
60
+ }): {
61
+ initialWidth: number;
62
+ maxExpansion: number;
63
+ };
64
+ export declare function clampNumber(value: number, min: number, max: number): number;
65
+ export declare function resetEmbedChromeLayoutStyles(chrome: HTMLElement): void;
66
+ export declare function cacheEmbedFloatDomRect(container: HTMLElement, rect?: IEmbedFloatDomRect): void;
67
+ export declare function registerEmbedChromeLayout(options: {
68
+ chrome: HTMLElement;
69
+ container: HTMLElement;
70
+ deferInactive?: boolean;
71
+ docsSheetLikeLayout?: {
72
+ contentWidth: number;
73
+ pageContentWidth: number;
74
+ };
75
+ embedId?: string;
76
+ geometryService: EmbedFloatingGeometryService;
77
+ hostLayout$?: Observable<unknown>;
78
+ stage: EmbedFloatingStage;
79
+ }): IDisposable;
80
+ export declare function isPointInsideFloatBlock(container: HTMLElement, event: MouseEvent): boolean;
81
+ 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 syncDocsSheetLikeChromePageArea(chrome: HTMLElement, chromeRect: DOMRect, pageRect: DOMRect): void;
84
+ export declare function resolveDocsSheetLikePageAreaRect(containerRect: DOMRect, layout?: {
85
+ contentWidth: number;
86
+ pageContentWidth: number;
87
+ }): DOMRect;
88
+ export declare function clearDocsSheetLikeChromePageArea(chrome: HTMLElement): void;
89
+ export declare function resolveChromeAnchorRect(container: HTMLElement): DOMRect;
90
+ export declare function isDocsSheetLikeChrome(container: HTMLElement): boolean;
91
+ export declare function isDocsCustomBlockChrome(container: HTMLElement): boolean;
92
+ export declare function invalidateGeometryAfterRuntimeScroll(geometryService: EmbedFloatingGeometryService, embedId: string | undefined, reason: 'child-scroll' | 'host-scroll' | 'wheel', framesRef: {
93
+ current: number[];
94
+ }): void;
95
+ export declare function shouldSyncChromeRectForGlobalEvent(container: HTMLElement, event: Event | undefined, cachedRect: Partial<IEmbedFloatDomRect>): boolean;
96
+ export declare function isVerticalWheelOrScrollEvent(event: Event | undefined): boolean;
97
+ export {};
@@ -0,0 +1,122 @@
1
+ import type { EmbedModelService, IEmbedDescriptor } from '@univerjs-pro/embed';
2
+ import type { IDisposable } from '@univerjs/core';
3
+ import type { ILayoutService } from '@univerjs/ui';
4
+ import type { EmbedActivationService } from '../services/embed-activation.service';
5
+ import type { EmbedFloatingActiveService } from '../services/embed-floating-active.service';
6
+ import type { EmbedInteractionBoundaryService } from '../services/embed-interaction-boundary.service';
7
+ import type { EmbedRuntimeFocusCoordinator, EmbedRuntimeFocusRole } from '../services/embed-runtime-focus-coordinator.service';
8
+ import type { EmbedFloatingStage, EmbedInteractionFlow } from '../types/embed-ui';
9
+ import type { EmbedVerticalScrollOwner } from './embed-float-dom-geometry';
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\"]";
12
+ export declare const EMBED_FLOAT_DRAG_HANDLE_POINTER_DOWN_EVENT = "univer:embed-float-drag-handle:pointerdown";
13
+ export interface IEmbedFloatDragHandlePointerDownDetail {
14
+ button?: number;
15
+ clientX: number;
16
+ clientY: number;
17
+ embedId: string;
18
+ hostAnchorId: string;
19
+ hostUnitId: string;
20
+ pointerId?: number;
21
+ }
22
+ export declare function getRuntimeRootElements(...roots: Array<HTMLElement | null | undefined>): HTMLElement[];
23
+ export declare function registerEmbedBrowserZoomPrevention(container: HTMLElement, chrome: HTMLElement | null): () => void;
24
+ export declare function findRuntimeCanvas(roots: HTMLElement[], target?: EventTarget | null): HTMLCanvasElement | null;
25
+ export declare function shouldAutoFocusRuntimeCanvas(childType: UniverInstanceType | undefined, allowBase?: boolean): boolean;
26
+ export declare function isChildEditorOrPopupRuntimeElement(target: EventTarget | null): boolean;
27
+ export declare function getRuntimeFocusRole(target: EventTarget | null): EmbedRuntimeFocusRole | undefined;
28
+ export declare function registerEmbedStage2LayoutContainers(layoutService: Pick<ILayoutService, 'checkElementInCurrentContainers' | 'registerContainerElement'>, focusCoordinator: Pick<EmbedRuntimeFocusCoordinator, 'listElements' | 'runtimeFocusChanged$'>, embedId: string | undefined, container: HTMLElement | null, stage: EmbedFloatingStage): IDisposable | undefined;
29
+ export declare function shouldAcquireOwnedInteractionPointerLease(options: {
30
+ stage: EmbedFloatingStage;
31
+ target: EventTarget | null;
32
+ liveRoot: HTMLElement;
33
+ isOwnedChildInteraction: boolean;
34
+ }): boolean;
35
+ export declare function shouldPreserveFocusAfterOwnedPointerInteraction(options: {
36
+ now: number;
37
+ ownedPointerInteractionUntil: number;
38
+ }): boolean;
39
+ export declare function registerEmbedOutsideInteraction(options: {
40
+ activationService: EmbedActivationService;
41
+ chrome: HTMLElement | null;
42
+ container: HTMLElement;
43
+ embedId: string;
44
+ externalHostInteractionUntil: {
45
+ current: number;
46
+ };
47
+ floatingActiveService: EmbedFloatingActiveService;
48
+ focusCoordinator: EmbedRuntimeFocusCoordinator;
49
+ graceMs: number;
50
+ hostUnitId?: string;
51
+ interactionBoundaryService: EmbedInteractionBoundaryService;
52
+ isExternalHostInteraction?: (event: PointerEvent) => boolean;
53
+ ownedPointerInteractionUntil: {
54
+ current: number;
55
+ };
56
+ runtimeFocusOwners: string[];
57
+ }): IDisposable;
58
+ export declare function registerEmbedActivationInteraction(options: {
59
+ acquireStage2SessionLease: () => void;
60
+ activationService: EmbedActivationService;
61
+ data: {
62
+ childType?: UniverInstanceType;
63
+ childUnitId?: string;
64
+ embedId: string;
65
+ hostAnchorId: string;
66
+ hostUnitId: string;
67
+ };
68
+ embedModelService: EmbedModelService;
69
+ enableStage1BodyDrag?: boolean;
70
+ floatingActiveService: EmbedFloatingActiveService;
71
+ gate: HTMLElement;
72
+ interactionFlow: EmbedInteractionFlow;
73
+ popupRoot: HTMLElement | null;
74
+ releaseStage2SessionLeaseIfActivationDoesNotStick: () => void;
75
+ }): IDisposable;
76
+ export declare function resolveEmbedActivationDescriptor(descriptor: IEmbedDescriptor | undefined, runtime: {
77
+ childType?: UniverInstanceType;
78
+ childUnitId?: string;
79
+ }): IEmbedDescriptor | undefined;
80
+ export declare function registerEmbedCanvasFocus(options: {
81
+ acquireStage2SessionLease: () => void;
82
+ activationService: EmbedActivationService;
83
+ data: {
84
+ childType?: UniverInstanceType;
85
+ childUnitId?: string;
86
+ embedId?: string;
87
+ hostUnitId?: string;
88
+ };
89
+ embedModelService: EmbedModelService;
90
+ floatingActiveService: EmbedFloatingActiveService;
91
+ focusCoordinator: EmbedRuntimeFocusCoordinator;
92
+ getRuntimeRoots: () => HTMLElement[];
93
+ interactionFlow: EmbedInteractionFlow;
94
+ liveRoot: HTMLElement;
95
+ popupRoot: HTMLElement | null;
96
+ releaseStage2SessionLeaseIfActivationDoesNotStick: () => void;
97
+ runtimeFocusOwners: string[];
98
+ }): IDisposable;
99
+ export declare function registerEmbedPointerLease(options: {
100
+ data: {
101
+ childType?: UniverInstanceType;
102
+ childUnitId?: string;
103
+ embedId: string;
104
+ hostUnitId?: string;
105
+ };
106
+ floatingActiveService: EmbedFloatingActiveService;
107
+ focusCoordinator: EmbedRuntimeFocusCoordinator;
108
+ graceMs: number;
109
+ interactionBoundaryService: EmbedInteractionBoundaryService;
110
+ liveRoot: HTMLElement;
111
+ ownedPointerInteractionUntil: {
112
+ current: number;
113
+ };
114
+ pointerLease: {
115
+ current: IDisposable | undefined;
116
+ };
117
+ verticalScrollOwner: {
118
+ current: EmbedVerticalScrollOwner;
119
+ };
120
+ }): IDisposable;
121
+ export declare function isHostFocusSurface(target: HTMLElement): boolean;
122
+ export declare function blurRuntimeFocusIfOwnedByBlock(embedId: string | undefined, roots: HTMLElement[]): void;
@@ -1,5 +1,5 @@
1
1
  import { Disposable, Injector } from '@univerjs/core';
2
- import { IRibbonOverrideService } from '@univerjs/ui';
2
+ import { IRibbonOverrideService, IUIPartsService } from '@univerjs/ui';
3
3
  import { EmbedBlockRegistryService } from '../services/embed-block-registry.service';
4
4
  import { EmbedHostMenuOverrideService } from '../services/embed-host-menu-override.service';
5
5
  export declare class EmbedHostRibbonOverrideController extends Disposable {
@@ -9,6 +9,6 @@ export declare class EmbedHostRibbonOverrideController extends Disposable {
9
9
  private readonly _injector;
10
10
  private _current;
11
11
  private _currentOverride;
12
- constructor(_menuOverrideService: EmbedHostMenuOverrideService, _blockRegistry: EmbedBlockRegistryService, _ribbonOverrideService: IRibbonOverrideService, _injector: Injector);
12
+ constructor(_menuOverrideService: EmbedHostMenuOverrideService, _blockRegistry: EmbedBlockRegistryService, _ribbonOverrideService: IRibbonOverrideService, uiPartsService: IUIPartsService, _injector: Injector);
13
13
  dispose(): void;
14
14
  }
@@ -1,19 +1,21 @@
1
1
  import type { IUniverEmbedUIPluginConfig } from './config/config';
2
- import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
2
+ import { IConfigService, Injector, IUniverInstanceService, Plugin, UniverInstanceType } from '@univerjs/core';
3
3
  export declare class UniverEmbedUIPlugin extends Plugin {
4
4
  private readonly _config;
5
5
  protected readonly _injector: Injector;
6
6
  private readonly _configService;
7
+ private readonly _univerInstanceService;
7
8
  static pluginName: string;
8
9
  static packageName: string;
9
10
  static version: string;
10
11
  static type: UniverInstanceType;
11
- constructor(_config: Partial<IUniverEmbedUIPluginConfig> | undefined, _injector: Injector, _configService: IConfigService);
12
+ constructor(_config: Partial<IUniverEmbedUIPluginConfig> | undefined, _injector: Injector, _configService: IConfigService, _univerInstanceService: IUniverInstanceService);
12
13
  onStarting(): void;
13
14
  onReady(): void;
14
15
  private _registerServices;
15
16
  private _registerProductMenus;
16
17
  private _registerProductUIContributions;
18
+ private _registerLateProductUIContributions;
17
19
  private _flushPendingContributions;
18
20
  private _registerFloatingMenus;
19
21
  private _touchServices;
@@ -0,0 +1,31 @@
1
+ import type { BaseDataModel, BaseViewType, ITableSnapshot, IViewSnapshot } from '@univerjs/core';
2
+ export declare function BaseFullscreenTablePanelPortal(props: {
3
+ embedId: string;
4
+ childUnitId: string;
5
+ base: BaseDataModel;
6
+ activeTable: ITableSnapshot;
7
+ }): import("react").ReactPortal | null;
8
+ export declare function BaseEmbedFullscreenViewTabs(props: {
9
+ embedId: string;
10
+ activeView: IViewSnapshot;
11
+ views: IViewSnapshot[];
12
+ addViewOpen: boolean;
13
+ onAddViewOpenChange: (open: boolean) => void;
14
+ onActivateView: (viewId: string) => void;
15
+ onAddView: (type: BaseViewType) => void;
16
+ onSetViewAsFirst: (viewId: string) => void;
17
+ onMoveView: (viewId: string, target: {
18
+ beforeViewId?: string;
19
+ afterViewId?: string;
20
+ }) => void;
21
+ onRenameView: (viewId: string, name: string) => void;
22
+ onDuplicateView: (viewId: string) => void;
23
+ onConfigureView: (anchor: HTMLElement, viewId: string) => void;
24
+ onDeleteView: (viewId: string) => void;
25
+ }): import("react").JSX.Element;
26
+ export declare function getVisibleBaseTables(snapshot: ReturnType<BaseDataModel['getSnapshot']> | undefined): ITableSnapshot[];
27
+ export declare function createBaseFullscreenTableSidebarItems(snapshot: ReturnType<BaseDataModel['getSnapshot']> | undefined, activeTableId: string | null | undefined): {
28
+ id: string;
29
+ name: string;
30
+ active: boolean;
31
+ }[];
@@ -1,11 +1,11 @@
1
- import type { IUniverBaseUIConfig } from '@univerjs-pro/bases-ui';
1
+ import type { BaseEmbedRuntimeRegistryService, IUniverBaseUIConfig } from '@univerjs-pro/bases-ui';
2
2
  import type { EmbedDisplayTarget, IEmbedBaseDisplayTarget } from '@univerjs-pro/embed';
3
3
  import type { BaseDataModel, Injector } from '@univerjs/core';
4
4
  import type { IEmbedChildContainerContext, IEmbedChildViewContribution } from '../../types/embed-ui';
5
5
  import { BaseEditorService, BaseUIPopupService, BaseUIStateService, IBaseUIPopupService, IBaseViewWheelScrollService } from '@univerjs-pro/bases-ui';
6
6
  import { ICommandService } from '@univerjs/core';
7
7
  export type BaseEmbedChromeMode = 'workbench' | 'content-only' | 'fullscreen';
8
- export declare function createBasesEmbedChildViewContribution(commandService: ICommandService): IEmbedChildViewContribution;
8
+ export declare function createBasesEmbedChildViewContribution(commandService: ICommandService, runtimeRegistry: BaseEmbedRuntimeRegistryService): IEmbedChildViewContribution;
9
9
  export declare function isBaseCanvasRootReady(canvasRoot: HTMLElement | null): canvasRoot is HTMLElement;
10
10
  export declare function shouldActivateBasesEmbedRender(_context: Pick<IEmbedChildContainerContext, 'renderScope'>): boolean;
11
11
  export declare function createBasesEmbedChildUnitScopedInjector(context: IEmbedChildContainerContext, baseStateService: BaseUIStateService, basePopupService: IBaseUIPopupService, baseEditorService: BaseEditorService): Injector | undefined;
@@ -1,5 +1,5 @@
1
1
  import type { IBaseToolbarState } from '@univerjs-pro/bases-ui';
2
- import type { BaseDataModel, IViewSnapshot } from '@univerjs/core';
2
+ import type { IViewSnapshot } from '@univerjs/core';
3
3
  import type { IEmbedFloatingMenuContribution } from '../../types/embed-ui';
4
4
  export declare const BASE_EMBED_VIEW_PANEL_WIDTH = 208;
5
5
  export declare function createBasesFloatingMenuContributions(): IEmbedFloatingMenuContribution[];
@@ -19,11 +19,6 @@ export declare function createBaseFloatingToolbarState(view: IViewSnapshot, undo
19
19
  undos?: number;
20
20
  redos?: number;
21
21
  }): IBaseToolbarState;
22
- export declare function createBaseFullscreenTableSidebarItems(snapshot: ReturnType<BaseDataModel['getSnapshot']> | undefined, activeTableId: string | null | undefined): {
23
- id: string;
24
- name: string;
25
- active: boolean;
26
- }[];
27
22
  export declare function viewPanelStyle(anchor: DOMRect): {
28
23
  top: number;
29
24
  left: number;
@@ -1,9 +1,15 @@
1
1
  import type { IEmbedContentSizeProvider } from '../../types/embed-ui';
2
- interface IBaseContentSizeActiveState {
3
- activeTableId?: string;
4
- activeViewId?: string;
2
+ import { IBaseProjectionService } from '@univerjs-pro/bases';
3
+ import { IBaseUIStateService, IBaseViewWheelScrollService } from '@univerjs-pro/bases-ui';
4
+ import { UniverInstanceType } from '@univerjs/core';
5
+ export declare class BasesEmbedContentSizeProvider implements IEmbedContentSizeProvider {
6
+ private readonly _baseUIStateService;
7
+ private readonly _projectionService;
8
+ private readonly _wheelScrollService;
9
+ readonly childType = UniverInstanceType.UNIVER_BASE;
10
+ constructor(_baseUIStateService: IBaseUIStateService, _projectionService: IBaseProjectionService, _wheelScrollService: IBaseViewWheelScrollService);
11
+ measureContentSize(context: Parameters<IEmbedContentSizeProvider['measureContentSize']>[0]): {
12
+ height: number | undefined;
13
+ width: number | undefined;
14
+ } | undefined;
5
15
  }
6
- export declare function createBasesContentSizeProvider(baseUIStateService?: {
7
- getState?: () => IBaseContentSizeActiveState | undefined;
8
- }): IEmbedContentSizeProvider;
9
- export {};
@@ -1,3 +1,2 @@
1
- import type { Injector } from '@univerjs/core';
2
- import type { IEmbedPassiveViewportProvider } from '../../types/embed-ui';
3
- export declare function createBasesPassiveViewportProvider(rootInjector: Injector): IEmbedPassiveViewportProvider;
1
+ import type { IEmbedChildContainerContext, IEmbedPassiveViewportProvider } from '../../types/embed-ui';
2
+ export declare function createBasesPassiveViewportProvider(rootInjector: IEmbedChildContainerContext['injector']): IEmbedPassiveViewportProvider;
@@ -5,6 +5,7 @@ import { EmbedActivationService } from '../../services/embed-activation.service'
5
5
  import { EmbedHostRestoreService } from '../../services/embed-host-restore.service';
6
6
  import { EmbedMountService } from '../../services/embed-mount.service';
7
7
  export declare function registerBasesEmbedUIContributions(injector: Injector): void;
8
+ export declare function registerBasesEmbedContentSizeProvider(injector: Injector): void;
8
9
  export declare function createBasesEmbedRuntimeService(params: {
9
10
  embedModelService: EmbedModelService;
10
11
  restoreService: EmbedHostRestoreService;
@@ -1,2 +1,3 @@
1
+ import type { Injector } from '@univerjs/core';
1
2
  import type { IEmbedChildViewContribution } from '../../types/embed-ui';
2
- export declare function createBoardsEmbedChildViewContribution(): IEmbedChildViewContribution;
3
+ export declare function createBoardsEmbedChildViewContribution(injector: Injector): IEmbedChildViewContribution;
@@ -1,4 +1,4 @@
1
- import type { IEmbedFloatDomData } from '../../components/EmbedFloatDomRenderer';
1
+ import type { IEmbedFloatDomData } from '../../components/embed-float-dom-data';
2
2
  import { IRenderManagerService } from '@univerjs/engine-render';
3
3
  export interface IEmbedDocsCustomBlockRuntimeProps {
4
4
  customBlockRenderViewport?: {
@@ -7,22 +7,15 @@ export interface IEmbedDocsCustomBlockRuntimeProps {
7
7
  contentHeight?: number;
8
8
  contentWidth?: number;
9
9
  height?: number;
10
+ pageContentWidth?: number;
11
+ viewScale?: number;
10
12
  viewportHeight?: number;
11
13
  };
12
14
  }
13
- export interface IDocsTableLikeCustomBlockWheelHandlerOptions {
14
- getLive: () => HTMLElement | null;
15
- getMaxScrollLeft?: () => number | undefined;
16
- }
17
- export interface IDocsTableLikeCustomBlockStage2WheelHandlerOptions extends IDocsTableLikeCustomBlockWheelHandlerOptions {
18
- getStage: () => 'inactive' | 'stage1' | 'stage2' | undefined;
19
- }
20
15
  export declare function EmbedDocsCustomBlockRenderer(props: {
21
16
  data?: IEmbedFloatDomData;
22
17
  } & IEmbedDocsCustomBlockRuntimeProps): import("react").JSX.Element;
23
18
  export declare function blurHostDocSelectionWhenEmbedRuntimeEntersStage(renderManagerService: IRenderManagerService, hostUnitId: string | undefined, stage: 'inactive' | 'stage1' | 'stage2'): void;
24
- export declare function createDocsTableLikeCustomBlockWheelHandler(options: IDocsTableLikeCustomBlockWheelHandlerOptions): (event: WheelEvent) => void;
25
- export declare function createDocsTableLikeCustomBlockStage2WheelHandler(options: IDocsTableLikeCustomBlockStage2WheelHandlerOptions): (event: WheelEvent) => void;
26
19
  export declare function resolveDocsTableLikeCustomBlockRuntimeContentHeight(authoritativeContentHeight: number | undefined): number;
27
20
  export declare function resolveDocsCustomBlockRuntimeViewportHeight(params: {
28
21
  contentHeight: number;
@@ -1,5 +1,6 @@
1
1
  export declare const DOCS_CUSTOM_BLOCK_FLOATING_MENU_INSET_TOP = 52;
2
+ export declare function resolveDocsSheetCustomBlockContentHeight(contentHeight: number): number;
2
3
  export declare function resolveDocsCustomBlockLayoutHeight(params: {
3
4
  contentHeight: number;
4
- tableLike: boolean;
5
+ floatingMenuInsetTop: number;
5
6
  }): number;
@@ -2,18 +2,22 @@ import type { DocumentDataModel } from '@univerjs/core';
2
2
  import type { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
3
  import { EmbedModelService } from '@univerjs-pro/embed';
4
4
  import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
5
+ import { DocViewScaleService } from '@univerjs/docs-ui';
5
6
  import { IRenderManagerService } from '@univerjs/engine-render';
6
7
  import { EmbedContentSizeRegistryService } from '../../services/embed-content-size-registry.service';
8
+ import { EmbedMountService } from '../../services/embed-mount.service';
7
9
  export declare class EmbedDocsCustomBlockBleedRenderController extends Disposable implements IRenderModule {
8
10
  private readonly _context;
9
11
  private readonly _univerInstanceService;
10
12
  private readonly _commandService;
11
13
  private readonly _contentSizeRegistry;
14
+ private readonly _embedMountService;
12
15
  private readonly _embedModelService;
13
16
  private readonly _renderManagerService;
17
+ private readonly _docViewScaleService;
14
18
  private readonly _resolvedChildUnits;
15
19
  private readonly _pendingChildUnits;
16
- constructor(_context: IRenderContext<DocumentDataModel>, _univerInstanceService: IUniverInstanceService, _commandService: ICommandService, _contentSizeRegistry: EmbedContentSizeRegistryService, _embedModelService: EmbedModelService, _renderManagerService: IRenderManagerService);
20
+ constructor(_context: IRenderContext<DocumentDataModel>, _univerInstanceService: IUniverInstanceService, _commandService: ICommandService, _contentSizeRegistry: EmbedContentSizeRegistryService, _embedMountService: EmbedMountService, _embedModelService: EmbedModelService, _renderManagerService: IRenderManagerService, _docViewScaleService: DocViewScaleService);
17
21
  private _getHostUnit;
18
22
  private _getHostSnapshot;
19
23
  private _rerenderHostDoc;
@@ -23,3 +27,6 @@ export declare class EmbedDocsCustomBlockBleedRenderController extends Disposabl
23
27
  private _getDocsLeft;
24
28
  private _getVisibleCanvasDocumentRect;
25
29
  }
30
+ export declare function observeDocsCustomBlockCanvasResize(canvas: Element | null | undefined, onResize: () => void): {
31
+ dispose: () => void;
32
+ } | undefined;
@@ -1,2 +1,3 @@
1
1
  import type { Injector } from '@univerjs/core';
2
2
  export declare function registerDefaultEmbedProductUIContributions(injector: Injector): void;
3
+ export declare function registerDefaultEmbedProductUILateContributions(injector: Injector): void;
@@ -1,7 +1,6 @@
1
- import type { IMenuItem, IMenuSchema, IValueOption } from '@univerjs/ui';
1
+ import type { IMenuItem, IMenuSchema } from '@univerjs/ui';
2
2
  import type { IEmbedFloatingMenuContribution } from '../../types/embed-ui';
3
- import { BORDER_LINE_CHILDREN } from '@univerjs/sheets-ui';
4
- import { FONT_SIZE_LIST } from '@univerjs/ui';
3
+ import type { IResolvedSheetsFloatingToolbarMenuItems } from './SheetEmbedFloatingMenuControls';
5
4
  export type SheetFloatingToolbarItem = {
6
5
  id: string;
7
6
  type: 'button' | 'dropdown';
@@ -10,41 +9,11 @@ export type SheetFloatingToolbarItem = {
10
9
  type: 'divider';
11
10
  };
12
11
  export declare function createSheetsFloatingToolbarItems(): SheetFloatingToolbarItem[];
13
- export declare function createSheetsFloatingBorderLineItems(): typeof BORDER_LINE_CHILDREN;
14
- export declare function createSheetsFloatingFontSizeItems(): typeof FONT_SIZE_LIST;
15
- export interface IResolvedSheetsFloatingToolbarMenuItems {
16
- formatPainter?: IMenuItem;
17
- numberFormat?: IMenuItem;
18
- fontFamily?: IMenuItem;
19
- fontSize?: IMenuItem;
20
- bold?: IMenuItem;
21
- textColor?: IMenuItem;
22
- backgroundColor?: IMenuItem;
23
- borderComposite?: IMenuItem;
24
- merge?: {
25
- root?: IMenuItem;
26
- all?: IMenuItem;
27
- vertical?: IMenuItem;
28
- horizontal?: IMenuItem;
29
- unmerge?: IMenuItem;
30
- };
31
- horizontalAlign?: IMenuItem;
32
- verticalAlign?: IMenuItem;
33
- wrap?: IMenuItem;
34
- filter?: IMenuItem;
35
- deleteBlock?: true;
36
- }
37
12
  export declare function resolveSheetsFloatingToolbarMenuItems(menuSchemas: IMenuSchema[]): IResolvedSheetsFloatingToolbarMenuItems;
38
13
  export declare function createVisibleSheetsFloatingToolbarItems(resolved: IResolvedSheetsFloatingToolbarMenuItems): SheetFloatingToolbarItem[];
39
- export declare function getStaticMenuSelections(item: IMenuItem | undefined): IValueOption[];
40
14
  export declare function resolveMenuCommandRequest(item: IMenuItem | undefined, params?: object): {
41
15
  commandId: string;
42
16
  params?: object;
43
17
  } | undefined;
44
18
  export declare function createSheetsFloatingMenuContributions(): IEmbedFloatingMenuContribution[];
45
19
  export declare function shouldUseSheetsFloatingMenuDomStage(_entry: string): boolean;
46
- export declare function isFloatingDropdownOwnSurfaceTarget(target: EventTarget | null, embedId: string): boolean;
47
- export declare function keepFloatingDropdownOpenForOwnSurface(event: {
48
- target: EventTarget | null;
49
- preventDefault: () => void;
50
- }, embedId: string): void;