@univerjs/preset-docs-core 0.25.0 → 0.25.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 (2) hide show
  1. package/lib/umd/index.js +3 -3
  2. package/package.json +10 -10
package/lib/umd/index.js CHANGED
@@ -186,7 +186,7 @@ hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
186
186
  univer-text-primary-600
187
187
  `}),(0,a.jsx)(`span`,{className:(0,o.clsx)(Po,l&&i&&`
188
188
  univer-pl-4
189
- `),children:(0,a.jsx)(K,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:t=>{var n;B==null||B({...e,value:t,id:c.id,label:s,commandId:(n=e.commandId)==null?ae:n})}})})]});return l?(0,a.jsx)(`button`,{type:`button`,className:d,disabled:e.disabled,onClick:()=>{var t;B==null||B({...e,id:c.id,label:s,commandId:(t=e.commandId)==null?ae:t})},children:f},r):(0,a.jsx)(`div`,{className:d,"aria-disabled":e.disabled,children:f},r)})}),ie&&(0,a.jsx)(zo,{menuSchemas:ne,menuSessionVersion:u,submenuPortalContainer:d,activeItemIds:f,hiddenItemIds:p,onOptionSelect:B,maxMenuHeight:g})]})}),d):null)]})}function Vo(e){let[t,i]=(0,r.useState)({});return(0,r.useEffect)(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?(0,n.combineLatest)(e.children.map(e=>{var t,r;return(t=(r=e.item)==null?void 0:r.hidden$)==null?(0,n.of)(!1):t})).subscribe(t=>{let n=t.every(e=>e===!0);i(t=>({...t,[e.key]:n}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),i({})}},[e]),t}function Ho(e){let{hostId:t,visible:n,anchorRect:s,menuType:c,anchorVertical:l=`bottom`,menuOffset:u=0,onRequestClose:d,onOptionSelect:f}=e,p=(0,r.useRef)(null),m=(0,i.useDependency)(wo),h=(0,r.useRef)(d),g=(0,r.useRef)(0),_=(0,r.useRef)(n),v=(0,r.useRef)(c);(0,r.useEffect)(()=>{h.current=d},[d]),n&&(!_.current||c!==v.current)&&(g.current+=1),_.current=n,v.current=c,(0,r.useEffect)(()=>{let e=m.registerMenu(t,()=>{h.current()});return()=>{e.dispose(),m.deactivateMenu(t)}},[m,t]),(0,r.useLayoutEffect)(()=>{if(n){m.activateMenu(t);return}m.deactivateMenu(t)},[m,t,n]),(0,r.useEffect)(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||p.current&&!p.current.contains(t.target)&&h.current()},r=e=>{e.key===`Escape`&&h.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=p.current)!=null&&n.contains(t.target)){t.stopPropagation();return}t.preventDefault(),t.stopPropagation()};return document.addEventListener(`pointerdown`,t),document.addEventListener(`keydown`,r),document.addEventListener(`wheel`,i,{capture:!0,passive:!1}),()=>{document.removeEventListener(`pointerdown`,t),document.removeEventListener(`keydown`,r),document.removeEventListener(`wheel`,i,!0)}},[n]);let y=(0,r.useMemo)(()=>{if(!s)return[0,0];let e=l===`top`?s.top:s.bottom,t=l===`top`?e-u:e+u;return[s.left,t]},[s,l,u]);return(0,a.jsx)(o.Popup,{visible:n&&!!s,offset:y,overflowVisible:!0,placementY:l===`top`?`above`:`below`,children:(0,a.jsx)(`section`,{ref:p,children:c&&(0,a.jsx)(Ro,{menuType:c,menuSessionVersion:g.current,onOptionSelect:f})})})}function Uo(){let[e,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(null),u=(0,r.useRef)(e),d=(0,i.useDependency)(So),f=(0,i.useDependency)(t.ICommandService),p=(0,i.useInjector)();u.current=e,(0,r.useEffect)(()=>{let e=d.registerContextMenuHandler({handleContextMenu:m,hideContextMenu(){h()},get visible(){return u.current}});return()=>{e.dispose()}},[d]);function m(e,t){n(!1),requestAnimationFrame(()=>{s(t),l({left:e.clientX,top:e.clientY,bottom:e.clientY}),n(!0)})}function h(){n(!1)}return(0,a.jsx)(Ho,{hostId:`desktop-context-menu`,visible:e,anchorRect:c,menuType:o,onRequestClose:h,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e,i=typeof e.params==`function`?e.params():e.params,a=i===void 0?{value:r}:i;f&&f.executeCommand(n==null?t:n,a),p.get(Y).focus(),h()}})}function Wo(){let e=(0,i.useDependency)(T),t=(0,i.useObservable)(e.sidebarOptions$),n=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(null),[l,u]=(0,r.useState)(!1),d=(0,r.useRef)(null),f=(0,r.useMemo)(()=>{if(!t)return null;let e={...t};for(let n of[`children`,`header`,`footer`]){let r=n;if(t[r]){let{key:n,...i}=t[r];i&&(e[r]=(0,a.jsx)(K,{...i},n))}}return e},[t]);(0,r.useEffect)(()=>{f!=null&&f.visible&&c.current&&c.current.focus()},[f==null?void 0:f.visible]),(0,r.useEffect)(()=>{let t=t=>{t.key===`Escape`&&e.visible&&(t.stopPropagation(),e.close())};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e]);let p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),u(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]);(0,r.useEffect)(()=>{if(!l){document.body.style.cursor=``,document.body.style.userSelect=``;return}let t=e=>{if(!s.current)return;let t=s.current.getBoundingClientRect().right-e.clientX,n=Math.max(280,Math.min(t,800));d.current=n,s.current.style.width=`${n}px`},n=()=>{u(!1),d.current!=null&&(e.setWidth(d.current),d.current=null)};return document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n),()=>{document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)}},[l,e]),(0,r.useEffect)(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),(0,r.useEffect)(()=>{let t=t=>{e.scrollEvent$.next(t)},r=n.current;return r&&r.addEventListener(`scroll`,t),()=>{r==null||r.removeEventListener(`scroll`,t)}},[e]);let m=(0,r.useMemo)(()=>{if(l&&d.current!=null)return`${d.current}px`;if(!(f!=null&&f.visible))return 0;let t=e.width;return t?`${t}px`:typeof f.width==`number`?`${f.width}px`:f.width},[l,f,e]);function h(){e.close(t==null?void 0:t.id)}return(0,a.jsxs)(`section`,{ref:s,"data-u-comp":`sidebar`,role:`complementary`,"aria-expanded":!!(f!=null&&f.visible),"aria-label":`Sidebar panel`,className:(0,o.clsx)(`univer-relative univer-h-full univer-flex-shrink-0 univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":f==null?void 0:f.visible,"univer-w-0 univer-translate-x-full":!(f!=null&&f.visible)}),style:{width:l?void 0:m},children:[(f==null?void 0:f.visible)&&(0,a.jsx)(`div`,{className:`hover:univer-bg-primary-500/30 active:univer-bg-primary-500/50 univer-absolute univer-left-0 univer-top-0 univer-z-20 univer-h-full univer-w-1 univer-cursor-col-resize univer-transition-colors`,onMouseDown:p,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,tabIndex:0,onKeyDown:t=>{if(!s.current)return;let n=s.current.getBoundingClientRect().width,r=n;t.key===`ArrowLeft`?(t.preventDefault(),r=Math.max(280,n-20)):t.key===`ArrowRight`&&(t.preventDefault(),r=Math.min(800,n+20)),r!==n&&(s.current.style.width=`${r}px`,e.setWidth(r))}}),(0,a.jsxs)(`section`,{ref:n,className:(0,o.clsx)(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,o.borderLeftBottomClassName,o.scrollbarClassName),children:[(0,a.jsxs)(`header`,{className:`univer-sticky univer-top-0 univer-z-10 univer-box-border univer-flex univer-cursor-default univer-items-center univer-justify-between univer-bg-white univer-p-4 univer-pb-2 univer-text-base univer-font-medium univer-text-gray-800 dark:!univer-bg-gray-900 dark:!univer-text-white`,children:[f==null?void 0:f.header,(0,a.jsx)(`button`,{ref:c,type:`button`,className:`focus:univer-ring-primary-500/50 univer-cursor-pointer univer-appearance-none univer-rounded-sm univer-border-none univer-bg-transparent univer-p-0 univer-text-gray-500 focus:univer-outline-none focus:univer-ring-2 dark:!univer-text-gray-300`,onClick:h,"aria-label":`Close sidebar`,children:(0,a.jsx)(xe,{})})]}),(0,a.jsx)(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:f==null?void 0:f.bodyStyle,children:f==null?void 0:f.children}),(f==null?void 0:f.footer)&&(0,a.jsx)(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:f.footer})]})]})}let Go=(0,t.createIdentifier)(`univer.zen-zone-service`);function Ko(){let e=(0,i.useDependency)(Go),[t,n]=(0,r.useState)(!1),[s,c]=(0,r.useState)(),l=(0,i.useObservable)(e.temporaryHidden$),u=(0,i.useDependency)(G);(0,r.useEffect)(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{c(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let d=(0,r.useMemo)(()=>{let e=u.get(s==null?``:s);if(e)return e},[s]);return(0,a.jsx)(`section`,{className:(0,o.clsx)(`univer-absolute univer-z-[-1] univer-flex`,{"univer-animate-in univer-fade-in univer-inset-0 univer-z-[100] univer-bg-gray-100":t,"univer-hidden":l}),children:(0,a.jsx)(`div`,{className:`univer-relative univer-flex-1`,children:d&&(0,a.jsx)(d,{})})})}function qo(e){let t=ki(Mi);return(0,a.jsx)(Jo,{...e,...t})}function Jo(e){var n;let{header:s=!0,toolbar:c=!0,footer:l=!0,headerMenu:u=!0,contextMenu:d=!0,ribbonType:f=`classic`,mountContainer:p,onRendered:m}=e,h=(0,i.useDependency)(t.LocaleService),g=(0,i.useDependency)(t.ThemeService),_=(0,i.useDependency)(xo),v=(0,r.useRef)(null),y=(0,i.useDependency)(t.IConfigService).getConfig(Mi),b=$(`custom-header`),x=$(`footer`),S=$(`header`),C=$(`header-menu`),w=$(`content`),T=$(`left-sidebar`),E=$(`global`),D=$(`toolbar`),O=(n=y==null?void 0:y.popupRootId)==null?`univer-popup-portal`:n;(0,r.useLayoutEffect)(()=>{let e=g.currentTheme$.subscribe(e=>{_.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[k,A]=(0,r.useState)(!1);(0,r.useLayoutEffect)(()=>{let e=g.darkMode$.subscribe(e=>{A(e),e?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)});return()=>{e.unsubscribe()}},[]),(0,r.useEffect)(()=>{v.current&&(m==null||m(v.current))},[m]);let[j,M]=(0,r.useState)(h.getLocales()),[N,P]=(0,r.useState)(h.getDirection()),F=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useEffect)(()=>{document.body.appendChild(F);let e=[h.localeChanged$.subscribe(()=>{M(h.getLocales())}),h.direction$.subscribe(()=>{P(h.getDirection())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(F)}},[h,p,F]),(0,r.useEffect)(()=>{F.dir=N},[N,F]),(0,a.jsxs)(o.ConfigProvider,{locale:j==null?void 0:j.design,direction:N,mountContainer:F,children:[(0,a.jsxs)(`div`,{"data-u-comp":`workbench-layout`,className:(0,o.clsx)(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,{"univer-dark":k}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),dir:N,children:[(0,a.jsx)(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:(0,a.jsx)(Q,{components:b},`custom-header`)}),s&&c&&(0,a.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,a.jsx)(Q,{components:D,sharedProps:{ribbonType:f,headerMenuComponents:C,headerMenu:u}},`toolbar`)}),(0,a.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,a.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,a.jsx)(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:(0,a.jsx)(Q,{components:T},`left-sidebar`)}),(0,a.jsxs)(`section`,{className:(0,o.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,o.borderBottomClassName),children:[(0,a.jsx)(`header`,{children:s&&(0,a.jsx)(Q,{components:S},`header`)}),(0,a.jsx)(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:v,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,a.jsx)(Q,{components:w},`content`)})]}),(0,a.jsx)(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:(0,a.jsx)(Wo,{})})]}),l&&(0,a.jsx)(`footer`,{children:(0,a.jsx)(Q,{components:x,sharedProps:{contextMenu:d}},`footer`)}),(0,a.jsx)(Ko,{})]})]}),(0,a.jsxs)(`div`,{dir:N,children:[(0,a.jsx)(Q,{components:E},`global`),d&&(0,a.jsx)(Uo,{}),(0,a.jsx)(Yo,{}),(0,a.jsx)(`div`,{id:O})]})]})}function Yo(){let{mountContainer:e}=(0,r.useContext)(o.ConfigContext);return(0,l.createPortal)((0,a.jsx)(Q,{components:$(`floating`)},`floating`),e)}var Xo=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,S(this,`_steadyTimeout`,void 0),S(this,`_renderTimeout`,void 0),S(this,`_currentRenderId`,null)}dispose(){super.dispose(),clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),delete this._instanceService,delete this._layoutService,delete this._lifecycleService,delete this._renderManagerService}_bootstrapWorkbench(){this.disposeWithMe(this.bootstrap(async(e,n)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(n)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(t.LifecycleStages.Ready),this._renderTimeout=window.setTimeout(()=>{let n=this._renderManagerService.getRenderAll();for(let[t]of n)if(this._changeRenderUnit(t,e))break;this.disposeWithMe(this._instanceService.focused$.subscribe(t=>{t&&this._changeRenderUnit(t,e)})),this.disposeWithMe(this._renderManagerService.created$.subscribe(t=>{var n;t.unitId===((n=this._instanceService.getFocusedUnit())==null?void 0:n.getUnitId())&&this._changeRenderUnit(t.unitId,e)})),this.disposeWithMe(this._renderManagerService.disposed$.subscribe(e=>{this._currentRenderId===e&&(this._currentRenderId=null)})),this._lifecycleService.stage=t.LifecycleStages.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=t.LifecycleStages.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof t.LifecycleUnreachableError)return;throw e}}))}_changeRenderUnit(e,n){if(this._currentRenderId===e)return!1;let r=this._renderManagerService.getRenderById(e);if(!r||!r.unitId||(0,t.isInternalEditorID)(r.unitId))return!1;let i=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return i==null||i.deactivate(),i==null||i.engine.unmount(),r.engine.mount(n),r.activate(),this._currentRenderId=e,!0}};let Zo=class extends Xo{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(Ka),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[wi,Ci],[Ei,Ti],[Hi,Li],[Ui,Vi],[qi,Wi],[ji,o.ColorPicker]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Qo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(`floating`,()=>(0,i.connectInjector)(io,this._injector))),this.disposeWithMe(e.registerComponent(`content`,()=>(0,i.connectInjector)(Za,this._injector))),this.disposeWithMe(e.registerComponent(`toolbar`,()=>(0,i.connectInjector)(bo,this._injector)))}};Zo=J([q(1,(0,t.Inject)(t.Injector)),q(2,(0,t.Inject)(t.LifecycleService)),q(3,s.IRenderManagerService),q(4,Y),q(5,t.IUniverInstanceService),q(6,X),q(7,Z),q(8,(0,t.Inject)(G))],Zo);function Qo(e,n,r){let s,c=n.container;s=typeof c==`string`?document.getElementById(c)||$o(c):c instanceof HTMLElement?c:$o(`univer`);let l=(0,i.connectInjector)(qo,e),u=e=>r(e,s);function d(){(0,o.render)((0,a.jsx)(l,{...n,mountContainer:s,onRendered:u}),s)}return d(),(0,t.toDisposable)(()=>{(0,o.unmount)(s)})}function $o(e){let t=document.createElement(`div`);return t.id=e,t}let es=(0,t.createIdentifier)(`univer.ui.ui-controller`);var ts=`@univerjs/ui`,ns=`0.25.0`;let rs=`
189
+ `),children:(0,a.jsx)(K,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:t=>{var n;B==null||B({...e,value:t,id:c.id,label:s,commandId:(n=e.commandId)==null?ae:n})}})})]});return l?(0,a.jsx)(`button`,{type:`button`,className:d,disabled:e.disabled,onClick:()=>{var t;B==null||B({...e,id:c.id,label:s,commandId:(t=e.commandId)==null?ae:t})},children:f},r):(0,a.jsx)(`div`,{className:d,"aria-disabled":e.disabled,children:f},r)})}),ie&&(0,a.jsx)(zo,{menuSchemas:ne,menuSessionVersion:u,submenuPortalContainer:d,activeItemIds:f,hiddenItemIds:p,onOptionSelect:B,maxMenuHeight:g})]})}),d):null)]})}function Vo(e){let[t,i]=(0,r.useState)({});return(0,r.useEffect)(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?(0,n.combineLatest)(e.children.map(e=>{var t,r;return(t=(r=e.item)==null?void 0:r.hidden$)==null?(0,n.of)(!1):t})).subscribe(t=>{let n=t.every(e=>e===!0);i(t=>({...t,[e.key]:n}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),i({})}},[e]),t}function Ho(e){let{hostId:t,visible:n,anchorRect:s,menuType:c,anchorVertical:l=`bottom`,menuOffset:u=0,onRequestClose:d,onOptionSelect:f}=e,p=(0,r.useRef)(null),m=(0,i.useDependency)(wo),h=(0,r.useRef)(d),g=(0,r.useRef)(0),_=(0,r.useRef)(n),v=(0,r.useRef)(c);(0,r.useEffect)(()=>{h.current=d},[d]),n&&(!_.current||c!==v.current)&&(g.current+=1),_.current=n,v.current=c,(0,r.useEffect)(()=>{let e=m.registerMenu(t,()=>{h.current()});return()=>{e.dispose(),m.deactivateMenu(t)}},[m,t]),(0,r.useLayoutEffect)(()=>{if(n){m.activateMenu(t);return}m.deactivateMenu(t)},[m,t,n]),(0,r.useEffect)(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||p.current&&!p.current.contains(t.target)&&h.current()},r=e=>{e.key===`Escape`&&h.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=p.current)!=null&&n.contains(t.target)){t.stopPropagation();return}t.preventDefault(),t.stopPropagation()};return document.addEventListener(`pointerdown`,t),document.addEventListener(`keydown`,r),document.addEventListener(`wheel`,i,{capture:!0,passive:!1}),()=>{document.removeEventListener(`pointerdown`,t),document.removeEventListener(`keydown`,r),document.removeEventListener(`wheel`,i,!0)}},[n]);let y=(0,r.useMemo)(()=>{if(!s)return[0,0];let e=l===`top`?s.top:s.bottom,t=l===`top`?e-u:e+u;return[s.left,t]},[s,l,u]);return(0,a.jsx)(o.Popup,{visible:n&&!!s,offset:y,overflowVisible:!0,placementY:l===`top`?`above`:`below`,children:(0,a.jsx)(`section`,{ref:p,children:c&&(0,a.jsx)(Ro,{menuType:c,menuSessionVersion:g.current,onOptionSelect:f})})})}function Uo(){let[e,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(null),u=(0,r.useRef)(e),d=(0,i.useDependency)(So),f=(0,i.useDependency)(t.ICommandService),p=(0,i.useInjector)();u.current=e,(0,r.useEffect)(()=>{let e=d.registerContextMenuHandler({handleContextMenu:m,hideContextMenu(){h()},get visible(){return u.current}});return()=>{e.dispose()}},[d]);function m(e,t){n(!1),requestAnimationFrame(()=>{s(t),l({left:e.clientX,top:e.clientY,bottom:e.clientY}),n(!0)})}function h(){n(!1)}return(0,a.jsx)(Ho,{hostId:`desktop-context-menu`,visible:e,anchorRect:c,menuType:o,onRequestClose:h,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e,i=typeof e.params==`function`?e.params():e.params,a=i===void 0?{value:r}:i;f&&f.executeCommand(n==null?t:n,a),p.get(Y).focus(),h()}})}function Wo(){let e=(0,i.useDependency)(T),t=(0,i.useObservable)(e.sidebarOptions$),n=(0,r.useRef)(null),s=(0,r.useRef)(null),c=(0,r.useRef)(null),[l,u]=(0,r.useState)(!1),d=(0,r.useRef)(null),f=(0,r.useMemo)(()=>{if(!t)return null;let e={...t};for(let n of[`children`,`header`,`footer`]){let r=n;if(t[r]){let{key:n,...i}=t[r];i&&(e[r]=(0,a.jsx)(K,{...i},n))}}return e},[t]);(0,r.useEffect)(()=>{f!=null&&f.visible&&c.current&&c.current.focus()},[f==null?void 0:f.visible]),(0,r.useEffect)(()=>{let t=t=>{t.key===`Escape`&&e.visible&&(t.stopPropagation(),e.close())};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e]);let p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),u(!0),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]);(0,r.useEffect)(()=>{if(!l){document.body.style.cursor=``,document.body.style.userSelect=``;return}let t=e=>{if(!s.current)return;let t=s.current.getBoundingClientRect().right-e.clientX,n=Math.max(280,Math.min(t,800));d.current=n,s.current.style.width=`${n}px`},n=()=>{u(!1),d.current!=null&&(e.setWidth(d.current),d.current=null)};return document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n),()=>{document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)}},[l,e]),(0,r.useEffect)(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),(0,r.useEffect)(()=>{let t=t=>{e.scrollEvent$.next(t)},r=n.current;return r&&r.addEventListener(`scroll`,t),()=>{r==null||r.removeEventListener(`scroll`,t)}},[e]);let m=(0,r.useMemo)(()=>{if(l&&d.current!=null)return`${d.current}px`;if(!(f!=null&&f.visible))return 0;let t=e.width;return t?`${t}px`:typeof f.width==`number`?`${f.width}px`:f.width},[l,f,e]);function h(){e.close(t==null?void 0:t.id)}return(0,a.jsxs)(`section`,{ref:s,"data-u-comp":`sidebar`,role:`complementary`,"aria-expanded":!!(f!=null&&f.visible),"aria-label":`Sidebar panel`,className:(0,o.clsx)(`univer-relative univer-h-full univer-flex-shrink-0 univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":f==null?void 0:f.visible,"univer-w-0 univer-translate-x-full":!(f!=null&&f.visible)}),style:{width:l?void 0:m},children:[(f==null?void 0:f.visible)&&(0,a.jsx)(`div`,{className:`hover:univer-bg-primary-500/30 active:univer-bg-primary-500/50 univer-absolute univer-left-0 univer-top-0 univer-z-20 univer-h-full univer-w-1 univer-cursor-col-resize univer-transition-colors`,onMouseDown:p,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize sidebar`,tabIndex:0,onKeyDown:t=>{if(!s.current)return;let n=s.current.getBoundingClientRect().width,r=n;t.key===`ArrowLeft`?(t.preventDefault(),r=Math.max(280,n-20)):t.key===`ArrowRight`&&(t.preventDefault(),r=Math.min(800,n+20)),r!==n&&(s.current.style.width=`${r}px`,e.setWidth(r))}}),(0,a.jsxs)(`section`,{ref:n,className:(0,o.clsx)(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,o.borderLeftBottomClassName,o.scrollbarClassName),children:[(0,a.jsxs)(`header`,{className:`univer-sticky univer-top-0 univer-z-10 univer-box-border univer-flex univer-cursor-default univer-items-center univer-justify-between univer-bg-white univer-p-4 univer-pb-2 univer-text-base univer-font-medium univer-text-gray-800 dark:!univer-bg-gray-900 dark:!univer-text-white`,children:[f==null?void 0:f.header,(0,a.jsx)(`button`,{ref:c,type:`button`,className:`focus:univer-ring-primary-500/50 univer-cursor-pointer univer-appearance-none univer-rounded-sm univer-border-none univer-bg-transparent univer-p-0 univer-text-gray-500 focus:univer-outline-none focus:univer-ring-2 dark:!univer-text-gray-300`,onClick:h,"aria-label":`Close sidebar`,children:(0,a.jsx)(xe,{})})]}),(0,a.jsx)(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:f==null?void 0:f.bodyStyle,children:f==null?void 0:f.children}),(f==null?void 0:f.footer)&&(0,a.jsx)(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:f.footer})]})]})}let Go=(0,t.createIdentifier)(`univer.zen-zone-service`);function Ko(){let e=(0,i.useDependency)(Go),[t,n]=(0,r.useState)(!1),[s,c]=(0,r.useState)(),l=(0,i.useObservable)(e.temporaryHidden$),u=(0,i.useDependency)(G);(0,r.useEffect)(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{c(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let d=(0,r.useMemo)(()=>{let e=u.get(s==null?``:s);if(e)return e},[s]);return(0,a.jsx)(`section`,{className:(0,o.clsx)(`univer-absolute univer-z-[-1] univer-flex`,{"univer-animate-in univer-fade-in univer-inset-0 univer-z-[100] univer-bg-gray-100":t,"univer-hidden":l}),children:(0,a.jsx)(`div`,{className:`univer-relative univer-flex-1`,children:d&&(0,a.jsx)(d,{})})})}function qo(e){let t=ki(Mi);return(0,a.jsx)(Jo,{...e,...t})}function Jo(e){var n;let{header:s=!0,toolbar:c=!0,footer:l=!0,headerMenu:u=!0,contextMenu:d=!0,ribbonType:f=`classic`,mountContainer:p,onRendered:m}=e,h=(0,i.useDependency)(t.LocaleService),g=(0,i.useDependency)(t.ThemeService),_=(0,i.useDependency)(xo),v=(0,r.useRef)(null),y=(0,i.useDependency)(t.IConfigService).getConfig(Mi),b=$(`custom-header`),x=$(`footer`),S=$(`header`),C=$(`header-menu`),w=$(`content`),T=$(`left-sidebar`),E=$(`global`),D=$(`toolbar`),O=(n=y==null?void 0:y.popupRootId)==null?`univer-popup-portal`:n;(0,r.useLayoutEffect)(()=>{let e=g.currentTheme$.subscribe(e=>{_.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[k,A]=(0,r.useState)(!1);(0,r.useLayoutEffect)(()=>{let e=g.darkMode$.subscribe(e=>{A(e),e?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)});return()=>{e.unsubscribe()}},[]),(0,r.useEffect)(()=>{v.current&&(m==null||m(v.current))},[m]);let[j,M]=(0,r.useState)(h.getLocales()),[N,P]=(0,r.useState)(h.getDirection()),F=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useEffect)(()=>{document.body.appendChild(F);let e=[h.localeChanged$.subscribe(()=>{M(h.getLocales())}),h.direction$.subscribe(()=>{P(h.getDirection())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(F)}},[h,p,F]),(0,r.useEffect)(()=>{F.dir=N},[N,F]),(0,a.jsxs)(o.ConfigProvider,{locale:j==null?void 0:j.design,direction:N,mountContainer:F,children:[(0,a.jsxs)(`div`,{"data-u-comp":`workbench-layout`,className:(0,o.clsx)(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,{"univer-dark":k}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),dir:N,children:[(0,a.jsx)(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:(0,a.jsx)(Q,{components:b},`custom-header`)}),s&&c&&(0,a.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,a.jsx)(Q,{components:D,sharedProps:{ribbonType:f,headerMenuComponents:C,headerMenu:u}},`toolbar`)}),(0,a.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,a.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,a.jsx)(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:(0,a.jsx)(Q,{components:T},`left-sidebar`)}),(0,a.jsxs)(`section`,{className:(0,o.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,o.borderBottomClassName),children:[(0,a.jsx)(`header`,{children:s&&(0,a.jsx)(Q,{components:S},`header`)}),(0,a.jsx)(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:v,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:(0,a.jsx)(Q,{components:w},`content`)})]}),(0,a.jsx)(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:(0,a.jsx)(Wo,{})})]}),l&&(0,a.jsx)(`footer`,{children:(0,a.jsx)(Q,{components:x,sharedProps:{contextMenu:d}},`footer`)}),(0,a.jsx)(Ko,{})]})]}),(0,a.jsxs)(`div`,{dir:N,children:[(0,a.jsx)(Q,{components:E},`global`),d&&(0,a.jsx)(Uo,{}),(0,a.jsx)(Yo,{}),(0,a.jsx)(`div`,{id:O})]})]})}function Yo(){let{mountContainer:e}=(0,r.useContext)(o.ConfigContext);return(0,l.createPortal)((0,a.jsx)(Q,{components:$(`floating`)},`floating`),e)}var Xo=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,S(this,`_steadyTimeout`,void 0),S(this,`_renderTimeout`,void 0),S(this,`_currentRenderId`,null)}dispose(){super.dispose(),clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),delete this._instanceService,delete this._layoutService,delete this._lifecycleService,delete this._renderManagerService}_bootstrapWorkbench(){this.disposeWithMe(this.bootstrap(async(e,n)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(n)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(t.LifecycleStages.Ready),this._renderTimeout=window.setTimeout(()=>{let n=this._renderManagerService.getRenderAll();for(let[t]of n)if(this._changeRenderUnit(t,e))break;this.disposeWithMe(this._instanceService.focused$.subscribe(t=>{t&&this._changeRenderUnit(t,e)})),this.disposeWithMe(this._renderManagerService.created$.subscribe(t=>{var n;t.unitId===((n=this._instanceService.getFocusedUnit())==null?void 0:n.getUnitId())&&this._changeRenderUnit(t.unitId,e)})),this.disposeWithMe(this._renderManagerService.disposed$.subscribe(e=>{this._currentRenderId===e&&(this._currentRenderId=null)})),this._lifecycleService.stage=t.LifecycleStages.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=t.LifecycleStages.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof t.LifecycleUnreachableError)return;throw e}}))}_changeRenderUnit(e,n){if(this._currentRenderId===e)return!1;let r=this._renderManagerService.getRenderById(e);if(!r||!r.unitId||(0,t.isInternalEditorID)(r.unitId))return!1;let i=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return i==null||i.deactivate(),i==null||i.engine.unmount(),r.engine.mount(n),r.activate(),this._currentRenderId=e,!0}};let Zo=class extends Xo{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(Ka),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[wi,Ci],[Ei,Ti],[Hi,Li],[Ui,Vi],[qi,Wi],[ji,o.ColorPicker]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Qo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(`floating`,()=>(0,i.connectInjector)(io,this._injector))),this.disposeWithMe(e.registerComponent(`content`,()=>(0,i.connectInjector)(Za,this._injector))),this.disposeWithMe(e.registerComponent(`toolbar`,()=>(0,i.connectInjector)(bo,this._injector)))}};Zo=J([q(1,(0,t.Inject)(t.Injector)),q(2,(0,t.Inject)(t.LifecycleService)),q(3,s.IRenderManagerService),q(4,Y),q(5,t.IUniverInstanceService),q(6,X),q(7,Z),q(8,(0,t.Inject)(G))],Zo);function Qo(e,n,r){let s,c=n.container;s=typeof c==`string`?document.getElementById(c)||$o(c):c instanceof HTMLElement?c:$o(`univer`);let l=(0,i.connectInjector)(qo,e),u=e=>r(e,s);function d(){(0,o.render)((0,a.jsx)(l,{...n,mountContainer:s,onRendered:u}),s)}return d(),(0,t.toDisposable)(()=>{(0,o.unmount)(s)})}function $o(e){let t=document.createElement(`div`);return t.id=e,t}let es=(0,t.createIdentifier)(`univer.ui.ui-controller`);var ts=`@univerjs/ui`,ns=`0.25.1`;let rs=`
190
190
  univer-m-0 univer-flex univer-appearance-none univer-items-center univer-justify-center
191
191
  univer-border-0 univer-bg-transparent univer-p-0 univer-leading-none univer-outline-none
192
192
  `;function is(e){var n;let{headerMenuComponents:s,headerMenu:c=!0}=e,l=(0,i.useDependency)(t.LocaleService),u=(0,i.useDependency)(ao),d=(0,i.useObservable)(u.ribbon$,[]),f=(0,i.useObservable)(u.activatedTab$,`ribbon.start`),p=(0,r.useMemo)(()=>{let e=d.findIndex(e=>e.key===f);return e===-1?0:e},[f,d]),m=d[p],h=(n=m==null?void 0:m.children)==null?[]:n,g=!!(c&&s&&s.size>0),_=(0,r.useRef)(null),[v,y]=(0,r.useState)(!1),[b,x]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{!m&&d.length>0&&u.setActivatedTab(d[0].key)},[m,d,u]),(0,r.useEffect)(()=>{let e=_.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:n,scrollWidth:r}=e;y(t>4),x(t+n<r-4)};t();let n=new ResizeObserver(t);return n.observe(e),e.addEventListener(`scroll`,t,{passive:!0}),()=>{n.disconnect(),e.removeEventListener(`scroll`,t)}},[m]),d.length===0&&!g)return null;function S(e){let t=d[e];t&&u.setActivatedTab(t.key)}function C(e){let t=_.current;t&&t.scrollBy({left:e===`left`?-168:168,behavior:`smooth`})}return(0,a.jsxs)(`div`,{"data-u-comp":`mobile-ribbon`,className:(0,o.clsx)(`univer-flex univer-flex-col univer-gap-1.5 univer-bg-gray-50 univer-px-3 univer-py-1.5 univer-text-sm dark:!univer-bg-gray-900`,o.borderBottomClassName),children:[(0,a.jsxs)(`div`,{className:`
@@ -289,7 +289,7 @@ https://localforage.github.io/localForage
289
289
  (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require("@univerjs/core/facade"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("@univerjs/core")):typeof define==`function`&&define.amd?define([`@univerjs/core/facade`,`@univerjs/engine-render`,`@univerjs/ui`,`@univerjs/core`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverCoreFacade,e.UniverEngineRender,e.UniverUi,e.UniverCore))})(this,function(e,t,n,r){function i(e){"@babel/helpers - typeof";return i=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},i(e)}function a(e,t){if(i(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(i(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function o(e){var t=a(e,`string`);return i(t)==`symbol`?t:t+``}function s(e,t,n){return(t=o(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){return function(n,r){t(n,r,e)}}function l(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var u=class extends e.FBase{appendTo(e){let t=typeof e==`string`?e.split(`|`):e,n=t.length,r={},i=r,a=this.__getSchema();t.forEach((e,t)=>{t===n-1?i[e]=a:i[e]={},i=i[e]}),this._menuManagerService.mergeMenu(r)}};let d=class extends u{constructor(e,t,i,a){super(),this._item=e,this._injector=t,this._commandService=i,this._menuManagerService=a,s(this,`_commandToRegister`,new Map),s(this,`_buildingSchema`,void 0);let o=typeof e.action==`string`?e.action:(0,r.generateRandomId)(12);o!==e.action&&this._commandToRegister.set(o,e.action),this._buildingSchema={menuItemFactory:()=>({id:e.id,type:n.MenuItemType.BUTTON,icon:e.icon,title:e.title,tooltip:e.tooltip,commandId:o})},e.order!==void 0&&(this._buildingSchema.order=e.order)}__getSchema(){return this._commandToRegister.forEach((e,t)=>{this._commandService.hasCommand(t)||this._commandService.registerCommand({id:t,type:r.CommandType.COMMAND,handler:e})}),{[this._item.id]:this._buildingSchema}}};s(d,`RibbonStartGroup`,n.RibbonStartGroup),s(d,`RibbonPosition`,n.RibbonPosition),s(d,`MenuManagerPosition`,n.MenuManagerPosition),d=l([c(1,(0,r.Inject)(r.Injector)),c(2,r.ICommandService),c(3,n.IMenuManagerService)],d);let f=class extends u{constructor(e,t,r){super(),this._item=e,this._injector=t,this._menuManagerService=r,s(this,`_menuByGroups`,[]),s(this,`_submenus`,[]),s(this,`_buildingSchema`,void 0),this._buildingSchema={menuItemFactory:()=>({id:e.id,type:n.MenuItemType.SUBITEMS,icon:e.icon,title:e.title,tooltip:e.tooltip})},e.order!==void 0&&(this._buildingSchema.order=e.order)}addSubmenu(e){return this._submenus.push(e),this}addSeparator(){return this._menuByGroups.push(this._submenus),this._submenus=[],this}__getSchema(){let e={};return this.addSeparator(),this._menuByGroups.forEach((t,n)=>{let r={};t.forEach(e=>{Object.assign(r,e.__getSchema())}),e[`${this._item.id}-group-${n}`]=r}),{[this._item.id]:Object.assign(this._buildingSchema,e)}}};f=l([c(1,(0,r.Inject)(r.Injector)),c(2,n.IMenuManagerService)],f);let p=class extends e.FBase{constructor(e,t,n,r){super(),this._injector=e,this._renderManagerService=t,this._univerInstanceService=n,this._shortcutService=r,s(this,`_forceDisableDisposable`,null)}enableShortcut(){var e;return(e=this._forceDisableDisposable)==null||e.dispose(),this._forceDisableDisposable=null,this}disableShortcut(){return this._forceDisableDisposable||(this._forceDisableDisposable=this._shortcutService.forceDisable()),this}triggerShortcut(e){let t=this._univerInstanceService.getCurrentUnitOfType(r.UniverInstanceType.UNIVER_SHEET);if(!t)return;let n=this._renderManagerService.getRenderById(t.getUnitId());if(n)return n.engine.getCanvasElement().dispatchEvent(e),this._shortcutService.dispatch(e)}dispatchShortcutEvent(e){return this._shortcutService.dispatch(e)}};p=l([c(0,(0,r.Inject)(r.Injector)),c(1,(0,r.Inject)(t.IRenderManagerService)),c(2,r.IUniverInstanceService),c(3,n.IShortcutService)],p);var m=class extends e.FUniver{getURL(){return new URL(window.location.href)}getShortcut(){return this._injector.createInstance(p)}copy(){return this._commandService.executeCommand(n.CopyCommand.id)}paste(){return this._commandService.executeCommand(n.PasteCommand.id)}createMenu(e){return this._injector.createInstance(d,e)}createSubmenu(e){return this._injector.createInstance(f,e)}openSiderbar(e){return this._injector.get(n.ISidebarService).open(e)}openSidebar(e){return this.openSiderbar(e)}openDialog(e){let t=this._injector.get(n.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}getComponentManager(){return this._injector.get(n.ComponentManager)}showMessage(e){return this._injector.get(n.IMessageService).show(e),this}setUIVisible(e,t){return this._injector.get(n.IUIPartsService).setUIVisible(e,t),this}isUIVisible(e){return this._injector.get(n.IUIPartsService).isUIVisible(e)}registerUIPart(e,t){return this._injector.get(n.IUIPartsService).registerComponent(e,()=>(0,n.connectInjector)(t,this._injector))}registerComponent(e,t,r){let i=this._injector.get(n.ComponentManager);return this.disposeWithMe(i.register(e,t,r))}setCurrent(e){if(!this._injector.get(t.IRenderManagerService).getRenderById(e))throw Error(`Unit not found`);this._univerInstanceService.setCurrentUnitForType(e)}addFonts(e){let t=this._injector.get(n.IFontService);e.forEach(e=>{t.addFont(e)})}};e.FUniver.extend(m);var h=class extends e.FHooks{onBeforeCopy(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(t=>{t.id===n.CopyCommand.id&&e()})}onCopy(e){return this._injector.get(r.ICommandService).onCommandExecuted(t=>{t.id===n.CopyCommand.id&&e()})}onBeforePaste(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(t=>{t.id===n.PasteCommand.id&&e()})}onPaste(e){return this._injector.get(r.ICommandService).onCommandExecuted(t=>{(t.id===n.PasteCommand.id||t.id===n.SheetPasteShortKeyCommandName)&&e()})}};e.FHooks.extend(h);var g=class extends e.FEnum{get BuiltInUIPart(){return n.BuiltInUIPart}get KeyCode(){return n.KeyCode}};e.FEnum.extend(g)});
290
290
 
291
291
  // @univerjs/docs/index
292
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-render`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocs={},e.UniverCore,e.UniverEngineRender,e.rxjs))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i={id:`doc.operation.set-selections`,type:t.CommandType.OPERATION,handler:()=>!0};function a(e){"@babel/helpers - typeof";return a=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let d=class extends t.RxDisposable{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,c(this,`_currentSelection`,null),c(this,`_textSelectionInfo`,new Map),c(this,`_textSelection$`,new r.Subject),c(this,`textSelection$`,this._textSelection$.asObservable()),c(this,`_refreshSelection$`,new r.BehaviorSubject(null)),c(this,`refreshSelection$`,this._refreshSelection$.asObservable()),this._listenCurrentUnit()}_listenCurrentUnit(){this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,r.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let t=e.getUnitId();this._setCurrentSelectionNotRefresh({unitId:t,subUnitId:t})})}__getCurrentSelection(){return this._currentSelection}getSelectionInfo(e=this._currentSelection){return this._getTextRanges(e)}refreshSelection(e=this._currentSelection){e!=null&&this._refresh(e)}__TEST_ONLY_setCurrentSelection(e){this._currentSelection=e,this._refresh(e)}getTextRanges(e=this._currentSelection){var t;return(t=this._getTextRanges(e))==null?void 0:t.textRanges}getRectRanges(e=this._currentSelection){var t;return(t=this._getTextRanges(e))==null?void 0:t.rectRanges}getDocRanges(e=this._currentSelection){var t,n;let r=(t=this.getTextRanges(e))==null?[]:t,i=(n=this.getRectRanges(e))==null?[]:n;return[...r,...i].filter(e=>e.startOffset!=null&&e.endOffset!=null).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset<t.startOffset?-1:0)}getActiveTextRange(){let e=this._getTextRanges(this._currentSelection);if(e==null)return;let{textRanges:t}=e;return t.find(e=>e.isActive)}getActiveRectRange(){let e=this._getTextRanges(this._currentSelection);if(e==null)return;let{rectRanges:t}=e;return t.find(e=>e.isActive)}__TEST_ONLY_add(e,t=!0){this._currentSelection!=null&&this._addByParam({...this._currentSelection,textRanges:e,rectRanges:[],segmentId:``,segmentPage:-1,isEditing:t,style:n.NORMAL_TEXT_SELECTION_PLUGIN_STYLE})}replaceTextRanges(e,t=!0,n){return this.replaceDocRanges(e,this._currentSelection,t,n)}replaceDocRanges(e,t=this._currentSelection,n=!0,r){if(t==null)return;let{unitId:i,subUnitId:a}=t;this._refreshSelection$.next({unitId:i,subUnitId:a,docRanges:e,isEditing:n,options:r})}__replaceTextRangesWithNoRefresh(e,t){if(this._currentSelection==null)return;let n={...e,...t};this._replaceByParam(n),this._textSelection$.next(n);let{unitId:r,subUnitId:a,segmentId:o,style:s,textRanges:c,rectRanges:l,isEditing:u}=n,d=[...c,...l].filter(e=>e.startOffset!=null&&e.endOffset!=null).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset<t.startOffset?-1:0);this._commandService.executeCommand(i.id,{unitId:r,subUnitId:a,segmentId:o,style:s,isEditing:u,ranges:d})}dispose(){this._textSelection$.complete(),this._refreshSelection$.complete()}_setCurrentSelectionNotRefresh(e){this._currentSelection=e}_getTextRanges(e){var t;if(e==null)return;let{unitId:n,subUnitId:r=``}=e;return(t=this._textSelectionInfo.get(n))==null?void 0:t.get(r)}_refresh(e){let t=this._getTextRanges(e);if(t==null)return;let{textRanges:n,rectRanges:r}=t,i=[...n,...r],{unitId:a,subUnitId:o}=e;this._refreshSelection$.next({unitId:a,subUnitId:o,docRanges:i,isEditing:!1})}_replaceByParam(e){let{unitId:t,subUnitId:n,...r}=e;this._textSelectionInfo.has(t)||this._textSelectionInfo.set(t,new Map),this._textSelectionInfo.get(t).set(n,{...r})}_addByParam(e){let{unitId:t,subUnitId:n,...r}=e;this._textSelectionInfo.has(t)||this._textSelectionInfo.set(t,new Map);let i=this._textSelectionInfo.get(t);i.has(n)?i.get(n).textRanges.push(...e.textRanges):i.set(n,{...r})}};d=u([l(0,t.ICommandService),l(1,t.IUniverInstanceService)],d);let f=class extends t.RxDisposable{constructor(e,n,i){super(),this._context=e,this._localeService=n,this._univerInstanceService=i,c(this,`_skeleton`,void 0),c(this,`_docViewModel`,void 0),c(this,`_currentSkeleton$`,new r.BehaviorSubject(null)),c(this,`currentSkeleton$`,this._currentSkeleton$.asObservable()),c(this,`_currentSkeletonBefore$`,new r.BehaviorSubject(null)),c(this,`currentSkeletonBefore$`,this._currentSkeletonBefore$.asObservable()),c(this,`_currentViewModel$`,new r.BehaviorSubject(null)),c(this,`currentViewModel$`,this._currentViewModel$.asObservable()),this._init(),this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,r.takeUntil)(this.dispose$)).subscribe(e=>{e&&e.getUnitId()===this._context.unitId&&this._update(e)})}dispose(){super.dispose(),this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete()}getSkeleton(){return this._skeleton}getViewModel(){return this._docViewModel}_init(){let e=this._context.unit;this._update(e)}_update(e){let n=this._context.unitId;if(e.getBody()==null)return;this._docViewModel&&(0,t.isInternalEditorID)(n)?(this._docViewModel.reset(e),this._context.unit=e):this._docViewModel||(this._docViewModel=this._buildDocViewModel(e)),this._skeleton||(this._skeleton=this._buildSkeleton(this._docViewModel));let r=this._skeleton;r.calculate(),this._currentSkeletonBefore$.next(r),this._currentSkeleton$.next(r),this._currentViewModel$.next(this._docViewModel)}_buildSkeleton(e){return n.DocumentSkeleton.create(e,this._localeService)}_buildDocViewModel(e){return new n.DocumentViewModel(e)}};f=u([l(1,(0,t.Inject)(t.LocaleService)),l(2,t.IUniverInstanceService)],f);var p=class extends t.RxDisposable{constructor(){super(),c(this,`_docStateChangeParams$`,new r.BehaviorSubject(null)),c(this,`docStateChangeParams$`,this._docStateChangeParams$.asObservable())}emitStateChangeInfo(e){this._docStateChangeParams$.next(e)}dispose(){super.dispose(),this._docStateChangeParams$.complete()}};let m=`doc.mutation.rich-text-editing`,h={id:m,type:t.CommandType.MUTATION,handler:(e,r)=>{var i,a;let{unitId:o,segmentId:s=``,actions:c,textRanges:l,prevTextRanges:u,trigger:h,noHistory:g,isCompositionEnd:_,noNeedSetTextRange:v,debounce:y,isEditing:b=!0,isSync:x,syncer:S}=r,C=e.get(t.IUniverInstanceService),w=e.get(n.IRenderManagerService),T=e.get(p),E=C.getUniverDocInstance(o),D=(i=w.getRenderById(o))==null?void 0:i.with(f).getViewModel();if(E==null||D==null)throw Error(`DocumentDataModel or documentViewModel not found for unitId: ${o}`);let O=e.get(d),k=(a=O.getDocRanges())==null?[]:a,A=!!E.getSnapshot().disabled;if(t.JSONX.isNoop(c)||c&&c.length===0||A)return{unitId:o,actions:[],textRanges:k};let j=t.JSONX.invertWithDoc(c,E.getSnapshot());E.apply(c),D.reset(E),!v&&l&&h!=null&&!x&&queueMicrotask(()=>{O.replaceDocRanges(l,{unitId:o,subUnitId:o},b,r.options)});let M={commandId:m,unitId:o,segmentId:s,trigger:h,noHistory:g,debounce:y,redoState:{actions:c,textRanges:l},undoState:{actions:j,textRanges:u==null?k:u},isCompositionEnd:_,isSync:x,syncer:S};return T.emitStateChangeInfo(M),{unitId:o,actions:j,textRanges:k}}};var g=`@univerjs/docs`,_=`0.25.0`;let v={id:`doc.mutation.rename-doc`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUnit(n.unitId,t.UniverInstanceType.UNIVER_DOC);return r?(r.setName(n.name),!0):!1}},y={},b=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._textSelectionManagerService=t,this._univerInstanceService=n,this._initSelectionChange()}_transformCustomRange(e,n){var r;let{startOffset:i,endOffset:a,collapsed:o}=n,s=(r=e.getCustomRanges())==null?void 0:r.filter(e=>!e.wholeEntity||i<=e.startIndex&&a>e.endIndex?!1:o?e.startIndex<i&&e.endIndex>=a:t.BuildTextUtils.range.isIntersects(i,a-1,e.startIndex,e.endIndex));if(s!=null&&s.length){let e=i,t=a;return s.forEach(n=>{e=Math.min(n.startIndex,e),t=Math.max(n.endIndex+1,t)}),{...n,startOffset:e,endOffset:t,collapsed:e===t}}return n}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.id){let{unitId:t,ranges:n,isEditing:r}=e.params,i=this._univerInstanceService.getUnit(t);if(!i)return;let a=n.map(e=>this._transformCustomRange(i,e));a.some((e,t)=>n[t]!==e)&&this._textSelectionManagerService.replaceTextRanges(a,r)}}))}};b=u([l(0,t.ICommandService),l(1,(0,t.Inject)(d)),l(2,t.IUniverInstanceService)],b);let x=class extends t.Plugin{constructor(e=y,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},y,this._config);this._configService.setConfig(`docs.config`,i)}onStarting(){this._initializeDependencies(),this._initializeCommands()}_initializeCommands(){[h,v,i].forEach(e=>{this._injector.get(t.ICommandService).registerCommand(e)})}_initializeDependencies(){[[d],[p],[b]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(b)}};c(x,`pluginName`,`DOCS_PLUGIN`),c(x,`packageName`,g),c(x,`version`,_),x=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.IConfigService)],x);let S={CUSTOM_RANGE:(0,t.createInterceptorKey)(`CUSTOM_RANGE`),CUSTOM_DECORATION:(0,t.createInterceptorKey)(`CUSTOM_DECORATION`)},C=class extends t.Disposable{constructor(e,n){super(),this._context=e,this._docSkeletonManagerService=n,c(this,`_interceptorsByName`,new Map);let r=this._docSkeletonManagerService.getViewModel(),i=r.getDataModel().getUnitId();if(i===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY||i===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;this.disposeWithMe(this.interceptDocumentViewModel(r)),this.disposeWithMe(this.intercept(S.CUSTOM_RANGE,{priority:-1,handler:(e,t,n)=>n(e)}));let a=new t.DisposableCollection;r.segmentViewModels$.subscribe(e=>{a.dispose(),a=new t.DisposableCollection,e.forEach(e=>{a.add(this.interceptDocumentViewModel(e))})}),this.disposeWithMe(a)}intercept(e,n){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let i=this._interceptorsByName.get(r);return i.push(n),this._interceptorsByName.set(r,i.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)})),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._interceptorsByName.get(r),n)))}fetchThroughInterceptors(e){let n=e;return(0,t.composeInterceptors)(this._interceptorsByName.get(n)||[])}interceptDocumentViewModel(e){let n=new t.DisposableCollection;return n.add(e.registerCustomRangeInterceptor({getCustomRange:t=>{var n;return this.fetchThroughInterceptors(S.CUSTOM_RANGE)(e.getCustomRangeRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customRanges:(n=e.getDataModel().getCustomRanges())==null?[]:n})},getCustomDecoration:t=>{var n;return this.fetchThroughInterceptors(S.CUSTOM_DECORATION)(e.getCustomDecorationRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customDecorations:(n=e.getDataModel().getCustomDecorations())==null?[]:n})}})),n}};C=u([l(1,(0,t.Inject)(f))],C);function w(e,t=``){if(!t)return[`body`];let{headers:n,footers:r}=e.getSnapshot();if(n==null&&r==null)throw Error(`Document data model must have headers or footers when update by segment id`);if((n==null?void 0:n[t])!=null)return[`headers`,t,`body`];if((r==null?void 0:r[t])!=null)return[`footers`,t,`body`];throw Error(`Segment id not found in headers or footers`)}function T(e,n,r){let{unitId:i,segmentId:a}=n,o=e.get(t.IUniverInstanceService).getUnit(i);if(!o)return!1;let s={id:h.id,params:{unitId:n.unitId,actions:[],textRanges:void 0}},c=t.JSONX.getInstance(),l=t.BuildTextUtils.customRange.add({...n,body:r});if(!l)return!1;let u=w(o,a);return s.params.actions=c.editOp(l.serialize(),u),s}function E(e,n){var r;let{rangeId:i,rangeType:a,wholeEntity:o,properties:s,unitId:c,selections:l}=n,u=e.get(d),f=e.get(t.IUniverInstanceService),p=l==null?u.getTextRanges({unitId:c,subUnitId:c}):l,m=p==null||(r=p[0])==null?void 0:r.segmentId;if(!(p!=null&&p.length))return!1;let g=f.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(!g)return!1;let _=g.getSelfOrHeaderFooterModel(m).getBody();if(!_)return!1;let v=t.BuildTextUtils.customRange.add({ranges:p,rangeId:i,rangeType:a,segmentId:m,wholeEntity:o,properties:s,body:_});if(!v)return!1;let y=t.JSONX.getInstance(),b={id:h.id,params:{unitId:c,actions:[],textRanges:v.selections,segmentId:m},textX:v},x=w(g,m);return b.params.actions=y.editOp(v.serialize(),x),b}function D(e,n){let{unitId:r,segmentId:i,insert:a}=n,o=e.get(t.IUniverInstanceService).getUnit(r);if(!o)return!1;let s={id:h.id,params:{unitId:n.unitId,actions:[],textRanges:void 0,segmentId:i}},c=t.JSONX.getInstance(),l=t.BuildTextUtils.customRange.delete({documentDataModel:o,rangeId:n.rangeId,insert:a,segmentId:i});if(!l)return!1;let u=w(o,i);return s.params.actions=c.editOp(l.serialize(),u),s.params.textRanges=l.selections,s}function O(e,n){var r,i,a,o;let{unitId:s,body:c,doc:l}=n,u=l;if(u||(u=e.get(t.IUniverInstanceService).getUnit(s)),!u)return!1;let f=(r=n.selection)==null?void 0:r.segmentId,p=(i=u.getSelfOrHeaderFooterModel(f))==null?void 0:i.getBody();if(!p)return!1;let m=e.get(d),g=(a=n.selection)==null?m.getActiveTextRange():a;if(!g||!p)return!1;let _=(o=n.textRanges)==null?[{startOffset:g.startOffset+c.dataStream.length,endOffset:g.startOffset+c.dataStream.length,collapsed:!0,segmentId:f}]:o,v=t.BuildTextUtils.selection.replace({selection:g,body:c,doc:u});if(!v)return!1;let y={id:h.id,params:{unitId:s,actions:[],textRanges:_,debounce:!0,segmentId:f},textX:v},b=t.JSONX.getInstance();return y.params.actions=b.editOp(v.serialize()),y}e.DOC_INTERCEPTOR_POINT=S,Object.defineProperty(e,"DocInterceptorService",{enumerable:!0,get:function(){return C}}),Object.defineProperty(e,"DocSelectionManagerService",{enumerable:!0,get:function(){return d}}),Object.defineProperty(e,"DocSkeletonManagerService",{enumerable:!0,get:function(){return f}}),e.DocStateEmitService=p,e.RichTextEditingMutation=h,e.SetTextSelectionsOperation=i,Object.defineProperty(e,"UniverDocsPlugin",{enumerable:!0,get:function(){return x}}),e.addCustomRangeBySelectionFactory=E,e.addCustomRangeFactory=T,e.deleteCustomRangeFactory=D,e.replaceSelectionFactory=O});
292
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("rxjs")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/engine-render`,`rxjs`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocs={},e.UniverCore,e.UniverEngineRender,e.rxjs))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let i={id:`doc.operation.set-selections`,type:t.CommandType.OPERATION,handler:()=>!0};function a(e){"@babel/helpers - typeof";return a=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let d=class extends t.RxDisposable{constructor(e,t){super(),this._commandService=e,this._univerInstanceService=t,c(this,`_currentSelection`,null),c(this,`_textSelectionInfo`,new Map),c(this,`_textSelection$`,new r.Subject),c(this,`textSelection$`,this._textSelection$.asObservable()),c(this,`_refreshSelection$`,new r.BehaviorSubject(null)),c(this,`refreshSelection$`,this._refreshSelection$.asObservable()),this._listenCurrentUnit()}_listenCurrentUnit(){this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,r.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let t=e.getUnitId();this._setCurrentSelectionNotRefresh({unitId:t,subUnitId:t})})}__getCurrentSelection(){return this._currentSelection}getSelectionInfo(e=this._currentSelection){return this._getTextRanges(e)}refreshSelection(e=this._currentSelection){e!=null&&this._refresh(e)}__TEST_ONLY_setCurrentSelection(e){this._currentSelection=e,this._refresh(e)}getTextRanges(e=this._currentSelection){var t;return(t=this._getTextRanges(e))==null?void 0:t.textRanges}getRectRanges(e=this._currentSelection){var t;return(t=this._getTextRanges(e))==null?void 0:t.rectRanges}getDocRanges(e=this._currentSelection){var t,n;let r=(t=this.getTextRanges(e))==null?[]:t,i=(n=this.getRectRanges(e))==null?[]:n;return[...r,...i].filter(e=>e.startOffset!=null&&e.endOffset!=null).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset<t.startOffset?-1:0)}getActiveTextRange(){let e=this._getTextRanges(this._currentSelection);if(e==null)return;let{textRanges:t}=e;return t.find(e=>e.isActive)}getActiveRectRange(){let e=this._getTextRanges(this._currentSelection);if(e==null)return;let{rectRanges:t}=e;return t.find(e=>e.isActive)}__TEST_ONLY_add(e,t=!0){this._currentSelection!=null&&this._addByParam({...this._currentSelection,textRanges:e,rectRanges:[],segmentId:``,segmentPage:-1,isEditing:t,style:n.NORMAL_TEXT_SELECTION_PLUGIN_STYLE})}replaceTextRanges(e,t=!0,n){return this.replaceDocRanges(e,this._currentSelection,t,n)}replaceDocRanges(e,t=this._currentSelection,n=!0,r){if(t==null)return;let{unitId:i,subUnitId:a}=t;this._refreshSelection$.next({unitId:i,subUnitId:a,docRanges:e,isEditing:n,options:r})}__replaceTextRangesWithNoRefresh(e,t){if(this._currentSelection==null)return;let n={...e,...t};this._replaceByParam(n),this._textSelection$.next(n);let{unitId:r,subUnitId:a,segmentId:o,style:s,textRanges:c,rectRanges:l,isEditing:u}=n,d=[...c,...l].filter(e=>e.startOffset!=null&&e.endOffset!=null).sort((e,t)=>e.startOffset>t.startOffset?1:e.startOffset<t.startOffset?-1:0);this._commandService.executeCommand(i.id,{unitId:r,subUnitId:a,segmentId:o,style:s,isEditing:u,ranges:d})}dispose(){this._textSelection$.complete(),this._refreshSelection$.complete()}_setCurrentSelectionNotRefresh(e){this._currentSelection=e}_getTextRanges(e){var t;if(e==null)return;let{unitId:n,subUnitId:r=``}=e;return(t=this._textSelectionInfo.get(n))==null?void 0:t.get(r)}_refresh(e){let t=this._getTextRanges(e);if(t==null)return;let{textRanges:n,rectRanges:r}=t,i=[...n,...r],{unitId:a,subUnitId:o}=e;this._refreshSelection$.next({unitId:a,subUnitId:o,docRanges:i,isEditing:!1})}_replaceByParam(e){let{unitId:t,subUnitId:n,...r}=e;this._textSelectionInfo.has(t)||this._textSelectionInfo.set(t,new Map),this._textSelectionInfo.get(t).set(n,{...r})}_addByParam(e){let{unitId:t,subUnitId:n,...r}=e;this._textSelectionInfo.has(t)||this._textSelectionInfo.set(t,new Map);let i=this._textSelectionInfo.get(t);i.has(n)?i.get(n).textRanges.push(...e.textRanges):i.set(n,{...r})}};d=u([l(0,t.ICommandService),l(1,t.IUniverInstanceService)],d);let f=class extends t.RxDisposable{constructor(e,n,i){super(),this._context=e,this._localeService=n,this._univerInstanceService=i,c(this,`_skeleton`,void 0),c(this,`_docViewModel`,void 0),c(this,`_currentSkeleton$`,new r.BehaviorSubject(null)),c(this,`currentSkeleton$`,this._currentSkeleton$.asObservable()),c(this,`_currentSkeletonBefore$`,new r.BehaviorSubject(null)),c(this,`currentSkeletonBefore$`,this._currentSkeletonBefore$.asObservable()),c(this,`_currentViewModel$`,new r.BehaviorSubject(null)),c(this,`currentViewModel$`,this._currentViewModel$.asObservable()),this._init(),this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).pipe((0,r.takeUntil)(this.dispose$)).subscribe(e=>{e&&e.getUnitId()===this._context.unitId&&this._update(e)})}dispose(){super.dispose(),this._currentSkeletonBefore$.complete(),this._currentSkeleton$.complete()}getSkeleton(){return this._skeleton}getViewModel(){return this._docViewModel}_init(){let e=this._context.unit;this._update(e)}_update(e){let n=this._context.unitId;if(e.getBody()==null)return;this._docViewModel&&(0,t.isInternalEditorID)(n)?(this._docViewModel.reset(e),this._context.unit=e):this._docViewModel||(this._docViewModel=this._buildDocViewModel(e)),this._skeleton||(this._skeleton=this._buildSkeleton(this._docViewModel));let r=this._skeleton;r.calculate(),this._currentSkeletonBefore$.next(r),this._currentSkeleton$.next(r),this._currentViewModel$.next(this._docViewModel)}_buildSkeleton(e){return n.DocumentSkeleton.create(e,this._localeService)}_buildDocViewModel(e){return new n.DocumentViewModel(e)}};f=u([l(1,(0,t.Inject)(t.LocaleService)),l(2,t.IUniverInstanceService)],f);var p=class extends t.RxDisposable{constructor(){super(),c(this,`_docStateChangeParams$`,new r.BehaviorSubject(null)),c(this,`docStateChangeParams$`,this._docStateChangeParams$.asObservable())}emitStateChangeInfo(e){this._docStateChangeParams$.next(e)}dispose(){super.dispose(),this._docStateChangeParams$.complete()}};let m=`doc.mutation.rich-text-editing`,h={id:m,type:t.CommandType.MUTATION,handler:(e,r)=>{var i,a;let{unitId:o,segmentId:s=``,actions:c,textRanges:l,prevTextRanges:u,trigger:h,noHistory:g,isCompositionEnd:_,noNeedSetTextRange:v,debounce:y,isEditing:b=!0,isSync:x,syncer:S}=r,C=e.get(t.IUniverInstanceService),w=e.get(n.IRenderManagerService),T=e.get(p),E=C.getUniverDocInstance(o),D=(i=w.getRenderById(o))==null?void 0:i.with(f).getViewModel();if(E==null||D==null)throw Error(`DocumentDataModel or documentViewModel not found for unitId: ${o}`);let O=e.get(d),k=(a=O.getDocRanges())==null?[]:a,A=!!E.getSnapshot().disabled;if(t.JSONX.isNoop(c)||c&&c.length===0||A)return{unitId:o,actions:[],textRanges:k};let j=t.JSONX.invertWithDoc(c,E.getSnapshot());E.apply(c),D.reset(E),!v&&l&&h!=null&&!x&&queueMicrotask(()=>{O.replaceDocRanges(l,{unitId:o,subUnitId:o},b,r.options)});let M={commandId:m,unitId:o,segmentId:s,trigger:h,noHistory:g,debounce:y,redoState:{actions:c,textRanges:l},undoState:{actions:j,textRanges:u==null?k:u},isCompositionEnd:_,isSync:x,syncer:S};return T.emitStateChangeInfo(M),{unitId:o,actions:j,textRanges:k}}};var g=`@univerjs/docs`,_=`0.25.1`;let v={id:`doc.mutation.rename-doc`,type:t.CommandType.MUTATION,handler:(e,n)=>{let r=e.get(t.IUniverInstanceService).getUnit(n.unitId,t.UniverInstanceType.UNIVER_DOC);return r?(r.setName(n.name),!0):!1}},y={},b=class extends t.Disposable{constructor(e,t,n){super(),this._commandService=e,this._textSelectionManagerService=t,this._univerInstanceService=n,this._initSelectionChange()}_transformCustomRange(e,n){var r;let{startOffset:i,endOffset:a,collapsed:o}=n,s=(r=e.getCustomRanges())==null?void 0:r.filter(e=>!e.wholeEntity||i<=e.startIndex&&a>e.endIndex?!1:o?e.startIndex<i&&e.endIndex>=a:t.BuildTextUtils.range.isIntersects(i,a-1,e.startIndex,e.endIndex));if(s!=null&&s.length){let e=i,t=a;return s.forEach(n=>{e=Math.min(n.startIndex,e),t=Math.max(n.endIndex+1,t)}),{...n,startOffset:e,endOffset:t,collapsed:e===t}}return n}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===i.id){let{unitId:t,ranges:n,isEditing:r}=e.params,i=this._univerInstanceService.getUnit(t);if(!i)return;let a=n.map(e=>this._transformCustomRange(i,e));a.some((e,t)=>n[t]!==e)&&this._textSelectionManagerService.replaceTextRanges(a,r)}}))}};b=u([l(0,t.ICommandService),l(1,(0,t.Inject)(d)),l(2,t.IUniverInstanceService)],b);let x=class extends t.Plugin{constructor(e=y,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{...i}=(0,t.merge)({},y,this._config);this._configService.setConfig(`docs.config`,i)}onStarting(){this._initializeDependencies(),this._initializeCommands()}_initializeCommands(){[h,v,i].forEach(e=>{this._injector.get(t.ICommandService).registerCommand(e)})}_initializeDependencies(){[[d],[p],[b]].forEach(e=>this._injector.add(e))}onReady(){this._injector.get(b)}};c(x,`pluginName`,`DOCS_PLUGIN`),c(x,`packageName`,g),c(x,`version`,_),x=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.IConfigService)],x);let S={CUSTOM_RANGE:(0,t.createInterceptorKey)(`CUSTOM_RANGE`),CUSTOM_DECORATION:(0,t.createInterceptorKey)(`CUSTOM_DECORATION`)},C=class extends t.Disposable{constructor(e,n){super(),this._context=e,this._docSkeletonManagerService=n,c(this,`_interceptorsByName`,new Map);let r=this._docSkeletonManagerService.getViewModel(),i=r.getDataModel().getUnitId();if(i===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY||i===t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY)return;this.disposeWithMe(this.interceptDocumentViewModel(r)),this.disposeWithMe(this.intercept(S.CUSTOM_RANGE,{priority:-1,handler:(e,t,n)=>n(e)}));let a=new t.DisposableCollection;r.segmentViewModels$.subscribe(e=>{a.dispose(),a=new t.DisposableCollection,e.forEach(e=>{a.add(this.interceptDocumentViewModel(e))})}),this.disposeWithMe(a)}intercept(e,n){let r=e;this._interceptorsByName.has(r)||this._interceptorsByName.set(r,[]);let i=this._interceptorsByName.get(r);return i.push(n),this._interceptorsByName.set(r,i.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)})),this.disposeWithMe((0,t.toDisposable)(()=>(0,t.remove)(this._interceptorsByName.get(r),n)))}fetchThroughInterceptors(e){let n=e;return(0,t.composeInterceptors)(this._interceptorsByName.get(n)||[])}interceptDocumentViewModel(e){let n=new t.DisposableCollection;return n.add(e.registerCustomRangeInterceptor({getCustomRange:t=>{var n;return this.fetchThroughInterceptors(S.CUSTOM_RANGE)(e.getCustomRangeRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customRanges:(n=e.getDataModel().getCustomRanges())==null?[]:n})},getCustomDecoration:t=>{var n;return this.fetchThroughInterceptors(S.CUSTOM_DECORATION)(e.getCustomDecorationRaw(t),{index:t,unitId:e.getDataModel().getUnitId(),customDecorations:(n=e.getDataModel().getCustomDecorations())==null?[]:n})}})),n}};C=u([l(1,(0,t.Inject)(f))],C);function w(e,t=``){if(!t)return[`body`];let{headers:n,footers:r}=e.getSnapshot();if(n==null&&r==null)throw Error(`Document data model must have headers or footers when update by segment id`);if((n==null?void 0:n[t])!=null)return[`headers`,t,`body`];if((r==null?void 0:r[t])!=null)return[`footers`,t,`body`];throw Error(`Segment id not found in headers or footers`)}function T(e,n,r){let{unitId:i,segmentId:a}=n,o=e.get(t.IUniverInstanceService).getUnit(i);if(!o)return!1;let s={id:h.id,params:{unitId:n.unitId,actions:[],textRanges:void 0}},c=t.JSONX.getInstance(),l=t.BuildTextUtils.customRange.add({...n,body:r});if(!l)return!1;let u=w(o,a);return s.params.actions=c.editOp(l.serialize(),u),s}function E(e,n){var r;let{rangeId:i,rangeType:a,wholeEntity:o,properties:s,unitId:c,selections:l}=n,u=e.get(d),f=e.get(t.IUniverInstanceService),p=l==null?u.getTextRanges({unitId:c,subUnitId:c}):l,m=p==null||(r=p[0])==null?void 0:r.segmentId;if(!(p!=null&&p.length))return!1;let g=f.getUnit(c,t.UniverInstanceType.UNIVER_DOC);if(!g)return!1;let _=g.getSelfOrHeaderFooterModel(m).getBody();if(!_)return!1;let v=t.BuildTextUtils.customRange.add({ranges:p,rangeId:i,rangeType:a,segmentId:m,wholeEntity:o,properties:s,body:_});if(!v)return!1;let y=t.JSONX.getInstance(),b={id:h.id,params:{unitId:c,actions:[],textRanges:v.selections,segmentId:m},textX:v},x=w(g,m);return b.params.actions=y.editOp(v.serialize(),x),b}function D(e,n){let{unitId:r,segmentId:i,insert:a}=n,o=e.get(t.IUniverInstanceService).getUnit(r);if(!o)return!1;let s={id:h.id,params:{unitId:n.unitId,actions:[],textRanges:void 0,segmentId:i}},c=t.JSONX.getInstance(),l=t.BuildTextUtils.customRange.delete({documentDataModel:o,rangeId:n.rangeId,insert:a,segmentId:i});if(!l)return!1;let u=w(o,i);return s.params.actions=c.editOp(l.serialize(),u),s.params.textRanges=l.selections,s}function O(e,n){var r,i,a,o;let{unitId:s,body:c,doc:l}=n,u=l;if(u||(u=e.get(t.IUniverInstanceService).getUnit(s)),!u)return!1;let f=(r=n.selection)==null?void 0:r.segmentId,p=(i=u.getSelfOrHeaderFooterModel(f))==null?void 0:i.getBody();if(!p)return!1;let m=e.get(d),g=(a=n.selection)==null?m.getActiveTextRange():a;if(!g||!p)return!1;let _=(o=n.textRanges)==null?[{startOffset:g.startOffset+c.dataStream.length,endOffset:g.startOffset+c.dataStream.length,collapsed:!0,segmentId:f}]:o,v=t.BuildTextUtils.selection.replace({selection:g,body:c,doc:u});if(!v)return!1;let y={id:h.id,params:{unitId:s,actions:[],textRanges:_,debounce:!0,segmentId:f},textX:v},b=t.JSONX.getInstance();return y.params.actions=b.editOp(v.serialize()),y}e.DOC_INTERCEPTOR_POINT=S,Object.defineProperty(e,"DocInterceptorService",{enumerable:!0,get:function(){return C}}),Object.defineProperty(e,"DocSelectionManagerService",{enumerable:!0,get:function(){return d}}),Object.defineProperty(e,"DocSkeletonManagerService",{enumerable:!0,get:function(){return f}}),e.DocStateEmitService=p,e.RichTextEditingMutation=h,e.SetTextSelectionsOperation=i,Object.defineProperty(e,"UniverDocsPlugin",{enumerable:!0,get:function(){return x}}),e.addCustomRangeBySelectionFactory=E,e.addCustomRangeFactory=T,e.deleteCustomRangeFactory=D,e.replaceSelectionFactory=O});
293
293
 
294
294
  // @univerjs/docs-ui/index
295
295
  (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("@univerjs/drawing"),require("rxjs"),require("react"),require("rxjs/operators"),require("@univerjs/design"),require("react/jsx-runtime")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs`,`@univerjs/engine-render`,`@univerjs/ui`,`@univerjs/drawing`,`rxjs`,`react`,`rxjs/operators`,`@univerjs/design`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsUi={},e.UniverCore,e.UniverDocs,e.UniverEngineRender,e.UniverUi,e.UniverDrawing,e.rxjs,e.React,e.rxjs.operators,e.UniverDesign,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let d=function(e){return e.MAIN=`__Document_Render_Main__`,e.BACKGROUND=`__Document_Render_Background__`,e}({}),f=function(e){return e.VIEW_MAIN=`viewMain`,e.VIEW_TOP=`viewTop`,e.VIEW_LEFT=`viewLeft`,e.VIEW_LEFT_TOP=`viewLeftTop`,e}({});function p(e){let{mainComponent:t,scene:n,engine:r,components:i}=e;return{document:t,docBackground:i.get(`__Document_Render_Background__`),scene:n,engine:r}}function m(e,n){let r=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!r)return null;let i=r.getUnitId(),a=n.getRenderById(i);if(a==null)return;let{mainComponent:o,scene:s,engine:c,components:l}=a;return{document:o,docBackground:l.get(`__Document_Render_Background__`),scene:s,engine:c}}function h(e,t){let n=t.getRenderById(e);if(n==null)return;let{mainComponent:r,scene:i,engine:a,components:o}=n;return{document:r,docBackground:o.get(`__Document_Render_Background__`),scene:i,engine:a}}function g(e){let{unitId:r,ranges:i,id:a,type:o,segmentId:s}=e,c={id:n.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:void 0,segmentId:s}},l=t.JSONX.getInstance(),u=t.BuildTextUtils.customDecoration.add({ranges:i,id:a,type:o});return c.params.actions=l.editOp(u.serialize()),c}function _(e,r){let{segmentId:i,id:a,type:o,unitId:s}=r,c=e.get(n.DocSelectionManagerService),l=e.get(t.IUniverInstanceService),u=s?l.getUnit(s,t.UniverInstanceType.UNIVER_DOC):l.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!u)return!1;let d=u.getUnitId(),f=c.getTextRanges({unitId:d,subUnitId:d});return!f||!u.getBody()?!1:g({unitId:d,ranges:f,id:a,type:o,segmentId:i})}function v(e,r){let{unitId:i,id:a,segmentId:o}=r,s=e.get(t.IUniverInstanceService).getUnit(i);if(!s)return!1;let c={id:n.RichTextEditingMutation.id,params:{unitId:i,actions:[],textRanges:void 0,segmentId:o}},l=t.BuildTextUtils.customDecoration.delete({id:a,segmentId:o,documentDataModel:s});if(!l)return!1;let u=t.JSONX.getInstance();return c.params.actions=u.editOp(l.serialize()),c}function y(e,t){return t.some(t=>e.startIndex>t.startIndex&&e.startIndex<t.endIndex)}function b(e,t,n,r,i){let{textRuns:a=[],dataStream:o}=e,s=i&&o.startsWith(`=`),c={st:0,ed:0,ts:{}};if(s)return c;for(let e=a.length-1;e>=0;e--){let n=a[e],{st:r,ed:i}=n;t>r&&t<=i&&(c.st=r,c.ed=i,c.ts={...c.ts,...n.ts})}if(t===0){let e=a==null?void 0:a[0];e&&e.st===0&&(c.ts={...c.ts,...e.ts})}return r&&(c.ts={...c.ts,...r}),c}function x(e,t,n){if(n){let n=e.find(e=>t>=e.startIndex&&t<=e.endIndex+1);return n!=null&&n.wholeEntity?null:n}let r=e.find(e=>t>e.startIndex&&t<=e.endIndex);return r!=null&&r.wholeEntity?null:r}function S(e,t){return e.filter(e=>t>e.startIndex&&t<=e.endIndex)}function C(e){return{left:e.positionH.posOffset,top:e.positionV.posOffset,width:e.size.width,height:e.size.height}}function w(e,n=0,r=0){return{size:{width:e.width,height:e.height},positionH:{relativeFrom:t.ObjectRelativeFromH.MARGIN,posOffset:(e.left||0)-n},positionV:{relativeFrom:t.ObjectRelativeFromV.PAGE,posOffset:(e.top||0)-r},angle:e.angle||0}}function T(e){"@babel/helpers - typeof";return T=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},T(e)}function E(e,t){if(T(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(T(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function D(e){var t=E(e,`string`);return T(t)==`symbol`?t:t+``}function O(e,t,n){return(t=D(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(e,t){return function(n,r){t(n,r,e)}}function A(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let j=class extends t.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._textSelectionManagerService=t,O(this,`_matches`,new Map)}registerAutoFormat(e){let n=this._matches.get(e.id);return n?(n.push(e),n.sort((e,t)=>{var n,r;return((n=t.priority)==null?0:n)-((r=e.priority)==null?0:r)})):this._matches.set(e.id,[e]),(0,t.toDisposable)(()=>{let t=this._matches.get(e.id);if(t){let n=t.findIndex(t=>t===e);n>=0&&t.splice(n,1)}})}onAutoFormat(e,n){var r,i;let a=(r=this._matches.get(e))==null?[]:r,o=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),s=this._textSelectionManagerService.getDocRanges(),c=(i=s.find(e=>e.isActive))==null?s[0]:i;if(o&&c){var l,u,d,f,p,m,h;let r=o.getSelfOrHeaderFooterModel(c.segmentId),i={unit:r,selection:c,isBody:!c.segmentId,paragraphs:t.BuildTextUtils.range.getParagraphsInRange(c,(l=(u=r.getBody())==null?void 0:u.paragraphs)==null?[]:l,(d=(f=r.getBody())==null?void 0:f.dataStream)==null?``:d),customRanges:t.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(c,(p=(m=r.getBody())==null?void 0:m.customRanges)==null?[]:p),commandId:e,commandParams:n},s=a.find(e=>e.match(i));return(h=s==null?void 0:s.getMutations(i))==null?[]:h}return[]}};j=A([k(0,t.IUniverInstanceService),k(1,(0,t.Inject)(n.DocSelectionManagerService))],j);let M={id:`doc.command.tab`,type:t.CommandType.COMMAND,async handler(e,n){return(await(0,t.sequenceExecuteAsync)(e.get(j).onAutoFormat(M.id,n),e.get(t.ICommandService))).result}},N={id:`doc.command.after-space`,type:t.CommandType.COMMAND,async handler(e){return(await(0,t.sequenceExecuteAsync)(e.get(j).onAutoFormat(N.id),e.get(t.ICommandService))).result}},P={id:`doc.command.enter`,type:t.CommandType.COMMAND,async handler(e){return(await(0,t.sequenceExecuteAsync)(e.get(j).onAutoFormat(P.id),e.get(t.ICommandService))).result}},F={ff:`Arial`,fs:11},I=class extends t.Disposable{constructor(e,t,n){super(),this._textSelectionManagerService=e,this._univerInstanceService=t,this._renderManagerService=n,O(this,`_cacheStyle`,null),this._init()}_init(){this._listenDocRangeChange()}_listenDocRangeChange(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(()=>{this._clearStyleCache()}))}getStyleCache(){return this._cacheStyle}getDefaultStyle(){var e;let i=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(i==null)return{...F};let a=i==null?void 0:i.getUnitId(),o=(e=this._renderManagerService.getRenderById(a))==null?void 0:e.with(n.DocSkeletonManagerService),s=o==null?void 0:o.getViewModel();return s==null||s.getEditArea()===r.DocumentEditArea.BODY?{...F}:{...F,fs:9}}setStyleCache(e){this._cacheStyle={...this._cacheStyle,...e}}_clearStyleCache(){this._cacheStyle=null}};I=A([k(0,(0,t.Inject)(n.DocSelectionManagerService)),k(1,t.IUniverInstanceService),k(2,r.IRenderManagerService)],I);function L(e,t){var i;return(i=e.get(r.IRenderManagerService).getRenderById(t))==null?void 0:i.with(n.DocSkeletonManagerService)}function R(e,t=``){if(!t)return[`body`];let{headers:n,footers:r}=e.getSnapshot();if(n==null&&r==null)throw Error(`Document data model must have headers or footers when update by segment id`);if((n==null?void 0:n[t])!=null)return[`headers`,t,`body`];if((r==null?void 0:r[t])!=null)return[`footers`,t,`body`];throw Error(`Segment id not found in headers or footers`)}function z(e,n,r){let i=[];for(let n=0,r=e.length;n<r;n++)e[n]===t.DataStreamTreeTokenType.PARAGRAPH&&i.push({startIndex:n});if(n)for(let e of i)n.bullet&&(e.bullet=t.Tools.deepClone(n.bullet)),n.paragraphStyle&&(e.paragraphStyle=t.Tools.deepClone(n.paragraphStyle),delete e.paragraphStyle.borderBottom,n.paragraphStyle.headingId&&(e.paragraphStyle.headingId=(0,t.generateRandomId)(6)));if(r)for(let e of i)e.paragraphStyle||(e.paragraphStyle={}),e.paragraphStyle.borderBottom=r;return i}let B={id:`doc.command.break-line`,type:t.CommandType.COMMAND,handler:(e,r)=>{var i,a,o,s;let c=e.get(n.DocSelectionManagerService),l=e.get(t.IUniverInstanceService),u=e.get(t.ICommandService),d=e.get(I),f=(i=r==null?void 0:r.textRange)==null?c.getActiveTextRange():i,p=c.getRectRanges();if(f==null)return!1;if(p&&p.length){let{startOffset:e}=f;return c.replaceDocRanges([{startOffset:e,endOffset:e}]),!0}let{horizontalLine:m}=r==null?{}:r,{segmentId:h}=f,g=l.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),_=g==null?void 0:g.getSelfOrHeaderFooterModel(h==null?``:h).getBody();if(g==null||_==null)return!1;let v=g.getUnitId(),{startOffset:y,endOffset:x}=f,S=((a=_.paragraphs)==null?[]:a).find(e=>e.startIndex>=y);if(!S)return!1;let C=y===S.startIndex,w=S.startIndex,T=b(_,x,d.getDefaultStyle(),d.getStyleCache()),E={dataStream:t.DataStreamTreeTokenType.PARAGRAPH,paragraphs:z(t.DataStreamTreeTokenType.PARAGRAPH,S,m),textRuns:[{st:0,ed:1,ts:{...T.ts}}]};if(g==null)return!1;let D=c.getActiveTextRange();if(_==null)return!1;let{collapsed:O}=f,k=E.dataStream.length,A=[{startOffset:y+k,endOffset:y+k,style:D==null?void 0:D.style,collapsed:O}],j={id:n.RichTextEditingMutation.id,params:{unitId:v,actions:[],textRanges:A,debounce:!0}},M=new t.TextX,N=t.JSONX.getInstance();if(O)y>0&&M.push({t:t.TextXActionType.RETAIN,len:y}),M.push({t:t.TextXActionType.INSERT,body:E,len:E.dataStream.length});else{let e=t.BuildTextUtils.selection.delete([f],_,0,E);M.push(...e)}if(((o=S.bullet)==null?void 0:o.listType)===t.PresetListType.CHECK_LIST_CHECKED||(s=S.paragraphStyle)!=null&&s.headingId){var P;f.endOffset<w&&M.push({t:t.TextXActionType.RETAIN,len:w-f.endOffset}),M.push({t:t.TextXActionType.RETAIN,len:1,body:{dataStream:``,paragraphs:[{...S,paragraphStyle:{...S.paragraphStyle,...C?{headingId:void 0,namedStyleType:void 0}:null},startIndex:0,bullet:(P=S.paragraphStyle)!=null&&P.headingId?void 0:{...S.bullet,listType:t.PresetListType.CHECK_LIST}}]},coverType:t.UpdateDocsAttributeType.REPLACE})}j.params.textRanges=[{startOffset:y+k,endOffset:y+k,collapsed:O}];let F=R(g,h);return j.params.actions=N.editOp(M.serialize(),F),!!u.syncExecuteCommand(j.id,j.params)}};function V(e,n){let r=t.DataStreamTreeTokenType.TABLE_START,i=[],a=[];for(let o=0;o<e;o++){r+=t.DataStreamTreeTokenType.TABLE_ROW_START;for(let e=0;e<n;e++)r+=`${t.DataStreamTreeTokenType.TABLE_CELL_START}\r\n${t.DataStreamTreeTokenType.TABLE_CELL_END}`,i.push({startIndex:r.length-3,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),a.push({startIndex:r.length-2});r+=t.DataStreamTreeTokenType.TABLE_ROW_END}return r+=t.DataStreamTreeTokenType.TABLE_END,{dataStream:r,paragraphs:i,sectionBreaks:a}}function H(){return{margin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}}}}function ee(e){let n=H();return{tableCells:[...Array(e).fill(null).map(()=>t.Tools.deepClone(n))],trHeight:{val:{v:30},hRule:t.TableRowHeightRule.AUTO}}}function te(e){return{size:{type:t.TableSizeType.SPECIFIED,width:{v:e}}}}function ne(e,n,r){let i=te(r/n),a=ee(n);return{tableRows:[...Array(e).fill(null).map(()=>t.Tools.deepClone(a))],tableColumns:[...Array(n).fill(null).map(()=>t.Tools.deepClone(i))],tableId:(0,t.generateRandomId)(6),align:t.TableAlignmentType.START,indent:{v:0},textWrap:t.TableTextWrapType.NONE,position:{positionH:{relativeFrom:t.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:t.ObjectRelativeFromV.PAGE,posOffset:0}},dist:{distB:0,distL:0,distR:0,distT:0},cellMargin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}},size:{type:t.TableSizeType.UNSPECIFIED,width:{v:r}}}}function U(e,t){if(!e&&!t)return null;if(t&&t.length>0){let e=1/0,n=-1/0;for(let r of t){let{startOffset:t,endOffset:i,segmentId:a}=r;t==null||i==null||a==null||(e=Math.min(e,t),n=Math.max(n,i))}if(Number.isFinite(e)&&Number.isFinite(n))return{startOffset:e,endOffset:n,segmentId:``}}else if(e){let{startOffset:t,endOffset:n,segmentId:r}=e;return t==null||n==null||r==null?null:{startOffset:t,endOffset:n,segmentId:r}}}function W(e){let n=t.DataStreamTreeTokenType.TABLE_ROW_START,r=[],i=[];for(let a=0;a<e;a++)n+=`${t.DataStreamTreeTokenType.TABLE_CELL_START}\r\n${t.DataStreamTreeTokenType.TABLE_CELL_END}`,r.push({startIndex:n.length-3,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),i.push({startIndex:n.length-2});return n+=t.DataStreamTreeTokenType.TABLE_ROW_END,{dataStream:n,paragraphs:r,sectionBreaks:i}}function re(){let e=`${t.DataStreamTreeTokenType.TABLE_CELL_START}\r\n${t.DataStreamTreeTokenType.TABLE_CELL_END}`,n=[],r=[];return n.push({startIndex:1,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),r.push({startIndex:2}),{dataStream:e,paragraphs:n,sectionBreaks:r}}function ie(e,t,n){var r;let{startOffset:i,endOffset:a,segmentId:o}=e,s=n.getSelfOrHeaderFooterViewModel(o),c=t===0?i:a,l=null,u=(r=n.getBody())==null||(r=r.tables)==null||(r=r.find(e=>c>=e.startIndex&&c<=e.endIndex))==null?void 0:r.tableId,d=0;for(let e of s.getChildren()){for(let t of e.children){let{children:e}=t,n=e[0];if(n){for(let e of n.children)if(e.startIndex<=c&&c<=e.endIndex){d=n.children.indexOf(e),l=e;break}}if(l)break}if(l)break}return l==null||u==null?null:{offset:t===0?l.startIndex:l.endIndex+1,colCount:l.children.length,tableId:u,insertRowIndex:t===0?d:d+1}}function ae(e,t,n){var r;let{startOffset:i,endOffset:a,segmentId:o}=e,s=n.getSelfOrHeaderFooterViewModel(o),c=t===0?i:a,l=(r=n.getBody())==null||(r=r.tables)==null||(r=r.find(e=>c>=e.startIndex&&c<=e.endIndex))==null?void 0:r.tableId,u=[],d=null,f=-1;for(let e of s.getChildren()){for(let t of e.children){let{children:e}=t,n=e[0];if(n){if(c<n.startIndex||c>n.endIndex)continue;d=n;for(let e of n.children){for(let t of e.children){let n=e.children.indexOf(t);if(c>=t.startIndex&&c<=t.endIndex){f=n;break}}if(f!==-1)break}}if(d)break}if(d)break}if(d==null||l==null||f===-1)return null;let p=0;for(let e of d.children){let n=e.children[f],r=t===0?n.startIndex:n.endIndex+1;u.push(r-p),p=r}return{offsets:u,tableId:l,columnIndex:f,rowCount:d.children.length}}function oe(e,t,n){let r=[],i=t[n].size.width.v,a=0;for(let e=0;e<t.length;e++)a+=t[e].size.width.v;a+=i;for(let n=0;n<t.length;n++)r.push(t[n].size.width.v/a*e);return i=i/a*e,{widths:r,newColWidth:i}}function G(e,t){var n;let{startOffset:r,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=(n=t.getBody())==null||(n=n.tables)==null||(n=n.find(e=>r>=e.startIndex&&i<=e.endIndex))==null?void 0:n.tableId,c=[],l=-1,u=0,d=-1,f=!1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,n=e[0];if(n){if(r<n.startIndex||i>n.endIndex)continue;d=n.startIndex+3;for(let e of n.children){let t=n.children.indexOf(e),{startIndex:a,endIndex:o}=e;r>=a&&r<=o?(l=a,c.push(t),u+=o-a+1):(a>r&&o<i||i>=a&&i<=o)&&(c.push(t),u+=o-a+1),c.length===n.children.length&&(f=!0)}}if(c.length)break}if(c.length)break}return s==null||c.length===0?null:{tableId:s,rowIndexes:c,offset:l,len:u,cursor:d,selectWholeTable:f}}function se(e,t){var n;let{startOffset:r,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=(n=t.getBody())==null||(n=n.tables)==null||(n=n.find(e=>r>=e.startIndex&&i<=e.endIndex))==null?void 0:n.tableId,c=[],l=null,u=[],d=-1,f=-1,p=-1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,n=e[0];if(n){if(r<n.startIndex||i>n.endIndex)continue;l=n;for(let e of n.children)for(let t of e.children){let n=e.children.indexOf(t);r>=t.startIndex&&r<=t.endIndex&&(f=n),i>=t.startIndex&&i<=t.endIndex&&(p=n)}}if(l)break}if(l)break}if(l==null||s==null)return null;for(let e=f;e<=p;e++)u.push(e);let m=0;for(let e of l.children){let t=e.children[f],n=e.children[p];c.push({retain:t.startIndex-m,delete:n.endIndex-t.startIndex+1}),m=n.endIndex+1}return d=l.startIndex+3,{offsets:c,tableId:s,columnIndexes:u,cursor:d,selectWholeTable:u.length===l.children[0].children.length,rowCount:l.children.length}}function ce(e,t){var n;let{startOffset:r,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=(n=t.getBody())==null||(n=n.tables)==null||(n=n.find(e=>r>=e.startIndex&&i<=e.endIndex))==null?void 0:n.tableId,c=-1,l=0,u=-1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,n=e[0];if(n){if(r<n.startIndex||i>n.endIndex)continue;c=n.startIndex,l=n.endIndex-n.startIndex+1,u=n.startIndex}if(n)break}if(l>0)break}return s==null?null:{tableId:s,offset:c,len:l,cursor:u}}function le(e,t){var n;let{startOffset:r,endOffset:i,segmentId:a}=e,o=t.getSelfOrHeaderFooterViewModel(a),s=(n=t.getBody())==null||(n=n.tables)==null||(n=n.find(e=>r>=e.startIndex&&i<=e.endIndex))==null?void 0:n.tableId,c=[],l=null,u=-1,d=-1,f=-1,p=-1;for(let e of o.getChildren()){for(let t of e.children){let{children:e}=t,n=e[0];if(n){if(r<n.startIndex||i>n.endIndex)continue;l=n;for(let e of n.children){let t=n.children.indexOf(e);for(let n of e.children){let a=e.children.indexOf(n);r>=n.startIndex&&r<=n.endIndex&&(d=t,f=a),i>=n.startIndex&&i<=n.endIndex&&(p=a)}}}if(l)break}if(l)break}if(l==null||s==null||d===-1)return null;let m=l.children[d];for(let e=f;e<=p;e++){let t=m.children[e];c.push({retain:t.startIndex+1,delete:t.endIndex-t.startIndex-3})}return u=l.startIndex+3,{offsets:c,tableId:s,cursor:u,rowCount:l.children.length}}function ue(e,t,n){let{startOffset:r}=t,i=null;for(let t of e.getChildren()){for(let e of t.children){let t=e.children[0];if(t&&r>t.startIndex&&r<t.endIndex){i=t;break}}if(i)break}if(i==null)return null;let a=-1,o=-1,s=null;for(let e of i.children){for(let t of e.children)if(r>t.startIndex&&r<t.endIndex){a=e.children.indexOf(t),o=i.children.indexOf(e),s=e;break}if(a>-1)break}if(a===-1||o===-1||s==null)return null;let c=null;if(n===0){if(c=s.children[a+1],!c){let e=i.children[o+1];e&&(c=e.children[0])}}else if(c=s.children[a-1],!c){let e=i.children[o-1];e&&(c=e.children[e.children.length-1])}if(c){let{startIndex:e,endIndex:t}=c;return{startOffset:e+1,endOffset:t-2}}}function de(e,t){let n=[],{customBlocks:r=[]}=e;for(let e of t){let{startOffset:t,endOffset:i}=e;if(!(t==null||i==null))for(let e of r){let{startIndex:r}=e;r>=t&&r<i&&n.push(e.blockId)}}return n}function fe(e){return e.some(e=>{let{startNodePosition:t}=e;return t?(t==null?void 0:t.path.indexOf(`cells`))>-1:!1})}let pe=t.SHEET_EDITOR_UNITS,me={id:`doc.command.inner-paste`,type:t.CommandType.COMMAND,handler:async(e,r)=>{var i,a;let{segmentId:o,textRanges:s,doc:c}=r,l=e.get(t.ICommandService),u=e.get(n.DocSelectionManagerService),d=e.get(t.IUniverInstanceService),f=u.getTextRanges(),p=u.getRectRanges(),{body:m,tableSource:h,drawings:g}=c;if(!Array.isArray(f)||f.length===0||m==null)return!1;let _=d.getCurrentUniverDocInstance(),v=_==null?void 0:_.getSelfOrHeaderFooterModel(o).getBody();if(_==null||v==null)return!1;let y=_.getUnitId(),b={id:n.RichTextEditingMutation.id,params:{unitId:y,actions:[],textRanges:s,segmentId:o}},C=new t.MemoryCursor;C.reset();let w=new t.TextX,T=t.JSONX.getInstance(),E=[],D=!!((i=m.tables)!=null&&i.length),O=!!((a=m.customBlocks)!=null&&a.length);if(D&&o||D&&fe(f)||f.length&&p!=null&&p.length)return!1;for(let e=0;e<f.length;e++){var k,A;let n=f[e],{startOffset:r,endOffset:i,collapsed:a}=n,o=r-C.cursor,s=t.Tools.deepClone(m);if(D)for(let e of s.tables){let{tableId:n}=e,r=(0,t.generateRandomId)(6);e.tableId=r;let i=t.Tools.deepClone(h[n]);i.tableId=r;let a=T.insertOp([`tableSource`,r],i);E.push(a)}if(O&&g){var j,M;let e=(j=(M=_.getSnapshot().drawingsOrder)==null?void 0:M.length)==null?0:j;for(let n of s.customBlocks){let{blockId:r}=n,i=(0,t.generateRandomId)(6);n.blockId=i;let a=t.Tools.deepClone(g[r]);a.drawingId=i;let o=T.insertOp([`drawings`,i],a),s=T.insertOp([`drawingsOrder`,e],i);E.push(o),E.push(s)}}let c=x((k=v.customRanges)==null?[]:k,i,pe.includes(y)),l=S((A=v.customDecorations)==null?[]:A,i);if(c&&(s.customRanges=[{...c,startIndex:0,endIndex:m.dataStream.length-1}]),l.length&&(s.customDecorations=l.map(e=>({...e,startIndex:0,endIndex:m.dataStream.length-1}))),a)w.push({t:t.TextXActionType.RETAIN,len:o}),w.push({t:t.TextXActionType.INSERT,body:s,len:m.dataStream.length});else{let e=t.BuildTextUtils.selection.delete([n],m,C.cursor,s,f.length===1);w.push(...e)}C.reset(),C.moveCursor(i)}let N=R(_,o);return E.push(T.editOp(w.serialize(),N)),b.params.actions=E.reduce((e,n)=>t.JSONX.compose(e,n),null),!!l.syncExecuteCommand(b.id,b.params)}};function he(e,t){let{startOffset:n,endOffset:r}=e,i=t.some(e=>e.startIndex===r),a=Math.max(n,i?r-1:r);return{...e,endOffset:a,collapsed:n===a}}function ge(e,n,r){var i,a;let o=n.getSelfOrHeaderFooterModel(r).getBody(),s=new t.TextX,c=t.JSONX.getInstance(),l=[];if(o==null)return l;let{tables:u=[]}=o,d=new t.MemoryCursor;d.reset();for(let n=0;n<e.length;n++){let r=he(e[n],u),{startOffset:i,endOffset:a,collapsed:c}=r,l=i-d.cursor;c?s.push({t:t.TextXActionType.RETAIN,len:l}):s.push(...t.BuildTextUtils.selection.delete([r],o,d.cursor,null,!1)),d.reset(),d.moveCursor(a)}let f=R(n,r);l.push(c.editOp(s.serialize(),f));let p=de(o,e),m=(i=n.getDrawings())==null?{}:i,h=(a=n.getDrawingsOrder())==null?[]:a,g=p.sort((e,t)=>h.indexOf(e)>h.indexOf(t)?-1:+(h.indexOf(e)<h.indexOf(t)));if(g.length>0)for(let e of g){let t=m[e],n=h.indexOf(e);if(t==null||n<0)continue;let r=c.removeOp([`drawings`,e],t),i=c.removeOp([`drawingsOrder`,n],e);l.push(r),l.push(i)}return l.reduce((e,n)=>t.JSONX.compose(e,n),null)}function _e(e,n,r,i){let a=[];if(n.getSelfOrHeaderFooterModel(i).getBody()==null)return a;let o=new t.TextX,s=t.JSONX.getInstance(),c=new t.MemoryCursor;c.reset();for(let n of e){let{startOffset:e,endOffset:l,spanEntireRow:u,spanEntireTable:d}=n;if(!(e==null||l==null))if(d){let n=ce({startOffset:e,endOffset:l,segmentId:i},r);if(n==null)continue;let{offset:u,len:d,tableId:f}=n;u-c.cursor>0&&o.push({t:t.TextXActionType.RETAIN,len:u-c.cursor}),o.push({t:t.TextXActionType.DELETE,len:d});let p=s.removeOp([`tableSource`,f]);a.push(p),c.moveCursorTo(u+d)}else if(u){let n=G({startOffset:e,endOffset:l,segmentId:i},r);if(n==null)continue;let{offset:u,rowIndexes:d,len:f,tableId:p}=n;u-c.cursor>0&&o.push({t:t.TextXActionType.RETAIN,len:u-c.cursor}),o.push({t:t.TextXActionType.DELETE,len:f});for(let e of d.reverse()){let t=s.removeOp([`tableSource`,p,`tableRows`,e]);a.push(t)}c.moveCursorTo(u+f)}else{let n=le({startOffset:e,endOffset:l,segmentId:i},r);if(n==null)continue;let{offsets:a}=n;for(let e of a){let{retain:n,delete:r}=e;n-c.cursor>0&&o.push({t:t.TextXActionType.RETAIN,len:n-c.cursor}),o.push({t:t.TextXActionType.DELETE,len:r}),c.moveCursorTo(n+r)}}}let l=R(n,i);return a.push(s.editOp(o.serialize(),l)),a.reduce((e,n)=>t.JSONX.compose(e,n),null)}function ve(e,n,r,i,a){let o=[];if(Array.isArray(e)&&(e==null?void 0:e.length)!==0&&(o=ge(e,r,a)),Array.isArray(n)&&(n==null?void 0:n.length)!==0){let e=_e(n,r,i,a);o=o==null||o.length===0?e:t.JSONX.compose(o,t.JSONX.transform(e,o,`right`))}return o}let ye={id:`doc.command.inner-cut`,type:t.CommandType.COMMAND,handler:(e,r)=>{var i;let a=e.get(n.DocSelectionManagerService),o=e.get(t.ICommandService),s=e.get(t.IUniverInstanceService),{segmentId:c,textRanges:l,selections:u=a.getTextRanges(),rectRanges:d=a.getRectRanges()}=r;if((!Array.isArray(u)||u.length===0)&&(!Array.isArray(d)||d.length===0))return!1;let f=(i=s.getCurrentUniverDocInstance())==null?void 0:i.getUnitId();if(!f)return!1;let p=s.getUniverDocInstance(f);if(p==null)return!1;let m=L(e,f);if(m==null)return!1;let h=m.getViewModel(),g={id:n.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:l}};return g.params.actions=ve(u,d,p,h,c),!!o.syncExecuteCommand(g.id,g.params)}},be=`doc.command.insert-text`,xe={id:be,type:t.CommandType.COMMAND,handler:async(e,r)=>{var i;let a=e.get(t.ICommandService),{range:o,segmentId:s,body:c,unitId:l,cursorOffset:u}=r,d=e.get(n.DocSelectionManagerService),f=e.get(t.IUniverInstanceService).getUnit(l,t.UniverInstanceType.UNIVER_DOC);if(f==null)return!1;let p=d.getActiveTextRange(),m=f.getSelfOrHeaderFooterModel((i=p==null?void 0:p.segmentId)==null?``:i).getBody();if(m==null)return!1;let{startOffset:h,collapsed:g}=o,_=u==null?c.dataStream.length:u,v=[{startOffset:h+_,endOffset:h+_,style:p==null?void 0:p.style,collapsed:g}],y={id:n.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:v,debounce:!0}},b=new t.TextX,x=t.JSONX.getInstance();if(g)h>0&&b.push({t:t.TextXActionType.RETAIN,len:h}),b.push({t:t.TextXActionType.INSERT,body:c,len:c.dataStream.length});else{let e=t.BuildTextUtils.selection.delete([o],m,0,c);b.push(...e)}y.params.textRanges=[{startOffset:h+_,endOffset:h+_,collapsed:g}];let S=R(f,s);return y.params.actions=x.editOp(b.serialize(),S),!!a.syncExecuteCommand(y.id,y.params)}},Se={id:`doc.command.delete-text`,type:t.CommandType.COMMAND,handler:async(e,r)=>{var i;let a=e.get(t.ICommandService),o=e.get(t.IUniverInstanceService),{range:s,segmentId:c,unitId:l,direction:u,len:d=1}=r,f=o.getUnit(l,t.UniverInstanceType.UNIVER_DOC),p=f==null?void 0:f.getSelfOrHeaderFooterModel(c).getBody();if(f==null||p==null)return!1;let{startOffset:m}=s,h=u===0?m-d:m,g=u===0?m-1:m+d-1,_=(i=p.customRanges)==null?void 0:i.find(e=>e.startIndex<=h&&e.endIndex>=g);_!=null&&_.wholeEntity&&(h=_.startIndex,g=Math.max(g,_.endIndex));let v={id:n.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:[{startOffset:h,endOffset:h,collapsed:!0}],debounce:!0}},y=new t.TextX,b=t.JSONX.getInstance();y.push({t:t.TextXActionType.RETAIN,len:h-0}),y.push({t:t.TextXActionType.DELETE,len:g-h+1});let x=R(f,c);return v.params.actions=b.editOp(y.serialize(),x),!!a.syncExecuteCommand(v.id,v.params)}},Ce={id:`doc.command.update-text`,type:t.CommandType.COMMAND,handler:async(e,r)=>{let{range:i,segmentId:a,updateBody:o,coverType:s,unitId:c,textRanges:l}=r,u=e.get(t.ICommandService),d=e.get(t.IUniverInstanceService).getCurrentUniverDocInstance();if(d==null)return!1;let f={id:n.RichTextEditingMutation.id,params:{unitId:c,actions:[],textRanges:l}},p=new t.TextX,m=t.JSONX.getInstance(),{startOffset:h,endOffset:g}=i;p.push({t:t.TextXActionType.RETAIN,len:h}),p.push({t:t.TextXActionType.RETAIN,body:o,len:g-h,coverType:s});let _=R(d,a);return f.params.actions=m.editOp(p.serialize(),_),!!u.syncExecuteCommand(f.id,f.params)}};function we(e){var r,i,a,o;let s=e.get(t.IUniverInstanceService),c=e.get(n.DocSelectionManagerService).getActiveTextRange(),l=s.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return!c||!c.collapsed||!l||c.segmentId?!1:t.BuildTextUtils.range.getParagraphsInRange(c,(r=(i=l.getBody())==null?void 0:i.paragraphs)==null?[]:r,(a=(o=l.getBody())==null?void 0:o.dataStream)==null?``:a)[0]}let Te={id:`doc.command.delete-custom-block`,type:t.CommandType.COMMAND,handler:async(e,r)=>{var i;let a=e.get(n.DocSelectionManagerService),o=e.get(t.IUniverInstanceService),s=e.get(t.ICommandService),c=a.getActiveTextRange(),l=o.getCurrentUniverDocInstance();if(c==null||l==null)return!1;let{direction:u,range:d,unitId:f,drawingId:p}=r,{startOffset:m,segmentId:h,style:g}=c,_=u===0?m-1:m,v=[{startOffset:_,endOffset:_,style:g}],y={id:n.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:v,prevTextRanges:[d]}},b=new t.TextX,x=t.JSONX.getInstance(),S=[];m>0&&b.push({t:t.TextXActionType.RETAIN,len:u===0?m-1:m}),b.push({t:t.TextXActionType.DELETE,len:1});let C=R(l,h);S.push(x.editOp(b.serialize(),C));let w=((i=l.getDrawings())==null?{}:i)[p],T=l.getDrawingsOrder().indexOf(p),E=x.removeOp([`drawings`,p],w),D=x.removeOp([`drawingsOrder`,T],p);return S.push(E),S.push(D),y.params.actions=S.reduce((e,n)=>t.JSONX.compose(e,n),null),!!s.syncExecuteCommand(y.id,y.params)}},Ee={id:`doc.command.merge-two-paragraph`,type:t.CommandType.COMMAND,handler:async(e,r)=>{let i=e.get(n.DocSelectionManagerService),a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),{direction:s,range:c}=r,l=i.getActiveTextRange(),u=i.getTextRanges();if(l==null||u==null)return!1;let{segmentId:d,style:f}=l,p=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),m=p==null?void 0:p.getSelfOrHeaderFooterModel(d).getBody();if(p==null||m==null)return!1;let h=m.dataStream,g=l,_=p.getUnitId(),{startOffset:v,collapsed:y}=g;if(!y)return!1;let b=s===0?v:v+1,x,S;for(let e of m.paragraphs){if(e.startIndex>=b){S=e;break}x=e}if(x==null||S==null)return!1;let C=s===0?v-1:v,w=[{startOffset:C,endOffset:C,style:f}],T={id:n.RichTextEditingMutation.id,params:{unitId:_,actions:[],textRanges:w,prevTextRanges:[c]}},E=new t.TextX,D=t.JSONX.getInstance();x.startIndex>0&&E.push({t:t.TextXActionType.RETAIN,len:x.startIndex}),E.push({t:t.TextXActionType.DELETE,len:1}),S.startIndex>x.startIndex+1&&E.push({t:t.TextXActionType.RETAIN,len:S.startIndex-x.startIndex-1});let O=Object.values(t.DataStreamTreeTokenType),k=h[x.startIndex-1];(k&&!O.includes(k)||k===` `)&&E.push({t:t.TextXActionType.RETAIN,len:1,coverType:t.UpdateDocsAttributeType.REPLACE,body:{dataStream:``,paragraphs:[{...t.Tools.deepClone(x),startIndex:0}]}});let A=R(p,d);return T.params.actions=D.editOp(E.serialize(),A),!!o.syncExecuteCommand(T.id,T.params)}},De={id:`doc.command.remove-horizontal-line`,type:t.CommandType.COMMAND,handler:async e=>{var r;let i=e.get(n.DocSelectionManagerService),a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),s=i.getActiveTextRange(),c=i.getTextRanges();if(s==null||c==null)return!1;let{segmentId:l,style:u}=s,d=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),f=d==null?void 0:d.getSelfOrHeaderFooterModel(l).getBody();if(d==null||f==null)return!1;let p=s,m=d.getUnitId(),{startOffset:h,collapsed:g}=p;if(!g)return!1;let _=(r=f.paragraphs)==null?void 0:r.find(e=>e.startIndex===h-1);if(_==null)return!1;let v=[{startOffset:h,endOffset:h,style:u}],y={id:n.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:v}},b=new t.TextX,x=t.JSONX.getInstance();_.startIndex>0&&b.push({t:t.TextXActionType.RETAIN,len:_.startIndex}),b.push({t:t.TextXActionType.RETAIN,len:1,coverType:t.UpdateDocsAttributeType.REPLACE,body:{dataStream:``,paragraphs:[{...t.Tools.deepClone({..._,paragraphStyle:{..._.paragraphStyle,borderBottom:void 0}}),startIndex:0}]}});let S=R(d,l);return y.params.actions=x.editOp(b.serialize(),S),!!o.syncExecuteCommand(y.id,y.params)}};function Oe(e,t){let n=0;if(e==null||e.length===0){if(typeof t[0].startOffset==`number`){let e=t[0],{spanEntireRow:r,spanEntireTable:i}=e;n=i?e.startOffset-3:r?e.startRow>0?e.startOffset-6:e.startOffset:t[0].startOffset}}else if(e.length>0&&t.length>0){let r=e[0],i=t[0];if(r.startOffset!=null&&i.startOffset!=null){if(r.startOffset<i.startOffset)n=r.startOffset;else if(r.startOffset>=i.startOffset){let{spanEntireRow:e,spanEntireTable:t}=i;t?n=i.startOffset-3:e&&(n=i.startOffset-6)}}}return n}function ke(e,n){return e.dataStream[n.endIndex]===t.DataStreamTreeTokenType.BLOCK_END?n.endIndex:e.dataStream[n.endIndex+1]===t.DataStreamTreeTokenType.BLOCK_END?n.endIndex+1:n.endIndex}function Ae(e,t){var n,r;return(n=(r=e.blockRanges)==null?void 0:r.some(n=>{let r=ke(e,n);return n.startIndex<t&&t<r}))==null?!1:n}let je={id:`doc.command.delete-left`,type:t.CommandType.COMMAND,handler:async e=>{let i=e.get(n.DocSelectionManagerService),a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),s=!0,c=a.getCurrentUniverDocInstance();if(c==null)return!1;let l=L(e,c.getUnitId()),u=i.getActiveTextRange(),d=i.getRectRanges(),f=i.getTextRanges(),p=l==null?void 0:l.getSkeleton();if(p==null)return!1;if(d!=null&&d.length){let e=Oe(f,d),t=d[0].segmentId,n=[{startOffset:e,endOffset:e}];return o.executeCommand(ye.id,{segmentId:t,textRanges:n})}if(u==null||f==null)return!1;let m=await Ne(e,je.id);if(m!=null)return m;let{segmentId:h,style:g,segmentPage:_}=u,v=c.getSelfOrHeaderFooterModel(h).getBody();if(v==null)return!1;let y=u,{startOffset:b,collapsed:x}=y;if(x){let e=Fe(v,b);if(e!=null)return Ie(o,c,h==null?``:h,e,g)}let S=p.findNodeByCharIndex(b,h,_),C=(0,r.hasListGlyph)(S),w=(0,r.isIndentByGlyph)(S,v),T=b,E=p.findNodeByCharIndex(b-1,h,_);if(!Ae(v,b)&&(0,r.isFirstGlyph)(S)&&E!==S&&(C===!0||w===!0)&&x){let e=(0,r.getParagraphByGlyph)(S,v);if(e==null)return!1;let n=e==null?void 0:e.startIndex,i={startIndex:0},a=e.paragraphStyle;if(C===!0){let t=e.paragraphStyle;if(t){i.paragraphStyle=t;let{hanging:e}=t;e&&(i.paragraphStyle.indentStart=e,i.paragraphStyle.hanging=void 0)}}else if(w===!0){let t=e.bullet;t&&(i.bullet=t),a!=null&&(i.paragraphStyle={...a},delete i.paragraphStyle.hanging,delete i.paragraphStyle.indentStart)}let l=[{startOffset:T,endOffset:T,style:g}];s=await o.executeCommand(Ce.id,{unitId:c.getUnitId(),updateBody:{dataStream:``,paragraphs:[{...i}]},range:{startOffset:n,endOffset:n+1},textRanges:l,coverType:t.UpdateDocsAttributeType.REPLACE,segmentId:h})}else if(x===!0){if(E==null)return!0;if(E.content===`\r`){var D,O;let e=(D=v.paragraphs)==null?void 0:D.find(e=>e.startIndex===b-1);s=!(e==null||(O=e.paragraphStyle)==null)&&O.borderBottom?await o.executeCommand(De.id):await o.executeCommand(Ee.id,{direction:0,range:y})}else if(E.streamType===`\b`){var k,A,j;let e=(k=c.getSnapshot().drawings)==null?void 0:k[(A=E.drawingId)==null?``:A];if(e==null)return!0;let n=(j=c.getBody())==null||(j=j.customBlocks)==null?void 0:j.find(e=>e.blockId===E.drawingId);if(e.layoutType===t.PositionedObjectLayoutType.INLINE||(n==null?void 0:n.blockType)===t.BlockType.CUSTOM){let e=c.getUnitId();s=await o.executeCommand(Te.id,{direction:0,range:u,unitId:e,drawingId:E.drawingId})}else{let e=p.findNodeByCharIndex(b-2);if(e==null)return!0;T-=E.count,T-=e.count;let t=[{startOffset:T,endOffset:T,style:g}];s=await o.executeCommand(Se.id,{unitId:c.getUnitId(),range:{...u,startOffset:u.startOffset-1,endOffset:u.endOffset-1},segmentId:h,direction:0,len:e.count,textRanges:t})}}else T-=E.count,s=await o.executeCommand(Se.id,{unitId:c.getUnitId(),range:y,segmentId:h,direction:0,len:E.count})}else{let e=Pe(y,[y]);s=await o.executeCommand(ye.id,{segmentId:h,textRanges:e,selections:[y]})}return s}},Me={id:`doc.command.delete-right`,type:t.CommandType.COMMAND,handler:async e=>{let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService).getCurrentUniverDocInstance();if(!i)return!1;let a=L(e,i.getUnitId()),o=e.get(t.ICommandService),s=r.getActiveTextRange(),c=r.getRectRanges(),l=r.getTextRanges(),u=a==null?void 0:a.getSkeleton();if(c!=null&&c.length){let e=Oe(l,c),t=c[0].segmentId,n=[{startOffset:e,endOffset:e}];return o.executeCommand(ye.id,{segmentId:t,textRanges:n})}if(s==null||u==null||l==null)return!1;let d=await Ne(e,Me.id);if(d!=null)return d;let{segmentId:f,style:p,segmentPage:m}=s,h=i==null?void 0:i.getSelfOrHeaderFooterModel(f).getBody();if(!i||!h)return!1;let g=s,{startOffset:_,endOffset:v,collapsed:y}=g;if(y){let e=Fe(h,_);if(e!=null)return Ie(o,i,f==null?``:f,e,p)}if(_===h.dataStream.length-2&&y)return!0;let b=!1;if(y===!0){let e=u.findNodeByCharIndex(_,f,m),n=u.findNodeByCharIndex(_+1);if(e.streamType===t.DataStreamTreeTokenType.PARAGRAPH&&(n==null?void 0:n.streamType)===t.DataStreamTreeTokenType.SECTION_BREAK)return!1;if(e.content===`\r`)b=await o.executeCommand(Ee.id,{direction:1,range:s});else if(e.streamType===`\b`){var x,S;let r=(x=i.getSnapshot().drawings)==null?void 0:x[(S=e.drawingId)==null?``:S];if(r==null)return!0;if(r.layoutType===t.PositionedObjectLayoutType.INLINE){let t=i.getUnitId();b=await o.executeCommand(Te.id,{direction:1,range:s,unitId:t,drawingId:e.drawingId})}else{if(n==null)return!0;let e=[{startOffset:_+1,endOffset:_+1,style:p}];b=await o.executeCommand(Se.id,{unitId:i.getUnitId(),range:{...s,startOffset:_+1,endOffset:v+1},segmentId:f,direction:1,textRanges:e,len:n.count})}}else{let t=[{startOffset:_,endOffset:_,style:p}];b=await o.executeCommand(Se.id,{unitId:i.getUnitId(),range:g,segmentId:f,direction:1,textRanges:t,len:e.count})}}else{let e=Pe(g,[g]);b=await o.executeCommand(ye.id,{segmentId:f,textRanges:e,selections:[g]})}return b}};async function Ne(e,n){if(!e.has(j))return null;let r=e.get(t.ICommandService),i=e.get(j).onAutoFormat(n);return i.length?(await(0,t.sequenceExecuteAsync)(i,r)).result:null}function Pe(e,t){let n=e.endOffset;for(let r of t){let{startOffset:t,endOffset:i}=r;t==null||i==null||i<=e.endOffset&&(n-=i-t)}return[{startOffset:n,endOffset:n,style:e.style}]}function Fe(e,n){var r;let i=(r=e.paragraphs)==null?[]:r;for(let e=0;e<i.length;e++){var a;let r=i[e],o=e===0?0:i[e-1].startIndex+1;if(r.startIndex===o&&r.startIndex===n&&((a=r.paragraphStyle)==null?void 0:a.horizontalAlign)===t.HorizontalAlign.CENTER)return r}}function Ie(e,n,r,i,a){return e.executeCommand(Ce.id,{unitId:n.getUnitId(),updateBody:{dataStream:``,paragraphs:[{...i,startIndex:0,paragraphStyle:{...i.paragraphStyle,horizontalAlign:t.HorizontalAlign.LEFT}}]},range:{startOffset:i.startIndex,endOffset:i.startIndex+1},textRanges:[{startOffset:i.startIndex,endOffset:i.startIndex,collapsed:!0,style:a}],coverType:t.UpdateDocsAttributeType.REPLACE,segmentId:r})}let Le={id:`doc.command.delete-current-paragraph`,type:t.CommandType.COMMAND,handler:async e=>{var r,i;let a=e.get(t.IUniverInstanceService),o=e.get(t.ICommandService),s=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!s)return!1;let c=(r=(i=s.getBody())==null?void 0:i.dataStream)==null?``:r,l=we(e);if(!l)return!1;let u=t.BuildTextUtils.selection.delete([{startOffset:l.paragraphStart,endOffset:c[l.paragraphEnd+1]===`
@@ -344,7 +344,7 @@ td.UniverTableCell, th.UniverTableCell{mso-padding-alt:0cm 5.4pt 0cm 5.4pt;}
344
344
  `,children:[t.DocumentFlavor.MODERN,t.DocumentFlavor.TRADITIONAL].map(e=>(0,u.jsx)(`button`,{type:`button`,className:(0,l.clsx)(`univer-h-8 univer-cursor-pointer univer-rounded-md univer-border-none univer-bg-transparent univer-text-sm univer-font-medium univer-text-gray-600 univer-transition-colors hover:univer-bg-white hover:univer-text-gray-900 dark:!univer-text-gray-200 dark:hover:!univer-bg-gray-700`,{"univer-bg-white univer-text-gray-900 univer-shadow-sm dark:!univer-bg-gray-700 dark:!univer-text-white":o.mode===e}),onClick:()=>p(e),children:a.t(e===t.DocumentFlavor.MODERN?`docs-ui.page-settings.modern-mode`:`docs-ui.page-settings.classic-mode`)},e))}),o.mode===t.DocumentFlavor.MODERN?(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2.5`,children:[(0,u.jsx)(Ho,{children:a.t(`docs-ui.page-settings.modern-width`)}),(0,u.jsx)(`div`,{className:`univer-grid univer-grid-cols-3 univer-gap-2`,children:zo.map(e=>(0,u.jsxs)(`button`,{type:`button`,className:(0,l.clsx)(`univer-flex univer-h-16 univer-cursor-pointer univer-flex-col univer-items-center univer-justify-center univer-gap-1 univer-rounded-lg univer-border univer-border-solid univer-border-gray-200 univer-bg-white univer-text-sm univer-font-medium univer-text-gray-700 univer-transition-colors hover:univer-border-primary-500 hover:univer-text-primary-600 dark:!univer-border-gray-600 dark:!univer-bg-gray-900 dark:!univer-text-gray-100`,{"!univer-border-primary-500 !univer-bg-primary-50 !univer-text-primary-600 dark:!univer-bg-primary-900":o.modernWidth===e}),onClick:()=>m(e),children:[(0,u.jsx)(`span`,{children:a.t(`docs-ui.page-settings.modern-width-${e}`)}),(0,u.jsxs)(`span`,{className:`univer-text-xs univer-font-normal univer-text-gray-400`,children:[t.MODERN_DOCUMENT_WIDTH[e],`px`]})]},e))})]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{children:a.t(`docs-ui.page-settings.paper-size`)}),(0,u.jsx)(l.Select,{value:o.paperSize,onChange:d,options:t.PAPER_TYPES.map(e=>({label:a.t(`docs-ui.page-settings.page-size.${e.toLocaleLowerCase()}`),value:e}))})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{children:a.t(`docs-ui.page-settings.custom-paper-size`)}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-col univer-gap-2.5`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-gap-2.5`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.top`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.height/2,value:o.margins.top,onChange:e=>f(`top`,e)})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.bottom`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.height/2,value:o.margins.bottom,onChange:e=>f(`bottom`,e)})]})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-gap-2.5`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.left`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.width/2,value:o.margins.left,onChange:e=>f(`left`,e)})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-flex-1 univer-flex-col univer-gap-2`,children:[(0,u.jsx)(Ho,{muted:!0,children:a.t(`docs-ui.page-settings.right`)}),(0,u.jsx)(l.InputNumber,{precision:2,min:0,max:o.pageSize.width/2,value:o.margins.right,onChange:e=>f(`right`,e)})]})]})]})]})]})]})}let Wo=`docs.component.page-setting`;function Go(e){var n,r,i,a;let o=(n=(r=e.pageSize)==null?void 0:r.width)==null?0:n;return o?e.documentFlavor===t.DocumentFlavor.MODERN?Math.max(0,o-t.MODERN_DOCUMENT_DEFAULT_MARGIN*2):Math.max(0,o-((i=e.marginLeft)==null?0:i)-((a=e.marginRight)==null?0:a)):0}function Ko(e){return e.tableColumns.reduce((e,t)=>{var n;return e+((n=t.size.width.v)==null?0:n)},0)}function qo(e,t){if(t<=0||e.tableColumns.length===0)return!1;let n=Ko(e)||e.size.width.v;return Math.abs(n-t)<=2}function Jo(e,t,n,r,i){!n||r<=0||i<=0||Math.abs(r-i)<=2||Object.entries(n).forEach(([n,a])=>{if(!qo(a,r))return;let o=Ko(a);if(o<=0)return;let s=e.replaceOp([`tableSource`,n,`size`,`width`,`v`],a.size.width.v,i);s&&t.push(s),a.tableColumns.forEach((r,a)=>{let s=r.size.width.v/o*i,c=e.replaceOp([`tableSource`,n,`tableColumns`,a,`size`,`width`,`v`],r.size.width.v,s);c&&t.push(c)})})}let Yo={id:`docs.command.page-setup`,type:t.CommandType.COMMAND,handler:(e,r)=>{if(!r)return!1;let i=e.get(t.IUniverInstanceService),a=e.get(t.ICommandService),o=i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!o)return!1;let{documentFlavor:s,marginLeft:c,marginRight:l,marginBottom:u,marginTop:d,pageOrient:f,pageSize:p}=r,m=t.JSONX.getInstance(),h=o.getDocumentStyle(),g=o.getSnapshot(),_={...h,documentFlavor:s==null?h.documentFlavor:s,marginBottom:u,marginLeft:c,marginRight:l,marginTop:d,pageOrient:f,pageSize:p},{marginBottom:v,marginLeft:y,marginRight:b,marginTop:x,pageOrient:S,pageSize:C,documentFlavor:w}=h,T=[];if(Jo(m,T,g.tableSource,Go(h),Go(_)),s!==void 0)if(w===void 0){let e=m.insertOp([`documentStyle`,`documentFlavor`],s);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`documentFlavor`],w,s);e&&T.push(e)}if(v===void 0){let e=m.insertOp([`documentStyle`,`marginBottom`],u);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginBottom`],v,u);e&&T.push(e)}if(y===void 0){let e=m.insertOp([`documentStyle`,`marginLeft`],c);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginLeft`],y,c);e&&T.push(e)}if(b===void 0){let e=m.insertOp([`documentStyle`,`marginRight`],l);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginRight`],b,l);e&&T.push(e)}if(x===void 0){let e=m.insertOp([`documentStyle`,`marginTop`],d);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`marginTop`],x,d);e&&T.push(e)}if(C===void 0){let e=m.insertOp([`documentStyle`,`pageSize`],p);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`pageSize`],C,p);e&&T.push(e)}if(S===void 0){let e=m.insertOp([`documentStyle`,`pageOrient`],f);e&&T.push(e)}else{let e=m.replaceOp([`documentStyle`,`pageOrient`],S,f);e&&T.push(e)}let E={id:n.RichTextEditingMutation.id,params:{unitId:o.getUnitId(),actions:[],textRanges:void 0}};return E.params.actions=T.reduce((e,n)=>t.JSONX.compose(e,n),null),!!a.syncExecuteCommand(E.id,E.params)}},Xo={id:`docs.operation.open-page-setting`,type:t.CommandType.OPERATION,handler:e=>{let n=e.get(t.IConfirmService),r=e.get(t.ICommandService),i=e.get(t.LocaleService),a=n.open({id:Wo,title:{label:i.t(`docs-ui.page-settings.document-setting`)},children:{label:Wo},width:528,onClose:()=>{a.dispose()},onConfirm:e=>{if(a.dispose(),!e)return;let n=e.mode===t.DocumentFlavor.MODERN?{width:t.MODERN_DOCUMENT_WIDTH[e.modernWidth],height:t.PAGE_SIZE.A4.height}:t.PAGE_SIZE[e.paperSize];r.executeCommand(Yo.id,{documentFlavor:e.mode,pageOrient:e.orientation,marginTop:e.margins.top,marginBottom:e.margins.bottom,marginLeft:e.margins.left,marginRight:e.margins.right,pageSize:n})},confirmText:i.t(`docs-ui.page-settings.confirm`),cancelText:i.t(`docs-ui.page-settings.cancel`)});return!0}};function Zo(e){let i=e.get(t.IUniverInstanceService),a=e.get(r.IRenderManagerService);return new o.Observable(e=>{let o=i.focused$.subscribe(o=>{if(o==null||i.getUnitType(o)!==t.UniverInstanceType.UNIVER_DOC)return e.next(!0);let s=a.getRenderById(o);if(s==null)return e.next(!0);s.with(n.DocSkeletonManagerService).getViewModel().editAreaChange$.subscribe(t=>{e.next(t===r.DocumentEditArea.HEADER||t===r.DocumentEditArea.FOOTER)})});return()=>o.unsubscribe()})}function Qo(e){let r=e.get(t.IUniverInstanceService),i=e.get(t.ICommandService);return new o.Observable(e=>{let a=i.onCommandExecuted(i=>{if(i.id===n.RichTextEditingMutation.id){let{unitId:n}=i.params,a=r.getUnit(n);if(a==null){e.next(!0);return}let{documentStyle:o}=a.getSnapshot();e.next((o==null?void 0:o.documentFlavor)!==t.DocumentFlavor.TRADITIONAL)}}),o=r.focused$.subscribe(n=>{if(n==null)return e.next(!0);let i=r.getUniverDocInstance(n),a=i==null?void 0:i.getSnapshot().documentStyle.documentFlavor;e.next(a!==t.DocumentFlavor.TRADITIONAL)}),s=r.getCurrentUniverDocInstance();if(s==null)return e.next(!0);let c=s==null?void 0:s.getSnapshot().documentStyle.documentFlavor;return e.next(c!==t.DocumentFlavor.TRADITIONAL),()=>{a.dispose(),o.unsubscribe()}})}function $o(e){let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(t=>{let n=r.textSelection$.subscribe(n=>{if(n==null){t.next(!0);return}let{textRanges:r}=n;if(r.length!==1){t.next(!0);return}let{collapsed:a,startNodePosition:o,startOffset:s}=r[0];if(!a||s==null){t.next(!0);return}let c=i.getCurrentUniverDocInstance();if(c==null){t.next(!0);return}let l=L(e,c.getUnitId());if(l==null){t.next(!0);return}if(l.getViewModel().getCustomRangeRaw(s)){t.next(!0);return}if(o!=null){let{path:e}=o;if(e.indexOf(`cells`)!==-1){t.next(!0);return}}t.next(!1)});return()=>n.unsubscribe()})}function Q(e){let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let n=r.textSelection$.subscribe(n=>{var r,a;if(n==null){e.next(!0);return}let{textRanges:o,rectRanges:s}=n;if(o.length===0&&s.length===0){e.next(!0);return}let c=i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(((r=c==null||(a=c.getBody())==null||(a=a.blockRanges)==null?void 0:a.filter(e=>e.blockType===`code`))==null?[]:r).some(e=>o.some(t=>Math.max(t.startOffset,e.startIndex)<=Math.min(t.endOffset,e.endIndex)))){e.next(!0);return}e.next(!1)});return()=>n.unsubscribe()})}function es(e,t){var n,r;let i=(n=e==null||(r=e.getBody())==null?void 0:r.blockRanges)==null?[]:n,a=t.startOffset,o=t.collapsed?t.startOffset:t.endOffset-1;return i.some(e=>Math.max(a,e.startIndex)<=Math.min(o,e.endIndex))}function ts(e){let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let n=n=>{var a,o,s,c;let l=(a=r.__getCurrentSelection)==null?void 0:a.call(r),u=(o=n==null?void 0:n.textRanges)==null?[...(s=r.getTextRanges())==null?[]:s]:o,d=(c=n==null?void 0:n.unitId)==null?l==null?void 0:l.unitId:c,f=d?i.getUnit(d,t.UniverInstanceType.UNIVER_DOC):i.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);e.next(u.some(e=>es(f,e)))};n();let a=r.textSelection$.subscribe(e=>n(e));return()=>a.unsubscribe()})}function ns(e){let r=e.get(t.ICommandService);return{id:Gn.id,type:i.MenuItemType.BUTTON,icon:`BoldIcon`,title:`Set bold`,tooltip:`docs-ui.toolbar.bold`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.bl;i.next(a===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function rs(e){let r=e.get(t.ICommandService);return{id:qn.id,type:i.MenuItemType.BUTTON,icon:`ItalicIcon`,title:`Set italic`,tooltip:`docs-ui.toolbar.italic`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.it;i.next(a===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function is(e){let r=e.get(t.ICommandService);return{id:Yn.id,type:i.MenuItemType.BUTTON,icon:`UnderlineIcon`,title:`Set underline`,tooltip:`docs-ui.toolbar.underline`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.ul;i.next((a==null?void 0:a.s)===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function as(e){let r=e.get(t.ICommandService);return{id:Zn.id,type:i.MenuItemType.BUTTON,icon:`StrikethroughIcon`,title:`Set strike through`,tooltip:`docs-ui.toolbar.strikethrough`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.st;i.next((a==null?void 0:a.s)===t.BooleanNumber.TRUE)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function os(e){let r=e.get(t.ICommandService);return{id:$n.id,type:i.MenuItemType.BUTTON,icon:`SubscriptIcon`,tooltip:`docs-ui.toolbar.subscript`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.va;i.next(a===t.BaselineOffset.SUBSCRIPT)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ss(e){let r=e.get(t.ICommandService);return{id:tr.id,type:i.MenuItemType.BUTTON,icon:`SuperscriptIcon`,tooltip:`docs-ui.toolbar.superscript`,activated$:new o.Observable(i=>{let a=()=>{var n;let r=Ps(e);if(r==null){i.next(!1);return}let a=(n=r.ts)==null?void 0:n.va;i.next(a===t.BaselineOffset.SUPERSCRIPT)},o=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===pr.id)&&a()});return a(),o.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function cs(e){let r=e.get(t.ICommandService);return{id:ar.id,tooltip:`docs-ui.toolbar.font`,type:i.MenuItemType.SELECTOR,label:{name:i.FONT_FAMILY_COMPONENT,props:{id:ar.id}},selections:[{label:{name:i.FONT_FAMILY_ITEM_COMPONENT,hoverable:!1,selectable:!1,props:{id:ar.id}}}],value$:new o.Observable(i=>{let a=t.DEFAULT_STYLES.ff,o=()=>{var t;let n=Ps(e);if(n==null){i.next(a);return}let r=(t=n.ts)==null?void 0:t.ff;i.next(r==null?a:r)},s=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===ar.id)&&o()});return o(),s.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function ls(e){let r=e.get(t.ICommandService);return{id:rr.id,type:i.MenuItemType.SELECTOR,tooltip:`docs-ui.toolbar.fontSize`,label:{name:i.FONT_SIZE_COMPONENT,props:{min:1,max:400}},selections:i.FONT_SIZE_LIST,value$:new o.Observable(i=>{let a=t.DEFAULT_STYLES.fs,o=()=>{var t;let n=Ps(e);if(n==null){i.next(a);return}let r=(t=n.ts)==null?void 0:t.fs;i.next(r==null?a:r)},s=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===rr.id)&&o()});return o(),s.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function us(e){let r=e.get(t.ICommandService);return{id:J.id,type:i.MenuItemType.SELECTOR,tooltip:`ui.toolbar.heading.tooltip`,label:{name:i.COMMON_LABEL_COMPONENT,props:{selections:i.HEADING_LIST}},selections:i.HEADING_LIST.map(e=>({label:{name:i.HEADING_ITEM_COMPONENT,props:{value:e.value,text:e.label}},value:e.value})),value$:new o.Observable(i=>{let a=t.NamedStyleType.NORMAL_TEXT,o=()=>{var t,n;let r=Fs(e);if(r==null){i.next(a);return}let o=(t=(n=r.paragraphStyle)==null?void 0:n.namedStyleType)==null?a:t;i.next(o)},s=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===rr.id)&&o()});return o(),s.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let ds=`doc.menu.float-text-style`,fs=`doc.menu.float-toolbar`,ps=[{icon:`TextTypeIcon`,label:`ui.toolbar.heading.normal`,value:t.NamedStyleType.NORMAL_TEXT},{icon:`H1Icon`,label:`ui.toolbar.heading.1`,value:t.NamedStyleType.HEADING_1},{icon:`H2Icon`,label:`ui.toolbar.heading.2`,value:t.NamedStyleType.HEADING_2},{icon:`H3Icon`,label:`ui.toolbar.heading.3`,value:t.NamedStyleType.HEADING_3},{icon:`H4Icon`,label:`ui.toolbar.heading.4`,value:t.NamedStyleType.HEADING_4},{icon:`H5Icon`,label:`ui.toolbar.heading.5`,value:t.NamedStyleType.HEADING_5},{id:Pr.id,icon:`OrderIcon`,label:`docs-ui.toolbar.order`,value:t.PresetListType.ORDER_LIST},{id:jr.id,icon:`UnorderIcon`,label:`docs-ui.toolbar.unorder`,value:t.PresetListType.BULLET_LIST},{id:Mr.id,icon:`TodoListDoubleIcon`,label:`docs-ui.toolbar.checklist`,value:t.PresetListType.CHECK_LIST}];function ms(e){[[`TextTypeIcon`,za],[`H1Icon`,xa],[`H2Icon`,Ca],[`H3Icon`,Ta],[`H4Icon`,Da],[`H5Icon`,ka]].forEach(([t,n])=>{e.get(t)||e.register(t,n)})}function hs(e){var n,r,i;let a=e==null||(n=e.bullet)==null?void 0:n.listType;return a!=null&&a.startsWith(t.PresetListType.ORDER_LIST)?t.PresetListType.ORDER_LIST:a!=null&&a.startsWith(t.PresetListType.BULLET_LIST)?t.PresetListType.BULLET_LIST:a===t.PresetListType.CHECK_LIST||a===t.PresetListType.CHECK_LIST_CHECKED?t.PresetListType.CHECK_LIST:(r=e==null||(i=e.paragraphStyle)==null?void 0:i.namedStyleType)==null?t.NamedStyleType.NORMAL_TEXT:r}function gs(e){let r=e.get(t.ICommandService);return ms(e.get(i.ComponentManager)),{id:ds,commandId:J.id,type:i.MenuItemType.SELECTOR,icon:`TextTypeIcon`,tooltip:`ui.toolbar.heading.tooltip`,selections:ps,value$:new o.Observable(t=>{let i=()=>{t.next(hs(Fs(e)))},a=r.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===J.id||t===Pr.id||t===jr.id||t===Mr.id)&&i()});return i(),a.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function _s(e){let n=e.get(t.ICommandService),r=e.get(t.ThemeService);return{id:sr.id,icon:`FontColorDoubleIcon`,tooltip:`docs-ui.toolbar.textColor.main`,type:i.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:i.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new o.Observable(r=>{let i=t.DEFAULT_STYLES.cl.rgb,a=()=>{var t;let n=Ps(e);if(!n){r.next(i);return}let a=(t=n.ts)==null||(t=t.cl)==null?void 0:t.rgb;r.next(a==null?i:a)},o=n.onCommandExecuted(e=>{e.id===sr.id&&a()});return a(),o.dispose})}],value$:new o.Observable(e=>{let t=r.getColorFromTheme(`gray.900`),i=n.onCommandExecuted(n=>{if(n.id===sr.id){let r=n.params.value;e.next(r==null?t:r)}});return e.next(t),i.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function vs(e){return{id:so.id,type:i.MenuItemType.BUTTON,icon:`HeaderFooterIcon`,tooltip:`docs-ui.toolbar.headerFooter`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY),Qo(e),(e,t)=>e||t)}}let ys=`GridIcon`,bs=`doc.menu.table`;function xs(e){return{id:bs,type:i.MenuItemType.SUBITEMS,icon:ys,tooltip:`docs-ui.toolbar.table.main`,disabled$:$o(e),hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY),Zo(e),(e,t)=>e||t)}}function Ss(e){return{id:aa.id,title:`docs-ui.toolbar.table.insert`,type:i.MenuItemType.BUTTON,icon:ys,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Cs(e){return{id:aa.id,commandId:Wi.id,params:{rowCount:3,colCount:5},title:`docs-ui.toolbar.table.insert`,type:i.MenuItemType.BUTTON,icon:ys,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let ws=[{id:Vr.id,value:t.HorizontalAlign.LEFT,label:`docs-ui.toolbar.alignLeft`,icon:`LeftJustifyingIcon`},{id:Hr.id,value:t.HorizontalAlign.CENTER,label:`docs-ui.toolbar.alignCenter`,icon:`HorizontallyIcon`},{id:Ur.id,value:t.HorizontalAlign.RIGHT,label:`docs-ui.toolbar.alignRight`,icon:`RightJustifyingIcon`},{id:Wr.id,value:t.HorizontalAlign.JUSTIFIED,label:`docs-ui.toolbar.alignJustify`,icon:`AlignTextBothIcon`}];function Ts(e){let r=e.get(t.ICommandService),a=new o.Observable(i=>{let a=()=>{var n,r;let a=Fs(e);i.next((n=a==null||(r=a.paragraphStyle)==null?void 0:r.horizontalAlign)==null?t.HorizontalAlign.LEFT:n)},o=r.onCommandExecuted(e=>{(e.id===n.SetTextSelectionsOperation.id||e.id===Br.id)&&a()});return a(),o.dispose});return{id:Br.id,type:i.MenuItemType.SELECTOR,icon:a.pipe((0,o.map)(e=>{var t,n;return(t=(n=ws.find(t=>t.value===e))==null?void 0:n.icon)==null?`LeftJustifyingIcon`:t})),tooltip:`docs-ui.toolbar.alignLeft`,selections:ws,value$:a,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Es(e){return{id:kn.id,type:i.MenuItemType.BUTTON,icon:`ReduceIcon`,tooltip:`docs-ui.toolbar.horizontalLine`,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}let Ds=e=>new o.Observable(r=>{let i=e.get(t.IUniverInstanceService),a=e.get(n.DocSelectionManagerService),o=i.focused$.subscribe(e=>{var n;if(e==null)return;let o=i.getUniverDocInstance(e);if(o==null)return;let s=a.getDocRanges(),c=(n=s.find(e=>e.isActive))==null?s[0]:n;if(c){var l,u,d,f;let e=o.getSelfOrHeaderFooterModel(c==null?void 0:c.segmentId),n=t.BuildTextUtils.range.getParagraphsInRange(c,(l=(u=e.getBody())==null?void 0:u.paragraphs)==null?[]:l,(d=(f=e.getBody())==null?void 0:f.dataStream)==null?``:d),i;if(n.every(e=>{if(!i){var t;i=(t=e.bullet)==null?void 0:t.listType}return e.bullet&&e.bullet.listType===i})){r.next(i);return}}r.next(void 0)});return()=>{o.unsubscribe()}});function Os(e){return{id:Pr.id,type:i.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:go,hoverable:!1,selectable:!1},value$:Ds(e)}],icon:`OrderIcon`,tooltip:`docs-ui.toolbar.order`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),disabled$:Q(e),activated$:Ds(e).pipe((0,o.map)(e=>!!(e&&e.indexOf(`ORDER_LIST`)===0)))}}function ks(e){return{id:jr.id,type:i.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:_o,hoverable:!1,selectable:!1},value$:Ds(e)}],icon:`UnorderIcon`,tooltip:`docs-ui.toolbar.unorder`,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),activated$:Ds(e).pipe((0,o.map)(e=>!!(e&&e.indexOf(`BULLET_LIST`)===0)))}}function As(e){return{id:Mr.id,type:i.MenuItemType.BUTTON,icon:`TodoListDoubleIcon`,tooltip:`docs-ui.toolbar.checklist`,disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),activated$:Ds(e).pipe((0,o.map)(e=>!!(e&&e.indexOf(`CHECK_LIST`)===0)))}}function js(e){let r=e.get(t.ICommandService),a=e.get(t.IUniverInstanceService);return{id:Ui.id,type:i.MenuItemType.BUTTON,icon:`KeyboardIcon`,tooltip:`docs-ui.toolbar.documentFlavor`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC,void 0,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY),activated$:new o.Observable(e=>{var i;let o=r.onCommandExecuted(r=>{if(r.id===n.RichTextEditingMutation.id){var i;let n=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);e.next((n==null||(i=n.getSnapshot())==null?void 0:i.documentStyle.documentFlavor)===t.DocumentFlavor.MODERN)}}),s=a.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return e.next((s==null||(i=s.getSnapshot())==null?void 0:i.documentStyle.documentFlavor)===t.DocumentFlavor.MODERN),()=>o.dispose()})}}function Ms(e){return{id:dr.id,type:i.MenuItemType.BUTTON,title:`docs-ui.toolbar.resetColor`,icon:`NoColorDoubleIcon`}}function Ns(e){let n=e.get(t.ICommandService),r=e.get(t.ThemeService);return{id:lr.id,tooltip:`docs-ui.toolbar.fillColor.main`,type:i.MenuItemType.BUTTON_SELECTOR,icon:`PaintBucketDoubleIcon`,selections:[{label:{name:i.COLOR_PICKER_COMPONENT,hoverable:!1,selectable:!1},value$:new o.Observable(r=>{let i=t.DEFAULT_STYLES.bg.rgb,a=()=>{var t;let n=Ps(e);if(!n){r.next(i);return}let a=(t=n.ts)==null||(t=t.bg)==null?void 0:t.rgb;r.next(a==null?i:a)},o=n.onCommandExecuted(e=>{e.id===lr.id&&a()});return a(),o.dispose})}],value$:new o.Observable(e=>{let t=r.getColorFromTheme(`primary.600`),i=n.onCommandExecuted(n=>{if(n.id===lr.id){let r=n.params.value;e.next(r==null?t:r)}});return e.next(t),i.dispose}),disabled$:Q(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ps(e){var r,i,a,o;let s=e.get(t.IUniverInstanceService),c=e.get(n.DocSelectionManagerService),l=e.get(I),u=s.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),d=c.getDocRanges(),f=(r=d.find(e=>e.isActive))==null?d[0]:r,p=l.getDefaultStyle(),m=(i=l.getStyleCache())==null?{}:i,h=Fs(e),g=!(h==null||(a=h.paragraphStyle)==null)&&a.namedStyleType?t.NAMED_STYLE_MAP[h==null||(o=h.paragraphStyle)==null?void 0:o.namedStyleType]:null;if(u==null||f==null)return{ts:{...p,...g,...m}};let{segmentId:_}=f,v=u.getSelfOrHeaderFooterModel(_).getBody();if(v==null)return{ts:{...p,...g,...m}};let y=_r(v,f,{});return t.Tools.deleteNull(y),{ts:{...p,...g,...y,...m}}}function Fs(e){var r,i;let a=e.get(t.IUniverInstanceService),o=e.get(n.DocSelectionManagerService),s=a.getCurrentUniverDocInstance(),c=o.getDocRanges(),l=(r=c.find(e=>e.isActive))==null?c[0]:r;if(s==null||l==null)return;let{startOffset:u,segmentId:d}=l,f=(i=s.getSelfOrHeaderFooterModel(d).getBody())==null?void 0:i.paragraphs;if(f==null)return;let p=-1;for(let e of f){let{startIndex:t}=e;if(u>p&&u<=t)return e;p=t}return null}function Is(e){return{id:Xo.id,type:i.MenuItemType.BUTTON,icon:`DocumentSettingIcon`,tooltip:`docs-ui.toolbar.pageSetup`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Ls={[t.NamedStyleType.HEADING_1]:Zr,[t.NamedStyleType.HEADING_2]:Qr,[t.NamedStyleType.HEADING_3]:$r,[t.NamedStyleType.HEADING_4]:ei,[t.NamedStyleType.HEADING_5]:ti,[t.NamedStyleType.NORMAL_TEXT]:ni,[t.NamedStyleType.TITLE]:ri,[t.NamedStyleType.SUBTITLE]:ii,[t.NamedStyleType.NAMED_STYLE_TYPE_UNSPECIFIED]:ni},Rs={[t.NamedStyleType.HEADING_1]:`ui.toolbar.heading.1`,[t.NamedStyleType.HEADING_2]:`ui.toolbar.heading.2`,[t.NamedStyleType.HEADING_3]:`ui.toolbar.heading.3`,[t.NamedStyleType.HEADING_4]:`ui.toolbar.heading.4`,[t.NamedStyleType.HEADING_5]:`ui.toolbar.heading.5`,[t.NamedStyleType.NORMAL_TEXT]:`ui.toolbar.heading.normal`,[t.NamedStyleType.TITLE]:`ui.toolbar.heading.title`,[t.NamedStyleType.SUBTITLE]:`ui.toolbar.heading.subTitle`};function zs({className:e}){return(0,s.createElement)(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":!0},(0,s.createElement)(`text`,{x:2,y:19,fontFamily:`Arial, sans-serif`,fontSize:19,fontWeight:500},`T`),(0,s.createElement)(`text`,{x:15,y:19,fontFamily:`Arial, sans-serif`,fontSize:13,fontWeight:500},`t`))}function Bs({className:e}){return(0,s.createElement)(`svg`,{className:e,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":!0},(0,s.createElement)(`text`,{x:5,y:19,fontFamily:`Arial, sans-serif`,fontSize:19,fontWeight:500},`S`))}let Vs={[t.NamedStyleType.HEADING_1]:{key:`H1Icon`,component:xa},[t.NamedStyleType.HEADING_2]:{key:`H2Icon`,component:Ca},[t.NamedStyleType.HEADING_3]:{key:`H3Icon`,component:Ta},[t.NamedStyleType.HEADING_4]:{key:`H4Icon`,component:Da},[t.NamedStyleType.HEADING_5]:{key:`H5Icon`,component:ka},[t.NamedStyleType.NORMAL_TEXT]:{key:`TextTypeIcon`,component:za},[t.NamedStyleType.TITLE]:{key:`TitleTypeIcon`,component:zs},[t.NamedStyleType.SUBTITLE]:{key:`SubtitleTypeIcon`,component:Bs},[t.NamedStyleType.NAMED_STYLE_TYPE_UNSPECIFIED]:{key:`TextTypeIcon`,component:za}},Hs=e=>r=>{let a=r.get(t.ICommandService),s=r.get(i.ComponentManager),c=Vs[e];return s.get(c.key)||s.register(c.key,c.component),{id:Ls[e].id,type:i.MenuItemType.BUTTON,icon:c.key,title:Rs[e],tooltip:`ui.toolbar.heading.tooltip`,disabled$:Q(r),hidden$:(0,i.getMenuHiddenObservable)(r,t.UniverInstanceType.UNIVER_DOC),activated$:new o.Observable(i=>{let o=t.NamedStyleType.NORMAL_TEXT,s=()=>{var t,n;let a=Fs(r);if(a==null){i.next(o===e);return}let s=(t=(n=a.paragraphStyle)==null?void 0:n.namedStyleType)==null?o:t;i.next(s===e)},c=a.onCommandExecuted(e=>{let t=e.id;(t===n.SetTextSelectionsOperation.id||t===rr.id)&&s()});return s(),c.dispose})}},Us=Hs(t.NamedStyleType.HEADING_1),Ws=Hs(t.NamedStyleType.HEADING_2),Gs=Hs(t.NamedStyleType.HEADING_3),Ks=Hs(t.NamedStyleType.HEADING_4),qs=Hs(t.NamedStyleType.HEADING_5),Js=Hs(t.NamedStyleType.NORMAL_TEXT),Ys=Hs(t.NamedStyleType.TITLE),Xs=Hs(t.NamedStyleType.SUBTITLE),Zs=(e,t,n)=>r=>{let a=r.get(i.ComponentManager),o=Object.values(Vs).find(e=>e.key===t);return o&&!a.get(o.key)&&a.register(o.key,o.component),{id:e.id,type:i.MenuItemType.BUTTON,icon:t,title:n}},Qs=`doc.menu.empty-paragraph`,$s=Zs(Zr,`H1Icon`,`ui.toolbar.heading.1`),ec=Zs(Qr,`H2Icon`,`ui.toolbar.heading.2`),tc=Zs($r,`H3Icon`,`ui.toolbar.heading.3`),nc=Zs(ei,`H4Icon`,`ui.toolbar.heading.4`),rc=Zs(ti,`H5Icon`,`ui.toolbar.heading.5`),ic=Zs(ni,`TextTypeIcon`,`ui.toolbar.heading.normal`),ac=Zs(Pr,`OrderIcon`,`docs-ui.rightClick.orderList`),oc=Zs(jr,`UnorderIcon`,`docs-ui.rightClick.bulletList`),sc=Zs(Mr,`TodoListDoubleIcon`,`docs-ui.rightClick.checkList`),cc=Zs(kn,`ReduceIcon`,`docs-ui.toolbar.horizontalLine`),lc=e=>({id:gn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`}),uc=e=>({id:vn.id,type:i.MenuItemType.BUTTON,icon:`CutIcon`,title:`docs-ui.rightClick.cut`}),dc=e=>({id:Le.id,type:i.MenuItemType.BUTTON,icon:`DeleteIcon`,title:`docs-ui.rightClick.delete`}),fc=e=>({id:Lr.id,type:i.MenuItemType.BUTTON,icon:`UnorderIcon`,title:`docs-ui.rightClick.bulletList`}),pc=e=>({id:Rr.id,type:i.MenuItemType.BUTTON,icon:`OrderIcon`,title:`docs-ui.rightClick.orderList`}),mc=e=>({id:zr.id,type:i.MenuItemType.BUTTON,icon:`TodoListDoubleIcon`,title:`docs-ui.rightClick.checkList`}),hc=e=>({id:An.id,type:i.MenuItemType.BUTTON,icon:`ReduceIcon`,title:`docs-ui.toolbar.horizontalLine`}),gc=`doc.menu.insert-bellow`,_c=`doc.menu.content-insert`,vc=`doc.menu.table-block`;function yc(e){return`doc.block-range.${e}.menu`}let bc=e=>({id:hn.name,commandId:hn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`}),xc=e=>({id:yn.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.paste`}),Sc=e=>({id:qi.id,type:i.MenuItemType.BUTTON,icon:`DeleteIcon`,title:`docs-ui.rightClick.delete`});function Cc(e){return{id:gc,type:i.MenuItemType.SUBITEMS,title:`docs-ui.rightClick.insertBellow`}}function wc(e,t){let n=Tc(e.left,e.top,t),r=Tc(e.right,e.bottom,t);return{left:n.x,top:n.y,right:r.x,bottom:r.y}}function Tc(e,t,n){let{scaleX:r,scaleY:i}=n.getAncestorScale(),a=n.getViewport(`viewMain`);if(!a)return{x:e,y:t};let{viewportScrollX:o,viewportScrollY:s}=a;return{x:(e-o)*r,y:(t-s)*i}}function Ec(e,t,n){let{scaleX:r,scaleY:i}=n.getAncestorScale(),a=n.getViewport(`viewMain`);if(!a)return{x:e,y:t};let{viewportScrollX:o,viewportScrollY:s}=a;return{x:e/r+o,y:t/i+s}}let Dc=(e,t)=>{let{scene:i,mainComponent:a,engine:o}=t,s=t.with(n.DocSkeletonManagerService).getSkeleton(),c=s.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,e.segmentPage),l=e.collapsed?e.startOffset:e.endOffset-1,u=s.findNodePositionByCharIndex(l,!0,e.segmentId,e.segmentPage),d=a;if(!u||!c)return;let f=d.getOffsetConfig(),{docsLeft:p,docsTop:m}=f,h=o.getCanvasElement(),g=h.getBoundingClientRect(),_=(0,r.pxToNum)(h.style.width),{top:v,left:y,width:b}=g,x=b/_,{scaleX:S,scaleY:C}=i.getAncestorScale(),{borderBoxPointGroup:w}=new fi(f,s).getRangePointData(c,u);return ji(w).map(e=>wc(e,i)).map(e=>({left:(e.left+p*S)*x+y,right:(e.right+p*S)*x+y,top:(e.top+m*C)*x+v,bottom:(e.bottom+m*C)*x+v}))},Oc=class extends t.Disposable{constructor(e,t,n,r){super(),this._globalPopupManagerService=e,this._renderManagerService=t,this._univerInstanceService=n,this._commandService=r}_createRectPositionObserver(e,i){let a=()=>{let{scene:t,engine:n}=i,a=typeof e==`function`?e():e,o=n.getCanvasElement(),s=o.getBoundingClientRect(),c=(0,r.pxToNum)(o.style.width),l=wc(a,t),{top:u,left:d,width:f}=s,p=f/c;return{left:l.left*p+d,right:l.right*p+d,top:l.top*p+u,bottom:l.bottom*p+u}},s=a(),c=new o.BehaviorSubject(s),l=new t.DisposableCollection;l.add(this._commandService.onCommandExecuted(e=>{if(e.id===q.id||e.id===n.RichTextEditingMutation.id){let e=a();e&&c.next(e)}}));let u=i.scene.getViewport(`viewMain`);return u&&l.add(u.onScrollAfter$.subscribeEvent(()=>{c.next(a())})),l.add(i.scene.onTransformChange$.subscribeEvent(()=>{c.next(a())})),{position:s,position$:c,disposable:l}}_createObjectPositionObserver(e,t){return this._createRectPositionObserver(()=>{let{left:t,top:n,width:r,height:i}=e;return{left:t,right:t+r,top:n,bottom:n+i}},t)}_createRangePositionObserver(e,r){var i;let a=(i=Dc(e,r))==null?[]:i,s=new o.BehaviorSubject(a),c=new t.DisposableCollection;c.add(this._commandService.onCommandExecuted(t=>{if((t.id===q.id||t.id===n.RichTextEditingMutation.id)&&t.params.unitId===r.unitId){let t=Dc(e,r);t&&s.next(t)}}));let l=r.scene.getViewport(`viewMain`);return l&&c.add(l.onScrollAfter$.subscribeEvent(()=>{let t=Dc(e,r);t&&s.next(t)})),c.add(r.scene.onTransformChange$.subscribeEvent(()=>{let t=Dc(e,r);t&&s.next(t)})),{positions:a,positions$:s,disposable:c}}attachPopupToRect(e,t,n){let r=this._renderManagerService.getRenderById(n);if(!r)throw Error(`Current render not found, unitId: ${n}`);let{position:i,position$:a,disposable:o}=this._createRectPositionObserver(e,r),s=this._globalPopupManagerService.addPopup({...t,unitId:n,subUnitId:`default`,anchorRect:i,anchorRect$:a,canvasElement:r.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(s),a.complete(),o.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==s}}attachPopupToObject(e,t,n){let r=this._renderManagerService.getRenderById(n);if(!r)throw Error(`Current render not found, unitId: ${n}`);let{position:i,position$:a,disposable:o}=this._createObjectPositionObserver(e,r),s=this._globalPopupManagerService.addPopup({...t,unitId:n,subUnitId:`default`,anchorRect:i,anchorRect$:a,canvasElement:r.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(s),a.complete(),o.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==s}}attachPopupToRange(e,t,n){if(!this._univerInstanceService.getUnit(n))throw Error(`Document not found, unitId: ${n}`);let{direction:r=`top`,multipleDirection:i}=t,a=this._renderManagerService.getRenderById(n);if(!a)throw Error(`Current render not found, unitId: ${n}`);let{positions:s,positions$:c,disposable:l}=this._createRangePositionObserver(e,a),u=c.pipe((0,o.map)(e=>r.includes(`top`)?e[0]:e[e.length-1])),d=this._globalPopupManagerService.addPopup({...t,unitId:n,subUnitId:`default`,anchorRect:r.includes(`top`)?s[0]:s[s.length-1],anchorRect$:u,excludeRects:s,excludeRects$:c,direction:[`top`,`bottom`,`horizontal`].some(e=>r.includes(e))&&s.length>1?i==null?r:i:r,canvasElement:a.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(d),c.complete(),l.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==d}}};Oc=A([k(0,(0,t.Inject)(i.ICanvasPopupService)),k(1,r.IRenderManagerService),k(2,t.IUniverInstanceService),k(3,t.ICommandService)],Oc);let kc=(e,t,n,r)=>{let i=n.findNodePositionByCharIndex(e.startOffset,!0,e.segmentId,r),a=n.getSkeletonData(),o=e.collapsed?e.startOffset:e.endOffset-1;if(e.segmentId){var s,c,l,u,d;let t=(s=Array.from((c=a==null||(l=a.skeFooters.get(e.segmentId))==null?void 0:l.values())==null?[]:c)[0])==null?Array.from((u=a==null||(d=a.skeHeaders.get(e.segmentId))==null?void 0:d.values())==null?[]:u)[0]:s;t&&(o=Math.min(t.ed,o))}let f=n.findNodePositionByCharIndex(o,!0,e.segmentId,r);if(!f||!i)return;let p=t.getOffsetConfig(),{borderBoxPointGroup:m}=new fi(p,n).getRangePointData(i,f);return ji(m).map(e=>({top:e.top+p.docsTop-4,bottom:e.bottom+p.docsTop+4,left:e.left+p.docsLeft,right:e.right+p.docsLeft}))},Ac=(e,t,n,r)=>{let i=[];for(let a of e){let e=a.top;for(let o of a.columns){let s=o.left,c=a.colCount===1?r:o.width,l=null;for(let r of o.lines){let a=r.paragraphIndex;if(r.paragraphStart){l&&(i.push(l),l=null);let o={top:t+e+r.top,left:n+s,right:n+s+c,bottom:t+e+r.top+r.lineHeight};l={paragraphStart:r.st,paragraphEnd:a,startIndex:a,rect:o,fisrtLine:{top:t+e+r.top+r.marginTop+r.paddingTop,left:n+s,right:n+s+c,bottom:t+e+r.top+r.marginTop+r.paddingTop+r.contentHeight}}}else l&&l.startIndex===a&&(l.rect.bottom=t+e+r.top+r.lineHeight)}l&&i.push(l)}}return i},jc=(e,t,n,r=-1)=>{let i=n.findPositionByGlyph(e,r);if(!i)return;let a=t.getOffsetConfig(),o={...i,isBack:!0},{borderBoxPointGroup:s}=new fi(a,n).getRangePointData(o,o),c=ji(s)[0];if(c)return{top:c.top+a.docsTop,bottom:c.bottom+a.docsTop,left:c.left+a.docsLeft,right:c.left+a.docsLeft+e.width}};function Mc(e,t,n){let{left:r,right:i,top:a,bottom:o}=n;return e>=r&&e<=i&&t>=a&&t<=o}function Nc(e){return{bottom:e.bottom,left:e.left-72,right:e.right,top:e.top-42}}function Pc(e,t,n){let r=n!=null&&n.contentWidth>n.viewportWidth;return{scrollLeft:r?n.scrollLeft:0,visibleLeft:e,visibleRight:e+(r?n.viewportWidth:t)}}let Fc=class extends t.Disposable{get hoverParagraph(){return this._hoverParagraph$.value}get hoverParagraphLeft(){return this._hoverParagraphLeft$.value}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}get _documents(){return this._context.mainComponent}constructor(e,t){super(),this._context=e,this._docSkeletonManagerService=t,O(this,`_hoverCustomRanges$`,new o.BehaviorSubject([])),O(this,`hoverCustomRanges$`,this._hoverCustomRanges$.pipe((0,o.distinctUntilChanged)((e,t)=>e.length===t.length&&e.every((e,n)=>t[n].range.rangeId===e.range.rangeId&&t[n].segmentId===e.segmentId&&t[n].segmentPageIndex===e.segmentPageIndex&&t[n].range.startIndex===e.range.startIndex)))),O(this,`_clickCustomRanges$`,new o.Subject),O(this,`clickCustomRanges$`,this._clickCustomRanges$.asObservable()),O(this,`_hoverBullet$`,new o.Subject),O(this,`hoverBullet$`,this._hoverBullet$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.paragraph.startIndex)===(t==null?void 0:t.paragraph.startIndex)&&(e==null?void 0:e.segmentId)===(t==null?void 0:t.segmentId)&&(e==null?void 0:e.segmentPageIndex)===(t==null?void 0:t.segmentPageIndex)))),O(this,`_clickBullet$`,new o.Subject),O(this,`clickBullets$`,this._clickBullet$.asObservable()),O(this,`_contextMenuBullet$`,new o.Subject),O(this,`contextMenuBullets$`,this._contextMenuBullet$.asObservable()),O(this,`_hoverParagraph$`,new o.BehaviorSubject(null)),O(this,`hoverParagraph$`,this._hoverParagraph$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.startIndex)===(t==null?void 0:t.startIndex)&&(e==null?void 0:e.segmentId)===(t==null?void 0:t.segmentId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverParagraphRealTime$`,this._hoverParagraph$.asObservable()),O(this,`_hoverParagraphLeft$`,new o.BehaviorSubject(null)),O(this,`hoverParagraphLeft$`,this._hoverParagraphLeft$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.startIndex)===(t==null?void 0:t.startIndex)&&(e==null?void 0:e.segmentId)===(t==null?void 0:t.segmentId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverParagraphLeftRealTime$`,this._hoverParagraphLeft$.asObservable()),O(this,`_hoverTableCell$`,new o.Subject),O(this,`hoverTableCell$`,this._hoverTableCell$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.rowIndex)===(t==null?void 0:t.rowIndex)&&(e==null?void 0:e.colIndex)===(t==null?void 0:t.colIndex)&&(e==null?void 0:e.tableId)===(t==null?void 0:t.tableId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverTableCellRealTime$`,this._hoverTableCell$.asObservable()),O(this,`_hoverTable$`,new o.Subject),O(this,`hoverTable$`,this._hoverTable$.pipe((0,o.distinctUntilChanged)((e,t)=>(e==null?void 0:e.tableId)===(t==null?void 0:t.tableId)&&(e==null?void 0:e.pageIndex)===(t==null?void 0:t.pageIndex)))),O(this,`hoverTableRealTime$`,this._hoverTable$.asObservable()),O(this,`_customRangeDirty`,!0),O(this,`_bulletDirty`,!0),O(this,`_paragraphDirty`,!0),O(this,`_customRangeBounds`,[]),O(this,`_bulletBounds`,[]),O(this,`_paragraphBounds`,new Map),O(this,`_paragraphLeftBounds`,[]),O(this,`_tableParagraphBounds`,new Map),O(this,`_segmentParagraphBounds`,new Map),O(this,`_tableViewportSignature`,``),O(this,`_tableCellBounds`,new Map),O(this,`_tableBounds`,new Map),this._initResetDirty(),this._initEvents(),this._initPointer()}dispose(){this._hoverCustomRanges$.complete(),this._clickCustomRanges$.complete(),super.dispose()}_initPointer(){let e=r.CURSOR_TYPE.TEXT;this.disposeWithMe(this.hoverCustomRanges$.subscribe(t=>{t.length?(e=this._context.scene.getCursor(),this._context.scene.setCursor(r.CURSOR_TYPE.POINTER)):this._context.scene.setCursor(e)}))}_initResetDirty(){this.disposeWithMe(this._skeleton.dirty$.subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0})),this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0})),this.disposeWithMe((0,t.fromEventSubject)(this._context.scene.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0,this._paragraphDirty=!0}))}_initEvents(){this.disposeWithMe((0,t.fromEventSubject)(this._context.scene.onPointerMove$).pipe((0,o.throttleTime)(30)).subscribe(e=>{if(e.buttons>0){this._hoverBullet$.next(null),this._hoverCustomRanges$.next([]),this._hoverParagraph$.next(null),this._hoverParagraphLeft$.next(null),this._hoverTableCell$.next(null),this._hoverTable$.next(null);return}let{x:t,y:n}=Ec(e.offsetX,e.offsetY,this._context.scene);this._hoverCustomRanges$.next(this._calcActiveRanges({x:t,y:n})),this._hoverParagraph$.next(this._calcActiveParagraph({x:t,y:n})),this._hoverParagraphLeft$.next(this._calcActiveParagraphLeft({x:t,y:n})),this._hoverBullet$.next(this._calcActiveBullet({x:t,y:n}))})),this.disposeWithMe(this._context.scene.onPointerEnter$.subscribeEvent(()=>{this._hoverBullet$.next(null),this._hoverCustomRanges$.next([])}));let e=(0,t.fromEventSubject)(this._context.mainComponent.onPointerDown$),n=(0,t.fromEventSubject)(this._context.scene.onPointerUp$);this.disposeWithMe(e.pipe((0,o.switchMap)(e=>n.pipe((0,o.take)(1),(0,o.map)(t=>({down:e,up:t})))),(0,o.filter)(({down:e,up:t})=>e.target===t.target&&t.timeStamp-e.timeStamp<300)).subscribe(({down:e})=>{let t=Ec(e.offsetX,e.offsetY,this._context.scene);if(e.button===2){let n=this._calcActiveBullet(t);n&&this._contextMenuBullet$.next({...n,x:e.offsetX,y:e.offsetY});return}let n=this._calcActiveRanges(t);n.length&&this._clickCustomRanges$.next(n.pop());let r=this._calcActiveBullet(t);r&&this._clickBullet$.next(r)}))}isPointerOnBullet(e,t){return!!this._calcActiveBullet(Ec(e,t,this._context.scene))}getBulletBounds(){return this._buildBulletBounds(),[...this._bulletBounds]}_buildCustomRangeBoundsBySegment(e,t=-1){var n,r;let i=(n=(r=this._context.unit.getSelfOrHeaderFooterModel(e))==null||(r=r.getBody())==null?void 0:r.customRanges)==null?[]:n,a=[];return i.forEach(n=>{let r=kc({startOffset:n.startIndex,endOffset:n.endIndex+1,collapsed:!1,segmentId:e},this._documents,this._skeleton,t);if(!r)return null;a.push({customRange:n,rects:r,segmentId:e,segmentPageIndex:t})}),a}_buildCustomRangeBounds(){var e;if(!this._customRangeDirty)return;this._customRangeDirty=!1;let t=[];t.push(...this._buildCustomRangeBoundsBySegment()),(e=this._skeleton.getSkeletonData())==null||e.pages.forEach((e,n)=>{e.headerId&&t.push(...this._buildCustomRangeBoundsBySegment(e.headerId,n)),e.footerId&&t.push(...this._buildCustomRangeBoundsBySegment(e.footerId,n))}),this._customRangeBounds=t}_calcActiveRanges(e){this._buildCustomRangeBounds();let{x:t,y:n}=e;return this._customRangeBounds.filter(e=>e.rects.some(e=>Mc(t,n,e))).map(e=>({segmentId:e.segmentId,range:e.customRange,segmentPageIndex:e.segmentPageIndex,rects:e.rects}))}_buildBulletBoundsBySegment(e,t=-1){var n,r;let i=(n=this._context.unit.getSelfOrHeaderFooterModel(e))==null?void 0:n.getBody(),a=((r=i==null?void 0:i.paragraphs)==null?[]:r).filter(e=>e.bullet),o=[],s=this._skeleton.getSkeletonData();if(!s)return o;let c=n=>{for(let i of n){let n=[...i.sections];if(i.skeTables){let e=Array.from(i.skeTables.values());n.push(...e.map(e=>e.rows.map(e=>e.cells.map(e=>e.sections))).flat(4))}for(let i of n)for(let n of i.columns)for(let i of n.lines)if(i.paragraphStart){let n=a.find(e=>e.startIndex===i.paragraphIndex);if(n){var r;let a=i,s=a==null||(r=a.divides)==null||(r=r[0])==null||(r=r.glyphGroup)==null?void 0:r[0];if(!s)continue;let c=jc(s,this._documents,this._skeleton,t);if(!c)continue;o.push({rect:c,segmentId:e,segmentPageIndex:t,paragraph:n})}}}return o};if(e){var l,u,d;let t=(l=(u=s.skeFooters.get(e))==null?void 0:u.values())==null?(d=s.skeHeaders.get(e))==null?void 0:d.values():l;return t?c(Array.from(t)):o}return c(s.pages)}_buildBulletBounds(){var e;this._bulletDirty&&(this._bulletDirty=!1,this._bulletBounds=[],this._bulletBounds.push(...this._buildBulletBoundsBySegment()),(e=this._skeleton.getSkeletonData())==null||e.pages.forEach((e,t)=>{e.headerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(e.headerId,t)),e.footerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(e.footerId,t))}))}_calcActiveBullet(e){this._buildBulletBounds();let{x:t,y:n}=e;return this._bulletBounds.find(e=>Mc(t,n,e.rect))}_buildParagraphBoundsBySegment(e){let t=this._skeleton.getSkeletonData(),n=this._documents.getOffsetConfig();if(!t)return null;let i=t=>{let i=new Map,a=(t,n,r,a)=>{Ac(t.sections,r,a,t.pageWidth-t.marginLeft-t.marginRight).forEach(t=>{if(!i.has(t.startIndex))i.set(t.startIndex,{rect:t.rect,paragraphStart:t.paragraphStart,paragraphEnd:t.paragraphEnd,startIndex:t.startIndex,rects:[t.rect],pageIndex:n,segmentId:e,firstLine:t.fisrtLine});else{let e=i.get(t.startIndex);e&&(e.rect.bottom=t.rect.bottom,e.rects.push(t.rect))}})};for(let i=0;i<t.length;i++){let o=t[i],s=((o.pageHeight===1/0?0:o.pageHeight)+n.pageMarginTop)*i+o.marginTop+n.docsTop,c=o.marginLeft+n.docsLeft;o.skeTables&&Array.from(o.skeTables.values()).forEach(t=>{let a=t.left+c,l=t.top+s,u=(0,r.getTableIdAndSliceIndex)(t.tableId).tableId,d=Pc(a,t.width,(0,r.getDocsTableRenderViewport)(this._context.unitId,u)),f=d.visibleRight,p=l+t.height,m=t.tableId;this._tableBounds.set(m,{rect:{left:a,top:l,right:f,bottom:p},pageIndex:i,tableId:m}),t.rows.forEach((r,s)=>{r.cells.forEach((c,l)=>{let u=((o.pageHeight===1/0?0:o.pageHeight)+n.pageMarginTop)*i+t.top+n.docsTop+o.marginTop+r.top+c.marginTop,f=a+c.left-d.scrollLeft+c.marginLeft,p=c.pageWidth-c.marginLeft-c.marginRight,h=f+p,g=Math.max(f,d.visibleLeft),_=Math.min(h,d.visibleRight);if(_<=g)return;let v=Ac(c.sections,u,f,p).map(e=>Rc(e,d.visibleLeft,d.visibleRight)).filter(e=>e!=null),y=this._tableParagraphBounds.get(m);y||(y=[],this._tableParagraphBounds.set(m,y)),y.push(...v.map(t=>({rect:t.rect,paragraphStart:t.paragraphStart,paragraphEnd:t.paragraphEnd,startIndex:t.startIndex,pageIndex:i,segmentId:e,rowIndex:s,colIndex:l,firstLine:t.fisrtLine,tableId:m})));let b=this._tableCellBounds.get(m);b||(b=[],this._tableCellBounds.set(m,b)),b.push({rect:{top:u,left:g,right:_,bottom:u+c.pageHeight-c.marginBottom-c.marginTop},pageIndex:i,rowIndex:s,colIndex:l,tableId:m})})})}),a(o,i,s,c)}return i};if(e){var a,o,s;let n=(a=(o=t.skeFooters.get(e))==null?void 0:o.values())==null?(s=t.skeHeaders.get(e))==null?void 0:s.values():a;return n?i(Array.from(n)):null}return i(t.pages)}_buildParagraphBounds(){var e,t;let n=this._getTableViewportSignature();if(!this._paragraphDirty&&this._tableViewportSignature===n)return;this._paragraphDirty=!1,this._tableViewportSignature=n,this._tableParagraphBounds=new Map,this._tableCellBounds=new Map,this._tableBounds=new Map,this._paragraphBounds=(e=this._buildParagraphBoundsBySegment())==null?new Map:e,this._paragraphLeftBounds=Array.from(this._paragraphBounds.values()).map(e=>({...e,rect:{left:e.rect.left-60,right:e.rect.left,top:e.rect.top,bottom:e.rect.bottom}}));let r=e=>{var t;this._segmentParagraphBounds.set(e,(t=this._buildParagraphBoundsBySegment(e))==null?new Map:t)};(t=this._skeleton.getSkeletonData())==null||t.pages.forEach(e=>{e.headerId&&r(e.headerId),e.footerId&&r(e.footerId)})}_calcActiveParagraph(e){this._buildParagraphBounds();let{x:t,y:n}=e,r=Array.from(this._tableBounds.values()).find(e=>Mc(t,n,Nc(e.rect)));if(this._hoverTable$.next(r),r){var i,a;let e=(i=this._tableCellBounds.get(r.tableId))==null?void 0:i.find(e=>Mc(t,n,e.rect));if(this._hoverTableCell$.next(e),!e)return null;let o=(a=this._tableParagraphBounds.get(e.tableId))==null?void 0:a.filter(t=>t.colIndex===e.colIndex&&t.rowIndex===e.rowIndex),s=o==null?void 0:o.find(e=>Mc(t,n,e.rect));return s&&{...s,rects:[s.rect]}}let o;for(let e of this._paragraphBounds){let r=e[1];if(r.rects.some(e=>Mc(t,n,e))){o=r;break}}return o}_calcActiveParagraphLeft(e){this._buildParagraphBounds();let{x:t,y:n}=e;return this._paragraphLeftBounds.find(e=>Mc(t,n,e.rect))}get paragraphBounds(){return this._buildParagraphBounds(),this._paragraphBounds}get tableBounds(){return this._buildParagraphBounds(),this._tableBounds}findParagraphBoundByIndex(e){this._buildParagraphBounds();let t=Array.from(this._tableParagraphBounds.values()).flat().find(t=>t.startIndex===e);if(t)return t;let n=this._paragraphBounds.get(e);if(n)return n}findParagraphBoundsInRange(e,t){return this._buildParagraphBounds(),Ic([...this._paragraphBounds.values()],Array.from(this._tableParagraphBounds.values()).flat().map(e=>({rect:e.rect,paragraphStart:e.paragraphStart,paragraphEnd:e.paragraphEnd,startIndex:e.startIndex,rects:[e.rect],pageIndex:e.pageIndex,segmentId:e.segmentId,firstLine:e.firstLine})),e,t)}_getTableViewportSignature(){var e,t;let n=(e=(t=this._skeleton.getSkeletonData())==null?void 0:t.pages)==null?[]:e,i=[];return n.forEach(e=>{var t;(t=e.skeTables)==null||t.forEach(e=>{let t=(0,r.getTableIdAndSliceIndex)(e.tableId).tableId,n=(0,r.getDocsTableRenderViewport)(this._context.unitId,t);if(!n){i.push(`${t}:none`);return}i.push(`${t}:${n.contentWidth}:${n.viewportWidth}:${n.scrollLeft}`)})}),i.join(`|`)}};Fc=A([k(1,(0,t.Inject)(n.DocSkeletonManagerService))],Fc);function Ic(e,t,n,r){let i=t.filter(e=>Lc(e,n,r));return i.length?i:e.filter(e=>Lc(e,n,r))}function Lc(e,t,n){return Math.max(e.paragraphStart,t)<=Math.min(e.paragraphEnd,n)}function Rc(e,t,n){var r;let i=zc(e.rect,t,n);return i?{...e,rect:i,fisrtLine:(r=zc(e.fisrtLine,t,n))==null?i:r}:null}function zc(e,t,n){let r=Math.max(e.left,t),i=Math.min(e.right,n);return i<=r?null:{...e,left:r,right:i}}let Bc=[ds,rr.id,Gn.id,qn.id,Yn.id,Zn.id,$n.id,tr.id,sr.id,lr.id];function Vc(e){let{avaliableMenus:t=Bc}=e,n=(0,i.useDependency)(i.IMenuManagerService),[r,a]=(0,s.useState)([]);return(0,s.useEffect)(()=>{function e(){let e=[...n.getFlatMenuByPositionKey(fs),...n.getFlatMenuByPositionKey(i.MenuManagerPosition.RIBBON)],r=[];for(let n of t){let t=e.find(e=>e.key===n);t&&r.push(t)}a(r)}e();let r=n.menuChanged$.subscribe(e);return()=>{r.unsubscribe()}},[n]),(0,u.jsx)(`div`,{className:(0,l.clsx)(`univer-box-border univer-flex univer-rounded univer-bg-white univer-py-1.5 univer-shadow-sm dark:!univer-border-gray-700 dark:!univer-bg-gray-900`,l.borderClassName),children:r.map(e=>e.item&&(0,u.jsx)(`div`,{className:`univer-flex univer-flex-nowrap univer-gap-2 univer-px-2`,children:(0,u.jsx)(i.ToolbarItem,{...e.item},e.key)},e.key))})}let Hc=`univer.doc.float-menu`;function Uc(e,n){if(e==null||n==null)return!1;let{glyph:r,...i}=e,{glyph:a,...o}=n;return(0,t.deepCompare)(i,o)}let Wc=[t.DataStreamTreeTokenType.CUSTOM_BLOCK,t.DataStreamTreeTokenType.PARAGRAPH],Gc=class extends t.Disposable{constructor(e,n,r,i,a,o){super(),this._context=e,this._docSelectionManagerService=n,this._docCanvasPopManagerService=r,this._componentManager=i,this._univerInstanceService=a,this._docSelectionRenderService=o,O(this,`_floatMenu`,null),!(0,t.isInternalEditorID)(this._context.unitId)&&(this._registerFloatMenu(),this._initSelectionChange(),this.disposeWithMe(()=>{this._hideFloatMenu()}))}get floatMenu(){return this._floatMenu}_registerFloatMenu(){this.disposeWithMe(this._componentManager.register(Hc,Vc))}_initSelectionChange(){this.disposeWithMe(this._docSelectionRenderService.onSelectionStart$.subscribe(()=>{this._hideFloatMenu()})),this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(e=>{let{unitId:t,textRanges:n}=e;if(t!==this._context.unitId)return;let r=n.length>0&&n.find(e=>!e.collapsed);if(r){var i,a;if(r.startOffset===((i=this._floatMenu)==null?void 0:i.start)&&r.endOffset===((a=this._floatMenu)==null?void 0:a.end))return;this._hideFloatMenu(),this._showFloatMenu(t,r);return}this._hideFloatMenu()}))}_hideFloatMenu(){var e;(e=this._floatMenu)==null||e.disposable.dispose(),this._floatMenu=null}_showFloatMenu(e,n){var r,i;let a=this._univerInstanceService.getUnit(e,t.UniverInstanceType.UNIVER_DOC);if(!a||a.getDisabled()||Kc(a,n))return;let o=(r=a.getBody())==null?void 0:r.dataStream[n.startOffset];if(n.endOffset-n.startOffset===1&&o&&Wc.includes(o))return;let s=(i=a.getBody())==null||(i=i.customRanges)==null?void 0:i.filter(e=>e.wholeEntity);if(!(s!=null&&s.some(e=>e.startIndex===n.startOffset&&e.endIndex===n.endOffset-1)))return this._floatMenu={disposable:this._docCanvasPopManagerService.attachPopupToRange(n,{componentKey:Hc,direction:n.direction===`backward`||Uc(n.startNodePosition,n.endNodePosition)?`top-center`:`bottom-center`,offset:[0,4]},e),start:n.startOffset,end:n.endOffset},(0,t.toDisposable)(()=>this._hideFloatMenu())}};Gc=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,(0,t.Inject)(Oc)),k(3,(0,t.Inject)(i.ComponentManager)),k(4,(0,t.Inject)(t.IUniverInstanceService)),k(5,(0,t.Inject)(Y))],Gc);function Kc(e,t){var n,r;return((n=(r=e.getBody())==null?void 0:r.blockRanges)==null?[]:n).some(e=>e.blockType===`code`&&Math.max(t.startOffset,e.startIndex)<=Math.min(t.endOffset,e.endIndex))}let qc={code:`DocsCodeBlockIcon`,quote:`DocsQuoteBlockIcon`,callout:`DocsCalloutBlockIcon`},Jc={[t.PresetListType.ORDER_LIST]:`OrderIcon`,[t.PresetListType.ORDER_LIST_1]:`OrderIcon`,[t.PresetListType.ORDER_LIST_2]:`OrderIcon`,[t.PresetListType.ORDER_LIST_3]:`OrderIcon`,[t.PresetListType.ORDER_LIST_4]:`OrderIcon`,[t.PresetListType.ORDER_LIST_5]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_2]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_3]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_4]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_5]:`OrderIcon`,[t.PresetListType.ORDER_LIST_QUICK_6]:`OrderIcon`,[t.PresetListType.BULLET_LIST]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_1]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_2]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_3]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_4]:`UnorderIcon`,[t.PresetListType.BULLET_LIST_5]:`UnorderIcon`,[t.PresetListType.CHECK_LIST]:`TodoListDoubleIcon`,[t.PresetListType.CHECK_LIST_CHECKED]:`TodoListDoubleIcon`},Yc=class extends t.Disposable{get activeParagraph(){var e;return(e=this._paragrahMenu)==null?void 0:e.paragraph}get activeTarget(){var e,t;return(e=(t=this._paragrahMenu)==null?void 0:t.target)==null?null:e}setBlockMenuDragging(e){this._isBlockMenuDragging=e}get isBlockMenuDragging(){return this._isBlockMenuDragging}constructor(e,n,r,i,a,s){super(),this._context=e,this._docSelectionManagerService=n,this._docEventManagerService=r,this._docPopupManagerService=i,this._docSkeletonManagerService=a,this._floatMenuService=s,O(this,`_paragrahMenu`,null),O(this,`_activeTarget$`,new o.BehaviorSubject(null)),O(this,`activeTarget$`,this._activeTarget$.asObservable()),O(this,`_isBlockMenuDragging`,!1),!(0,t.isInternalEditorID)(this._context.unitId)&&this._init()}_isCursorInActiveParagraph(){if(!this._paragrahMenu)return!1;let e=this._docSelectionManagerService.getActiveTextRange();return!(!(e!=null&&e.collapsed)||!(e!=null&&e.collapsed)||e.startOffset<this._paragrahMenu.paragraph.paragraphStart||e.startOffset>this._paragrahMenu.paragraph.paragraphEnd)}setParagraphMenuActive(e){this._paragrahMenu&&(this._paragrahMenu.active=e,this._isCursorInActiveParagraph()||this._docSelectionManagerService.replaceDocRanges([{startOffset:this._paragrahMenu.paragraph.paragraphStart,endOffset:this._paragrahMenu.paragraph.paragraphStart}]))}_init(){var e;let t=(e,t)=>{if(!this._isBlockMenuDragging){if(this._docSkeletonManagerService.getViewModel().getEditArea()===r.DocumentEditArea.BODY&&!this._floatMenuService.floatMenu&&!this._context.unit.getDisabled()){var n;if((n=this._paragrahMenu)!=null&&n.active)return;if(e){this.showParagraphMenu(e);return}if(t){this.showTableMenu(t);return}}this.hideParagraphMenu(!0)}};this.disposeWithMe((0,o.combineLatest)([this._docEventManagerService.hoverParagraphRealTime$,this._docEventManagerService.hoverParagraphLeft$,(e=this._docEventManagerService.hoverTableRealTime$)==null?new o.BehaviorSubject(null):e]).pipe((0,o.throttleTime)(16)).subscribe(([e,n,r])=>{t(e==null?n:e,r)}));let n=0;this.disposeWithMe(this._context.scene.getViewport(`viewMain`).onScrollAfter$.subscribeEvent(e=>{var t;n!==e.scrollY&&(n=e.scrollY,!((t=this._paragrahMenu)!=null&&t.blockRange)&&(this._isBlockMenuDragging||this.hideParagraphMenu(!0)))})),this.disposeWithMe(this._docEventManagerService.clickCustomRanges$.subscribe(()=>{this._isBlockMenuDragging||this.hideParagraphMenu(!0)}))}showParagraphMenu(e){var t,n;let r=this._buildParagraphMenuTarget(e);if(!r){this.hideParagraphMenu(!0);return}if(((t=this._paragrahMenu)==null?void 0:t.target.key)===r.key)return;this.hideParagraphMenu(!0);let i=(n=r.paragraph)==null?e:n,a=r.blockRange,s=this._docPopupManagerService.attachPopupToRect(()=>{var t,n;return a?rl(this._docEventManagerService,a,e):(t=(n=this._docEventManagerService.findParagraphBoundByIndex(e.startIndex))==null?void 0:n.firstLine)==null?e.firstLine:t},{componentKey:`doc.paragraph.menu`,direction:`left-center`,onClickOutside:()=>{this._docSelectionManagerService.textSelection$.pipe((0,o.first)()).subscribe(()=>{this._isCursorInActiveParagraph()||this.hideParagraphMenu(!0)})},zIndex:101},this._context.unitId);this._paragrahMenu={paragraph:i,target:r,blockRange:a,disposable:s,active:!1},this._activeTarget$.next(r)}showTableMenu(e){var t,n;let r=this._context.unit.getBody(),i=r==null||(t=r.tables)==null?void 0:t.find(t=>t.tableId===e.tableId);if(!i)return;let a={kind:`table`,key:`table:${i.tableId}`,table:i,icon:`GridIcon`,menuRange:{startOffset:i.startIndex,endOffset:i.endIndex,collapsed:!1},moveRange:{startOffset:i.startIndex,endOffset:i.endIndex},emptyMode:!1,draggable:!0};if(((n=this._paragrahMenu)==null?void 0:n.target.key)===a.key)return;let o=el(e),s={rect:e.rect,rects:[e.rect],paragraphStart:i.startIndex,paragraphEnd:i.endIndex,startIndex:i.startIndex,pageIndex:e.pageIndex,firstLine:o};this.hideParagraphMenu(!0);let c=this._docPopupManagerService.attachPopupToRect(()=>{var t;return el((t=this._docEventManagerService.tableBounds.get(i.tableId))==null?e:t)},{componentKey:`doc.paragraph.menu`,direction:`top-right`,onClickOutside:()=>{this.hideParagraphMenu(!0)},zIndex:101},this._context.unitId);this._paragrahMenu={paragraph:s,target:a,disposable:c,active:!1},this._activeTarget$.next(a)}getDropTargetFromClientPoint(e,t,n){let r=this._context.engine.getCanvasElement().getBoundingClientRect(),i=Ec(e-r.left,t-r.top,this._context.scene),a=this._context.unit.getBody(),o=a!=null&&a.dataStream?$c(a.dataStream,n.startOffset):null,s=(o?this._getCellBlockTargets(o):this._getBodyBlockTargets()).filter(e=>e.moveRange.startOffset!==n.startOffset||e.moveRange.endOffset!==n.endOffset).filter(e=>e.moveRange.endOffset<=n.startOffset||e.moveRange.startOffset>=n.endOffset).sort((e,t)=>e.rect.top-t.rect.top||e.rect.left-t.rect.left);if(!s.length)return null;let c=s[0],l=1/0;for(let e of s){let t=(e.rect.top+e.rect.bottom)/2,n=Math.abs(i.y-t);n<l&&(l=n,c=e)}let u=i.y<(c.rect.top+c.rect.bottom)/2,d=u?c.moveRange.startOffset:c.moveRange.endOffset,f=wc({left:c.rect.left,right:c.rect.right,top:u?c.rect.top:c.rect.bottom,bottom:u?c.rect.top:c.rect.bottom},this._context.scene);return{targetOffset:d,rect:{left:r.left+f.left,right:r.left+f.right,top:r.top+f.top,bottom:r.top+f.bottom}}}hideParagraphMenu(e=!1){this._isBlockMenuDragging||this._paragrahMenu&&(this._paragrahMenu.disposable.canDispose()||e)&&(this._paragrahMenu.disposable.dispose(),this._paragrahMenu=null,this._activeTarget$.next(null))}_buildParagraphMenuTarget(e){var n,r,i,a;let o=this._context.unit.getBody(),s=(n=o==null?void 0:o.dataStream)==null?``:n,c=$c(s,e.paragraphStart),l=c!=null||Xc(this._context.unit,e.paragraphStart),u=nl(this._context.unit,e);if(u){let t={...e,paragraphStart:u.startIndex,paragraphEnd:u.endIndex+1,startIndex:u.startIndex,blockRange:u};return{kind:`blockRange`,key:`blockRange:${u.blockId}`,paragraph:t,blockRange:u,icon:qc[u.blockType],cellRange:c==null?void 0:c,menuRange:{startOffset:u.startIndex,endOffset:u.endIndex+1,collapsed:!1},moveRange:{startOffset:u.startIndex,endOffset:u.endIndex+1},emptyMode:!1,draggable:c!=null||!l}}let d=s.slice(e.paragraphStart,e.paragraphEnd),f=o==null||(r=o.paragraphs)==null?void 0:r.find(t=>t.startIndex===e.startIndex),p=Qc(f==null||(i=f.bullet)==null?void 0:i.listType),m=o==null||(a=o.customBlocks)==null?void 0:a.find(t=>t.startIndex>=e.paragraphStart&&t.startIndex<=e.paragraphEnd),h=(m==null?void 0:m.blockType)===t.BlockType.CUSTOM&&d.replace(/[\b\r\n]/g,``)===``;return m&&m.blockType===t.BlockType.CUSTOM&&h?{kind:`customBlock`,key:`customBlock:${m.blockId}`,paragraph:e,customBlock:m,icon:`TextTypeIcon`,cellRange:c==null?void 0:c,menuRange:{startOffset:m.startIndex,endOffset:m.startIndex,collapsed:!0},moveRange:Zc(this._context.unit,e,c),emptyMode:!1,draggable:c!=null||!l}:d===`\b`?null:{kind:`paragraph`,key:`paragraph:${e.startIndex}`,paragraph:e,icon:p,cellRange:c==null?void 0:c,menuRange:{startOffset:e.paragraphStart,endOffset:e.paragraphStart,collapsed:!0},moveRange:Zc(this._context.unit,e,c),emptyMode:d.replace(/[\r\n]/g,``)===``,draggable:c!=null||!l}}_getBodyBlockTargets(){var e,t;let n=this._context.unit.getBody();if(!n)return[];let r=(e=n.tables)==null?[]:e,i=(t=n.blockRanges)==null?[]:t,a=[...this._docEventManagerService.paragraphBounds.values()],o=[];for(let e of r){let t=this._docEventManagerService.tableBounds.get(e.tableId);t&&o.push({kind:`table`,key:`table:${e.tableId}`,table:e,icon:`GridIcon`,menuRange:{startOffset:e.startIndex,endOffset:e.endIndex,collapsed:!1},moveRange:{startOffset:e.startIndex,endOffset:e.endIndex},emptyMode:!1,draggable:!0,rect:t.rect})}for(let e of i){let t=tl(a.filter(t=>Math.max(t.paragraphStart,e.startIndex)<=Math.min(t.paragraphEnd,e.endIndex)).map(e=>e.rect));t&&o.push({kind:`blockRange`,key:`blockRange:${e.blockId}`,blockRange:e,icon:qc[e.blockType],menuRange:{startOffset:e.startIndex,endOffset:e.endIndex+1,collapsed:!1},moveRange:{startOffset:e.startIndex,endOffset:e.endIndex+1},emptyMode:!1,draggable:!0,rect:t})}for(let e of a){if(r.some(t=>e.paragraphStart>t.startIndex&&e.paragraphStart<t.endIndex)||i.some(t=>Math.max(e.paragraphStart,t.startIndex)<=Math.min(e.paragraphEnd,t.endIndex)))continue;let t=this._buildParagraphMenuTarget(e);t&&o.push({...t,rect:e.rect})}return o}_getCellBlockTargets(e){var t;let n=this._context.unit.getBody();if(!n)return[];let r=(t=n.blockRanges)==null?[]:t,i=[...this._docEventManagerService.paragraphBounds.values()].filter(t=>t.paragraphStart>e.startOffset&&t.paragraphStart<e.endOffset),a=[];for(let t of r){if(t.startIndex<=e.startOffset||t.endIndex>=e.endOffset)continue;let n=tl(i.filter(e=>Math.max(e.paragraphStart,t.startIndex)<=Math.min(e.paragraphEnd,t.endIndex)).map(e=>e.rect));n&&a.push({kind:`blockRange`,key:`blockRange:${t.blockId}`,blockRange:t,icon:qc[t.blockType],cellRange:e,menuRange:{startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1},moveRange:{startOffset:t.startIndex,endOffset:t.endIndex+1},emptyMode:!1,draggable:!0,rect:n})}for(let e of i){if(r.some(t=>Math.max(e.paragraphStart,t.startIndex)<=Math.min(e.paragraphEnd,t.endIndex)))continue;let t=this._buildParagraphMenuTarget(e);t&&a.push({...t,rect:e.rect})}return a}};Yc=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,(0,t.Inject)(Fc)),k(3,(0,t.Inject)(Oc)),k(4,(0,t.Inject)(n.DocSkeletonManagerService)),k(5,(0,t.Inject)(Gc))],Yc);function Xc(e,t){var n,r;return((n=(r=e.getBody())==null?void 0:r.tables)==null?[]:n).some(e=>t>e.startIndex&&t<e.endIndex)}function Zc(e,t,n){var r,i;let a=[...(r=(i=e.getBody())==null?void 0:i.paragraphs)==null?[]:r].sort((e,t)=>e.startIndex-t.startIndex),o=a.findIndex(e=>e.startIndex===t.startIndex),s=o>0?a.slice(0,o).reverse().find(e=>n?e.startIndex>n.startOffset&&e.startIndex<n.endOffset:!0):null;return{startOffset:s?s.startIndex+1:n?n.startOffset+1:0,endOffset:t.startIndex+1}}function Qc(e){if(e)return Jc[e]}function $c(e,n){let r=e.lastIndexOf(t.DataStreamTreeTokenType.TABLE_CELL_START,Math.max(0,n));if(r<0||e.lastIndexOf(t.DataStreamTreeTokenType.TABLE_CELL_END,Math.max(0,n))>r)return null;let i=e.indexOf(t.DataStreamTreeTokenType.TABLE_CELL_END,r+1);return i<0||n>i?null:{startOffset:r,endOffset:i}}function el(e){let t=e.rect.left-4,n=e.rect.top-4;return{left:t,right:t,top:n,bottom:n}}function tl(e){return e.length?e.reduce((e,t)=>({left:Math.min(e.left,t.left),right:Math.max(e.right,t.right),top:Math.min(e.top,t.top),bottom:Math.max(e.bottom,t.bottom)})):null}function nl(e,t){var n,r;return((n=(r=e.getBody())==null?void 0:r.blockRanges)==null?[]:n).find(e=>Math.max(t.paragraphStart,e.startIndex)<=Math.min(t.paragraphEnd,e.endIndex))}function rl(e,t,n){var r,i;let a=e.findParagraphBoundsInRange(t.startIndex,t.endIndex).sort((e,t)=>e.firstLine.top-t.firstLine.top||e.firstLine.left-t.firstLine.left),o=(r=(i=a[0])==null?void 0:i.firstLine)==null?n.firstLine:r,s=Math.min(...(a.length?a:[n]).map(e=>e.firstLine.left)),c=o.top;return{...o,left:s,right:s,top:c,bottom:c}}function il(e){return e===`TextTypeIcon`?`univer-size-3`:`univer-size-4`}function al(e,t=212,n=8){return e-t<n?`right`:`left`}function ol(e,t=260){let n=null,r=()=>{n!=null&&(window.clearTimeout(n),n=null)};return{schedule(){r(),n=window.setTimeout(()=>{n=null,e()},t)},cancel:r,openNow(){r(),e()}}}function sl(e,t){return t?e.slice(t.paragraphStart,t.paragraphEnd).replace(/[\r\n]/g,``)===``:!1}function cl(e){if(!e)return null;let t=e.blockRange;return t?{startOffset:t.startIndex,endOffset:t.endIndex+1,collapsed:!1,segmentId:e.segmentId}:{startOffset:e.paragraphStart,endOffset:e.paragraphStart,collapsed:!0,segmentId:e.segmentId}}let ll={[Zr.id]:t.NamedStyleType.HEADING_1,[Qr.id]:t.NamedStyleType.HEADING_2,[$r.id]:t.NamedStyleType.HEADING_3,[ei.id]:t.NamedStyleType.HEADING_4,[ti.id]:t.NamedStyleType.HEADING_5,[ni.id]:t.NamedStyleType.NORMAL_TEXT,[ri.id]:t.NamedStyleType.TITLE,[ii.id]:t.NamedStyleType.SUBTITLE},ul={[t.NamedStyleType.HEADING_1]:Zr.id,[t.NamedStyleType.HEADING_2]:Qr.id,[t.NamedStyleType.HEADING_3]:$r.id,[t.NamedStyleType.HEADING_4]:ei.id,[t.NamedStyleType.HEADING_5]:ti.id,[t.NamedStyleType.NORMAL_TEXT]:ni.id,[t.NamedStyleType.TITLE]:ri.id,[t.NamedStyleType.SUBTITLE]:ii.id};function dl(e){var n;return(n=ul[e==null?t.NamedStyleType.NORMAL_TEXT:e])==null?ni.id:n}function fl(e){return e===t.NamedStyleType.TITLE?[ti.id,ii.id]:e===t.NamedStyleType.SUBTITLE?[ti.id,ri.id]:[ri.id,ii.id]}function pl(e,t){var n,r;let i=(n=(r=e.commandId)==null?e.id:r)==null?typeof e.label==`string`?e.label:void 0:n;if(i&&t&&i in ll)return{commandId:J.id,params:{value:ll[i],textRanges:[t]}};if(i&&t&&(i===jr.id||i===Pr.id||i===Mr.id))return{commandId:i,params:{docRange:[t]}};if(i===kn.id&&t)return{commandId:i,params:{insertRange:t}};let a=typeof e.params==`function`?e.params():e.params,o=e.value===void 0?a:{value:e.value};return{commandId:i,params:o&&typeof o==`object`?o:void 0}}function ml(e,t){return(e==null?void 0:e.kind)===`table`?vc:t?Qs:i.ContextMenuPosition.PARAGRAPH}function hl(e){return!e||e.kind===`paragraph`}let gl=({popup:e})=>{var a,c,d,f,p,m,h,g,_;let[v,y]=(0,s.useState)(!1),[b,x]=(0,s.useState)(!1),[S,C]=(0,s.useState)(null),[w,T]=(0,s.useState)(`left`),E=(0,s.useRef)(null),D=(0,s.useRef)(null),O=(0,s.useRef)(null),k=(0,s.useRef)(null),A=(0,s.useRef)(!1),j=(0,s.useRef)(()=>void 0),M=(0,s.useRef)(ol(()=>j.current())),N=(0,i.useDependency)(t.ICommandService),P=(0,i.useDependency)(n.DocSelectionManagerService),F=(0,i.useDependency)(dn),I=(0,i.useDependency)(On),L=(0,i.useDependency)(i.IClipboardInterfaceService),R=(0,i.useDependency)(i.ILayoutService),z=(0,i.useDependency)(i.ComponentManager),B=(0,s.useRef)(null),V=(0,s.useRef)(!1),H=(0,s.useRef)(null),ee=(0,i.useDependency)(r.IRenderManagerService),te=(0,i.useDependency)(t.IUniverInstanceService),ne=ee.getRenderById(e.unitId),U=te.getUnit(e.unitId,t.UniverInstanceType.UNIVER_DOC),W=ne==null?void 0:ne.with(Yc),re=ne==null?void 0:ne.with(Fc),ie=(0,i.useObservable)(W==null?void 0:W.activeTarget$),ae=(0,i.useObservable)(re==null?void 0:re.hoverParagraph$),oe=(0,i.useObservable)(re==null?void 0:re.hoverParagraphLeft$),G=ie==null?W==null?void 0:W.activeTarget:ie,se=(a=(c=(d=G==null?void 0:G.paragraph)==null?W==null?void 0:W.activeParagraph:d)==null?ae:c)==null?oe:a,ce=se==null?void 0:se.startIndex,le=(f=U==null||(p=U.getBody())==null?void 0:p.dataStream)==null?``:f,ue=(0,s.useMemo)(()=>{var e;return U==null||(e=U.getBody())==null||(e=e.paragraphs)==null?void 0:e.find(e=>e.startIndex===ce)},[U,ce]),de=(m=G==null?void 0:G.emptyMode)==null?sl(le,se):m,fe=ue==null||(h=ue.paragraphStyle)==null?void 0:h.namedStyleType,pe=dl(fe),me=(0,s.useMemo)(()=>fl(fe),[fe]),he=(0,s.useMemo)(()=>hl(G)?me:[...me,Ro.id],[G,me]),ge=Vs[fe==null?t.NamedStyleType.NORMAL_TEXT:fe],_e=(g=G==null?void 0:G.icon)==null?ge.key:g,ve=(_=z.get(_e))==null?ge.component:_,ye=(0,s.useMemo)(()=>new o.BehaviorSubject({left:0,right:0,top:0,bottom:0}),[]),be=()=>{var e,t,n,r,i;let a=(e=B.current)==null?void 0:e.getBoundingClientRect(),o=((t=a==null?void 0:a.left)==null?0:t)-4;T(al(o)),ye.next({left:o,right:(n=a==null?void 0:a.right)==null?0:n,top:(r=a==null?void 0:a.top)==null?0:r,bottom:(i=a==null?void 0:a.bottom)==null?0:i})},xe=()=>{y(!1),D.current=null},Se=()=>{H.current!=null&&(window.clearTimeout(H.current),H.current=null)},Ce=()=>{Se(),H.current=window.setTimeout(()=>{!V.current&&!A.current&&xe()},180)};j.current=()=>{var e;Se();let t=(e=W==null?void 0:W.activeTarget)==null?ie:e;D.current=t?{...t.menuRange,segmentId:se==null?void 0:se.segmentId}:cl(se),be(),x(de),y(!0)};let we=()=>{Se(),M.current.schedule()},Te=()=>{M.current.cancel()};return(0,s.useEffect)(()=>()=>{H.current!=null&&(window.clearTimeout(H.current),H.current=null),M.current.cancel()},[]),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{"data-u-comp":`paragraph-menu`,ref:B,className:(0,l.clsx)(`univer-mr-1 univer-inline-flex univer-h-8 univer-cursor-pointer univer-items-center univer-gap-1.5 univer-rounded-lg univer-border univer-border-gray-200 univer-bg-white univer-px-2.5 univer-py-0 univer-shadow-sm univer-transition-colors hover:univer-bg-gray-50 hover:univer-shadow-md dark:!univer-border-gray-700 dark:!univer-bg-gray-900 dark:hover:!univer-bg-gray-800`,{"univer-bg-gray-100 univer-shadow-md dark:!univer-bg-gray-800":v}),onMouseEnter:t=>{var n;(n=e.onPointerEnter)==null||n.call(e,t),V.current=!0,we()},onMouseLeave:()=>{V.current=!1,Te(),Ce()},onClick:e=>{e.preventDefault(),e.stopPropagation(),V.current=!0,M.current.openNow()},children:[(0,u.jsx)(ve,{className:(0,l.clsx)(il(_e),`univer-text-gray-700 dark:!univer-text-white`)}),(G==null?void 0:G.draggable)&&(0,u.jsx)(`button`,{type:`button`,className:`univer-group univer-flex univer-h-4 univer-w-2.5 univer-cursor-grab univer-items-center univer-justify-center univer-border-none univer-bg-transparent univer-p-0 active:univer-cursor-grabbing`,"aria-label":`Drag block`,title:`Drag block`,onPointerDown:t=>{var n,r,i;let a=(n=W==null?void 0:W.activeTarget)==null?ie:n,o=a==null?void 0:a.moveRange;if(!o||!(a!=null&&a.draggable))return;t.preventDefault(),t.stopPropagation(),(r=(i=t.currentTarget).setPointerCapture)==null||r.call(i,t.pointerId),Se(),V.current=!0,A.current=!0,W==null||W.setBlockMenuDragging(!0),k.current=o,O.current=null,C(null);let s=t.pointerId,c=e=>{var t,n;if(e.pointerId!==s)return;e.preventDefault();let r=k.current;if(!r)return;let i=W==null?void 0:W.getDropTargetFromClientPoint(e.clientX,e.clientY,r);O.current=(t=i==null?void 0:i.targetOffset)==null?null:t,C((n=i==null?void 0:i.rect)==null?null:n)},l=t=>{window.removeEventListener(`pointermove`,c),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,d),window.removeEventListener(`blur`,f);let n=k.current,r=O.current;k.current=null,O.current=null,A.current=!1,W==null||W.setBlockMenuDragging(!1),C(null),t&&n&&r!=null&&N.executeCommand(bn.id,{unitId:e.unitId,sourceRange:n,targetOffset:r})},u=e=>{e.pointerId===s&&(e.preventDefault(),l(!0))},d=e=>{e.pointerId===s&&l(!1)},f=()=>{l(!1)};window.addEventListener(`pointermove`,c),window.addEventListener(`pointerup`,u),window.addEventListener(`pointercancel`,d),window.addEventListener(`blur`,f,{once:!0})},children:(0,u.jsx)(vl,{})})]}),v&&(0,u.jsx)(i.RectPopup,{portal:!0,anchorRect$:ye,direction:w,children:(0,u.jsx)(`section`,{ref:E,onMouseEnter:t=>{var n;(n=e.onPointerEnter)==null||n.call(e,t),V.current=!0,Se()},onMouseLeave:()=>{V.current=!1,Ce()},children:(0,u.jsx)(i.ContextMenuPanel,{className:`univer-w-[212px]`,menuType:ml(G,b),activeItemIds:[pe],hiddenItemIds:he,onOptionSelect:async n=>{var r,i;let a=(r=D.current)==null?cl(se):r,{commandId:o,params:s}=pl(n,a),c=(i=W==null?void 0:W.activeTarget)==null?ie:i;if(o&&_l(o,n)&&c!=null&&c.moveRange){var l;I.setInsertRange({unitId:e.unitId,startOffset:c.moveRange.endOffset,endOffset:c.moveRange.endOffset,segmentId:(l=a==null?void 0:a.segmentId)==null?``:l})}if((c==null?void 0:c.kind)===`table`&&o&&a){var u,d;let e={...a,segmentId:(u=a.segmentId)==null?``:u,collapsed:!1},r={startOffset:c.moveRange.endOffset,endOffset:c.moveRange.endOffset,collapsed:!0,segmentId:(d=a.segmentId)==null?``:d};if(o===hn.id||o===hn.name){await F.copy(t.SliceBodyType.copy,[e]),R.focus(),xe();return}if(o===yn.id){P.replaceTextRanges([r],!1);let e=await L.read();await F.paste(e),R.focus(),xe();return}o===qi.id?P.replaceTextRanges([e],!1):(n.id===`doc.menu.insert-bellow`||o!==`doc.menu.insert-bellow`)&&P.replaceTextRanges([r],!1)}if(N&&o){let t=(c==null?void 0:c.kind)===`blockRange`&&c.blockRange&&s&&typeof s==`object`?{...s,unitId:e.unitId,blockId:c.blockRange.blockId}:s;N.executeCommand(o,t)}R.focus(),xe()}})})}),S&&(0,u.jsx)(`div`,{className:`
345
345
  univer-pointer-events-none univer-fixed univer-z-[10000] univer-h-0.5 univer-rounded-full
346
346
  univer-bg-primary-600
347
- `,style:{left:S.left,top:S.top,width:Math.max(60,S.right-S.left)}})]})};function _l(e,t){if(t.id===`doc.menu.insert-bellow`)return!0;let n=e.toLowerCase();return n.includes(`insert`)&&(n.includes(`below`)||n.includes(`bellow`))||n.includes(`insert`)&&n.includes(`image`)?!0:n===`doc.command.create-table`||n===`doc.operation.create-table`}function vl(){return(0,u.jsx)(`span`,{className:`univer-grid univer-h-3.5 univer-w-2 univer-grid-cols-2 univer-place-items-center univer-gap-x-0.5 univer-gap-y-px`,"aria-hidden":`true`,children:Array.from({length:6}).map((e,t)=>(0,u.jsx)(`span`,{className:`univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300`},t))})}let yl=e=>{let r=e.get(n.DocSelectionManagerService);return new o.Observable(e=>{let n=r.textSelection$.subscribe(()=>{r.getDocRanges().some(e=>e.collapsed===!1||e.rangeType===t.DOC_RANGE_TYPE.RECT)?e.next(!1):e.next(!0)});return()=>n.unsubscribe()})};function bl(e){if(e.length<2)return!0;let t=e.map(e=>e.tableId);return t.every(e=>e===t[0])}function xl(e,t,n){let r=t.getRectRanges(),i=t.getActiveTextRange();if(r&&r.length&&bl(r)&&i==null){e.next(!1);return}if(i&&(r==null||r.length===0)){var a;let{segmentId:t,startOffset:r,endOffset:o}=i,s=n.getCurrentUniverDocInstance(),c=s==null||(a=s.getSelfOrHeaderFooterModel(t).getBody())==null?void 0:a.tables;if(c&&c.length&&c.some(e=>{let{startIndex:t,endIndex:n}=e;return r>t&&r<n||o>t&&o<n})){e.next(!1);return}}e.next(!0)}let Sl=e=>{let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let t=r.textSelection$.subscribe(()=>{xl(e,r,i)});return xl(e,r,i),()=>t.unsubscribe()})},Cl=e=>({id:hn.name,commandId:hn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),wl=e=>({id:Ro.id,type:i.MenuItemType.BUTTON,icon:`MenuIcon`,title:`docs-ui.doc.menu.paragraphSetting`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Tl=e=>({id:_n.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.cut`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),El=e=>({id:yn.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.paste`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Dl=e=>({id:je.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.delete`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Ol=`doc.menu.table-insert`;function kl(e){return{id:Ol,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.insert`,icon:`InsertDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Al(e){return{id:Xi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowAbove`,icon:`InsertRowAboveDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function jl(e){return{id:Zi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowBelow`,icon:`InsertRowBelowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ml(e){return{id:Qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnLeft`,icon:`LeftInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Nl(e){return{id:$i.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnRight`,icon:`RightInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Pl=`doc.menu.table-delete`;function Fl(e){return{id:Pl,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.delete`,icon:`ReduceDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Il(e){return{id:Gi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteRows`,icon:`DeleteRowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ll(e){return{id:Ki.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteColumns`,icon:`DeleteColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Rl(e){return{id:qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteTable`,icon:`GridIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let zl={[fs]:{[ds]:{order:0,menuItemFactory:gs}}},Bl={...zl,[i.RibbonStartGroup.FORMAT]:{[Gn.id]:{order:0,menuItemFactory:ns},[qn.id]:{order:1,menuItemFactory:rs},[Yn.id]:{order:2,menuItemFactory:is},[Zn.id]:{order:3,menuItemFactory:as},[$n.id]:{order:4,menuItemFactory:os},[tr.id]:{order:5,menuItemFactory:ss},[J.id]:{order:5.5,menuItemFactory:us},[rr.id]:{order:6,menuItemFactory:ls},[ar.id]:{order:7,menuItemFactory:cs},[sr.id]:{order:8,menuItemFactory:_s},[lr.id]:{order:9,menuItemFactory:Ns,[dr.id]:{order:0,menuItemFactory:Ms}}},[i.RibbonStartGroup.LAYOUT]:{[Br.id]:{order:2,menuItemFactory:Ts},[Pr.id]:{order:7,menuItemFactory:Os},[jr.id]:{order:8,menuItemFactory:ks},[so.id]:{order:10,menuItemFactory:vs},[Ui.id]:{order:11,menuItemFactory:js},[Xo.id]:{order:12,menuItemFactory:Is}},[i.RibbonInsertGroup.MEDIA]:{[bs]:{order:2,menuItemFactory:xs,[aa.id]:{order:0,menuItemFactory:Ss}},[kn.id]:{order:3,menuItemFactory:Es},[Mr.id]:{order:4,menuItemFactory:As}},[i.ContextMenuPosition.MAIN_AREA]:{[i.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[hn.name]:{order:0,menuItemFactory:Cl},[_n.id]:{order:1,menuItemFactory:Tl},[yn.id]:{order:2,menuItemFactory:El}},[i.ContextMenuGroup.FORMAT]:{[je.id]:{order:0,menuItemFactory:Dl}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[Ol]:{order:1,menuItemFactory:kl,[Xi.id]:{order:1,menuItemFactory:Al},[Zi.id]:{order:2,menuItemFactory:jl},[Qi.id]:{order:3,menuItemFactory:Ml},[$i.id]:{order:4,menuItemFactory:Nl}},[Pl]:{order:2,menuItemFactory:Fl,[Gi.id]:{order:1,menuItemFactory:Il},[Ki.id]:{order:2,menuItemFactory:Ll},[qi.id]:{order:3,menuItemFactory:Rl}}}},[i.ContextMenuPosition.PARAGRAPH]:{[i.ContextMenuGroup.QUICK]:{[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ri.id]:{order:-1,menuItemFactory:Ys},[ii.id]:{order:-1,menuItemFactory:Xs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.FORMAT]:{[gn.id]:{order:0,menuItemFactory:lc},[vn.id]:{order:1,menuItemFactory:uc},[Le.id]:{order:2,menuItemFactory:dc}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[gc]:{order:1,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[_c]:{[i.ContextMenuGroup.QUICK]:{order:-2,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[Qs]:{[i.ContextMenuGroup.QUICK]:{order:-1,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:$s},[Qr.id]:{order:1,menuItemFactory:ec},[$r.id]:{order:2,menuItemFactory:tc},[ei.id]:{order:3,menuItemFactory:nc},[ti.id]:{order:4,menuItemFactory:rc},[ni.id]:{order:5,menuItemFactory:ic}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Ro.id]:{order:0,menuItemFactory:wl},[jr.id]:{order:1,menuItemFactory:oc},[Pr.id]:{order:2,menuItemFactory:ac},[Mr.id]:{order:3,menuItemFactory:sc},[kn.id]:{order:4,menuItemFactory:cc},[aa.id]:{order:5,menuItemFactory:Cs}}},[vc]:{[i.ContextMenuGroup.FORMAT]:{[hn.name]:{order:0,menuItemFactory:bc},[yn.id]:{order:1,menuItemFactory:xc},[qi.id]:{order:2,menuItemFactory:Sc}},[i.ContextMenuGroup.LAYOUT]:{[gc]:{order:0,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}}}}};function $(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}function Vl(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}let Hl={id:M.id,binding:i.KeyCode.TAB,preconditions:$},Ul={id:M.id,binding:i.KeyCode.TAB|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{shift:!0}},Wl={id:Gn.id,binding:i.KeyCode.B|i.MetaKeys.CTRL_COMMAND,preconditions:$},Gl={id:qn.id,binding:i.KeyCode.I|i.MetaKeys.CTRL_COMMAND,preconditions:$},Kl={id:Yn.id,binding:i.KeyCode.U|i.MetaKeys.CTRL_COMMAND,preconditions:$},ql={id:Zn.id,binding:i.KeyCode.X|i.MetaKeys.SHIFT|i.MetaKeys.CTRL_COMMAND,preconditions:$},Jl={id:$n.id,binding:i.KeyCode.COMMA|i.MetaKeys.CTRL_COMMAND,preconditions:$},Yl={id:tr.id,binding:i.KeyCode.PERIOD|i.MetaKeys.CTRL_COMMAND,preconditions:$},Xl={id:Vr.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Zl={id:Ur.id,binding:i.KeyCode.R|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Ql={id:Hr.id,binding:i.KeyCode.E|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},$l={id:Wr.id,binding:i.KeyCode.J|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},eu={id:Pr.id,binding:i.KeyCode.Digit7|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},tu={id:jr.id,binding:i.KeyCode.Digit8|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},nu=`docs-ui.config`,ru={toc:!1,footer:!0},iu=[50,80,100,130,150,170,200,400],au=[10,400];function ou(){let e=(0,i.useDependency)(t.ICommandService),n=(0,i.useDependency)(t.IUniverInstanceService),[r,a]=(0,s.useState)(null),[o,c]=(0,s.useState)(100),l=(0,s.useCallback)(()=>{var e,t;if(!r)return 100;let n=((e=(t=r.getSettings())==null?void 0:t.zoomRatio)==null?1:e)*100;return Math.round(n)},[r]);(0,s.useEffect)(()=>{let e=n.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).subscribe(e=>{e&&(a(e),c(l()))});return()=>{e.unsubscribe()}},[n,l]),(0,s.useEffect)(()=>e.onCommandExecuted(e=>{e.id===q.id&&c(l())}).dispose,[e,l]);function d(t){if(c(t),r==null)return;let n=t/100;e.executeCommand(q.id,{unitId:r.getUnitId(),zoomRatio:n})}return(0,u.jsx)(i.Slider,{min:au[0],value:o,shortcuts:iu,onChange:d})}function su(e){return(0,u.jsx)(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:(0,u.jsx)(ou,{})})}function cu(){var e;let t=(0,i.useConfigValue)(nu);return((e=t==null?void 0:t.footer)==null?!0:e)&&(0,u.jsxs)(`div`,{className:`univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5`,children:[(0,u.jsx)(`div`,{}),(0,u.jsx)(su,{})]})}function lu(){let e=(0,i.useDependency)(t.IUniverInstanceService),n=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]),r=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SLIDE),void 0,void 0,[]);return n||r?null:(0,u.jsx)(cu,{})}let uu=(0,s.forwardRef)((e,t)=>{let{menus:n,onClick:r,className:i,style:a,mode:o,maxHeight:c,activeId:d,open:f,onOpenChange:p,maxWidth:m,wrapperClass:h,wrapperStyle:g,iconClass:_,iconStyle:v}=e,y=o===`side-bar`,b=(0,s.useRef)(null),x=(0,s.useRef)(n);x.current=n;let S=(0,s.useMemo)(()=>({scrollTo:e=>{var t;if(!x.current||x.current.findIndex(t=>t.id===e)===-1||!b.current)return;let n=document.getElementById(`univer-side-menu-${e}`);if(!n)return;let r=n.offsetTop,i=b.current.clientHeight,a=b.current.scrollHeight-i,o=Math.max(0,Math.min(r-i/2+n.clientHeight/2,a));(t=b.current)==null||t.scrollTo({behavior:`smooth`,top:o})}}),[]);return(0,s.useImperativeHandle)(t,()=>S),(0,s.useEffect)(()=>{d&&S.scrollTo(d)},[d,S]),(0,u.jsxs)(`div`,{className:(0,l.clsx)(`univer-relative`,h),style:g,children:[(0,u.jsx)(`div`,{onClick:()=>p==null?void 0:p(!f),className:(0,l.clsx)(`univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200`,_),style:v,children:f?(0,u.jsx)(Na,{}):(0,u.jsx)(ha,{})}),(0,u.jsx)(`div`,{className:(0,l.clsx)(i,`univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300`,{"univer-rounded-r-2xl univer-bg-white univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900":y}),style:{...a,transform:f?`translateX(0)`:`translateX(-100%)`,maxHeight:c,opacity:+!!f,maxWidth:m==null?o===`side-bar`?320:180:m,paddingRight:o===`float`?void 0:0},children:(0,u.jsx)(`div`,{ref:b,className:(0,l.clsx)(`univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden`,l.scrollbarClassName),children:n==null?void 0:n.map(e=>(0,u.jsx)(`div`,{id:`univer-side-menu-${e.id}`,className:(0,l.clsx)(`univer-font-[500] univer-truncate univer-h-[24px] univer-mb-2 univer-leading-[24px] univer-cursor-pointer univer-pr-1 `,{"univer-text-base univer-font-semibold":e.isTitle,"univer-text-sm univer-font-semibold":e.level===1,"univer-text-sm":e.level>1,"univer-text-gray-500 dark:!univer-text-gray-400":e.id!==d,"univer-text-gray-800 dark:!univer-text-gray-200":e.id===d}),style:{paddingLeft:(e.level-1)*12},onClick:()=>{r==null||r(e)},children:e.text},e.id))})})]})}),du=e=>{switch(e){case t.NamedStyleType.HEADING_1:return 1;case t.NamedStyleType.HEADING_2:return 2;case t.NamedStyleType.HEADING_3:return 3;case t.NamedStyleType.HEADING_4:return 4;case t.NamedStyleType.HEADING_5:return 5;case t.NamedStyleType.TITLE:return 1;default:return 1}};function fu(e,t,n,r){if(!e)return;let i=Array.from(e.values()),a=i.findIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);if(a===-1)return;let o=i==null?void 0:i.findLastIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);for(let e=a;e<=o;e++){var s;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(s=r.paragraphStyle)==null)&&s.headingId)return r.paragraphStyle.headingId}for(let e=a;e>=0;e--){var c;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(c=r.paragraphStyle)==null)&&c.headingId)return r.paragraphStyle.headingId}}let pu=`__title`;function mu(){let e=(0,i.useConfigValue)(nu);return e!=null&&e.toc?(0,u.jsx)(hu,{}):null}function hu(){var e,a,c,l,d,f,p,m,h;let g=(0,i.useDependency)(t.ICommandService),_=(0,i.useDependency)(t.IUniverInstanceService),v=(0,i.useObservable)((0,s.useMemo)(()=>_.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[])),y=(0,i.useDependency)(r.IRenderManagerService),b=(e=v==null||(a=v.getBody())==null?void 0:a.dataStream)==null?``:e,[x,S]=(0,s.useState)(0),[C,w]=(0,s.useState)(void 0),T=(c=v==null?void 0:v.getUnitId())==null?``:c,E=y.getRenderById(T),D=v==null?void 0:v.getTitle(),O=E==null?void 0:E.with(Fc),k=O==null?void 0:O.paragraphBounds,A=(l=E==null||(d=E.mainComponent)==null?void 0:d.left)==null?0:l,j=(f=E==null?void 0:E.engine.height)==null?0:f,M=(p=E==null?void 0:E.scene.scaleY)==null?1:p,N=(m=v==null||(h=v.getBody())==null?void 0:h.paragraphs)==null?[]:m,P=(0,s.useMemo)(()=>{let e=new Map;return N.forEach(t=>{e.set(t.startIndex,t)}),e},[N]);(0,i.useObservable)((0,s.useMemo)(()=>E!=null&&E.engine.onTransformChange$?(0,t.fromEventSubject)(E==null?void 0:E.engine.onTransformChange$).pipe((0,o.throttleTime)(33)):(0,o.of)(null),[E==null?void 0:E.engine.onTransformChange$]));let F=A<180?`float`:`side-bar`,I=1/0,L=N==null?void 0:N.filter(e=>{var n;return((n=e.paragraphStyle)==null?void 0:n.namedStyleType)!==void 0&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.SUBTITLE&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.NORMAL_TEXT}).map(e=>{var n;let r=du(e.paragraphStyle.namedStyleType);I=Math.min(I,r);let i=k==null?void 0:k.get(e.startIndex);if(!i)return null;let{paragraphStart:a,paragraphEnd:o}=i;return{id:e.paragraphStyle.headingId,text:(0,t.getPlainText)(b.slice(a,o)),level:r,isTitle:((n=e.paragraphStyle)==null?void 0:n.namedStyleType)===t.NamedStyleType.TITLE}}).filter(e=>e==null?void 0:e.text),R=(0,i.useEvent)(e=>{let t=e.viewportScrollY,n=fu(k,P,t,t+j/M);n&&w(n)}),z=L!=null&&L.find(e=>e.isTitle)?L:[...D?[{id:pu,text:D,level:1,isTitle:!0}]:[],...L==null?[]:L].filter(Boolean),[B,V]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=(0,t.debounce)(S,100),r=g.onCommandExecuted(t=>{t.id===n.RichTextEditingMutation.id&&t.params.unitId===(v==null?void 0:v.getUnitId())&&e(e=>e+1)});return()=>{r.dispose()}},[g,v]),(0,s.useEffect)(()=>{let e=E==null?void 0:E.scene.getViewport(`viewMain`);if(!e)return;let n=(0,t.fromEventSubject)(e.onScrollAfter$).pipe((0,o.throttleTime)(33)).subscribe(R);return()=>{n.unsubscribe()}},[E]);let H=(0,i.useEvent)(e=>{let t=E==null?void 0:E.scene.getViewport(`viewMain`);if(!t)return;if(e.id===pu){t.scrollToViewportPos({viewportScrollY:0});return}let n=N.find(t=>{var n;return((n=t.paragraphStyle)==null?void 0:n.headingId)===e.id});if(!n)return;let r=k==null?void 0:k.get(n.startIndex);r&&(t.scrollToViewportPos({viewportScrollY:r.rect.top}),w(e.id))});return!v||(0,t.isInternalEditorID)(T)||!(z!=null&&z.length)?null:(0,u.jsx)(`div`,{className:`univer-absolute univer-bottom-0 univer-left-0 univer-top-0 univer-z-[100] univer-w-[0px]`,children:(0,u.jsx)(uu,{menus:z,open:B,onOpenChange:V,mode:F,maxWidth:F===`float`?void 0:Math.floor(A)-10,wrapperClass:`univer-mt-12`,activeId:C,onClick:H,maxHeight:j-48})})}let gu=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._injector=e,this._componentManager=t,this._commandService=n,this._layoutService=r,this._menuManagerService=i,this._uiPartsService=a,this._univerInstanceService=o,this._shortcutService=s,this._configService=c,this._init()}_initCustomComponents(){[[_o,ho],[go,po],[`TodoListDoubleIcon`,Va],[`doc.paragraph.menu`,gl],[`DeleteIcon`,_a],[Wo,Uo],[`DocumentSettingIcon`,ya]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiParts(){this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.FOOTER,()=>(0,i.connectInjector)(lu,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.CONTENT,()=>(0,i.connectInjector)(mu,this._injector)))}_initMenus(){this._menuManagerService.appendRootMenu(zl),this._menuManagerService.mergeMenu(Bl)}_initShortCut(){[Wl,Gl,Kl,ql,Jl,Yl,Ql,$l,Zl,Xl,eu,tu,Hl].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[oo,so,no].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(t.UniverInstanceType.UNIVER_DOC,e=>{this._injector.get(r.IRenderManagerService).getRenderById(e).with(Y).focus()}))}};gu=A([k(0,(0,t.Inject)(t.Injector)),k(1,(0,t.Inject)(i.ComponentManager)),k(2,t.ICommandService),k(3,i.ILayoutService),k(4,i.IMenuManagerService),k(5,i.IUIPartsService),k(6,t.IUniverInstanceService),k(7,i.IShortcutService),k(8,t.IConfigService)],gu);let _u=1.5,vu=class extends t.RxDisposable{constructor(e,t,n,r){super(),this._context=e,this._textSelectionManagerService=t,this._editorService=n,this._docSkeletonManagerService=r,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let{isEditing:n,unitId:r}=e;r!==this._context.unitId||!n||this._context.unitId!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._scrollToSelection()})}scrollToRange(e){let t=this._docSkeletonManagerService.getSkeleton();if(!t)return;let{startOffset:n}=e,r=t.findNodePositionByCharIndex(n);r&&this.scrollToNode(r)}scrollToNode(e){var t;let{unitId:n,scene:r,mainComponent:i}=this._context,a=this._docSkeletonManagerService.getSkeleton();if(i==null||a==null)return;let o=i.getOffsetConfig(),{docsLeft:s,docsTop:c}=o,{contentBoxPointGroup:l}=new fi(o,a).getRangePointData(e,e),{left:u,top:d,height:f}=Ai(l),p=u+s,m=d+c,h=r.getViewport(`viewMain`),g=this._editorService.getEditor(n);if(h==null)return;let{left:_,top:v,right:y,bottom:b}=h.getBounding().viewBound,x=0,S=0,C=g?(t=g.params.backScrollOffset)==null?0:t:100;m<v?x=m-v-C:m>b-f&&(x=m-b+f+C),p<_?S=p-_:p>y-_u&&(S=p-y+_u);let w=h.transViewportScroll2ScrollValue(S,x);h.scrollByBarDeltaValue(w)}_scrollToSelection(){let e=this._textSelectionManagerService.getActiveTextRange();if(e==null)return;let{collapsed:t,startNodePosition:n}=e;t&&this.scrollToNode(n)}};vu=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,Z),k(3,(0,t.Inject)(n.DocSkeletonManagerService))],vu);var yu=class extends t.Disposable{constructor(e){super(),this._context=e}calculatePagePosition(){var e,t;if(this._disposed)return;let n=p(this._context),r=(e=(t=this._context.unit.getSettings())==null?void 0:t.zoomRatio)==null?1:e,{document:i,scene:a,docBackground:o}=n,s=a==null?void 0:a.getParent(),{width:c,height:l,pageMarginLeft:u,pageMarginTop:d}=i;if(s==null||c===1/0||l===1/0)return;let{width:f,height:m}=s,h=0,g=d,_=0,v=0,y=1/0;f>(c+u*2)*r?(h=f/2-c*r/2,h/=r,_=(f-u*2)/r,y=0):(h=u,_=c+u*2,y=(_-f/r)/2),v=m>l?(m-d*2)/r:l+d*2,a.resize(_,v),f<=1&&(h=-1e4,g=-1e4),i.translate(h,g),o.translate(h,g);let b=a.getViewport(`viewMain`);return y!==1/0&&b!=null&&b.scrollToViewportPos({viewportScrollX:y}),this}};let bu=`univer-doc-main-canvas`;function xu(e){return e===t.DocumentFlavor.MODERN?`#fff`:`#fafafa`}let Su=class extends t.RxDisposable{constructor(e,t){super(),this._instanceSrv=e,this._renderManagerService=t,this._init()}_init(){this._renderManagerService.createRender$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderWithId(e)),this._instanceSrv.getAllUnitsForType(t.UniverInstanceType.UNIVER_DOC).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderer(e.unit)),this._instanceSrv.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){let t=e.getUnitId();this._renderManagerService.created$.subscribe(n=>{if(n.unitId===t){let t=e.getSnapshot().documentStyle.documentFlavor,r=n.engine.getCanvas();r.setId(bu),r.getContext().setId(bu),r.getCanvasEle().style.backgroundColor=xu(t)}}),this._renderManagerService.has(t)||this._createRenderWithId(t)}_createRenderWithId(e){this._renderManagerService.createRender(e)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}};Su=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService)],Su);let Cu=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._context=e,this._commandService=t,this._docSelectionRenderService=n,this._docSkeletonManagerService=r,this._editorService=i,this._renderManagerService=a,this._univerInstanceService=o,this._docPageLayoutService=s,this._textSelectionManagerService=c,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(e){var t;let r=(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(n.DocSkeletonManagerService),i=r==null?void 0:r.getSkeleton();if(!i||i.getViewModel().getDataModel().getSnapshot().disabled)return;i.calculate();let a=this._editorService.getEditor(e);if(this._editorService.isEditor(e)&&!(a!=null&&a.params.scrollBar)){var o;(o=this._context.mainComponent)==null||o.makeDirty();return}this._recalculateSizeBySkeleton(i),this._refreshPagePositionAndSelection()}_addNewRender(){let{scene:e,engine:n}=this._context,i=new r.Viewport(`viewMain`,e,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});e.attachControl(),e.onMouseWheel$.subscribeEvent((n,r)=>{let a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if((a==null?void 0:a.getUnitId())!==this._context.unitId)return;let o=n;if(o.ctrlKey){let t=Math.abs(o.deltaX),n=t<40?.2:t<80?.4:.2;n*=o.deltaY>0?-1:1,e.scaleX<1&&(n/=2),e.scaleX+n>4?e.scale(4,4):e.scaleX+n<.1?e.scale(.1,.1):o.preventDefault()}else i.onMouseWheel(o,r)}),new r.ScrollBar(i),e.addLayer(new r.Layer(e,[],2),new r.Layer(e,[],4)),this._addComponent();let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?n.runRenderLoop(a):n.stopRenderLoop(a)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){let{scene:e,unit:t,components:n}=this._context,i={pageMarginLeft:20,pageMarginTop:20,...this._getEditorBackgroundConfig()},a=new r.Documents(`__Document_Render_Main__`,void 0,i);a.zIndex=10;let o=new r.DocBackground(`__Document_Render_Background__`,void 0,i);o.zIndex=10,this._context.mainComponent=a,n.set(`__Document_Render_Main__`,a),n.set(`__Document_Render_Background__`,o),e.addObjects([a],2),e.addObjects([o],0),this._editorService.getEditor(t.getUnitId())==null&&e.enableLayerCache(2)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{this._create(e)})}_create(e){if(!e)return;let{mainComponent:t,components:n}=this._context,r=t,i=n.get(`__Document_Render_Background__`);r.changeSkeleton(e),i.changeSkeleton(e),this._syncCanvasBackground();let{unitId:a}=this._context,o=this._editorService.getEditor(a);if(this._editorService.isEditor(a)&&!(o!=null&&o.params.scrollBar)){var s;(s=this._context.mainComponent)==null||s.makeDirty();return}this._recalculateSizeBySkeleton(e),this._refreshPagePositionAndSelection()}_initCommandListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;this.reRender(e)}}))}_refreshPagePositionAndSelection(){this._editorService.isEditor(this._context.unitId)||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}_recalculateSizeBySkeleton(e){var n;let{mainComponent:i,scene:a,unitId:o,components:s}=this._context,c=i,l=s.get(`__Document_Render_Background__`),u=(n=e.getSkeletonData())==null?void 0:n.pages;if(u==null)return;let d=0,f=0,p=this._context.unit.getSnapshot().documentStyle.documentFlavor;this._syncCanvasBackground(p);for(let e=0,n=u.length;e<n;e++){let i=u[e],{pageWidth:a,pageHeight:o}=i;if(p===t.DocumentFlavor.MODERN){let e=wu(i);a=e.pageWidth,o=e.pageHeight}c.pageLayoutType===r.PageLayoutType.VERTICAL?(f+=o,f+=c.pageMarginTop,e===n-1&&(f+=c.pageMarginTop),d=Math.max(d,a)):c.pageLayoutType===r.PageLayoutType.HORIZONTAL&&(d+=a,e!==n-1&&(d+=c.pageMarginLeft),f=Math.max(f,o))}c.resize(d,f),l.resize(d,f);let m=this._editorService.getEditor(o);(!this._editorService.isEditor(o)||m!=null&&m.params.scrollBar)&&a.resize(d,f)}_syncCanvasBackground(e=this._context.unit.getSnapshot().documentStyle.documentFlavor){var t,n;let r=this._editorService.getEditor(this._context.unitId),i=r==null||(t=r.params.canvasStyle)==null?void 0:t.backgroundColor;this._context.engine.getCanvas().getCanvasEle().style.backgroundColor=i==null?xu(e):i;let a=this._context.components.get(`__Document_Render_Background__`);a==null||(n=a.setFillColors)==null||n.call(a,i,i,i,i)}_getEditorBackgroundConfig(){var e;let t=(e=this._editorService.getEditor(this._context.unitId))==null||(e=e.params.canvasStyle)==null?void 0:e.backgroundColor;return t==null?{}:{backgroundFillColor:t,pageFillColor:t,pageStrokeColor:t,marginStrokeColor:t}}};Cu=A([k(1,t.ICommandService),k(2,(0,t.Inject)(Y)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,Z),k(5,r.IRenderManagerService),k(6,t.IUniverInstanceService),k(7,(0,t.Inject)(yu)),k(8,(0,t.Inject)(n.DocSelectionManagerService))],Cu);function wu(e){let{pageWidth:t,pageHeight:n}=e,{marginLeft:r,marginRight:i,marginTop:a,marginBottom:o,skeDrawings:s,skeTables:c}=e;t===1/0&&(t=e.width+r+i),n===1/0&&(n=e.height+a+o);for(let e of s.values())t=Math.max(t,e.aLeft+e.width+r+i),n=Math.max(n,e.aTop+e.height+a+o);for(let e of c.values())t=Math.max(t,e.left+e.width+r+i),n=Math.max(n,e.top+e.height+a+o);return{pageWidth:t,pageHeight:n}}var Tu=`@univerjs/docs-ui`,Eu=`0.25.0`;let Du=class extends t.Disposable{constructor(e,t){super(),this._docAutoFormatService=e,this._renderManagerService=t,this._initListTabAutoFormat(),this._initSpaceAutoFormat(),this._initDefaultEnterFormat(),this._initExitListAutoFormat()}_initListTabAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,paragraphs:n,unit:r}=e;if(n.length===1&&t.startOffset===n[0].paragraphStart&&n[0].bullet){var i;let e=(i=r.getBody())==null?void 0:i.paragraphs,t=e==null?void 0:e.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listId)===n[0].bullet.listId});return(t==null?void 0:t.findIndex(e=>e.startIndex===n[0].startIndex))!==0}else if(n.length>1&&n.some(e=>e.bullet))return!0;return!1},getMutations(e){let t=e.commandParams;return[{id:Ar.id,params:{type:t!=null&&t.shift?-1:1}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,unit:r}=e,{startNodePosition:i,endNodePosition:a}=t,o=this._renderManagerService.getRenderById(r.getUnitId()),s=o==null?void 0:o.with(n.DocSkeletonManagerService).getSkeleton();return s==null?!1:!!(i&&a&&_i(s,i,a)||i&&!a&&i.path.indexOf(`cells`)>-1)},getMutations(e){let t=e.commandParams;return[{id:na.id,params:{shift:!!(t!=null&&t.shift)}}]},priority:99}))}_initSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:N.id,match:e=>{var n;let{selection:r,paragraphs:i,unit:a}=e;if(!r.collapsed||i.length!==1||!r.collapsed)return!1;let o=(n=a.getBody())==null?void 0:n.dataStream.slice(i[0].paragraphStart,r.startOffset-1);return!!(o&&(Object.keys(t.QuickListTypeMap).includes(o)||Object.keys(Xr).includes(o)))},getMutations(e){var n;let{paragraphs:r,unit:i,selection:a}=e,o=(n=i.getBody())==null?void 0:n.dataStream.slice(r[0].paragraphStart,a.startOffset-1);if(o&&Object.keys(t.QuickListTypeMap).includes(o)){let e=t.QuickListTypeMap[o];return[{id:Fr.id,params:{listType:e,paragraph:r[0]}}]}if(o&&Object.keys(Xr).includes(o)){let e=Xr[o];return[{id:Yr.id,params:{value:e}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:e=>{let{paragraphs:t}=e;return!!(t.length===1&&t[0].bullet&&t[0].paragraphStart===t[0].paragraphEnd)},getMutations:e=>{let t=e.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:Ar.id,params:{type:-1}}]:[{id:Dr.id,params:{listType:e.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:()=>!0,getMutations(){return[{id:B.id}]},priority:-9999}))}};Du=A([k(0,(0,t.Inject)(j)),k(1,r.IRenderManagerService)],Du);function Ou(e){return e.rows[0].cells[0].sections[0].columns[0].lines[0]}function ku(e){let t=e.rows[e.rows.length-1],n=t.cells[t.cells.length-1];return(0,r.getLastLine)(n)}function Au(e,t){let{ed:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.st===n+1){i=e;break}return i}function ju(e){let t=e==null?void 0:e.parent,n=null,i=null;if(e==null||t==null)return{lineBeforeTable:n,lineAfterTable:i};let{st:a,ed:o}=e;return(0,r.lineIterator)(t.type===r.DocumentSkeletonPageType.CELL?[t]:t.parent.pages,e=>{e.st===o+1?i=e:e.ed===a-1&&(n=e)}),{lineBeforeTable:n,lineAfterTable:i}}function Mu(e){return e.sections[0].columns[0].lines.length===0}function Nu(e){let t=e.parent,n=t==null?void 0:t.parent,r=n==null?void 0:n.tableId;if(t==null||n==null)return;let i=t.cells.indexOf(e),a=n.rows[n.rows.indexOf(t)+1];if(a==null&&r.indexOf(`#-#`)){var o;let[e,t]=r.split(`#-#`),i=(o=n.parent)==null||(o=o.parent)==null?void 0:o.pages,s=`${e}#-#${Number.parseInt(t)+1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(s)){let e=t.get(s);if(e!=null&&e.rows.length){a=e.rows.find(e=>!e.isRepeatRow);break}}}}if(a!=null){let e=a.cells[i];return Mu(e)?Nu(e):e}}function Pu(e){let t=e.parent,n=t==null?void 0:t.parent;if(t==null||n==null)return;let r=n.rows[n.rows.indexOf(t)-1],i=t.cells.indexOf(e);if((r==null||r.isRepeatRow)&&n.tableId.indexOf(`#-#`)){var a;let[e,t]=n.tableId.split(`#-#`),i=(a=n.parent)==null||(a=a.parent)==null?void 0:a.pages,o=`${e}#-#${Number.parseInt(t)-1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(o)){let e=t.get(o);if(e!=null&&e.rows.length){r=e.rows[e.rows.length-1];break}}}}if(r!=null){let e=r.cells[i];return Mu(e)?Pu(e):e}}function Fu(e,t){let{st:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.ed===n-1){i=e;break}return i}function Iu(e){return e.sections[0].columns[0].lines[0]}function Lu(e){let t=(0,r.getLastColumn)(e);return t.lines[t.lines.length-1]}let Ru=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._renderManagerService=t,this._textSelectionManagerService=n,this._commandService=r,O(this,`_onInputSubscription`,void 0),this._commandExecutedListener()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_commandExecutedListener(){let e=[oa.id,sa.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(!e.includes(t.id))return;let n=t.params;switch(t.id){case oa.id:return this._handleMoveCursor(n.direction);case sa.id:return this._handleShiftMoveSelection(n.direction);default:throw Error(`Unknown command`)}}))}_handleShiftMoveSelection(e){var r,i;let a=this._textSelectionManagerService.getActiveTextRange(),o=this._textSelectionManagerService.getTextRanges(),s=this._univerInstanceService.getCurrentUniverDocInstance();if(s==null)return;let c=(r=this._renderManagerService.getRenderById(s.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),l=this._getDocObject();if(a==null||c==null||l==null)return;let{startOffset:u,endOffset:d,style:f,collapsed:p,direction:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=a;if(o.length>1){let n=1/0,r=-1/0;for(let e of o)n=Math.min(n,e.startOffset),r=Math.max(r,e.endOffset);this._textSelectionManagerService.replaceTextRanges([{startOffset:e===t.Direction.LEFT||e===t.Direction.UP?r:n,endOffset:e===t.Direction.LEFT||e===t.Direction.UP?n:r,style:f}],!1);return}let y=p||m===t.RANGE_DIRECTION.FORWARD?u:d,b=p||m===t.RANGE_DIRECTION.FORWARD?d:u,x=(i=s.getSelfOrHeaderFooterModel(h).getBody().dataStream.length)==null?1/0:i;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){var S;let n=c.findNodeByCharIndex(b-1,h,v),r=c.findNodeByCharIndex(b,h,v);b=e===t.Direction.RIGHT?b+r.count:b-((S=n==null?void 0:n.count)==null?0:S),b=Math.min(x-2,Math.max(0,b)),this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:b,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),b)}else{let n=c.findNodeByCharIndex(b,h,v),r=l.document.getOffsetConfig(),i=p?g:m===t.RANGE_DIRECTION.FORWARD?_:g,a=this._getTopOrBottomPosition(c,n,i,e===t.Direction.DOWN,!0);if(a==null){let n=e===t.Direction.UP?0:x-2;if(n===b)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:n,style:f}],!1);return}let o=new fi(r,c).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:o.endOffset,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),o.endOffset)}}_handleMoveCursor(e){var r,i,a;let o=this._textSelectionManagerService.getActiveTextRange(),s=this._textSelectionManagerService.getTextRanges(),c=this._univerInstanceService.getCurrentUniverDocInstance();if(c==null)return!1;let l=(r=this._renderManagerService.getRenderById(c.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),u=this._getDocObject();if(o==null||l==null||u==null||s==null)return;let{startOffset:d,endOffset:f,style:p,collapsed:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=o,y=c.getSelfOrHeaderFooterModel(h).getBody();if(y==null)return;let b=(i=y.dataStream.length)==null?1/0:i,x=(a=c.getCustomRanges())==null?[]:a;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){let n;if(!o.collapsed||s.length>1){let r=1/0,i=-1/0;for(let e of s)r=Math.min(r,e.startOffset),i=Math.max(i,e.endOffset);n=e===t.Direction.LEFT?r:i}else{let r=l.findNodeByCharIndex(d-1,h,v),i=l.findNodeByCharIndex(d,h,v),a=l.findNodeByCharIndex(d+1,h,v);if(e===t.Direction.LEFT){var S;n=Math.max(0,d-((S=r==null?void 0:r.count)==null?1:S))}else n=Math.min(b-2,f+i.count+ +((a==null?void 0:a.streamType)===t.DataStreamTreeTokenType.SECTION_BREAK))}let r=[t.DataStreamTreeTokenType.TABLE_START,t.DataStreamTreeTokenType.TABLE_END,t.DataStreamTreeTokenType.TABLE_ROW_START,t.DataStreamTreeTokenType.TABLE_ROW_END,t.DataStreamTreeTokenType.TABLE_CELL_START,t.DataStreamTreeTokenType.TABLE_CELL_END,t.DataStreamTreeTokenType.SECTION_BREAK];if(e===t.Direction.LEFT)for(;r.includes(y.dataStream[n]);)n--;else for(;r.includes(y.dataStream[n]);)n++;x.filter(e=>e.wholeEntity&&e.startIndex<n&&e.endIndex>=n).forEach(r=>{n=e===t.Direction.LEFT?Math.min(r.startIndex,n):Math.max(r.endIndex+1,n)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),n)}else{let n=l.findNodeByCharIndex(d,h,v),r=l.findNodeByCharIndex(f,h,v),i=u.document.getOffsetConfig(),a=this._getTopOrBottomPosition(l,e===t.Direction.UP||m?n:r,e===t.Direction.UP||m?g:_,e===t.Direction.DOWN);if(a==null){let n;n=m?e===t.Direction.UP?0:b-2:e===t.Direction.UP?d:f,this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1);return}let o=new fi(i,l).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...o,style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),o.endOffset)}}_getTopOrBottomPosition(e,t,n,r,i=!1){if(t==null||n==null)return;let a=this._getGlyphLeftOffsetInLine(t),o=this._getNextOrPrevLine(t,r,i);if(o==null)return;let s=this._matchPositionByLeftOffset(e,o,a,n);if(s!=null)return{...s,isBack:!0}}_getGlyphLeftOffsetInLine(e){let t=e.parent;if(t==null)return-1/0;let n=t.left,{left:r}=e;return n+r}_matchPositionByLeftOffset(e,n,r,i){let a={distance:1/0};for(let e of n.divides){let n=e.left;for(let i of e.glyphGroup){if(i.streamType===t.DataStreamTreeTokenType.SECTION_BREAK)continue;let{left:e}=i,o=n+e,s=Math.abs(r-o);s<a.distance&&(a.glyph=i,a.distance=s)}}if(a.glyph==null)return;let{segmentPage:o}=i;return e.findPositionByGlyph(a.glyph,o)}_getNextOrPrevLine(e,t,n=!1){let i=e.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent;if(i==null||a==null||o==null||s==null||c==null)return;let l=o.lines.indexOf(a);if(l===-1)return;let u;if(c.type===r.DocumentSkeletonPageType.CELL&&n){let e=zu(c,t);if(e)return e}if(t===!0){u=o.lines[l+1];let e=Au(a,c);if(e){let t=Ou(e);t&&(u=t)}}else{u=o.lines[l-1];let e=Fu(a,c);if(e){let t=ku(e);t&&(u=t)}}if(u!=null)return u;let d=s.columns.indexOf(o);if(d===-1)return;if(t===!0){var f;u=(f=s.columns[d+1])==null?void 0:f.lines[0]}else{var p;let e=(p=s.columns)==null||(p=p[d-1])==null?void 0:p.lines;u=e==null?void 0:e[e.length-1]}if(u!=null)return u;let m=c.sections.indexOf(s);if(m===-1)return;if(t===!0){var h;u=(h=c.sections[m-1])==null||(h=h.columns[0])==null?void 0:h.lines[0]}else{var g;let e=(g=c.sections)==null||(g=g[m-1])==null?void 0:g.columns,t=e==null?void 0:e[e.length-1],n=t==null?void 0:t.lines;u=n==null?void 0:n[n.length-1]}if(u!=null)return u;if(c.type===r.DocumentSkeletonPageType.CELL)return zu(c,t);let _=c.parent;if(_==null)return;let v=_.pages.indexOf(c);if(v!==-1){if(t===!0){var y;u=(y=_.pages[v+1])==null||(y=y.sections[0])==null||(y=y.columns[0])==null?void 0:y.lines[0]}else{var b,x;let e=(b=_.pages[v-1])==null?void 0:b.sections;if(e==null)return;let t=(x=e[e.length-1])==null?void 0:x.columns,n=t[t.length-1],r=n==null?void 0:n.lines;u=r[r.length-1]}if(u!=null)return u}}_scrollToFocusNodePosition(e,t){var n;let r=(n=this._renderManagerService.getRenderById(e))==null?void 0:n.with(vu);r!=null&&r.scrollToRange({startOffset:t,endOffset:t,collapsed:!0})}_getDocObject(){return m(this._univerInstanceService,this._renderManagerService)}};Ru=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService),k(2,(0,t.Inject)(n.DocSelectionManagerService)),k(3,t.ICommandService)],Ru);function zu(e,t){let n=null;if(t===!0){let t=Nu(e);if(t)n=Iu(t);else{var r;let{lineAfterTable:t}=ju((r=e.parent)==null?void 0:r.parent);t&&(n=t)}}else{let t=Pu(e);if(t)n=Lu(t);else{var i;let{lineBeforeTable:t}=ju((i=e.parent)==null?void 0:i.parent);t&&(n=t)}}return n}let Bu=({handleRowColChange:e,tableCreateParams:n})=>{let r=(0,i.useDependency)(t.LocaleService),[a,o]=(0,s.useState)(3),[c,d]=(0,s.useState)(5);function f(t,n){o(t),d(n),e(t,n)}return(0,s.useEffect)(()=>{o(n.rowCount),d(n.colCount)},[n]),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.rowCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:a,onChange:e=>{f(e,c)}})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.colCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:c,onChange:e=>{f(a,e)}})]})]})},Vu=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[aa].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(ra,Bu))}_init(){}};Vu=A([k(0,t.ICommandService),k(1,(0,t.Inject)(i.ComponentManager))],Vu);let Hu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._docEventManagerService=r,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(e=>{let t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(Nr.id,{index:e.paragraph.startIndex,segmentId:e.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(e=>{e?this._context.mainComponent.setCursor(r.CURSOR_TYPE.POINTER):this._context.mainComponent.setCursor(r.CURSOR_TYPE.TEXT)}))}_getTransformCoordForDocumentOffset(e,t,n,i){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(r.Vector2.FromArray([n,i]));if(o)return a.clone().invert().applyPoint(o)}};Hu=A([k(1,(0,t.Inject)(n.DocSkeletonManagerService)),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService))],Hu);let Uu=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._commandService=t,this._docClipboardService=n,this._docSelectionRenderService=r,this._contextService=i,this._editorService=a,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var e;(e=this._docSelectionRenderService)==null||e.onPaste$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t,n,r,a,o;if(!mn(this._contextService))return;e.event.preventDefault();let s=e.event,c=(t=s.clipboardData)==null?void 0:t.getData(i.HTML_CLIPBOARD_MIME_TYPE),l=(n=s.clipboardData)==null?void 0:n.getData(`application/x-doc-fragment+json`),u=(r=s.clipboardData)==null?void 0:r.getData(i.PLAIN_TEXT_CLIPBOARD_MIME_TYPE),d=[...((a=s.clipboardData)==null?void 0:a.items)||[]].filter(e=>i.imageMimeTypeSet.has(e.type)).map(e=>e.getAsFile()).filter(e=>!!e);this._editorService.getEditor(this._context.unitId)&&((o=c)==null?``:o).indexOf(`</table>`)>-1&&(c=``),this._docClipboardService.legacyPaste({html:c,internalJson:l,text:u,files:d})})}};Uu=A([k(1,t.ICommandService),k(2,dn),k(3,(0,t.Inject)(Y)),k(4,t.IContextService),k(5,Z)],Uu);let Wu=[t.DEFAULT_EMPTY_DOCUMENT_VALUE,t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY],Gu=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._contextMenuService=t,this._commandService=n,this._docEventManagerService=r,this._docSelectionManagerService=i,this._univerInstanceService=a,Wu.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e;let t=((e=this._context)==null||(e=e.mainComponent)==null?void 0:e.onPointerDown$).subscribeEvent(e=>{if(e.button===2){if(this._docEventManagerService.isPointerOnBullet(e.offsetX,e.offsetY)||this._isSelectionInCodeBlock())return;this._contextMenuService.triggerContextMenu(e,i.ContextMenuPosition.MAIN_AREA)}});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===n.RichTextEditingMutation.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}_isSelectionInCodeBlock(){var e,n,r;let i=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),a=(e=i==null||(n=i.getBody())==null||(n=n.blockRanges)==null?void 0:n.filter(e=>e.blockType===`code`))==null?[]:e,o=(r=this._docSelectionManagerService.getTextRanges())==null?[]:r;return!a.length||!o.length?!1:a.some(e=>o.some(t=>Ku(t,e.startIndex,e.endIndex)))}};Gu=A([k(1,i.IContextMenuService),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService)),k(5,(0,t.Inject)(t.IUniverInstanceService))],Gu);function Ku(e,t,n){return Math.max(e.startOffset,t)<=Math.min(e.endOffset,n)}let qu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._univerInstanceService=t,this._editorService=n,this._commandService=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._renderManagerService=o,O(this,`_initialEditors`,new Set),this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(e=>{let t=e.getEditorId();t===this._context.unitId&&(this._initialEditors.has(t)||(this._initialEditors.add(t),this._resize(t)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(e){if(e==null)return;let t=this._editorService.getEditor(e);if((t==null?void 0:t.cancelDefaultResizeListener)===!0)return;let n=this._univerInstanceService.getUniverDocInstance(e);if(!n)return;let r=this._docSkeletonManagerService.getSkeleton();if(t==null||t.render==null||r==null||n==null)return;r.calculate();let{marginTop:i=0,marginBottom:a=0,marginLeft:o=0,marginRight:s=0}=n.getSnapshot().documentStyle,{scene:c,mainComponent:l}=t.render,{actualHeight:u,actualWidth:d}=r.getActualSize();u+=i+a,d+=o+s;let{width:f,height:p}=t.getBoundingClientRect(),m=Math.max(d,f),h=Math.max(u,p);c.transformByState({width:m,height:h}),l==null||l.resize(m,h)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{let{unitId:e}=this._context,t=this._editorService.getEditor(e),n=this._editorService.getFocusEditor();t==null||t.isSheetEditor()||n&&n.getEditorId()===e||e.includes(`range_selector`)||e.includes(`embedding_formula_editor`)||this._editorService.blur()}))}_initialFocus(){let e=[`univer-formula-search`,`univer-formula-help`,`formula-help-decorator`,`univer-formula-help-param`];this.disposeWithMe((0,o.fromEvent)(window,`mousedown`).subscribe(n=>{(0,t.checkForSubstrings)(n.target.classList[0]||``,e)&&n.stopPropagation()}));let n=new t.DisposableCollection;this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(n.dispose(),!e)return;let t=e.getUnitId(),r=this._renderManagerService.getRenderById(t),i=r==null?void 0:r.engine.getCanvas().getCanvasEle();if(i==null)return;let a=(0,o.fromEvent)(i,`mousedown`).subscribe(e=>{e.stopPropagation()});n.add(a)})),this.disposeWithMe(()=>n.dispose())}_commandExecutedListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;if(this._editorService.isSheetEditor(e)||e!==this._context.unitId)return;let n=this._editorService.getEditor(e);n&&!n.params.scrollBar&&this._resize(e)}}))}};qu=A([k(1,t.IUniverInstanceService),k(2,Z),k(3,t.ICommandService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,r.IRenderManagerService)],qu);let Ju=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._docSelectionRenderService=t,this._docImeInputManagerService=n,this._docSkeletonManagerService=r,this._docStateEmitService=i,this._commandService=a,O(this,`_previousIMEContent`,``),O(this,`_isCompositionStart`,!0),O(this,`_onStartSubscription`,void 0),O(this,`_onUpdateSubscription`,void 0),O(this,`_onEndSubscription`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._onStartSubscription)==null||e.unsubscribe(),(t=this._onUpdateSubscription)==null||t.unsubscribe(),(n=this._onEndSubscription)==null||n.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(e=>{if(e==null)return;this._resetIME();let{activeRange:n}=e;n!=null&&this._docImeInputManagerService.setActiveRange(t.Tools.deepClone(n))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(e=>{this._updateContent(e,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(e=>{this._updateContent(e,!1)})}async _updateContent(e,t){if(e==null)return;let n=this._context.unitId,r=this._docSkeletonManagerService.getSkeleton(),{event:i,activeRange:a}=e;if(r==null||a==null)return;let o=i.data;if(!(o===this._previousIMEContent&&t)){if(!t&&o===this._previousIMEContent){this._finalizeComposition(),this._resetIME();return}await this._commandService.executeCommand(Un.id,{unitId:n,newText:o,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!t}),t?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=o):this._resetIME()}}_finalizeComposition(){let e=this._docImeInputManagerService.getActiveRange();e!=null&&this._docStateEmitService.emitStateChangeInfo({commandId:n.RichTextEditingMutation.id,unitId:this._context.unitId,segmentId:e.segmentId,trigger:Un.id,redoState:{actions:[],textRanges:[e]},undoState:{actions:[],textRanges:[e]},isCompositionEnd:!0})}_resetIME(){this._previousIMEContent=``,this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};Ju=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(Hn)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,(0,t.Inject)(n.DocStateEmitService)),k(5,t.ICommandService)],Ju);let Yu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSelectionRenderService=t,this._docSkeletonManagerService=n,this._commandService=r,this._docMenuStyleService=i,O(this,`_onInputSubscription`,void 0),this._init()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async e=>{var n,r;if(e==null)return;let{unitId:i}=this._context,{event:a,content:o=``,activeRange:s}=e,c=a,l=this._docSkeletonManagerService.getSkeleton();if(c.data==null||l==null||s==null)return;let{segmentId:u}=s,d=this._context.unit.getSelfOrHeaderFooterModel(u).getBody(),f=this._docMenuStyleService.getDefaultStyle(),p=this._docMenuStyleService.getStyleCache(),m=x((n=d==null?void 0:d.customRanges)==null?[]:n,s.endOffset,t.SHEET_EDITOR_UNITS.includes(i)),h=b(d,s.endOffset,f,p,t.SHEET_EDITOR_UNITS.includes(i)),g=S((r=d==null?void 0:d.customDecorations)==null?[]:r,s.endOffset);await this._commandService.executeCommand(xe.id,{unitId:i,body:{dataStream:o,textRuns:h?[{...h,st:0,ed:o.length}]:[],customRanges:m?[{...m,startIndex:0,endIndex:o.length-1}]:[],customDecorations:g.map(e=>({...e,startIndex:0,endIndex:o.length-1}))},range:s,segmentId:u}),o===` `&&await this._commandService.executeCommand(N.id)})}};Yu=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.ICommandService),k(4,(0,t.Inject)(I))],Yu);let Xu=class extends t.Disposable{constructor(e,n,r){super(),this._context=e,this._docPageLayoutService=n,this._textSelectionManagerService=r;let i=this._context.unitId;if((0,t.isInternalEditorID)(i)&&i!==t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)return this;this._initResize()}_initResize(){this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,o.throttleTime)(0,o.animationFrameScheduler)).subscribe(()=>{this._disposed||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}))}};Xu=A([k(1,(0,t.Inject)(yu)),k(2,(0,t.Inject)(n.DocSelectionManagerService))],Xu);let Zu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._commandService=t,this._editorService=n,this._instanceSrv=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._docSelectionManagerService=o,O(this,`_loadedMap`,new WeakSet),this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){let{unitId:e}=this._context,t=p(this._context);t==null||t.document==null||this._loadedMap.has(t.document)||(this._initialMain(e),this._loadedMap.add(t.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(e=>{if(e==null)return;let{unitId:t,docRanges:n,isEditing:r,options:i}=e;t===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(n,r,i))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(e=>{e!=null&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(e,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(e){let{document:n,scene:i}=p(this._context);this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(e)||(n.cursor=r.CURSOR_TYPE.TEXT)})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n.cursor=r.CURSOR_TYPE.DEFAULT,i.resetCursor()})),this.disposeWithMe(n.onPointerDown$.subscribeEvent((i,a)=>{if(this._isEditorReadOnly(e))return;let o=this._instanceSrv.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);(o==null?void 0:o.getUnitId())!==e&&this._instanceSrv.setCurrentUnitForType(e);let s=this._docSkeletonManagerService.getSkeleton(),{offsetX:c,offsetY:l}=i,u=this._getTransformCoordForDocumentOffset(c,l);if(u!=null){let{pageLayoutType:e=r.PageLayoutType.VERTICAL,pageMarginLeft:t,pageMarginTop:i}=n.getOffsetConfig(),{editArea:a}=s.findEditAreaByCoord(u,e,t,i),o=this._docSkeletonManagerService.getViewModel(),c=o.getEditArea();c!==r.DocumentEditArea.BODY&&a!==r.DocumentEditArea.BODY&&a!==c&&o.setEditArea(a)}if(this._docSelectionRenderService.__onPointDown(i),this._editorService.getEditor(e)){this._setEditorFocus(e);let{offsetX:t,offsetY:n}=i;setTimeout(()=>{e===this._editorService.getFocusId()||this._docSelectionRenderService.isOnPointerEvent||(this._setEditorFocus(e),this._docSelectionRenderService.setCursorManually(t,n))},0)}i.button!==2&&a.stopPropagation()})),this.disposeWithMe(n.onDblclick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleDblClick(t)})),this.disposeWithMe(n.onTripleClick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleTripleClick(t)}))}_getTransformCoordForDocumentOffset(e,t){let{document:n,scene:i}=p(this._context),{documentTransform:a}=n.getOffsetConfig(),o=i.getViewports()[0];if(o==null)return;let s=o.transformVector2SceneCoord(r.Vector2.FromArray([e,t]));return a.clone().invert().applyPoint(s)}_isEditorReadOnly(e){let t=this._editorService.getEditor(e);return t?t.isReadOnly():!1}_setEditorFocus(e){this._editorService.focus(e)}_commandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){var n;let{unitId:e}=t.params;if(e!==((n=this._docSelectionManagerService.__getCurrentSelection())==null?void 0:n.unitId))return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return;let{unitId:n}=this._context;if(!(0,t.isInternalEditorID)(n)){this._docSelectionRenderService.focus();let e=Ha(this._context.unit.getSnapshot());this._docSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:n,subUnitId:n},!1)}}))}};Zu=A([k(1,t.ICommandService),k(2,Z),k(3,t.IUniverInstanceService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,(0,t.Inject)(n.DocSelectionManagerService))],Zu);function Qu(e,t,n){return t&&(e.ctrlKey||e.metaKey)}let $u=class extends t.Disposable{constructor(e,n,r,i,a,o,s,c,l){super(),this._context=e,this._contextService=n,this._docSkeletonManagerService=r,this._univerInstanceService=i,this._commandService=a,this._textSelectionManagerService=o,this._editorService=s,this._docPageLayoutService=c,this._renderManagerService=l,O(this,`_isSheetEditor`,!1),O(this,`_initTimer`,void 0),O(this,`_updateTimer`,void 0),this._initSkeletonListener(),this._initCommandExecutedListener(),this._isSheetEditor=this._context.unitId===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY;let u=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u&&this._renderManagerService.getRenderById(u.getUnitId());this._initTimer=window.setTimeout(()=>this.updateViewZoom(d&&this._isSheetEditor?d.scene.scaleX:1,!0),20),(0,t.isInternalEditorID)(this._context.unitId)||this._initZoomEventListener()}dispose(){window.clearTimeout(this._initTimer),window.clearTimeout(this._updateTimer)}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)return;let n=this._univerInstanceService.getCurrentUniverDocInstance();n&&(this._updateTimer=window.setTimeout(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=e&&this._renderManagerService.getRenderById(e.getUnitId()),i=this._isSheetEditor?(r==null?void 0:r.scene.scaleX)||1:n.zoomRatio;this.updateViewZoom(i,!1)}))}))}_initCommandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)&&t.params.unitId===this._context.unitId){let e=this._context.unit.zoomRatio||1;this.updateViewZoom(e)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{var n;(e.id===Ui.id||e.id===Yo.id&&((n=e.params)==null?void 0:n.documentFlavor)===t.DocumentFlavor.MODERN)&&this._commandService.executeCommand(Kr.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(e,n=!0){var r;let i=p(this._context);i.scene.scale(e,e),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),n&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),!(0,t.isInternalEditorID)(this._context.unitId)&&((r=i.scene.getTransformer())==null||r.clearSelectedObjects())}_initZoomEventListener(){let e=this._context.scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(e=>{let n=this._univerInstanceService.getCurrentUniverDocInstance();if(!n)return;let{documentFlavor:i}=n.getSnapshot().documentStyle;if(!Qu(e,!!this._contextService.getContextValue(t.FOCUSING_DOC),i))return;let a=(0,r.getNextWheelZoomRatio)(n.zoomRatio||1,e);this._commandService.executeCommand(Kr.id,{zoomRatio:a,documentId:n.getUnitId()}),e.preventDefault()}))}};$u=A([k(1,t.IContextService),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.IUniverInstanceService),k(4,t.ICommandService),k(5,(0,t.Inject)(n.DocSelectionManagerService)),k(6,Z),k(7,(0,t.Inject)(yu)),k(8,r.IRenderManagerService)],$u);let ed=(0,t.createInterceptorKey)(`PRINTING_COMPONENT_COLLECT`),td=(0,t.createInterceptorKey)(`PRINTING_DOM_COLLECT`);var nd=class extends t.Disposable{constructor(){super(),O(this,`_printComponentMap`,new Map),O(this,`interceptor`,new t.InterceptorManager({PRINTING_COMPONENT_COLLECT:ed,PRINTING_DOM_COLLECT:td})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}};let rd=class extends t.RxDisposable{constructor(e,t,n,r,i){super(),this._undoRedoService=e,this._commandService=t,this._univerInstanceService=n,this._docStateEmitService=r,this._renderManagerService=i,O(this,`_docStateChange$`,new o.BehaviorSubject(null)),O(this,`docStateChange$`,this._docStateChange$.asObservable()),O(this,`_historyStateCache`,new Map),O(this,`_changeStateCache`,new Map),O(this,`_historyTimer`,null),O(this,`_changeStateCacheTimer`,null),this._initialize(),this._listenDocStateChange()}getStateCache(e){var t,n;return{history:(t=this._historyStateCache.get(e))==null?[]:t,collaboration:(n=this._changeStateCache.get(e))==null?[]:n}}setStateCache(e,t){this._historyStateCache.set(e,t.history),this._changeStateCache.set(e,t.collaboration)}_setChangeState(e){this._cacheChangeState(e,`history`),this._cacheChangeState(e,`collaboration`)}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===t.UndoCommandId||e.id===t.RedoCommandId){let e=this._univerInstanceService.getCurrentUniverDocInstance();if(e==null)return;let t=e.getUnitId();this._pushHistory(t),this._emitChangeState(t)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t;if(e==null)return;let{isCompositionEnd:n,isSync:r,syncer:i,...a}=e,o=(t=this._renderManagerService.getRenderById(r?i:e.unitId))==null?void 0:t.with(Hn);if(o!=null){if(n){let e=o.fetchComposedUndoRedoMutationParams();if(e==null)throw Error(`historyParams is null in RichTextEditingMutation`);let{undoMutationParams:t,redoMutationParams:n,previousActiveRange:r}=e;a.redoState.actions=n.actions,a.undoState.actions=t.actions,a.undoState.textRanges=[r]}this._setChangeState(a)}})}_cacheChangeState(e,n=`history`){let{trigger:r,unitId:i,noHistory:a,debounce:o=!1}=e;if(a||r==null||n===`history`&&(r===t.RedoCommandId||r===t.UndoCommandId))return;let s=n===`history`?this._historyStateCache:this._changeStateCache,c=n===`history`?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(s.has(i)){let t=s.get(i);t==null||t.push(e)}else s.set(i,[e]);o?n===`history`?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{c(i)},300)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{c(i)},300)):c(i)}_pushHistory(e){let n=this._undoRedoService,r=this._historyStateCache.get(e);if(!Array.isArray(r)||r.length===0)return;let i=r.length,a=r[0].commandId,o=r[0],s=r[i-1],c={unitId:e,actions:r.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:s.redoState.textRanges},l={unitId:e,actions:r.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:o.undoState.textRanges};n.pushUndoRedo({unitID:e,undoMutations:[{id:a,params:l}],redoMutations:[{id:a,params:c}]}),r.length=0}_emitChangeState(e){let n=this._changeStateCache.get(e);if(!Array.isArray(n)||n.length===0)return;let r=n.length,{commandId:i,trigger:a,segmentId:o,noHistory:s,debounce:c}=n[0],l=n[0],u=n[r-1],d={commandId:i,unitId:e,trigger:a,redoState:{unitId:e,actions:n.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:u.redoState.textRanges},undoState:{unitId:e,actions:n.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:l.undoState.textRanges},segmentId:o,noHistory:s,debounce:c};n.length=0,this._docStateChange$.next(d)}};rd=A([k(0,(0,t.Inject)(t.IUndoRedoService)),k(1,t.ICommandService),k(2,t.IUniverInstanceService),k(3,(0,t.Inject)(n.DocStateEmitService)),k(4,r.IRenderManagerService)],rd);let id={id:P.id,preconditions:Vl,binding:i.KeyCode.ENTER},ad={id:je.id,preconditions:$,binding:i.KeyCode.BACKSPACE},od={id:Me.id,preconditions:$,binding:i.KeyCode.DELETE},sd={id:oa.id,binding:i.KeyCode.ARROW_UP,preconditions:$,staticParameters:{direction:t.Direction.UP}},cd={id:oa.id,binding:i.KeyCode.ARROW_DOWN,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},ld={id:oa.id,binding:i.KeyCode.ARROW_LEFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},ud={id:oa.id,binding:i.KeyCode.ARROW_RIGHT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},dd={id:sa.id,binding:i.KeyCode.ARROW_UP|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.UP}},fd={id:sa.id,binding:i.KeyCode.ARROW_DOWN|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},pd={id:sa.id,binding:i.KeyCode.ARROW_LEFT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},md={id:sa.id,binding:i.KeyCode.ARROW_RIGHT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},hd={id:jn.id,binding:i.KeyCode.A|i.MetaKeys.CTRL_COMMAND,preconditions:e=>e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&(e.getContextValue(t.FOCUSING_DOC)||e.getContextValue(t.EDITOR_ACTIVATED))},gd=class extends t.Plugin{constructor(e=ru,n,r,i,a,o){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._commandService=i,this._logService=a,this._configService=o;let{menu:s,...c}=(0,t.merge)({},ru,this._config);s&&this._configService.setConfig(`menu`,s,{merge:!0}),this._configService.setConfig(nu,c),this._initDependencies(n),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),(0,t.touchDependencies)(this._injector,[[rd],[Su]])}onRendered(){this._initRenderModules(),(0,t.touchDependencies)(this._injector,[[Du],[Ru],[Lo],[Vu],[gu]])}_initCommand(){[je,Me,Gn,qn,Yn,Zn,$n,tr,rr,ar,sr,dr,lr,pr,B,xe,Se,Te,bn,Ce,Ee,De,q,Pr,jr,Dr,Vr,Hr,Ur,Br,Wr,kn,Wi,ea,Xi,Zi,ta,Qi,$i,Gi,Ki,qi,co,na,M,N,P,Ar,Or,Mr,Nr,Fr,Un,Ui,vo,me,ye,br,yr,xr,Kr,jn,Ro,oa,sa,Tr,wr,Er,J,Yr,Le,gn,vn,Zr,Qr,$r,ei,ti,ni,ri,ii,Lr,Rr,zr,An,Yo,Xo].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))}),[hn,_n,yn].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_initializeShortcut(){[sd,cd,ud,ld,dd,fd,pd,md,hd,ad,od,id,Ul].forEach(e=>{this._injector.get(i.IShortcutService).registerShortcut(e)})}_initDependencies(e){(0,t.mergeOverrideWithDependencies)([[nd],[Uu],[qu],[gu],[Du],[Vu],[Ru],[Lo],[Z,{useClass:Ga}],[dn,{useClass:fn}],[Oc],[Su],[rd],[j],[On],[I]],this._config.override).forEach(t=>e.add(t))}_markDocAsFocused(){let e=this._injector.get(t.IUniverInstanceService),n=this._injector.get(Z);try{let r=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!r)return;let i=r.getUnitId();n.isEditor(i)||e.focusUnit(r.getUnitId())}catch(e){this._logService.warn(e)}}_initRenderBasics(){[[n.DocSkeletonManagerService],[Y],[n.DocInterceptorService],[yu],[Hn],[Cu],[$u]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}_initRenderModules(){[[Fc],[Gc],[Yc],[vu],[Zu],[to],[Xu],[Gu],[Hu],[Uu],[Yu],[Ju],[qu]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}};O(gd,`pluginName`,`DOC_UI_PLUGIN`),O(gd,`packageName`,Tu),O(gd,`version`,Eu),gd=A([(0,t.DependentOn)(r.UniverRenderEnginePlugin),k(1,(0,t.Inject)(t.Injector)),k(2,r.IRenderManagerService),k(3,t.ICommandService),k(4,t.ILogService),k(5,t.IConfigService)],gd);function _d(e){let{editorId:n,initialValue:r,container:a,autoFocus:o,isSingle:c,canvasStyle:l}=e,u=(0,s.useMemo)(()=>o==null?!1:o,[]),[d,f]=(0,s.useState)(),p=(0,i.useDependency)(Z);return(0,s.useLayoutEffect)(()=>{if(a.current){let o=typeof r==`string`?void 0:t.Tools.deepClone(r),s={body:{dataStream:typeof r==`string`?`${r}\r\n`:`\r
347
+ `,style:{left:S.left,top:S.top,width:Math.max(60,S.right-S.left)}})]})};function _l(e,t){if(t.id===`doc.menu.insert-bellow`)return!0;let n=e.toLowerCase();return n.includes(`insert`)&&(n.includes(`below`)||n.includes(`bellow`))||n.includes(`insert`)&&n.includes(`image`)?!0:n===`doc.command.create-table`||n===`doc.operation.create-table`}function vl(){return(0,u.jsx)(`span`,{className:`univer-grid univer-h-3.5 univer-w-2 univer-grid-cols-2 univer-place-items-center univer-gap-x-0.5 univer-gap-y-px`,"aria-hidden":`true`,children:Array.from({length:6}).map((e,t)=>(0,u.jsx)(`span`,{className:`univer-size-0.5 univer-rounded-full univer-bg-gray-400 univer-transition-colors group-hover:univer-bg-gray-500 dark:!univer-bg-gray-500 dark:group-hover:!univer-bg-gray-300`},t))})}let yl=e=>{let r=e.get(n.DocSelectionManagerService);return new o.Observable(e=>{let n=r.textSelection$.subscribe(()=>{r.getDocRanges().some(e=>e.collapsed===!1||e.rangeType===t.DOC_RANGE_TYPE.RECT)?e.next(!1):e.next(!0)});return()=>n.unsubscribe()})};function bl(e){if(e.length<2)return!0;let t=e.map(e=>e.tableId);return t.every(e=>e===t[0])}function xl(e,t,n){let r=t.getRectRanges(),i=t.getActiveTextRange();if(r&&r.length&&bl(r)&&i==null){e.next(!1);return}if(i&&(r==null||r.length===0)){var a;let{segmentId:t,startOffset:r,endOffset:o}=i,s=n.getCurrentUniverDocInstance(),c=s==null||(a=s.getSelfOrHeaderFooterModel(t).getBody())==null?void 0:a.tables;if(c&&c.length&&c.some(e=>{let{startIndex:t,endIndex:n}=e;return r>t&&r<n||o>t&&o<n})){e.next(!1);return}}e.next(!0)}let Sl=e=>{let r=e.get(n.DocSelectionManagerService),i=e.get(t.IUniverInstanceService);return new o.Observable(e=>{let t=r.textSelection$.subscribe(()=>{xl(e,r,i)});return xl(e,r,i),()=>t.unsubscribe()})},Cl=e=>({id:hn.name,commandId:hn.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.copy`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),wl=e=>({id:Ro.id,type:i.MenuItemType.BUTTON,icon:`MenuIcon`,title:`docs-ui.doc.menu.paragraphSetting`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Tl=e=>({id:_n.id,type:i.MenuItemType.BUTTON,icon:`CopyDoubleIcon`,title:`docs-ui.rightClick.cut`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),El=e=>({id:yn.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.paste`,hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Dl=e=>({id:je.id,type:i.MenuItemType.BUTTON,icon:`PasteSpecialDoubleIcon`,title:`docs-ui.rightClick.delete`,disabled$:yl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}),Ol=`doc.menu.table-insert`;function kl(e){return{id:Ol,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.insert`,icon:`InsertDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Al(e){return{id:Xi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowAbove`,icon:`InsertRowAboveDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function jl(e){return{id:Zi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertRowBelow`,icon:`InsertRowBelowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ml(e){return{id:Qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnLeft`,icon:`LeftInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Nl(e){return{id:$i.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.insertColumnRight`,icon:`RightInsertColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let Pl=`doc.menu.table-delete`;function Fl(e){return{id:Pl,type:i.MenuItemType.SUBITEMS,title:`docs-ui.table.delete`,icon:`ReduceDoubleIcon`,hidden$:(0,o.combineLatest)((0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC),Sl(e),(e,t)=>e||t)}}function Il(e){return{id:Gi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteRows`,icon:`DeleteRowDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Ll(e){return{id:Ki.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteColumns`,icon:`DeleteColumnDoubleIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}function Rl(e){return{id:qi.id,type:i.MenuItemType.BUTTON,title:`docs-ui.table.deleteTable`,icon:`GridIcon`,disabled$:Sl(e),hidden$:(0,i.getMenuHiddenObservable)(e,t.UniverInstanceType.UNIVER_DOC)}}let zl={[fs]:{[ds]:{order:0,menuItemFactory:gs}}},Bl={...zl,[i.RibbonStartGroup.FORMAT]:{[Gn.id]:{order:0,menuItemFactory:ns},[qn.id]:{order:1,menuItemFactory:rs},[Yn.id]:{order:2,menuItemFactory:is},[Zn.id]:{order:3,menuItemFactory:as},[$n.id]:{order:4,menuItemFactory:os},[tr.id]:{order:5,menuItemFactory:ss},[J.id]:{order:5.5,menuItemFactory:us},[rr.id]:{order:6,menuItemFactory:ls},[ar.id]:{order:7,menuItemFactory:cs},[sr.id]:{order:8,menuItemFactory:_s},[lr.id]:{order:9,menuItemFactory:Ns,[dr.id]:{order:0,menuItemFactory:Ms}}},[i.RibbonStartGroup.LAYOUT]:{[Br.id]:{order:2,menuItemFactory:Ts},[Pr.id]:{order:7,menuItemFactory:Os},[jr.id]:{order:8,menuItemFactory:ks},[so.id]:{order:10,menuItemFactory:vs},[Ui.id]:{order:11,menuItemFactory:js},[Xo.id]:{order:12,menuItemFactory:Is}},[i.RibbonInsertGroup.MEDIA]:{[bs]:{order:2,menuItemFactory:xs,[aa.id]:{order:0,menuItemFactory:Ss}},[kn.id]:{order:3,menuItemFactory:Es},[Mr.id]:{order:4,menuItemFactory:As}},[i.ContextMenuPosition.MAIN_AREA]:{[i.ContextMenuGroup.QUICK]:{quickLayout:`tile`,[hn.name]:{order:0,menuItemFactory:Cl},[_n.id]:{order:1,menuItemFactory:Tl},[yn.id]:{order:2,menuItemFactory:El}},[i.ContextMenuGroup.FORMAT]:{[je.id]:{order:0,menuItemFactory:Dl}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[Ol]:{order:1,menuItemFactory:kl,[Xi.id]:{order:1,menuItemFactory:Al},[Zi.id]:{order:2,menuItemFactory:jl},[Qi.id]:{order:3,menuItemFactory:Ml},[$i.id]:{order:4,menuItemFactory:Nl}},[Pl]:{order:2,menuItemFactory:Fl,[Gi.id]:{order:1,menuItemFactory:Il},[Ki.id]:{order:2,menuItemFactory:Ll},[qi.id]:{order:3,menuItemFactory:Rl}}}},[i.ContextMenuPosition.PARAGRAPH]:{[i.ContextMenuGroup.QUICK]:{[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ri.id]:{order:-1,menuItemFactory:Ys},[ii.id]:{order:-1,menuItemFactory:Xs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.FORMAT]:{[gn.id]:{order:0,menuItemFactory:lc},[vn.id]:{order:1,menuItemFactory:uc},[Le.id]:{order:2,menuItemFactory:dc}},[i.ContextMenuGroup.LAYOUT]:{[Ro.id]:{order:0,menuItemFactory:wl},[gc]:{order:1,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[_c]:{[i.ContextMenuGroup.QUICK]:{order:-2,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:Us},[Qr.id]:{order:1,menuItemFactory:Ws},[$r.id]:{order:2,menuItemFactory:Gs},[ei.id]:{order:3,menuItemFactory:Ks},[ti.id]:{order:4,menuItemFactory:qs},[ni.id]:{order:5,menuItemFactory:Js}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}},[Qs]:{[i.ContextMenuGroup.QUICK]:{order:-1,quickLayout:`icon`,[Zr.id]:{order:0,menuItemFactory:$s},[Qr.id]:{order:1,menuItemFactory:ec},[$r.id]:{order:2,menuItemFactory:tc},[ei.id]:{order:3,menuItemFactory:nc},[ti.id]:{order:4,menuItemFactory:rc},[ni.id]:{order:5,menuItemFactory:ic}},[i.ContextMenuGroup.LAYOUT]:{order:1,[Ro.id]:{order:0,menuItemFactory:wl},[jr.id]:{order:1,menuItemFactory:oc},[Pr.id]:{order:2,menuItemFactory:ac},[Mr.id]:{order:3,menuItemFactory:sc},[kn.id]:{order:4,menuItemFactory:cc},[aa.id]:{order:5,menuItemFactory:Cs}}},[vc]:{[i.ContextMenuGroup.FORMAT]:{[hn.name]:{order:0,menuItemFactory:bc},[yn.id]:{order:1,menuItemFactory:xc},[qi.id]:{order:2,menuItemFactory:Sc}},[i.ContextMenuGroup.LAYOUT]:{[gc]:{order:0,menuItemFactory:Cc,[Lr.id]:{order:0,menuItemFactory:fc},[Rr.id]:{order:1,menuItemFactory:pc},[zr.id]:{order:2,menuItemFactory:mc},[An.id]:{order:3,menuItemFactory:hc},[aa.id]:{order:4,menuItemFactory:Cs}}}}}};function $(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}function Vl(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&!e.getContextValue(t.FOCUSING_COMMON_DRAWINGS)}let Hl={id:M.id,binding:i.KeyCode.TAB,preconditions:$},Ul={id:M.id,binding:i.KeyCode.TAB|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{shift:!0}},Wl={id:Gn.id,binding:i.KeyCode.B|i.MetaKeys.CTRL_COMMAND,preconditions:$},Gl={id:qn.id,binding:i.KeyCode.I|i.MetaKeys.CTRL_COMMAND,preconditions:$},Kl={id:Yn.id,binding:i.KeyCode.U|i.MetaKeys.CTRL_COMMAND,preconditions:$},ql={id:Zn.id,binding:i.KeyCode.X|i.MetaKeys.SHIFT|i.MetaKeys.CTRL_COMMAND,preconditions:$},Jl={id:$n.id,binding:i.KeyCode.COMMA|i.MetaKeys.CTRL_COMMAND,preconditions:$},Yl={id:tr.id,binding:i.KeyCode.PERIOD|i.MetaKeys.CTRL_COMMAND,preconditions:$},Xl={id:Vr.id,binding:i.KeyCode.L|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Zl={id:Ur.id,binding:i.KeyCode.R|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},Ql={id:Hr.id,binding:i.KeyCode.E|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},$l={id:Wr.id,binding:i.KeyCode.J|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},eu={id:Pr.id,binding:i.KeyCode.Digit7|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},tu={id:jr.id,binding:i.KeyCode.Digit8|i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT,preconditions:$},nu=`docs-ui.config`,ru={toc:!1,footer:!0},iu=[50,80,100,130,150,170,200,400],au=[10,400];function ou(){let e=(0,i.useDependency)(t.ICommandService),n=(0,i.useDependency)(t.IUniverInstanceService),[r,a]=(0,s.useState)(null),[o,c]=(0,s.useState)(100),l=(0,s.useCallback)(()=>{var e,t;if(!r)return 100;let n=((e=(t=r.getSettings())==null?void 0:t.zoomRatio)==null?1:e)*100;return Math.round(n)},[r]);(0,s.useEffect)(()=>{let e=n.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC).subscribe(e=>{e&&(a(e),c(l()))});return()=>{e.unsubscribe()}},[n,l]),(0,s.useEffect)(()=>e.onCommandExecuted(e=>{e.id===q.id&&c(l())}).dispose,[e,l]);function d(t){if(c(t),r==null)return;let n=t/100;e.executeCommand(q.id,{unitId:r.getUnitId(),zoomRatio:n})}return(0,u.jsx)(i.Slider,{min:au[0],value:o,shortcuts:iu,onChange:d})}function su(e){return(0,u.jsx)(`section`,{className:`univer-flex univer-flex-shrink-0 univer-justify-end`,children:(0,u.jsx)(ou,{})})}function cu(){var e;let t=(0,i.useConfigValue)(nu);return((e=t==null?void 0:t.footer)==null?!0:e)&&(0,u.jsxs)(`div`,{className:`univer-box-border univer-flex univer-items-center univer-justify-between univer-px-5 univer-py-1.5`,children:[(0,u.jsx)(`div`,{}),(0,u.jsx)(su,{})]})}function lu(){let e=(0,i.useDependency)(t.IUniverInstanceService),n=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]),r=(0,i.useObservable)(()=>e.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SLIDE),void 0,void 0,[]);return n||r?null:(0,u.jsx)(cu,{})}let uu=(0,s.forwardRef)((e,t)=>{let{menus:n,onClick:r,className:i,style:a,mode:o,maxHeight:c,activeId:d,open:f,onOpenChange:p,maxWidth:m,wrapperClass:h,wrapperStyle:g,iconClass:_,iconStyle:v}=e,y=o===`side-bar`,b=(0,s.useRef)(null),x=(0,s.useRef)(n);x.current=n;let S=(0,s.useMemo)(()=>({scrollTo:e=>{var t;if(!x.current||x.current.findIndex(t=>t.id===e)===-1||!b.current)return;let n=document.getElementById(`univer-side-menu-${e}`);if(!n)return;let r=n.offsetTop,i=b.current.clientHeight,a=b.current.scrollHeight-i,o=Math.max(0,Math.min(r-i/2+n.clientHeight/2,a));(t=b.current)==null||t.scrollTo({behavior:`smooth`,top:o})}}),[]);return(0,s.useImperativeHandle)(t,()=>S),(0,s.useEffect)(()=>{d&&S.scrollTo(d)},[d,S]),(0,u.jsxs)(`div`,{className:(0,l.clsx)(`univer-relative`,h),style:g,children:[(0,u.jsx)(`div`,{onClick:()=>p==null?void 0:p(!f),className:(0,l.clsx)(`univer-absolute univer-left-5 univer-top-4 univer-z-[100] univer-flex univer-size-8 univer-cursor-pointer univer-items-center univer-justify-center univer-rounded-full univer-bg-white univer-text-gray-800 univer-shadow-sm dark:!univer-bg-gray-600 dark:!univer-text-gray-200`,_),style:v,children:f?(0,u.jsx)(Na,{}):(0,u.jsx)(ha,{})}),(0,u.jsx)(`div`,{className:(0,l.clsx)(i,`univer-absolute univer-left-0 univer-top-0 univer-box-border univer-flex univer-min-w-[180px] univer-flex-col univer-px-4 univer-pb-4 univer-pt-14 univer-transition-all univer-duration-300`,{"univer-rounded-r-2xl univer-bg-white univer-shadow univer-backdrop-blur-[10px] dark:!univer-bg-gray-900":y}),style:{...a,transform:f?`translateX(0)`:`translateX(-100%)`,maxHeight:c,opacity:+!!f,maxWidth:m==null?o===`side-bar`?320:180:m,paddingRight:o===`float`?void 0:0},children:(0,u.jsx)(`div`,{ref:b,className:(0,l.clsx)(`univer-flex-1 univer-overflow-y-auto univer-overflow-x-hidden`,l.scrollbarClassName),children:n==null?void 0:n.map(e=>(0,u.jsx)(`div`,{id:`univer-side-menu-${e.id}`,className:(0,l.clsx)(`univer-font-[500] univer-truncate univer-h-[24px] univer-mb-2 univer-leading-[24px] univer-cursor-pointer univer-pr-1 `,{"univer-text-base univer-font-semibold":e.isTitle,"univer-text-sm univer-font-semibold":e.level===1,"univer-text-sm":e.level>1,"univer-text-gray-500 dark:!univer-text-gray-400":e.id!==d,"univer-text-gray-800 dark:!univer-text-gray-200":e.id===d}),style:{paddingLeft:(e.level-1)*12},onClick:()=>{r==null||r(e)},children:e.text},e.id))})})]})}),du=e=>{switch(e){case t.NamedStyleType.HEADING_1:return 1;case t.NamedStyleType.HEADING_2:return 2;case t.NamedStyleType.HEADING_3:return 3;case t.NamedStyleType.HEADING_4:return 4;case t.NamedStyleType.HEADING_5:return 5;case t.NamedStyleType.TITLE:return 1;default:return 1}};function fu(e,t,n,r){if(!e)return;let i=Array.from(e.values()),a=i.findIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);if(a===-1)return;let o=i==null?void 0:i.findLastIndex(e=>e.paragraphStart!==e.paragraphEnd&&e.rect.top<r&&e.rect.bottom>n);for(let e=a;e<=o;e++){var s;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(s=r.paragraphStyle)==null)&&s.headingId)return r.paragraphStyle.headingId}for(let e=a;e>=0;e--){var c;let n=i[e],r=t.get(n.startIndex);if(!(r==null||(c=r.paragraphStyle)==null)&&c.headingId)return r.paragraphStyle.headingId}}let pu=`__title`;function mu(){let e=(0,i.useConfigValue)(nu);return e!=null&&e.toc?(0,u.jsx)(hu,{}):null}function hu(){var e,a,c,l,d,f,p,m,h;let g=(0,i.useDependency)(t.ICommandService),_=(0,i.useDependency)(t.IUniverInstanceService),v=(0,i.useObservable)((0,s.useMemo)(()=>_.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_DOC),[])),y=(0,i.useDependency)(r.IRenderManagerService),b=(e=v==null||(a=v.getBody())==null?void 0:a.dataStream)==null?``:e,[x,S]=(0,s.useState)(0),[C,w]=(0,s.useState)(void 0),T=(c=v==null?void 0:v.getUnitId())==null?``:c,E=y.getRenderById(T),D=v==null?void 0:v.getTitle(),O=E==null?void 0:E.with(Fc),k=O==null?void 0:O.paragraphBounds,A=(l=E==null||(d=E.mainComponent)==null?void 0:d.left)==null?0:l,j=(f=E==null?void 0:E.engine.height)==null?0:f,M=(p=E==null?void 0:E.scene.scaleY)==null?1:p,N=(m=v==null||(h=v.getBody())==null?void 0:h.paragraphs)==null?[]:m,P=(0,s.useMemo)(()=>{let e=new Map;return N.forEach(t=>{e.set(t.startIndex,t)}),e},[N]);(0,i.useObservable)((0,s.useMemo)(()=>E!=null&&E.engine.onTransformChange$?(0,t.fromEventSubject)(E==null?void 0:E.engine.onTransformChange$).pipe((0,o.throttleTime)(33)):(0,o.of)(null),[E==null?void 0:E.engine.onTransformChange$]));let F=A<180?`float`:`side-bar`,I=1/0,L=N==null?void 0:N.filter(e=>{var n;return((n=e.paragraphStyle)==null?void 0:n.namedStyleType)!==void 0&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.SUBTITLE&&e.paragraphStyle.namedStyleType!==t.NamedStyleType.NORMAL_TEXT}).map(e=>{var n;let r=du(e.paragraphStyle.namedStyleType);I=Math.min(I,r);let i=k==null?void 0:k.get(e.startIndex);if(!i)return null;let{paragraphStart:a,paragraphEnd:o}=i;return{id:e.paragraphStyle.headingId,text:(0,t.getPlainText)(b.slice(a,o)),level:r,isTitle:((n=e.paragraphStyle)==null?void 0:n.namedStyleType)===t.NamedStyleType.TITLE}}).filter(e=>e==null?void 0:e.text),R=(0,i.useEvent)(e=>{let t=e.viewportScrollY,n=fu(k,P,t,t+j/M);n&&w(n)}),z=L!=null&&L.find(e=>e.isTitle)?L:[...D?[{id:pu,text:D,level:1,isTitle:!0}]:[],...L==null?[]:L].filter(Boolean),[B,V]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=(0,t.debounce)(S,100),r=g.onCommandExecuted(t=>{t.id===n.RichTextEditingMutation.id&&t.params.unitId===(v==null?void 0:v.getUnitId())&&e(e=>e+1)});return()=>{r.dispose()}},[g,v]),(0,s.useEffect)(()=>{let e=E==null?void 0:E.scene.getViewport(`viewMain`);if(!e)return;let n=(0,t.fromEventSubject)(e.onScrollAfter$).pipe((0,o.throttleTime)(33)).subscribe(R);return()=>{n.unsubscribe()}},[E]);let H=(0,i.useEvent)(e=>{let t=E==null?void 0:E.scene.getViewport(`viewMain`);if(!t)return;if(e.id===pu){t.scrollToViewportPos({viewportScrollY:0});return}let n=N.find(t=>{var n;return((n=t.paragraphStyle)==null?void 0:n.headingId)===e.id});if(!n)return;let r=k==null?void 0:k.get(n.startIndex);r&&(t.scrollToViewportPos({viewportScrollY:r.rect.top}),w(e.id))});return!v||(0,t.isInternalEditorID)(T)||!(z!=null&&z.length)?null:(0,u.jsx)(`div`,{className:`univer-absolute univer-bottom-0 univer-left-0 univer-top-0 univer-z-[100] univer-w-[0px]`,children:(0,u.jsx)(uu,{menus:z,open:B,onOpenChange:V,mode:F,maxWidth:F===`float`?void 0:Math.floor(A)-10,wrapperClass:`univer-mt-12`,activeId:C,onClick:H,maxHeight:j-48})})}let gu=class extends t.Disposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._injector=e,this._componentManager=t,this._commandService=n,this._layoutService=r,this._menuManagerService=i,this._uiPartsService=a,this._univerInstanceService=o,this._shortcutService=s,this._configService=c,this._init()}_initCustomComponents(){[[_o,ho],[go,po],[`TodoListDoubleIcon`,Va],[`doc.paragraph.menu`,gl],[`DeleteIcon`,_a],[Wo,Uo],[`DocumentSettingIcon`,ya]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}_initUiParts(){this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.FOOTER,()=>(0,i.connectInjector)(lu,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(i.BuiltInUIPart.CONTENT,()=>(0,i.connectInjector)(mu,this._injector)))}_initMenus(){this._menuManagerService.appendRootMenu(zl),this._menuManagerService.mergeMenu(Bl)}_initShortCut(){[Wl,Gl,Kl,ql,Jl,Yl,Ql,$l,Zl,Xl,eu,tu,Hl].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[oo,so,no].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(t.UniverInstanceType.UNIVER_DOC,e=>{this._injector.get(r.IRenderManagerService).getRenderById(e).with(Y).focus()}))}};gu=A([k(0,(0,t.Inject)(t.Injector)),k(1,(0,t.Inject)(i.ComponentManager)),k(2,t.ICommandService),k(3,i.ILayoutService),k(4,i.IMenuManagerService),k(5,i.IUIPartsService),k(6,t.IUniverInstanceService),k(7,i.IShortcutService),k(8,t.IConfigService)],gu);let _u=1.5,vu=class extends t.RxDisposable{constructor(e,t,n,r){super(),this._context=e,this._textSelectionManagerService=t,this._editorService=n,this._docSkeletonManagerService=r,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let{isEditing:n,unitId:r}=e;r!==this._context.unitId||!n||this._context.unitId!==t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._scrollToSelection()})}scrollToRange(e){let t=this._docSkeletonManagerService.getSkeleton();if(!t)return;let{startOffset:n}=e,r=t.findNodePositionByCharIndex(n);r&&this.scrollToNode(r)}scrollToNode(e){var t;let{unitId:n,scene:r,mainComponent:i}=this._context,a=this._docSkeletonManagerService.getSkeleton();if(i==null||a==null)return;let o=i.getOffsetConfig(),{docsLeft:s,docsTop:c}=o,{contentBoxPointGroup:l}=new fi(o,a).getRangePointData(e,e),{left:u,top:d,height:f}=Ai(l),p=u+s,m=d+c,h=r.getViewport(`viewMain`),g=this._editorService.getEditor(n);if(h==null)return;let{left:_,top:v,right:y,bottom:b}=h.getBounding().viewBound,x=0,S=0,C=g?(t=g.params.backScrollOffset)==null?0:t:100;m<v?x=m-v-C:m>b-f&&(x=m-b+f+C),p<_?S=p-_:p>y-_u&&(S=p-y+_u);let w=h.transViewportScroll2ScrollValue(S,x);h.scrollByBarDeltaValue(w)}_scrollToSelection(){let e=this._textSelectionManagerService.getActiveTextRange();if(e==null)return;let{collapsed:t,startNodePosition:n}=e;t&&this.scrollToNode(n)}};vu=A([k(1,(0,t.Inject)(n.DocSelectionManagerService)),k(2,Z),k(3,(0,t.Inject)(n.DocSkeletonManagerService))],vu);var yu=class extends t.Disposable{constructor(e){super(),this._context=e}calculatePagePosition(){var e,t;if(this._disposed)return;let n=p(this._context),r=(e=(t=this._context.unit.getSettings())==null?void 0:t.zoomRatio)==null?1:e,{document:i,scene:a,docBackground:o}=n,s=a==null?void 0:a.getParent(),{width:c,height:l,pageMarginLeft:u,pageMarginTop:d}=i;if(s==null||c===1/0||l===1/0)return;let{width:f,height:m}=s,h=0,g=d,_=0,v=0,y=1/0;f>(c+u*2)*r?(h=f/2-c*r/2,h/=r,_=(f-u*2)/r,y=0):(h=u,_=c+u*2,y=(_-f/r)/2),v=m>l?(m-d*2)/r:l+d*2,a.resize(_,v),f<=1&&(h=-1e4,g=-1e4),i.translate(h,g),o.translate(h,g);let b=a.getViewport(`viewMain`);return y!==1/0&&b!=null&&b.scrollToViewportPos({viewportScrollX:y}),this}};let bu=`univer-doc-main-canvas`;function xu(e){return e===t.DocumentFlavor.MODERN?`#fff`:`#fafafa`}let Su=class extends t.RxDisposable{constructor(e,t){super(),this._instanceSrv=e,this._renderManagerService=t,this._init()}_init(){this._renderManagerService.createRender$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderWithId(e)),this._instanceSrv.getAllUnitsForType(t.UniverInstanceType.UNIVER_DOC).forEach(e=>this._createRenderer(e)),this._instanceSrv.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._createRenderer(e.unit)),this._instanceSrv.getTypeOfUnitDisposed$(t.UniverInstanceType.UNIVER_DOC).pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>this._disposeRenderer(e))}_createRenderer(e){let t=e.getUnitId();this._renderManagerService.created$.subscribe(n=>{if(n.unitId===t){let t=e.getSnapshot().documentStyle.documentFlavor,r=n.engine.getCanvas();r.setId(bu),r.getContext().setId(bu),r.getCanvasEle().style.backgroundColor=xu(t)}}),this._renderManagerService.has(t)||this._createRenderWithId(t)}_createRenderWithId(e){this._renderManagerService.createRender(e)}_disposeRenderer(e){let t=e.getUnitId();this._renderManagerService.removeRender(t)}};Su=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService)],Su);let Cu=class extends t.RxDisposable{constructor(e,t,n,r,i,a,o,s,c){super(),this._context=e,this._commandService=t,this._docSelectionRenderService=n,this._docSkeletonManagerService=r,this._editorService=i,this._renderManagerService=a,this._univerInstanceService=o,this._docPageLayoutService=s,this._textSelectionManagerService=c,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(e){var t;let r=(t=this._renderManagerService.getRenderById(e))==null?void 0:t.with(n.DocSkeletonManagerService),i=r==null?void 0:r.getSkeleton();if(!i||i.getViewModel().getDataModel().getSnapshot().disabled)return;i.calculate();let a=this._editorService.getEditor(e);if(this._editorService.isEditor(e)&&!(a!=null&&a.params.scrollBar)){var o;(o=this._context.mainComponent)==null||o.makeDirty();return}this._recalculateSizeBySkeleton(i),this._refreshPagePositionAndSelection()}_addNewRender(){let{scene:e,engine:n}=this._context,i=new r.Viewport(`viewMain`,e,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});e.attachControl(),e.onMouseWheel$.subscribeEvent((n,r)=>{let a=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if((a==null?void 0:a.getUnitId())!==this._context.unitId)return;let o=n;if(o.ctrlKey){let t=Math.abs(o.deltaX),n=t<40?.2:t<80?.4:.2;n*=o.deltaY>0?-1:1,e.scaleX<1&&(n/=2),e.scaleX+n>4?e.scale(4,4):e.scaleX+n<.1?e.scale(.1,.1):o.preventDefault()}else i.onMouseWheel(o,r)}),new r.ScrollBar(i),e.addLayer(new r.Layer(e,[],2),new r.Layer(e,[],4)),this._addComponent();let a=()=>e.render();this.disposeWithMe(this._context.activated$.subscribe(e=>{e?n.runRenderLoop(a):n.stopRenderLoop(a)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){let{scene:e,unit:t,components:n}=this._context,i={pageMarginLeft:20,pageMarginTop:20,...this._getEditorBackgroundConfig()},a=new r.Documents(`__Document_Render_Main__`,void 0,i);a.zIndex=10;let o=new r.DocBackground(`__Document_Render_Background__`,void 0,i);o.zIndex=10,this._context.mainComponent=a,n.set(`__Document_Render_Main__`,a),n.set(`__Document_Render_Background__`,o),e.addObjects([a],2),e.addObjects([o],0),this._editorService.getEditor(t.getUnitId())==null&&e.enableLayerCache(2)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{this._create(e)})}_create(e){if(!e)return;let{mainComponent:t,components:n}=this._context,r=t,i=n.get(`__Document_Render_Background__`);r.changeSkeleton(e),i.changeSkeleton(e),this._syncCanvasBackground();let{unitId:a}=this._context,o=this._editorService.getEditor(a);if(this._editorService.isEditor(a)&&!(o!=null&&o.params.scrollBar)){var s;(s=this._context.mainComponent)==null||s.makeDirty();return}this._recalculateSizeBySkeleton(e),this._refreshPagePositionAndSelection()}_initCommandListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;this.reRender(e)}}))}_refreshPagePositionAndSelection(){this._editorService.isEditor(this._context.unitId)||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}_recalculateSizeBySkeleton(e){var n;let{mainComponent:i,scene:a,unitId:o,components:s}=this._context,c=i,l=s.get(`__Document_Render_Background__`),u=(n=e.getSkeletonData())==null?void 0:n.pages;if(u==null)return;let d=0,f=0,p=this._context.unit.getSnapshot().documentStyle.documentFlavor;this._syncCanvasBackground(p);for(let e=0,n=u.length;e<n;e++){let i=u[e],{pageWidth:a,pageHeight:o}=i;if(p===t.DocumentFlavor.MODERN){let e=wu(i);a=e.pageWidth,o=e.pageHeight}c.pageLayoutType===r.PageLayoutType.VERTICAL?(f+=o,f+=c.pageMarginTop,e===n-1&&(f+=c.pageMarginTop),d=Math.max(d,a)):c.pageLayoutType===r.PageLayoutType.HORIZONTAL&&(d+=a,e!==n-1&&(d+=c.pageMarginLeft),f=Math.max(f,o))}c.resize(d,f),l.resize(d,f);let m=this._editorService.getEditor(o);(!this._editorService.isEditor(o)||m!=null&&m.params.scrollBar)&&a.resize(d,f)}_syncCanvasBackground(e=this._context.unit.getSnapshot().documentStyle.documentFlavor){var t,n;let r=this._editorService.getEditor(this._context.unitId),i=r==null||(t=r.params.canvasStyle)==null?void 0:t.backgroundColor;this._context.engine.getCanvas().getCanvasEle().style.backgroundColor=i==null?xu(e):i;let a=this._context.components.get(`__Document_Render_Background__`);a==null||(n=a.setFillColors)==null||n.call(a,i,i,i,i)}_getEditorBackgroundConfig(){var e;let t=(e=this._editorService.getEditor(this._context.unitId))==null||(e=e.params.canvasStyle)==null?void 0:e.backgroundColor;return t==null?{}:{backgroundFillColor:t,pageFillColor:t,pageStrokeColor:t,marginStrokeColor:t}}};Cu=A([k(1,t.ICommandService),k(2,(0,t.Inject)(Y)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,Z),k(5,r.IRenderManagerService),k(6,t.IUniverInstanceService),k(7,(0,t.Inject)(yu)),k(8,(0,t.Inject)(n.DocSelectionManagerService))],Cu);function wu(e){let{pageWidth:t,pageHeight:n}=e,{marginLeft:r,marginRight:i,marginTop:a,marginBottom:o,skeDrawings:s,skeTables:c}=e;t===1/0&&(t=e.width+r+i),n===1/0&&(n=e.height+a+o);for(let e of s.values())t=Math.max(t,e.aLeft+e.width+r+i),n=Math.max(n,e.aTop+e.height+a+o);for(let e of c.values())t=Math.max(t,e.left+e.width+r+i),n=Math.max(n,e.top+e.height+a+o);return{pageWidth:t,pageHeight:n}}var Tu=`@univerjs/docs-ui`,Eu=`0.25.1`;let Du=class extends t.Disposable{constructor(e,t){super(),this._docAutoFormatService=e,this._renderManagerService=t,this._initListTabAutoFormat(),this._initSpaceAutoFormat(),this._initDefaultEnterFormat(),this._initExitListAutoFormat()}_initListTabAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,paragraphs:n,unit:r}=e;if(n.length===1&&t.startOffset===n[0].paragraphStart&&n[0].bullet){var i;let e=(i=r.getBody())==null?void 0:i.paragraphs,t=e==null?void 0:e.filter(e=>{var t;return((t=e.bullet)==null?void 0:t.listId)===n[0].bullet.listId});return(t==null?void 0:t.findIndex(e=>e.startIndex===n[0].startIndex))!==0}else if(n.length>1&&n.some(e=>e.bullet))return!0;return!1},getMutations(e){let t=e.commandParams;return[{id:Ar.id,params:{type:t!=null&&t.shift?-1:1}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:M.id,match:e=>{let{selection:t,unit:r}=e,{startNodePosition:i,endNodePosition:a}=t,o=this._renderManagerService.getRenderById(r.getUnitId()),s=o==null?void 0:o.with(n.DocSkeletonManagerService).getSkeleton();return s==null?!1:!!(i&&a&&_i(s,i,a)||i&&!a&&i.path.indexOf(`cells`)>-1)},getMutations(e){let t=e.commandParams;return[{id:na.id,params:{shift:!!(t!=null&&t.shift)}}]},priority:99}))}_initSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:N.id,match:e=>{var n;let{selection:r,paragraphs:i,unit:a}=e;if(!r.collapsed||i.length!==1||!r.collapsed)return!1;let o=(n=a.getBody())==null?void 0:n.dataStream.slice(i[0].paragraphStart,r.startOffset-1);return!!(o&&(Object.keys(t.QuickListTypeMap).includes(o)||Object.keys(Xr).includes(o)))},getMutations(e){var n;let{paragraphs:r,unit:i,selection:a}=e,o=(n=i.getBody())==null?void 0:n.dataStream.slice(r[0].paragraphStart,a.startOffset-1);if(o&&Object.keys(t.QuickListTypeMap).includes(o)){let e=t.QuickListTypeMap[o];return[{id:Fr.id,params:{listType:e,paragraph:r[0]}}]}if(o&&Object.keys(Xr).includes(o)){let e=Xr[o];return[{id:Yr.id,params:{value:e}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:e=>{let{paragraphs:t}=e;return!!(t.length===1&&t[0].bullet&&t[0].paragraphStart===t[0].paragraphEnd)},getMutations:e=>{let t=e.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:Ar.id,params:{type:-1}}]:[{id:Dr.id,params:{listType:e.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:P.id,match:()=>!0,getMutations(){return[{id:B.id}]},priority:-9999}))}};Du=A([k(0,(0,t.Inject)(j)),k(1,r.IRenderManagerService)],Du);function Ou(e){return e.rows[0].cells[0].sections[0].columns[0].lines[0]}function ku(e){let t=e.rows[e.rows.length-1],n=t.cells[t.cells.length-1];return(0,r.getLastLine)(n)}function Au(e,t){let{ed:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.st===n+1){i=e;break}return i}function ju(e){let t=e==null?void 0:e.parent,n=null,i=null;if(e==null||t==null)return{lineBeforeTable:n,lineAfterTable:i};let{st:a,ed:o}=e;return(0,r.lineIterator)(t.type===r.DocumentSkeletonPageType.CELL?[t]:t.parent.pages,e=>{e.st===o+1?i=e:e.ed===a-1&&(n=e)}),{lineBeforeTable:n,lineAfterTable:i}}function Mu(e){return e.sections[0].columns[0].lines.length===0}function Nu(e){let t=e.parent,n=t==null?void 0:t.parent,r=n==null?void 0:n.tableId;if(t==null||n==null)return;let i=t.cells.indexOf(e),a=n.rows[n.rows.indexOf(t)+1];if(a==null&&r.indexOf(`#-#`)){var o;let[e,t]=r.split(`#-#`),i=(o=n.parent)==null||(o=o.parent)==null?void 0:o.pages,s=`${e}#-#${Number.parseInt(t)+1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(s)){let e=t.get(s);if(e!=null&&e.rows.length){a=e.rows.find(e=>!e.isRepeatRow);break}}}}if(a!=null){let e=a.cells[i];return Mu(e)?Nu(e):e}}function Pu(e){let t=e.parent,n=t==null?void 0:t.parent;if(t==null||n==null)return;let r=n.rows[n.rows.indexOf(t)-1],i=t.cells.indexOf(e);if((r==null||r.isRepeatRow)&&n.tableId.indexOf(`#-#`)){var a;let[e,t]=n.tableId.split(`#-#`),i=(a=n.parent)==null||(a=a.parent)==null?void 0:a.pages,o=`${e}#-#${Number.parseInt(t)-1}`;if(i)for(let e of i){let{skeTables:t}=e;if(t.has(o)){let e=t.get(o);if(e!=null&&e.rows.length){r=e.rows[e.rows.length-1];break}}}}if(r!=null){let e=r.cells[i];return Mu(e)?Pu(e):e}}function Fu(e,t){let{st:n}=e,{skeTables:r}=t,i=null;for(let e of r.values())if(e.ed===n-1){i=e;break}return i}function Iu(e){return e.sections[0].columns[0].lines[0]}function Lu(e){let t=(0,r.getLastColumn)(e);return t.lines[t.lines.length-1]}let Ru=class extends t.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._renderManagerService=t,this._textSelectionManagerService=n,this._commandService=r,O(this,`_onInputSubscription`,void 0),this._commandExecutedListener()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_commandExecutedListener(){let e=[oa.id,sa.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(!e.includes(t.id))return;let n=t.params;switch(t.id){case oa.id:return this._handleMoveCursor(n.direction);case sa.id:return this._handleShiftMoveSelection(n.direction);default:throw Error(`Unknown command`)}}))}_handleShiftMoveSelection(e){var r,i;let a=this._textSelectionManagerService.getActiveTextRange(),o=this._textSelectionManagerService.getTextRanges(),s=this._univerInstanceService.getCurrentUniverDocInstance();if(s==null)return;let c=(r=this._renderManagerService.getRenderById(s.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),l=this._getDocObject();if(a==null||c==null||l==null)return;let{startOffset:u,endOffset:d,style:f,collapsed:p,direction:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=a;if(o.length>1){let n=1/0,r=-1/0;for(let e of o)n=Math.min(n,e.startOffset),r=Math.max(r,e.endOffset);this._textSelectionManagerService.replaceTextRanges([{startOffset:e===t.Direction.LEFT||e===t.Direction.UP?r:n,endOffset:e===t.Direction.LEFT||e===t.Direction.UP?n:r,style:f}],!1);return}let y=p||m===t.RANGE_DIRECTION.FORWARD?u:d,b=p||m===t.RANGE_DIRECTION.FORWARD?d:u,x=(i=s.getSelfOrHeaderFooterModel(h).getBody().dataStream.length)==null?1/0:i;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){var S;let n=c.findNodeByCharIndex(b-1,h,v),r=c.findNodeByCharIndex(b,h,v);b=e===t.Direction.RIGHT?b+r.count:b-((S=n==null?void 0:n.count)==null?0:S),b=Math.min(x-2,Math.max(0,b)),this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:b,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),b)}else{let n=c.findNodeByCharIndex(b,h,v),r=l.document.getOffsetConfig(),i=p?g:m===t.RANGE_DIRECTION.FORWARD?_:g,a=this._getTopOrBottomPosition(c,n,i,e===t.Direction.DOWN,!0);if(a==null){let n=e===t.Direction.UP?0:x-2;if(n===b)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:n,style:f}],!1);return}let o=new fi(r,c).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:y,endOffset:o.endOffset,style:f}],!1),this._scrollToFocusNodePosition(s.getUnitId(),o.endOffset)}}_handleMoveCursor(e){var r,i,a;let o=this._textSelectionManagerService.getActiveTextRange(),s=this._textSelectionManagerService.getTextRanges(),c=this._univerInstanceService.getCurrentUniverDocInstance();if(c==null)return!1;let l=(r=this._renderManagerService.getRenderById(c.getUnitId()))==null?void 0:r.with(n.DocSkeletonManagerService).getSkeleton(),u=this._getDocObject();if(o==null||l==null||u==null||s==null)return;let{startOffset:d,endOffset:f,style:p,collapsed:m,segmentId:h,startNodePosition:g,endNodePosition:_,segmentPage:v}=o,y=c.getSelfOrHeaderFooterModel(h).getBody();if(y==null)return;let b=(i=y.dataStream.length)==null?1/0:i,x=(a=c.getCustomRanges())==null?[]:a;if(e===t.Direction.LEFT||e===t.Direction.RIGHT){let n;if(!o.collapsed||s.length>1){let r=1/0,i=-1/0;for(let e of s)r=Math.min(r,e.startOffset),i=Math.max(i,e.endOffset);n=e===t.Direction.LEFT?r:i}else{let r=l.findNodeByCharIndex(d-1,h,v),i=l.findNodeByCharIndex(d,h,v),a=l.findNodeByCharIndex(d+1,h,v);if(e===t.Direction.LEFT){var S;n=Math.max(0,d-((S=r==null?void 0:r.count)==null?1:S))}else n=Math.min(b-2,f+i.count+ +((a==null?void 0:a.streamType)===t.DataStreamTreeTokenType.SECTION_BREAK))}let r=[t.DataStreamTreeTokenType.TABLE_START,t.DataStreamTreeTokenType.TABLE_END,t.DataStreamTreeTokenType.TABLE_ROW_START,t.DataStreamTreeTokenType.TABLE_ROW_END,t.DataStreamTreeTokenType.TABLE_CELL_START,t.DataStreamTreeTokenType.TABLE_CELL_END,t.DataStreamTreeTokenType.SECTION_BREAK];if(e===t.Direction.LEFT)for(;r.includes(y.dataStream[n]);)n--;else for(;r.includes(y.dataStream[n]);)n++;x.filter(e=>e.wholeEntity&&e.startIndex<n&&e.endIndex>=n).forEach(r=>{n=e===t.Direction.LEFT?Math.min(r.startIndex,n):Math.max(r.endIndex+1,n)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),n)}else{let n=l.findNodeByCharIndex(d,h,v),r=l.findNodeByCharIndex(f,h,v),i=u.document.getOffsetConfig(),a=this._getTopOrBottomPosition(l,e===t.Direction.UP||m?n:r,e===t.Direction.UP||m?g:_,e===t.Direction.DOWN);if(a==null){let n;n=m?e===t.Direction.UP?0:b-2:e===t.Direction.UP?d:f,this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,n),endOffset:Math.max(0,n),style:p}],!1);return}let o=new fi(i,l).getRangePointData(a,a).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...o,style:p}],!1),this._scrollToFocusNodePosition(c.getUnitId(),o.endOffset)}}_getTopOrBottomPosition(e,t,n,r,i=!1){if(t==null||n==null)return;let a=this._getGlyphLeftOffsetInLine(t),o=this._getNextOrPrevLine(t,r,i);if(o==null)return;let s=this._matchPositionByLeftOffset(e,o,a,n);if(s!=null)return{...s,isBack:!0}}_getGlyphLeftOffsetInLine(e){let t=e.parent;if(t==null)return-1/0;let n=t.left,{left:r}=e;return n+r}_matchPositionByLeftOffset(e,n,r,i){let a={distance:1/0};for(let e of n.divides){let n=e.left;for(let i of e.glyphGroup){if(i.streamType===t.DataStreamTreeTokenType.SECTION_BREAK)continue;let{left:e}=i,o=n+e,s=Math.abs(r-o);s<a.distance&&(a.glyph=i,a.distance=s)}}if(a.glyph==null)return;let{segmentPage:o}=i;return e.findPositionByGlyph(a.glyph,o)}_getNextOrPrevLine(e,t,n=!1){let i=e.parent,a=i==null?void 0:i.parent,o=a==null?void 0:a.parent,s=o==null?void 0:o.parent,c=s==null?void 0:s.parent;if(i==null||a==null||o==null||s==null||c==null)return;let l=o.lines.indexOf(a);if(l===-1)return;let u;if(c.type===r.DocumentSkeletonPageType.CELL&&n){let e=zu(c,t);if(e)return e}if(t===!0){u=o.lines[l+1];let e=Au(a,c);if(e){let t=Ou(e);t&&(u=t)}}else{u=o.lines[l-1];let e=Fu(a,c);if(e){let t=ku(e);t&&(u=t)}}if(u!=null)return u;let d=s.columns.indexOf(o);if(d===-1)return;if(t===!0){var f;u=(f=s.columns[d+1])==null?void 0:f.lines[0]}else{var p;let e=(p=s.columns)==null||(p=p[d-1])==null?void 0:p.lines;u=e==null?void 0:e[e.length-1]}if(u!=null)return u;let m=c.sections.indexOf(s);if(m===-1)return;if(t===!0){var h;u=(h=c.sections[m-1])==null||(h=h.columns[0])==null?void 0:h.lines[0]}else{var g;let e=(g=c.sections)==null||(g=g[m-1])==null?void 0:g.columns,t=e==null?void 0:e[e.length-1],n=t==null?void 0:t.lines;u=n==null?void 0:n[n.length-1]}if(u!=null)return u;if(c.type===r.DocumentSkeletonPageType.CELL)return zu(c,t);let _=c.parent;if(_==null)return;let v=_.pages.indexOf(c);if(v!==-1){if(t===!0){var y;u=(y=_.pages[v+1])==null||(y=y.sections[0])==null||(y=y.columns[0])==null?void 0:y.lines[0]}else{var b,x;let e=(b=_.pages[v-1])==null?void 0:b.sections;if(e==null)return;let t=(x=e[e.length-1])==null?void 0:x.columns,n=t[t.length-1],r=n==null?void 0:n.lines;u=r[r.length-1]}if(u!=null)return u}}_scrollToFocusNodePosition(e,t){var n;let r=(n=this._renderManagerService.getRenderById(e))==null?void 0:n.with(vu);r!=null&&r.scrollToRange({startOffset:t,endOffset:t,collapsed:!0})}_getDocObject(){return m(this._univerInstanceService,this._renderManagerService)}};Ru=A([k(0,t.IUniverInstanceService),k(1,r.IRenderManagerService),k(2,(0,t.Inject)(n.DocSelectionManagerService)),k(3,t.ICommandService)],Ru);function zu(e,t){let n=null;if(t===!0){let t=Nu(e);if(t)n=Iu(t);else{var r;let{lineAfterTable:t}=ju((r=e.parent)==null?void 0:r.parent);t&&(n=t)}}else{let t=Pu(e);if(t)n=Lu(t);else{var i;let{lineBeforeTable:t}=ju((i=e.parent)==null?void 0:i.parent);t&&(n=t)}}return n}let Bu=({handleRowColChange:e,tableCreateParams:n})=>{let r=(0,i.useDependency)(t.LocaleService),[a,o]=(0,s.useState)(3),[c,d]=(0,s.useState)(5);function f(t,n){o(t),d(n),e(t,n)}return(0,s.useEffect)(()=>{o(n.rowCount),d(n.colCount)},[n]),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-justify-between univer-gap-2`,children:[(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.rowCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:a,onChange:e=>{f(e,c)}})]}),(0,u.jsxs)(`div`,{className:`univer-flex univer-items-center univer-gap-2`,children:[(0,u.jsx)(`span`,{children:r.t(`docs-ui.toolbar.table.colCount`)}),(0,u.jsx)(l.InputNumber,{className:`univer-w-28`,min:1,max:20,precision:0,value:c,onChange:e=>{f(a,e)}})]})]})},Vu=class extends t.Disposable{constructor(e,t){super(),this._commandService=e,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[aa].forEach(e=>this.disposeWithMe(this._commandService.registerCommand(e)))}_initCustomComponents(){let e=this._componentManager;this.disposeWithMe(e.register(ra,Bu))}_init(){}};Vu=A([k(0,t.ICommandService),k(1,(0,t.Inject)(i.ComponentManager))],Vu);let Hu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSkeletonManagerService=t,this._commandService=n,this._docEventManagerService=r,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(e=>{let t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(Nr.id,{index:e.paragraph.startIndex,segmentId:e.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(e=>{e?this._context.mainComponent.setCursor(r.CURSOR_TYPE.POINTER):this._context.mainComponent.setCursor(r.CURSOR_TYPE.TEXT)}))}_getTransformCoordForDocumentOffset(e,t,n,i){let{documentTransform:a}=e.getOffsetConfig(),o=t.transformVector2SceneCoord(r.Vector2.FromArray([n,i]));if(o)return a.clone().invert().applyPoint(o)}};Hu=A([k(1,(0,t.Inject)(n.DocSkeletonManagerService)),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService))],Hu);let Uu=class extends t.RxDisposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._commandService=t,this._docClipboardService=n,this._docSelectionRenderService=r,this._contextService=i,this._editorService=a,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var e;(e=this._docSelectionRenderService)==null||e.onPaste$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t,n,r,a,o;if(!mn(this._contextService))return;e.event.preventDefault();let s=e.event,c=(t=s.clipboardData)==null?void 0:t.getData(i.HTML_CLIPBOARD_MIME_TYPE),l=(n=s.clipboardData)==null?void 0:n.getData(`application/x-doc-fragment+json`),u=(r=s.clipboardData)==null?void 0:r.getData(i.PLAIN_TEXT_CLIPBOARD_MIME_TYPE),d=[...((a=s.clipboardData)==null?void 0:a.items)||[]].filter(e=>i.imageMimeTypeSet.has(e.type)).map(e=>e.getAsFile()).filter(e=>!!e);this._editorService.getEditor(this._context.unitId)&&((o=c)==null?``:o).indexOf(`</table>`)>-1&&(c=``),this._docClipboardService.legacyPaste({html:c,internalJson:l,text:u,files:d})})}};Uu=A([k(1,t.ICommandService),k(2,dn),k(3,(0,t.Inject)(Y)),k(4,t.IContextService),k(5,Z)],Uu);let Wu=[t.DEFAULT_EMPTY_DOCUMENT_VALUE,t.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,t.DOCS_ZEN_EDITOR_UNIT_ID_KEY],Gu=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._contextMenuService=t,this._commandService=n,this._docEventManagerService=r,this._docSelectionManagerService=i,this._univerInstanceService=a,Wu.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e;let t=((e=this._context)==null||(e=e.mainComponent)==null?void 0:e.onPointerDown$).subscribeEvent(e=>{if(e.button===2){if(this._docEventManagerService.isPointerOnBullet(e.offsetX,e.offsetY)||this._isSelectionInCodeBlock())return;this._contextMenuService.triggerContextMenu(e,i.ContextMenuPosition.MAIN_AREA)}});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{e.id===n.RichTextEditingMutation.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}_isSelectionInCodeBlock(){var e,n,r;let i=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC),a=(e=i==null||(n=i.getBody())==null||(n=n.blockRanges)==null?void 0:n.filter(e=>e.blockType===`code`))==null?[]:e,o=(r=this._docSelectionManagerService.getTextRanges())==null?[]:r;return!a.length||!o.length?!1:a.some(e=>o.some(t=>Ku(t,e.startIndex,e.endIndex)))}};Gu=A([k(1,i.IContextMenuService),k(2,t.ICommandService),k(3,(0,t.Inject)(Fc)),k(4,(0,t.Inject)(n.DocSelectionManagerService)),k(5,(0,t.Inject)(t.IUniverInstanceService))],Gu);function Ku(e,t,n){return Math.max(e.startOffset,t)<=Math.min(e.endOffset,n)}let qu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._univerInstanceService=t,this._editorService=n,this._commandService=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._renderManagerService=o,O(this,`_initialEditors`,new Set),this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(e=>{let t=e.getEditorId();t===this._context.unitId&&(this._initialEditors.has(t)||(this._initialEditors.add(t),this._resize(t)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(e){if(e==null)return;let t=this._editorService.getEditor(e);if((t==null?void 0:t.cancelDefaultResizeListener)===!0)return;let n=this._univerInstanceService.getUniverDocInstance(e);if(!n)return;let r=this._docSkeletonManagerService.getSkeleton();if(t==null||t.render==null||r==null||n==null)return;r.calculate();let{marginTop:i=0,marginBottom:a=0,marginLeft:o=0,marginRight:s=0}=n.getSnapshot().documentStyle,{scene:c,mainComponent:l}=t.render,{actualHeight:u,actualWidth:d}=r.getActualSize();u+=i+a,d+=o+s;let{width:f,height:p}=t.getBoundingClientRect(),m=Math.max(d,f),h=Math.max(u,p);c.transformByState({width:m,height:h}),l==null||l.resize(m,h)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{let{unitId:e}=this._context,t=this._editorService.getEditor(e),n=this._editorService.getFocusEditor();t==null||t.isSheetEditor()||n&&n.getEditorId()===e||e.includes(`range_selector`)||e.includes(`embedding_formula_editor`)||this._editorService.blur()}))}_initialFocus(){let e=[`univer-formula-search`,`univer-formula-help`,`formula-help-decorator`,`univer-formula-help-param`];this.disposeWithMe((0,o.fromEvent)(window,`mousedown`).subscribe(n=>{(0,t.checkForSubstrings)(n.target.classList[0]||``,e)&&n.stopPropagation()}));let n=new t.DisposableCollection;this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(t.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{if(n.dispose(),!e)return;let t=e.getUnitId(),r=this._renderManagerService.getRenderById(t),i=r==null?void 0:r.engine.getCanvas().getCanvasEle();if(i==null)return;let a=(0,o.fromEvent)(i,`mousedown`).subscribe(e=>{e.stopPropagation()});n.add(a)})),this.disposeWithMe(()=>n.dispose())}_commandExecutedListener(){let e=[n.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){let{unitId:e}=t.params;if(this._editorService.isSheetEditor(e)||e!==this._context.unitId)return;let n=this._editorService.getEditor(e);n&&!n.params.scrollBar&&this._resize(e)}}))}};qu=A([k(1,t.IUniverInstanceService),k(2,Z),k(3,t.ICommandService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,r.IRenderManagerService)],qu);let Ju=class extends t.Disposable{constructor(e,t,n,r,i,a){super(),this._context=e,this._docSelectionRenderService=t,this._docImeInputManagerService=n,this._docSkeletonManagerService=r,this._docStateEmitService=i,this._commandService=a,O(this,`_previousIMEContent`,``),O(this,`_isCompositionStart`,!0),O(this,`_onStartSubscription`,void 0),O(this,`_onUpdateSubscription`,void 0),O(this,`_onEndSubscription`,void 0),this._initialize()}dispose(){var e,t,n;(e=this._onStartSubscription)==null||e.unsubscribe(),(t=this._onUpdateSubscription)==null||t.unsubscribe(),(n=this._onEndSubscription)==null||n.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(e=>{if(e==null)return;this._resetIME();let{activeRange:n}=e;n!=null&&this._docImeInputManagerService.setActiveRange(t.Tools.deepClone(n))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(e=>{this._updateContent(e,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(e=>{this._updateContent(e,!1)})}async _updateContent(e,t){if(e==null)return;let n=this._context.unitId,r=this._docSkeletonManagerService.getSkeleton(),{event:i,activeRange:a}=e;if(r==null||a==null)return;let o=i.data;if(!(o===this._previousIMEContent&&t)){if(!t&&o===this._previousIMEContent){this._finalizeComposition(),this._resetIME();return}await this._commandService.executeCommand(Un.id,{unitId:n,newText:o,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!t}),t?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=o):this._resetIME()}}_finalizeComposition(){let e=this._docImeInputManagerService.getActiveRange();e!=null&&this._docStateEmitService.emitStateChangeInfo({commandId:n.RichTextEditingMutation.id,unitId:this._context.unitId,segmentId:e.segmentId,trigger:Un.id,redoState:{actions:[],textRanges:[e]},undoState:{actions:[],textRanges:[e]},isCompositionEnd:!0})}_resetIME(){this._previousIMEContent=``,this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};Ju=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(Hn)),k(3,(0,t.Inject)(n.DocSkeletonManagerService)),k(4,(0,t.Inject)(n.DocStateEmitService)),k(5,t.ICommandService)],Ju);let Yu=class extends t.Disposable{constructor(e,t,n,r,i){super(),this._context=e,this._docSelectionRenderService=t,this._docSkeletonManagerService=n,this._commandService=r,this._docMenuStyleService=i,O(this,`_onInputSubscription`,void 0),this._init()}dispose(){var e;super.dispose(),(e=this._onInputSubscription)==null||e.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async e=>{var n,r;if(e==null)return;let{unitId:i}=this._context,{event:a,content:o=``,activeRange:s}=e,c=a,l=this._docSkeletonManagerService.getSkeleton();if(c.data==null||l==null||s==null)return;let{segmentId:u}=s,d=this._context.unit.getSelfOrHeaderFooterModel(u).getBody(),f=this._docMenuStyleService.getDefaultStyle(),p=this._docMenuStyleService.getStyleCache(),m=x((n=d==null?void 0:d.customRanges)==null?[]:n,s.endOffset,t.SHEET_EDITOR_UNITS.includes(i)),h=b(d,s.endOffset,f,p,t.SHEET_EDITOR_UNITS.includes(i)),g=S((r=d==null?void 0:d.customDecorations)==null?[]:r,s.endOffset);await this._commandService.executeCommand(xe.id,{unitId:i,body:{dataStream:o,textRuns:h?[{...h,st:0,ed:o.length}]:[],customRanges:m?[{...m,startIndex:0,endIndex:o.length-1}]:[],customDecorations:g.map(e=>({...e,startIndex:0,endIndex:o.length-1}))},range:s,segmentId:u}),o===` `&&await this._commandService.executeCommand(N.id)})}};Yu=A([k(1,(0,t.Inject)(Y)),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.ICommandService),k(4,(0,t.Inject)(I))],Yu);let Xu=class extends t.Disposable{constructor(e,n,r){super(),this._context=e,this._docPageLayoutService=n,this._textSelectionManagerService=r;let i=this._context.unitId;if((0,t.isInternalEditorID)(i)&&i!==t.DOCS_ZEN_EDITOR_UNIT_ID_KEY)return this;this._initResize()}_initResize(){this.disposeWithMe((0,t.fromEventSubject)(this._context.engine.onTransformChange$).pipe((0,o.filter)(e=>e.type===r.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),(0,o.throttleTime)(0,o.animationFrameScheduler)).subscribe(()=>{this._disposed||(this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection())}))}};Xu=A([k(1,(0,t.Inject)(yu)),k(2,(0,t.Inject)(n.DocSelectionManagerService))],Xu);let Zu=class extends t.Disposable{constructor(e,t,n,r,i,a,o){super(),this._context=e,this._commandService=t,this._editorService=n,this._instanceSrv=r,this._docSelectionRenderService=i,this._docSkeletonManagerService=a,this._docSelectionManagerService=o,O(this,`_loadedMap`,new WeakSet),this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){let{unitId:e}=this._context,t=p(this._context);t==null||t.document==null||this._loadedMap.has(t.document)||(this._initialMain(e),this._loadedMap.add(t.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(e=>{if(e==null)return;let{unitId:t,docRanges:n,isEditing:r,options:i}=e;t===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(n,r,i))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(e=>{e!=null&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(e,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(e){let{document:n,scene:i}=p(this._context);this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(e)||(n.cursor=r.CURSOR_TYPE.TEXT)})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n.cursor=r.CURSOR_TYPE.DEFAULT,i.resetCursor()})),this.disposeWithMe(n.onPointerDown$.subscribeEvent((i,a)=>{if(this._isEditorReadOnly(e))return;let o=this._instanceSrv.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);(o==null?void 0:o.getUnitId())!==e&&this._instanceSrv.setCurrentUnitForType(e);let s=this._docSkeletonManagerService.getSkeleton(),{offsetX:c,offsetY:l}=i,u=this._getTransformCoordForDocumentOffset(c,l);if(u!=null){let{pageLayoutType:e=r.PageLayoutType.VERTICAL,pageMarginLeft:t,pageMarginTop:i}=n.getOffsetConfig(),{editArea:a}=s.findEditAreaByCoord(u,e,t,i),o=this._docSkeletonManagerService.getViewModel(),c=o.getEditArea();c!==r.DocumentEditArea.BODY&&a!==r.DocumentEditArea.BODY&&a!==c&&o.setEditArea(a)}if(this._docSelectionRenderService.__onPointDown(i),this._editorService.getEditor(e)){this._setEditorFocus(e);let{offsetX:t,offsetY:n}=i;setTimeout(()=>{e===this._editorService.getFocusId()||this._docSelectionRenderService.isOnPointerEvent||(this._setEditorFocus(e),this._docSelectionRenderService.setCursorManually(t,n))},0)}i.button!==2&&a.stopPropagation()})),this.disposeWithMe(n.onDblclick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleDblClick(t)})),this.disposeWithMe(n.onTripleClick$.subscribeEvent(t=>{this._isEditorReadOnly(e)||this._docSelectionRenderService.__handleTripleClick(t)}))}_getTransformCoordForDocumentOffset(e,t){let{document:n,scene:i}=p(this._context),{documentTransform:a}=n.getOffsetConfig(),o=i.getViewports()[0];if(o==null)return;let s=o.transformVector2SceneCoord(r.Vector2.FromArray([e,t]));return a.clone().invert().applyPoint(s)}_isEditorReadOnly(e){let t=this._editorService.getEditor(e);return t?t.isReadOnly():!1}_setEditorFocus(e){this._editorService.focus(e)}_commandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)){var n;let{unitId:e}=t.params;if(e!==((n=this._docSelectionManagerService.__getCurrentSelection())==null?void 0:n.unitId))return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(!e)return;let{unitId:n}=this._context;if(!(0,t.isInternalEditorID)(n)){this._docSelectionRenderService.focus();let e=Ha(this._context.unit.getSnapshot());this._docSelectionManagerService.replaceDocRanges([{startOffset:e,endOffset:e}],{unitId:n,subUnitId:n},!1)}}))}};Zu=A([k(1,t.ICommandService),k(2,Z),k(3,t.IUniverInstanceService),k(4,(0,t.Inject)(Y)),k(5,(0,t.Inject)(n.DocSkeletonManagerService)),k(6,(0,t.Inject)(n.DocSelectionManagerService))],Zu);function Qu(e,t,n){return t&&(e.ctrlKey||e.metaKey)}let $u=class extends t.Disposable{constructor(e,n,r,i,a,o,s,c,l){super(),this._context=e,this._contextService=n,this._docSkeletonManagerService=r,this._univerInstanceService=i,this._commandService=a,this._textSelectionManagerService=o,this._editorService=s,this._docPageLayoutService=c,this._renderManagerService=l,O(this,`_isSheetEditor`,!1),O(this,`_initTimer`,void 0),O(this,`_updateTimer`,void 0),this._initSkeletonListener(),this._initCommandExecutedListener(),this._isSheetEditor=this._context.unitId===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY;let u=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),d=u&&this._renderManagerService.getRenderById(u.getUnitId());this._initTimer=window.setTimeout(()=>this.updateViewZoom(d&&this._isSheetEditor?d.scene.scaleX:1,!0),20),(0,t.isInternalEditorID)(this._context.unitId)||this._initZoomEventListener()}dispose(){window.clearTimeout(this._initTimer),window.clearTimeout(this._updateTimer)}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(e=>{if(e==null)return;let n=this._univerInstanceService.getCurrentUniverDocInstance();n&&(this._updateTimer=window.setTimeout(()=>{let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_SHEET),r=e&&this._renderManagerService.getRenderById(e.getUnitId()),i=this._isSheetEditor?(r==null?void 0:r.scene.scaleX)||1:n.zoomRatio;this.updateViewZoom(i,!1)}))}))}_initCommandExecutedListener(){let e=[q.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(e.includes(t.id)&&t.params.unitId===this._context.unitId){let e=this._context.unit.zoomRatio||1;this.updateViewZoom(e)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{var n;(e.id===Ui.id||e.id===Yo.id&&((n=e.params)==null?void 0:n.documentFlavor)===t.DocumentFlavor.MODERN)&&this._commandService.executeCommand(Kr.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(e,n=!0){var r;let i=p(this._context);i.scene.scale(e,e),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),n&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),!(0,t.isInternalEditorID)(this._context.unitId)&&((r=i.scene.getTransformer())==null||r.clearSelectedObjects())}_initZoomEventListener(){let e=this._context.scene;this.disposeWithMe(e.onMouseWheel$.subscribeEvent(e=>{let n=this._univerInstanceService.getCurrentUniverDocInstance();if(!n)return;let{documentFlavor:i}=n.getSnapshot().documentStyle;if(!Qu(e,!!this._contextService.getContextValue(t.FOCUSING_DOC),i))return;let a=(0,r.getNextWheelZoomRatio)(n.zoomRatio||1,e);this._commandService.executeCommand(Kr.id,{zoomRatio:a,documentId:n.getUnitId()}),e.preventDefault()}))}};$u=A([k(1,t.IContextService),k(2,(0,t.Inject)(n.DocSkeletonManagerService)),k(3,t.IUniverInstanceService),k(4,t.ICommandService),k(5,(0,t.Inject)(n.DocSelectionManagerService)),k(6,Z),k(7,(0,t.Inject)(yu)),k(8,r.IRenderManagerService)],$u);let ed=(0,t.createInterceptorKey)(`PRINTING_COMPONENT_COLLECT`),td=(0,t.createInterceptorKey)(`PRINTING_DOM_COLLECT`);var nd=class extends t.Disposable{constructor(){super(),O(this,`_printComponentMap`,new Map),O(this,`interceptor`,new t.InterceptorManager({PRINTING_COMPONENT_COLLECT:ed,PRINTING_DOM_COLLECT:td})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_COMPONENT_COLLECT,{priority:-1,handler:e=>e})),this.disposeWithMe(this.interceptor.intercept(this.interceptor.getInterceptPoints().PRINTING_DOM_COLLECT,{priority:-1,handler:e=>e}))}registerPrintComponent(e,t){this._printComponentMap.set(e,t)}getPrintComponent(e){return this._printComponentMap.get(e)}};let rd=class extends t.RxDisposable{constructor(e,t,n,r,i){super(),this._undoRedoService=e,this._commandService=t,this._univerInstanceService=n,this._docStateEmitService=r,this._renderManagerService=i,O(this,`_docStateChange$`,new o.BehaviorSubject(null)),O(this,`docStateChange$`,this._docStateChange$.asObservable()),O(this,`_historyStateCache`,new Map),O(this,`_changeStateCache`,new Map),O(this,`_historyTimer`,null),O(this,`_changeStateCacheTimer`,null),this._initialize(),this._listenDocStateChange()}getStateCache(e){var t,n;return{history:(t=this._historyStateCache.get(e))==null?[]:t,collaboration:(n=this._changeStateCache.get(e))==null?[]:n}}setStateCache(e,t){this._historyStateCache.set(e,t.history),this._changeStateCache.set(e,t.collaboration)}_setChangeState(e){this._cacheChangeState(e,`history`),this._cacheChangeState(e,`collaboration`)}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===t.UndoCommandId||e.id===t.RedoCommandId){let e=this._univerInstanceService.getCurrentUniverDocInstance();if(e==null)return;let t=e.getUnitId();this._pushHistory(t),this._emitChangeState(t)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe((0,o.takeUntil)(this.dispose$)).subscribe(e=>{var t;if(e==null)return;let{isCompositionEnd:n,isSync:r,syncer:i,...a}=e,o=(t=this._renderManagerService.getRenderById(r?i:e.unitId))==null?void 0:t.with(Hn);if(o!=null){if(n){let e=o.fetchComposedUndoRedoMutationParams();if(e==null)throw Error(`historyParams is null in RichTextEditingMutation`);let{undoMutationParams:t,redoMutationParams:n,previousActiveRange:r}=e;a.redoState.actions=n.actions,a.undoState.actions=t.actions,a.undoState.textRanges=[r]}this._setChangeState(a)}})}_cacheChangeState(e,n=`history`){let{trigger:r,unitId:i,noHistory:a,debounce:o=!1}=e;if(a||r==null||n===`history`&&(r===t.RedoCommandId||r===t.UndoCommandId))return;let s=n===`history`?this._historyStateCache:this._changeStateCache,c=n===`history`?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(s.has(i)){let t=s.get(i);t==null||t.push(e)}else s.set(i,[e]);o?n===`history`?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{c(i)},300)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{c(i)},300)):c(i)}_pushHistory(e){let n=this._undoRedoService,r=this._historyStateCache.get(e);if(!Array.isArray(r)||r.length===0)return;let i=r.length,a=r[0].commandId,o=r[0],s=r[i-1],c={unitId:e,actions:r.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:s.redoState.textRanges},l={unitId:e,actions:r.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:o.undoState.textRanges};n.pushUndoRedo({unitID:e,undoMutations:[{id:a,params:l}],redoMutations:[{id:a,params:c}]}),r.length=0}_emitChangeState(e){let n=this._changeStateCache.get(e);if(!Array.isArray(n)||n.length===0)return;let r=n.length,{commandId:i,trigger:a,segmentId:o,noHistory:s,debounce:c}=n[0],l=n[0],u=n[r-1],d={commandId:i,unitId:e,trigger:a,redoState:{unitId:e,actions:n.reduce((e,n)=>t.JSONX.compose(e,n.redoState.actions),null),textRanges:u.redoState.textRanges},undoState:{unitId:e,actions:n.reverse().reduce((e,n)=>t.JSONX.compose(e,n.undoState.actions),null),textRanges:l.undoState.textRanges},segmentId:o,noHistory:s,debounce:c};n.length=0,this._docStateChange$.next(d)}};rd=A([k(0,(0,t.Inject)(t.IUndoRedoService)),k(1,t.ICommandService),k(2,t.IUniverInstanceService),k(3,(0,t.Inject)(n.DocStateEmitService)),k(4,r.IRenderManagerService)],rd);let id={id:P.id,preconditions:Vl,binding:i.KeyCode.ENTER},ad={id:je.id,preconditions:$,binding:i.KeyCode.BACKSPACE},od={id:Me.id,preconditions:$,binding:i.KeyCode.DELETE},sd={id:oa.id,binding:i.KeyCode.ARROW_UP,preconditions:$,staticParameters:{direction:t.Direction.UP}},cd={id:oa.id,binding:i.KeyCode.ARROW_DOWN,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},ld={id:oa.id,binding:i.KeyCode.ARROW_LEFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},ud={id:oa.id,binding:i.KeyCode.ARROW_RIGHT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},dd={id:sa.id,binding:i.KeyCode.ARROW_UP|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.UP}},fd={id:sa.id,binding:i.KeyCode.ARROW_DOWN|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.DOWN}},pd={id:sa.id,binding:i.KeyCode.ARROW_LEFT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.LEFT}},md={id:sa.id,binding:i.KeyCode.ARROW_RIGHT|i.MetaKeys.SHIFT,preconditions:$,staticParameters:{direction:t.Direction.RIGHT}},hd={id:jn.id,binding:i.KeyCode.A|i.MetaKeys.CTRL_COMMAND,preconditions:e=>e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&(e.getContextValue(t.FOCUSING_DOC)||e.getContextValue(t.EDITOR_ACTIVATED))},gd=class extends t.Plugin{constructor(e=ru,n,r,i,a,o){super(),this._config=e,this._injector=n,this._renderManagerSrv=r,this._commandService=i,this._logService=a,this._configService=o;let{menu:s,...c}=(0,t.merge)({},ru,this._config);s&&this._configService.setConfig(`menu`,s,{merge:!0}),this._configService.setConfig(nu,c),this._initDependencies(n),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),(0,t.touchDependencies)(this._injector,[[rd],[Su]])}onRendered(){this._initRenderModules(),(0,t.touchDependencies)(this._injector,[[Du],[Ru],[Lo],[Vu],[gu]])}_initCommand(){[je,Me,Gn,qn,Yn,Zn,$n,tr,rr,ar,sr,dr,lr,pr,B,xe,Se,Te,bn,Ce,Ee,De,q,Pr,jr,Dr,Vr,Hr,Ur,Br,Wr,kn,Wi,ea,Xi,Zi,ta,Qi,$i,Gi,Ki,qi,co,na,M,N,P,Ar,Or,Mr,Nr,Fr,Un,Ui,vo,me,ye,br,yr,xr,Kr,jn,Ro,oa,sa,Tr,wr,Er,J,Yr,Le,gn,vn,Zr,Qr,$r,ei,ti,ni,ri,ii,Lr,Rr,zr,An,Yo,Xo].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))}),[hn,_n,yn].forEach(e=>this.disposeWithMe(this._commandService.registerMultipleCommand(e)))}_initializeShortcut(){[sd,cd,ud,ld,dd,fd,pd,md,hd,ad,od,id,Ul].forEach(e=>{this._injector.get(i.IShortcutService).registerShortcut(e)})}_initDependencies(e){(0,t.mergeOverrideWithDependencies)([[nd],[Uu],[qu],[gu],[Du],[Vu],[Ru],[Lo],[Z,{useClass:Ga}],[dn,{useClass:fn}],[Oc],[Su],[rd],[j],[On],[I]],this._config.override).forEach(t=>e.add(t))}_markDocAsFocused(){let e=this._injector.get(t.IUniverInstanceService),n=this._injector.get(Z);try{let r=e.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);if(!r)return;let i=r.getUnitId();n.isEditor(i)||e.focusUnit(r.getUnitId())}catch(e){this._logService.warn(e)}}_initRenderBasics(){[[n.DocSkeletonManagerService],[Y],[n.DocInterceptorService],[yu],[Hn],[Cu],[$u]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}_initRenderModules(){[[Fc],[Gc],[Yc],[vu],[Zu],[to],[Xu],[Gu],[Hu],[Uu],[Yu],[Ju],[qu]].forEach(e=>{this._renderManagerSrv.registerRenderModule(t.UniverInstanceType.UNIVER_DOC,e)})}};O(gd,`pluginName`,`DOC_UI_PLUGIN`),O(gd,`packageName`,Tu),O(gd,`version`,Eu),gd=A([(0,t.DependentOn)(r.UniverRenderEnginePlugin),k(1,(0,t.Inject)(t.Injector)),k(2,r.IRenderManagerService),k(3,t.ICommandService),k(4,t.ILogService),k(5,t.IConfigService)],gd);function _d(e){let{editorId:n,initialValue:r,container:a,autoFocus:o,isSingle:c,canvasStyle:l}=e,u=(0,s.useMemo)(()=>o==null?!1:o,[]),[d,f]=(0,s.useState)(),p=(0,i.useDependency)(Z);return(0,s.useLayoutEffect)(()=>{if(a.current){let o=typeof r==`string`?void 0:t.Tools.deepClone(r),s={body:{dataStream:typeof r==`string`?`${r}\r\n`:`\r
348
348
  `,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[],paragraphs:[{startIndex:0}]},...o,documentStyle:{...o==null?void 0:o.documentStyle,pageSize:{width:c?1/0:a.current.clientWidth,height:1/0}},id:n},d=p.register({autofocus:!0,canvasStyle:l,editorUnitId:n,initialSnapshot:s},a.current),m=p.getEditor(n);if(f(m),u){var e,i;p.focus(n);let t=((e=(i=s.body)==null?void 0:i.dataStream.length)==null?2:e)-2;m.setSelectionRanges([{startOffset:t,endOffset:t}])}return()=>{d==null||d.dispose()}}},[]),d}let vd=(e,t,n)=>{let r=(0,i.useDependency)(Z);(0,s.useEffect)(()=>{let i=i=>{var a;r.getFocusId()===e&&((a=i.target)==null||(a=a.dataset)==null?void 0:a.editorid)!==e&&t.current&&!t.current.contains(i.target)&&(n==null||n())},a=setTimeout(()=>{document.addEventListener(`click`,i)},100);return()=>{document.removeEventListener(`click`,i),clearTimeout(a)}},[e,r,n,t])};function yd(e){var t;let n=(0,i.useDependency)(r.IRenderManagerService).getRenderById(e),a=n==null?void 0:n.with(Y),o=(0,i.useObservable)(a==null?void 0:a.textSelectionInner$);return!!((t=a==null?void 0:a.isFocusing)!=null&&t&&o!=null&&o.textRanges.some(e=>e.collapsed))}function bd(e,n,a){let o=(0,i.useDependency)(t.ICommandService),c=(0,i.useDependency)(i.IShortcutService),l=(0,s.useMemo)(()=>(0,t.generateRandomId)(4),[]);(0,s.useEffect)(()=>{if(!a||!e||!n)return;let i=`sheet.operation.editor-${a.getEditorId()}-keyboard-${l}`,s=new t.DisposableCollection;return s.add(o.registerCommand({id:i,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:r,metaKey:i}=t;n.handler(r,i)}})),n.keyCodes.map(e=>({id:i,binding:e.metaKey?e.keyCode|e.metaKey:e.keyCode,preconditions:()=>!0,priority:901,staticParameters:{eventType:r.DeviceInputEventType.Keyboard,keyCode:e.keyCode,metaKey:e.metaKey}})).forEach(e=>{s.add(c.registerShortcut(e))}),()=>{s.dispose()}},[o,n,a,e,l,c])}let xd=(e,n,a,o)=>{let c=(0,i.useDependency)(t.ICommandService),l=(0,i.useDependency)(i.IShortcutService),u=(0,s.useRef)(n);u.current=n;let d=(0,s.useRef)(o);d.current=o,(0,s.useEffect)(()=>{if(!a||!e)return;let n=`doc.rich-text-editor.${a.getEditorId()}`,o=new t.DisposableCollection,s=(e,n)=>{if(d.current){d.current(e,n);return}let r=t.Direction.LEFT;e===i.KeyCode.ARROW_DOWN?r=t.Direction.DOWN:e===i.KeyCode.ARROW_UP?r=t.Direction.UP:e===i.KeyCode.ARROW_RIGHT&&(r=t.Direction.RIGHT),n===i.MetaKeys.SHIFT?c.executeCommand(sa.id,{direction:r}):c.executeCommand(oa.id,{direction:r})};return o.add(c.registerCommand({id:n,type:t.CommandType.OPERATION,handler(e,t){let{keyCode:n}=t;s(n)}})),[{keyCode:i.KeyCode.ARROW_DOWN},{keyCode:i.KeyCode.ARROW_LEFT},{keyCode:i.KeyCode.ARROW_RIGHT},{keyCode:i.KeyCode.ARROW_UP},{keyCode:i.KeyCode.ARROW_DOWN,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_LEFT,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_RIGHT,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_UP,metaKey:i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_DOWN,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_LEFT,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_RIGHT,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_UP,metaKey:i.MetaKeys.CTRL_COMMAND},{keyCode:i.KeyCode.ARROW_DOWN,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_LEFT,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_RIGHT,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT},{keyCode:i.KeyCode.ARROW_UP,metaKey:i.MetaKeys.CTRL_COMMAND|i.MetaKeys.SHIFT}].map(({keyCode:e,metaKey:t})=>({id:n,binding:t?e|t:e,preconditions:()=>!0,priority:900,staticParameters:{eventType:r.DeviceInputEventType.Keyboard,keyCode:e}})).forEach(e=>{o.add(l.registerShortcut(e))}),()=>{o.dispose()}},[c,a,e,l])};function Sd(e,r){let a=(0,i.useDependency)(t.ICommandService);(0,s.useEffect)(()=>{if(!e)return;let i=a.onCommandExecuted(i=>{if(i.id===n.RichTextEditingMutation.id){var a,o;if(i.params.unitId!==e.getEditorId())return;let n=e.getDocumentData();r(n,(0,t.getPlainText)((a=(o=n.body)==null?void 0:o.dataStream)==null?``:a))}});return()=>{i.dispose()}},[e,r,a])}let Cd=(e,i=!0,a,o)=>{let c=(0,s.useCallback)(()=>{if(e){var t;let{scene:r,mainComponent:a}=e.render,o=e.render.with(n.DocSkeletonManagerService),{width:s,height:c}=e.getBoundingClientRect();o.getViewModel().getDataModel().updateDocumentDataPageSize(i?1/0:s,1/0),r.transformByState({width:s,height:c}),a==null||a.resize(s,c),a==null||a.translate(0,0),(t=e.render.components.get(`__Document_Render_Background__`))==null||t.translate(0,0);let l=e.getSelectionRanges();l.length>0&&e.setSelectionRanges(l,!1)}},[e,i]),l=(0,s.useMemo)(()=>(0,t.debounce)(()=>{if(!a||!e||!a||e.render.isDisposed())return;let t=e.render.with(n.DocSkeletonManagerService).getSkeleton(),{scene:s,mainComponent:c}=e.render,l=s.getViewport(`viewMain`),{actualWidth:u,actualHeight:d}=t.getActualSize(),{width:f,height:p}=e.getBoundingClientRect(),m=l==null?void 0:l.getScrollBar(),h=Math.max(u,f),g=Math.max(d,p);if(s.transformByState({width:h,height:g}),c==null||c.resize(h,g),!i)if(d>p)m==null?l&&(m=new r.ScrollBar(l,{enableHorizontal:!1,enableVertical:!0,barSize:8,minThumbSizeV:8})):l==null||l.resetCanvasSizeAndUpdateScroll(),o&&(l==null||l.scrollToBarPos({x:0,y:1/0}));else{var _;m=null,l==null||l.scrollToBarPos({x:0,y:0}),l==null||(_=l.getScrollBar())==null||_.dispose()}else if(u>f)m==null?l&&new r.ScrollBar(l,{barSize:8,enableVertical:!1,enableHorizontal:!0,minThumbSizeV:8}):l==null||l.resetCanvasSizeAndUpdateScroll(),o&&(l==null||l.scrollToBarPos({x:1/0,y:0}));else{var v;m=null,l==null||l.scrollToBarPos({x:0,y:0}),l==null||(v=l.getScrollBar())==null||v.dispose()}},30),[e,a,i,o]);return(0,s.useEffect)(()=>{if(a&&e){let e=setTimeout(()=>{c(),l()},500);return()=>{clearTimeout(e)}}},[e,a,c,l]),(0,s.useEffect)(()=>{if(a&&e){let t=e.input$.subscribe(()=>{l()});return()=>{t.unsubscribe()}}},[e,a,l]),{resize:c,checkScrollBar:l}};e.AfterSpaceCommand=N,e.AlignCenterCommand=Hr,e.AlignJustifyCommand=Wr,e.AlignLeftCommand=Vr,e.AlignOperationCommand=Br,e.AlignRightCommand=Ur,e.BreakLineCommand=B,e.BulletListCommand=jr,e.ChangeListNestingLevelCommand=Ar,e.ChangeListNestingLevelType=kr,e.ChangeListTypeCommand=Or,e.CheckListCommand=Mr,e.CoverContentCommand=xr,e.CreateDocTableCommand=Wi,e.CutContentCommand=ye,e.DOCS_COMPONENT_BACKGROUND_LAYER_INDEX=0,e.DOCS_COMPONENT_DEFAULT_Z_INDEX=10,e.DOCS_COMPONENT_HEADER_LAYER_INDEX=4,e.DOCS_COMPONENT_MAIN_LAYER_INDEX=2,e.DOCS_VIEW_KEY=d,e.DOC_CONTENT_INSERT_MENU_ID=_c,e.DOC_VERTICAL_PADDING=4,e.DeleteCommand=Se,e.DeleteCustomBlockCommand=Te,e.DeleteLeftCommand=je,e.DeleteRightCommand=Me,Object.defineProperty(e,"DocAutoFormatService",{enumerable:!0,get:function(){return j}}),Object.defineProperty(e,"DocBackScrollRenderController",{enumerable:!0,get:function(){return vu}}),Object.defineProperty(e,"DocCanvasPopManagerService",{enumerable:!0,get:function(){return Oc}}),e.DocContentInsertService=On,e.DocCopyCommand=hn,e.DocCreateTableOperation=aa,e.DocCutCommand=_n,Object.defineProperty(e,"DocEventManagerService",{enumerable:!0,get:function(){return Fc}}),e.DocIMEInputManagerService=Hn,Object.defineProperty(e,"DocParagraphMenuService",{enumerable:!0,get:function(){return Yc}}),e.DocPasteCommand=yn,e.DocPrintInterceptorService=nd,Object.defineProperty(e,"DocRenderController",{enumerable:!0,get:function(){return Cu}}),e.DocSelectAllCommand=jn,Object.defineProperty(e,"DocSelectionRenderService",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(e,"DocStateChangeManagerService",{enumerable:!0,get:function(){return rd}}),e.DocTableDeleteColumnsCommand=Ki,e.DocTableDeleteRowsCommand=Gi,e.DocTableDeleteTableCommand=qi,e.DocTableInsertColumnCommand=ta,e.DocTableInsertColumnLeftCommand=Qi,e.DocTableInsertColumnRightCommand=$i,e.DocTableInsertRowAboveCommand=Xi,e.DocTableInsertRowBellowCommand=Zi,e.DocTableInsertRowCommand=ea,e.DocTableTabCommand=na,Object.defineProperty(e,"DocUIController",{enumerable:!0,get:function(){return gu}}),Object.defineProperty(e,"DocsRenderService",{enumerable:!0,get:function(){return Su}}),e.DocsUIMenuSchema=Bl,e.EMPTY_PARAGRAPH_MENU_ID=Qs,e.Editor=Ua,e.EditorInsertTextCommandId=be,Object.defineProperty(e,"EditorService",{enumerable:!0,get:function(){return Ga}}),e.EnterCommand=P,e.FLOAT_TEXT_STYLE_MENU_ID=ds,e.FLOAT_TOOLBAR_MENU_POSITION=fs,e.HorizontalLineCommand=kn,e.IDocClipboardService=dn,e.IEditorService=Z,e.IMEInputCommand=Un,e.INSERT_BELLOW_MENU_ID=gc,e.InnerPasteCommand=me,e.InsertCommand=xe,e.InsertCustomRangeCommand=Er,e.ListOperationCommand=Dr,e.MergeTwoParagraphCommand=Ee,e.MoveCursorOperation=oa,e.MoveDocBlockCommand=bn,e.MoveSelectionOperation=sa,e.NORMAL_TEXT_SELECTION_PLUGIN_NAME=`normalTextSelectionPluginName`,e.NodePositionConvertToCursor=fi,e.NodePositionConvertToRectRange=wi,e.OrderListCommand=Pr,e.PastePluginLark=ht,e.PastePluginUniver=vt,e.PastePluginWord=yt,e.QuickListCommand=Fr,e.RectRange=Pi,e.ReplaceContentCommand=br,e.ReplaceSelectionCommand=wr,e.ReplaceSnapshotCommand=yr,e.ReplaceTextRunsCommand=Tr,e.ResetInlineFormatTextBackgroundColorCommand=dr,e.RichTextEditor=e=>{let{className:a,autoFocus:o,onFocusChange:c,initialValue:d,onClickOutside:f,keyboardEventConfig:p,moveCursor:m=!0,style:h,isSingle:g,editorId:_,onHeightChange:v,onChange:y,defaultHeight:b=32,maxHeight:x=32,icon:S,editorRef:C,placeholder:w,noStyle:T}=e;(0,i.useDependency)(Z);let E=(0,i.useEvent)(c),D=(0,i.useEvent)(f),[O,k]=(0,s.useState)(b),A=(0,s.useRef)(null),j=(0,s.useMemo)(()=>_==null?(0,t.createInternalEditorID)(`RICH_TEXT_EDITOR-${(0,t.generateRandomId)(4)}`):_,[_]),M=_d({editorId:j,initialValue:d,container:A,autoFocus:o,isSingle:g}),N=(0,i.useDependency)(r.IRenderManagerService).getRenderById(j),P=yd(j),F=(0,s.useRef)(null),[I,L]=(0,s.useState)(()=>{var e,n;return!t.BuildTextUtils.transform.getPlainText((e=M==null||(n=M.getDocumentData().body)==null?void 0:n.dataStream)==null?``:e)}),{checkScrollBar:R}=Cd(M,g,!0,!0);(0,s.useLayoutEffect)(()=>{if(!(!C||!M)){if(typeof C==`function`){C(M);return}C.current=M}},[M]);let z=(0,i.useEvent)(e=>{var r,i;let a=N==null?void 0:N.with(n.DocSkeletonManagerService),o=a==null?void 0:a.getSkeleton().getActualSize();o&&(v==null||v(o.actualHeight),k(Math.max(b,Math.min(o.actualHeight+10,x)))),y==null||y(e,(0,t.getPlainText)((r=(i=e.body)==null?void 0:i.dataStream)==null?``:r)),R()});return(0,s.useEffect)(()=>{var e,n;L(!t.BuildTextUtils.transform.getPlainText((e=M==null||(n=M.getDocumentData().body)==null?void 0:n.dataStream)==null?``:e));let r=M==null?void 0:M.selectionChange$.subscribe(()=>{var e,n;L(!t.BuildTextUtils.transform.getPlainText((e=M==null||(n=M.getDocumentData().body)==null?void 0:n.dataStream)==null?``:e))});return()=>r==null?void 0:r.unsubscribe()},[M]),(0,i.useObservable)(M==null?void 0:M.blur$),(0,i.useObservable)(M==null?void 0:M.focus$),(0,s.useEffect)(()=>{var e,n;let r=M==null?void 0:M.getDocumentData();E==null||E(P,(0,t.getPlainText)((e=r==null||(n=r.body)==null?void 0:n.dataStream)==null?``:e))},[P,E]),vd(j,F,D),xd(P&&m,!1,M),bd(P,p,M),Sd(M,z),(0,u.jsx)(`div`,{className:a,style:h,children:(0,u.jsxs)(`div`,{className:(0,l.clsx)({"univer-border-primary-500":P&&!T,"\n univer-relative univer-box-border univer-flex univer-h-8 univer-w-full univer-items-center\n univer-justify-around univer-gap-2 univer-rounded-md univer-pb-0.5 univer-pl-1.5 univer-pr-2\n univer-pt-1.5\n ":!T,"univer-size-full":T,[l.borderClassName]:!T}),style:{height:O},ref:F,children:[(0,u.jsx)(`div`,{ref:A,className:`univer-relative univer-size-full`,onMouseUp:()=>M==null?void 0:M.focus()}),S,I?(0,u.jsx)(`div`,{className:`univer-absolute univer-left-[5px] univer-top-[5px] univer-text-sm univer-text-gray-500`,children:w}):null]})})},e.SetDocZoomRatioCommand=Kr,e.SetDocZoomRatioOperation=q,e.SetInlineFormatBoldCommand=Gn,e.SetInlineFormatCommand=pr,e.SetInlineFormatFontFamilyCommand=ar,e.SetInlineFormatFontSizeCommand=rr,e.SetInlineFormatItalicCommand=qn,e.SetInlineFormatStrikethroughCommand=Zn,e.SetInlineFormatSubscriptCommand=$n,e.SetInlineFormatSuperscriptCommand=tr,e.SetInlineFormatTextBackgroundColorCommand=lr,e.SetInlineFormatTextColorCommand=sr,e.SetInlineFormatUnderlineCommand=Yn,e.SetParagraphNamedStyleCommand=J,e.SwitchDocModeCommand=Ui,e.TEXT_RANGE_LAYER_INDEX=3,e.TabCommand=M,e.TextRange=Mi,e.ToggleCheckListCommand=Nr,Object.defineProperty(e,"UniverDocsUIPlugin",{enumerable:!0,get:function(){return gd}}),e.UpdateCommand=Ce,e.VIEWPORT_KEY=f,e.addCustomDecorationBySelectionFactory=_,e.addCustomDecorationFactory=g,e.buildMoveDocBlockActions=xn,e.calcDocRangePositions=Dc,e.convertBodyToHtml=zt,e.convertPositionsToRectRanges=Ni,e.deleteCustomDecorationFactory=v,e.docDrawingPositionToTransform=C,e.genTableSource=ne,e.generateParagraphs=z,e.getAnchorBounding=Ai,e.getCanvasOffsetByEngine=zi,e.getCommandSkeleton=L,e.getCursorWhenDelete=Oe,e.getCustomBlockIdsInSelections=de,e.getCutActionsFromDocRanges=ve,e.getDocBlockRangeMenuId=yc,e.getDocObject=m,e.getDocObjectById=h,e.getEmptyTableCell=H,e.getEmptyTableRow=ee,e.getLineBounding=ji,e.getOneTextSelectionRange=li,e.getRichTextEditPath=R,e.getTableColumn=te,e.hasParagraphInTable=y,e.hideMenuWhenSelectionInBlockRange=ts,e.isInSameTableCell=gi,e.isTextRangeInAnyBlockRange=es,e.isValidRectRange=hi,e.neoGetDocObject=p,e.transformToDocDrawingPosition=w,e.useEditor=_d,e.useEditorClickOutside=vd,e.useIsFocusing=yd,e.useKeyboardEvent=bd,e.useLeftAndRightArrow=xd,e.useOnChange=Sd,e.useResize=Cd,e.whenDocAndEditorFocused=$});
349
349
 
350
350
  // @univerjs/docs-ui/facade
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/preset-docs-core",
3
- "version": "0.25.0",
3
+ "version": "0.25.1",
4
4
  "private": false,
5
5
  "description": "Preset for core Univer Docs editing and UI features.",
6
6
  "author": "DreamNum Co., Ltd. <developer@univer.ai>",
@@ -60,21 +60,21 @@
60
60
  "rxjs": ">=7.0.0"
61
61
  },
62
62
  "dependencies": {
63
- "@univerjs/design": "0.25.0",
64
- "@univerjs/docs": "0.25.0",
65
- "@univerjs/docs-ui": "0.25.0",
66
- "@univerjs/engine-formula": "0.25.0",
67
- "@univerjs/engine-render": "0.25.0",
68
- "@univerjs/network": "0.25.0",
69
- "@univerjs/ui": "0.25.0"
63
+ "@univerjs/design": "0.25.1",
64
+ "@univerjs/docs": "0.25.1",
65
+ "@univerjs/docs-ui": "0.25.1",
66
+ "@univerjs/engine-formula": "0.25.1",
67
+ "@univerjs/engine-render": "0.25.1",
68
+ "@univerjs/network": "0.25.1",
69
+ "@univerjs/ui": "0.25.1"
70
70
  },
71
71
  "devDependencies": {
72
- "@univerjs/core": "0.25.0",
72
+ "@univerjs/core": "0.25.1",
73
73
  "react": "18.3.1",
74
74
  "react-dom": "18.3.1",
75
75
  "rxjs": "7.8.2",
76
76
  "typescript": "^6.0.3",
77
- "@univerjs-infra/shared": "0.25.0"
77
+ "@univerjs-infra/shared": "0.25.1"
78
78
  },
79
79
  "scripts": {
80
80
  "prebuild:preset": "tsx prepare.ts",