@univerjs/ui 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -40,7 +40,7 @@ hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
40
40
  univer-text-primary-600
41
41
  `}),(0,p.jsx)(`span`,{className:(0,m.clsx)(Zt,c&&s&&`
42
42
  univer-pl-4
43
- `),children:(0,p.jsx)(I,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:r=>{i==null||i({...e,value:r,id:n.id,label:t,commandId:e.commandId})}})})]});return c?(0,p.jsx)(`button`,{type:`button`,className:d,disabled:e.disabled,onClick:()=>{i==null||i({...e,id:n.id,label:t,commandId:e.commandId})},children:f},o):(0,p.jsx)(`div`,{className:d,"aria-disabled":e.disabled,children:f},o)})}),P&&(0,p.jsx)(tn,{menuSchemas:ee,submenuPortalContainer:r,onOptionSelect:i,maxMenuHeight:a})]})}),r):null)]})}function rn(e){let[t,n]=(0,d.useState)({});return(0,d.useEffect)(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?(0,l.combineLatest)(e.children.map(e=>{var t,n;return(t=(n=e.item)==null?void 0:n.hidden$)==null?(0,l.of)(!1):t})).subscribe(t=>{let r=t.every(e=>e===!0);n(t=>({...t,[e.key]:r}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),n({})}},[e]),t}function an(e){let{hostId:t,visible:n,anchorRect:r,menuType:i,anchorVertical:a=`bottom`,menuOffset:o=0,onRequestClose:s,onOptionSelect:c}=e,l=(0,d.useRef)(null),u=(0,f.useDependency)(Gt),h=(0,d.useRef)(s),g=(0,d.useRef)(0),_=(0,d.useRef)(n),v=(0,d.useRef)(i);(0,d.useEffect)(()=>{h.current=s},[s]),n&&(!_.current||i!==v.current)&&(g.current+=1),_.current=n,v.current=i,(0,d.useEffect)(()=>{let e=u.registerMenu(t,()=>{h.current()});return()=>{e.dispose(),u.deactivateMenu(t)}},[u,t]),(0,d.useLayoutEffect)(()=>{if(n){u.activateMenu(t);return}u.deactivateMenu(t)},[u,t,n]),(0,d.useEffect)(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||l.current&&!l.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=l.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,d.useMemo)(()=>{if(!r)return[0,0];let e=a===`top`?r.top:r.bottom,t=a===`top`?e-o:e+o;return[r.left,t]},[r,a,o]);return(0,p.jsx)(m.Popup,{visible:n&&!!r,offset:y,overflowVisible:!0,placementY:a===`top`?`above`:`below`,children:(0,p.jsx)(`section`,{ref:l,children:i&&(0,p.jsx)(en,{menuType:i,menuSessionVersion:g.current,onOptionSelect:c})})})}function on(){let[e,t]=(0,d.useState)(!1),[n,r]=(0,d.useState)(``),[i,a]=(0,d.useState)(null),o=(0,d.useRef)(e),s=(0,f.useDependency)(Ut),l=(0,f.useDependency)(c.ICommandService),u=(0,f.useInjector)();o.current=e,(0,d.useEffect)(()=>{let e=s.registerContextMenuHandler({handleContextMenu:m,hideContextMenu(){h()},get visible(){return o.current}});return()=>{e.dispose()}},[s]);function m(e,n){t(!1),requestAnimationFrame(()=>{r(n),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function h(){t(!1)}return(0,p.jsx)(an,{hostId:`desktop-context-menu`,visible:e,anchorRect:i,menuType:n,onRequestClose:h,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;l&&l.executeCommand(n==null?t:n,{value:r}),u.get(U).focus(),h()}})}const sn=(0,c.createIdentifier)(`univer.global-zone-service`);function cn(){let e=(0,f.useDependency)(sn),[t,n]=(0,d.useState)(!1),r=(0,f.useObservable)(e.componentKey$,e.componentKey),i=(0,f.useDependency)(k),a=(0,d.useMemo)(()=>{let e=i.get(r==null?``:r);if(e)return e},[r,i]);return(0,d.useEffect)(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?(0,p.jsx)(`section`,{className:(0,m.clsx)(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&(0,p.jsx)(a,{})}):null}function ln(){let e=(0,f.useDependency)(T),t=(0,f.useObservable)(e.sidebarOptions$),n=(0,d.useRef)(null),r=(0,d.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,p.jsx)(I,{...i},n))}}return e},[t]);(0,d.useEffect)(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),(0,d.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 i=(0,d.useMemo)(()=>r!=null&&r.visible?typeof r.width==`number`?`${r.width}px`:r.width:0,[r]);function a(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return(0,p.jsx)(`section`,{"data-u-comp":`sidebar`,className:(0,m.clsx)(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":r==null?void 0:r.visible,"univer-w-0 univer-translate-x-full":!(r!=null&&r.visible)}),style:{width:i},children:(0,p.jsxs)(`section`,{ref:n,className:(0,m.clsx)(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,m.borderLeftBottomClassName,m.scrollbarClassName),children:[(0,p.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:[r==null?void 0:r.header,(0,p.jsx)(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:a,children:(0,p.jsx)(u.CloseIcon,{})})]}),(0,p.jsx)(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:r==null?void 0:r.bodyStyle,children:r==null?void 0:r.children}),(r==null?void 0:r.footer)&&(0,p.jsx)(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:r.footer})]})})}const un=(0,c.createIdentifier)(`univer.zen-zone-service`);function dn(){let e=(0,f.useDependency)(un),[t,n]=(0,d.useState)(!1),[r,i]=(0,d.useState)(),a=(0,f.useObservable)(e.temporaryHidden$),o=(0,f.useDependency)(k);(0,d.useEffect)(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=(0,d.useMemo)(()=>{let e=o.get(r==null?``:r);if(e)return e},[r]);return(0,p.jsx)(`section`,{className:(0,m.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":a}),children:(0,p.jsx)(`div`,{className:`univer-relative univer-flex-1`,children:s&&(0,p.jsx)(s,{})})})}function fn(e){let t=oe(R);return(0,p.jsx)(pn,{...e,...t})}function pn(e){var t;let{header:n=!0,toolbar:r=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s=`classic`,mountContainer:l,onRendered:u}=e,h=(0,f.useDependency)(c.LocaleService),g=(0,f.useDependency)(c.ThemeService),_=(0,f.useDependency)(Ht),v=(0,d.useRef)(null),y=(0,f.useDependency)(c.IConfigService).getConfig(R),b=$(X.CUSTOM_HEADER),x=$(X.FOOTER),S=$(X.HEADER),C=$(X.HEADER_MENU),w=$(X.CONTENT),T=$(X.LEFT_SIDEBAR),E=$(X.GLOBAL),D=$(X.TOOLBAR),O=(t=y==null?void 0:y.popupRootId)==null?`univer-popup-portal`:t;(0,d.useLayoutEffect)(()=>{let e=g.currentTheme$.subscribe(e=>{_.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[k,A]=(0,d.useState)(!1);(0,d.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,d.useEffect)(()=>{v.current&&(u==null||u(v.current))},[u]);let[j,M]=(0,d.useState)(h.getLocales()),N=(0,d.useMemo)(()=>document.createElement(`div`),[]);return(0,d.useEffect)(()=>{document.body.appendChild(N);let e=[h.localeChanged$.subscribe(()=>{M(h.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(N)}},[h,l,N]),(0,p.jsxs)(m.ConfigProvider,{locale:j==null?void 0:j.design,mountContainer:N,children:[(0,p.jsxs)(`div`,{"data-u-comp":`workbench-layout`,className:(0,m.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(),children:[(0,p.jsx)(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:(0,p.jsx)(Q,{components:b},`custom-header`)}),n&&r&&(0,p.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,p.jsx)(Q,{components:D,sharedProps:{ribbonType:s,headerMenuComponents:C,headerMenu:a}},`toolbar`)}),(0,p.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,p.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,p.jsx)(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:(0,p.jsx)(Q,{components:T},`left-sidebar`)}),(0,p.jsxs)(`section`,{className:(0,m.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,m.borderBottomClassName),children:[(0,p.jsx)(`header`,{children:n&&(0,p.jsx)(Q,{components:S},`header`)}),(0,p.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,p.jsx)(Q,{components:w},`content`)})]}),(0,p.jsx)(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:(0,p.jsx)(ln,{})})]}),i&&(0,p.jsx)(`footer`,{children:(0,p.jsx)(Q,{components:x,sharedProps:{contextMenu:o}},`footer`)}),(0,p.jsx)(dn,{})]})]}),(0,p.jsx)(Q,{components:E},`global`),(0,p.jsx)(cn,{}),o&&(0,p.jsx)(on,{}),(0,p.jsx)(mn,{}),(0,p.jsx)(`div`,{id:O})]})}function mn(){let{mountContainer:e}=(0,d.useContext)(m.ConfigContext);return(0,_.createPortal)((0,p.jsx)(Q,{components:$(X.FLOATING)},`floating`),e)}var hn=class extends c.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,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(c.LifecycleStages.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[n]of t)if(this._changeRenderUnit(n,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=c.LifecycleStages.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=c.LifecycleStages.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof c.LifecycleUnreachableError)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let n=this._renderManagerService.getRenderById(e);if(!n||!n.unitId||(0,c.isInternalEditorID)(n.unitId))return!1;let r=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return r==null||r.deactivate(),r==null||r.engine.unmount(),n.engine.mount(t),n.activate(),this._currentRenderId=e,!0}};let gn=class extends hn{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(ht),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[ne,F],[ie,re],[he,pe],[ge,me],[be,_e],[ce,m.ColorPicker]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return _n(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>(0,f.connectInjector)(Et,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>(0,f.connectInjector)(yt,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>(0,f.connectInjector)(Vt,this._injector)))}};gn=B([z(1,(0,c.Inject)(c.Injector)),z(2,(0,c.Inject)(c.LifecycleService)),z(3,h.IRenderManagerService),z(4,U),z(5,c.IUniverInstanceService),z(6,J),z(7,Z),z(8,(0,c.Inject)(k))],gn);function _n(e,t,n){let r,i=t.container;r=typeof i==`string`?document.getElementById(i)||vn(i):i instanceof HTMLElement?i:vn(`univer`);let a=(0,f.connectInjector)(fn,e),o=e=>n(e,r);function s(){(0,m.render)((0,p.jsx)(a,{...t,mountContainer:r,onRendered:o}),r)}return s(),(0,c.toDisposable)(()=>{(0,m.unmount)(r)})}function vn(e){let t=document.createElement(`div`);return t.id=e,t}const yn=(0,c.createIdentifier)(`univer.ui.ui-controller`);var bn=`@univerjs/ui`,xn=`0.19.0`;const Sn=`
43
+ `),children:(0,p.jsx)(I,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:r=>{i==null||i({...e,value:r,id:n.id,label:t,commandId:e.commandId})}})})]});return c?(0,p.jsx)(`button`,{type:`button`,className:d,disabled:e.disabled,onClick:()=>{i==null||i({...e,id:n.id,label:t,commandId:e.commandId})},children:f},o):(0,p.jsx)(`div`,{className:d,"aria-disabled":e.disabled,children:f},o)})}),P&&(0,p.jsx)(tn,{menuSchemas:ee,submenuPortalContainer:r,onOptionSelect:i,maxMenuHeight:a})]})}),r):null)]})}function rn(e){let[t,n]=(0,d.useState)({});return(0,d.useEffect)(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?(0,l.combineLatest)(e.children.map(e=>{var t,n;return(t=(n=e.item)==null?void 0:n.hidden$)==null?(0,l.of)(!1):t})).subscribe(t=>{let r=t.every(e=>e===!0);n(t=>({...t,[e.key]:r}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),n({})}},[e]),t}function an(e){let{hostId:t,visible:n,anchorRect:r,menuType:i,anchorVertical:a=`bottom`,menuOffset:o=0,onRequestClose:s,onOptionSelect:c}=e,l=(0,d.useRef)(null),u=(0,f.useDependency)(Gt),h=(0,d.useRef)(s),g=(0,d.useRef)(0),_=(0,d.useRef)(n),v=(0,d.useRef)(i);(0,d.useEffect)(()=>{h.current=s},[s]),n&&(!_.current||i!==v.current)&&(g.current+=1),_.current=n,v.current=i,(0,d.useEffect)(()=>{let e=u.registerMenu(t,()=>{h.current()});return()=>{e.dispose(),u.deactivateMenu(t)}},[u,t]),(0,d.useLayoutEffect)(()=>{if(n){u.activateMenu(t);return}u.deactivateMenu(t)},[u,t,n]),(0,d.useEffect)(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||l.current&&!l.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=l.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,d.useMemo)(()=>{if(!r)return[0,0];let e=a===`top`?r.top:r.bottom,t=a===`top`?e-o:e+o;return[r.left,t]},[r,a,o]);return(0,p.jsx)(m.Popup,{visible:n&&!!r,offset:y,overflowVisible:!0,placementY:a===`top`?`above`:`below`,children:(0,p.jsx)(`section`,{ref:l,children:i&&(0,p.jsx)(en,{menuType:i,menuSessionVersion:g.current,onOptionSelect:c})})})}function on(){let[e,t]=(0,d.useState)(!1),[n,r]=(0,d.useState)(``),[i,a]=(0,d.useState)(null),o=(0,d.useRef)(e),s=(0,f.useDependency)(Ut),l=(0,f.useDependency)(c.ICommandService),u=(0,f.useInjector)();o.current=e,(0,d.useEffect)(()=>{let e=s.registerContextMenuHandler({handleContextMenu:m,hideContextMenu(){h()},get visible(){return o.current}});return()=>{e.dispose()}},[s]);function m(e,n){t(!1),requestAnimationFrame(()=>{r(n),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function h(){t(!1)}return(0,p.jsx)(an,{hostId:`desktop-context-menu`,visible:e,anchorRect:i,menuType:n,onRequestClose:h,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;l&&l.executeCommand(n==null?t:n,{value:r}),u.get(U).focus(),h()}})}const sn=(0,c.createIdentifier)(`univer.global-zone-service`);function cn(){let e=(0,f.useDependency)(sn),[t,n]=(0,d.useState)(!1),r=(0,f.useObservable)(e.componentKey$,e.componentKey),i=(0,f.useDependency)(k),a=(0,d.useMemo)(()=>{let e=i.get(r==null?``:r);if(e)return e},[r,i]);return(0,d.useEffect)(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?(0,p.jsx)(`section`,{className:(0,m.clsx)(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&(0,p.jsx)(a,{})}):null}function ln(){let e=(0,f.useDependency)(T),t=(0,f.useObservable)(e.sidebarOptions$),n=(0,d.useRef)(null),r=(0,d.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,p.jsx)(I,{...i},n))}}return e},[t]);(0,d.useEffect)(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),(0,d.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 i=(0,d.useMemo)(()=>r!=null&&r.visible?typeof r.width==`number`?`${r.width}px`:r.width:0,[r]);function a(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return(0,p.jsx)(`section`,{"data-u-comp":`sidebar`,className:(0,m.clsx)(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":r==null?void 0:r.visible,"univer-w-0 univer-translate-x-full":!(r!=null&&r.visible)}),style:{width:i},children:(0,p.jsxs)(`section`,{ref:n,className:(0,m.clsx)(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,m.borderLeftBottomClassName,m.scrollbarClassName),children:[(0,p.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:[r==null?void 0:r.header,(0,p.jsx)(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:a,children:(0,p.jsx)(u.CloseIcon,{})})]}),(0,p.jsx)(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:r==null?void 0:r.bodyStyle,children:r==null?void 0:r.children}),(r==null?void 0:r.footer)&&(0,p.jsx)(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:r.footer})]})})}const un=(0,c.createIdentifier)(`univer.zen-zone-service`);function dn(){let e=(0,f.useDependency)(un),[t,n]=(0,d.useState)(!1),[r,i]=(0,d.useState)(),a=(0,f.useObservable)(e.temporaryHidden$),o=(0,f.useDependency)(k);(0,d.useEffect)(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=(0,d.useMemo)(()=>{let e=o.get(r==null?``:r);if(e)return e},[r]);return(0,p.jsx)(`section`,{className:(0,m.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":a}),children:(0,p.jsx)(`div`,{className:`univer-relative univer-flex-1`,children:s&&(0,p.jsx)(s,{})})})}function fn(e){let t=oe(R);return(0,p.jsx)(pn,{...e,...t})}function pn(e){var t;let{header:n=!0,toolbar:r=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s=`classic`,mountContainer:l,onRendered:u}=e,h=(0,f.useDependency)(c.LocaleService),g=(0,f.useDependency)(c.ThemeService),_=(0,f.useDependency)(Ht),v=(0,d.useRef)(null),y=(0,f.useDependency)(c.IConfigService).getConfig(R),b=$(X.CUSTOM_HEADER),x=$(X.FOOTER),S=$(X.HEADER),C=$(X.HEADER_MENU),w=$(X.CONTENT),T=$(X.LEFT_SIDEBAR),E=$(X.GLOBAL),D=$(X.TOOLBAR),O=(t=y==null?void 0:y.popupRootId)==null?`univer-popup-portal`:t;(0,d.useLayoutEffect)(()=>{let e=g.currentTheme$.subscribe(e=>{_.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[k,A]=(0,d.useState)(!1);(0,d.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,d.useEffect)(()=>{v.current&&(u==null||u(v.current))},[u]);let[j,M]=(0,d.useState)(h.getLocales()),N=(0,d.useMemo)(()=>document.createElement(`div`),[]);return(0,d.useEffect)(()=>{document.body.appendChild(N);let e=[h.localeChanged$.subscribe(()=>{M(h.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(N)}},[h,l,N]),(0,p.jsxs)(m.ConfigProvider,{locale:j==null?void 0:j.design,mountContainer:N,children:[(0,p.jsxs)(`div`,{"data-u-comp":`workbench-layout`,className:(0,m.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(),children:[(0,p.jsx)(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:(0,p.jsx)(Q,{components:b},`custom-header`)}),n&&r&&(0,p.jsx)(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:(0,p.jsx)(Q,{components:D,sharedProps:{ribbonType:s,headerMenuComponents:C,headerMenu:a}},`toolbar`)}),(0,p.jsxs)(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[(0,p.jsxs)(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[(0,p.jsx)(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:(0,p.jsx)(Q,{components:T},`left-sidebar`)}),(0,p.jsxs)(`section`,{className:(0,m.clsx)(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,m.borderBottomClassName),children:[(0,p.jsx)(`header`,{children:n&&(0,p.jsx)(Q,{components:S},`header`)}),(0,p.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,p.jsx)(Q,{components:w},`content`)})]}),(0,p.jsx)(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:(0,p.jsx)(ln,{})})]}),i&&(0,p.jsx)(`footer`,{children:(0,p.jsx)(Q,{components:x,sharedProps:{contextMenu:o}},`footer`)}),(0,p.jsx)(dn,{})]})]}),(0,p.jsx)(Q,{components:E},`global`),(0,p.jsx)(cn,{}),o&&(0,p.jsx)(on,{}),(0,p.jsx)(mn,{}),(0,p.jsx)(`div`,{id:O})]})}function mn(){let{mountContainer:e}=(0,d.useContext)(m.ConfigContext);return(0,_.createPortal)((0,p.jsx)(Q,{components:$(X.FLOATING)},`floating`),e)}var hn=class extends c.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,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(c.LifecycleStages.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[n]of t)if(this._changeRenderUnit(n,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=c.LifecycleStages.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=c.LifecycleStages.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof c.LifecycleUnreachableError)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let n=this._renderManagerService.getRenderById(e);if(!n||!n.unitId||(0,c.isInternalEditorID)(n.unitId))return!1;let r=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return r==null||r.deactivate(),r==null||r.engine.unmount(),n.engine.mount(t),n.activate(),this._currentRenderId=e,!0}};let gn=class extends hn{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(ht),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[ne,F],[ie,re],[he,pe],[ge,me],[be,_e],[ce,m.ColorPicker]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return _n(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>(0,f.connectInjector)(Et,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>(0,f.connectInjector)(yt,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>(0,f.connectInjector)(Vt,this._injector)))}};gn=B([z(1,(0,c.Inject)(c.Injector)),z(2,(0,c.Inject)(c.LifecycleService)),z(3,h.IRenderManagerService),z(4,U),z(5,c.IUniverInstanceService),z(6,J),z(7,Z),z(8,(0,c.Inject)(k))],gn);function _n(e,t,n){let r,i=t.container;r=typeof i==`string`?document.getElementById(i)||vn(i):i instanceof HTMLElement?i:vn(`univer`);let a=(0,f.connectInjector)(fn,e),o=e=>n(e,r);function s(){(0,m.render)((0,p.jsx)(a,{...t,mountContainer:r,onRendered:o}),r)}return s(),(0,c.toDisposable)(()=>{(0,m.unmount)(r)})}function vn(e){let t=document.createElement(`div`);return t.id=e,t}const yn=(0,c.createIdentifier)(`univer.ui.ui-controller`);var bn=`@univerjs/ui`,xn=`0.20.0`;const Sn=`
44
44
  univer-m-0 univer-flex univer-appearance-none univer-items-center univer-justify-center
45
45
  univer-border-0 univer-bg-transparent univer-p-0 univer-leading-none univer-outline-none
46
46
  `;function Cn(e){var t;let{headerMenuComponents:n,headerMenu:r=!0}=e,i=(0,f.useDependency)(c.LocaleService),a=(0,f.useDependency)(Dt),o=(0,f.useObservable)(a.ribbon$,[]),s=(0,f.useObservable)(a.activatedTab$,W.START),l=(0,d.useMemo)(()=>{let e=o.findIndex(e=>e.key===s);return e===-1?0:e},[s,o]),h=o[l],g=(t=h==null?void 0:h.children)==null?[]:t,_=!!(r&&n&&n.size>0),v=(0,d.useRef)(null),[y,b]=(0,d.useState)(!1),[x,S]=(0,d.useState)(!1);if((0,d.useEffect)(()=>{!h&&o.length>0&&a.setActivatedTab(o[0].key)},[h,o,a]),(0,d.useEffect)(()=>{let e=v.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:n,scrollWidth:r}=e;b(t>4),S(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)}},[h]),o.length===0&&!_)return null;function C(e){let t=o[e];t&&a.setActivatedTab(t.key)}function w(e){let t=v.current;t&&t.scrollBy({left:e===`left`?-168:168,behavior:`smooth`})}return(0,p.jsxs)(`div`,{"data-u-comp":`mobile-ribbon`,className:(0,m.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`,m.borderBottomClassName),children:[(0,p.jsxs)(`div`,{className:`
package/lib/es/index.js CHANGED
@@ -40,7 +40,7 @@ hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
40
40
  univer-text-primary-600
41
41
  `}),I(`span`,{className:R(To,c&&s&&`
42
42
  univer-pl-4
43
- `),children:I(V,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:r=>{i==null||i({...e,value:r,id:n.id,label:t,commandId:e.commandId})}})})]});return c?I(`button`,{type:`button`,className:u,disabled:e.disabled,onClick:()=>{i==null||i({...e,id:n.id,label:t,commandId:e.commandId})},children:d},o):I(`div`,{className:u,"aria-disabled":e.disabled,children:d},o)})}),re&&I(ko,{menuSchemas:ne,submenuPortalContainer:r,onOptionSelect:i,maxMenuHeight:a})]})}),r):null)]})}function jo(e){let[t,n]=M({});return k(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?De(e.children.map(e=>{var t,n;return(t=(n=e.item)==null?void 0:n.hidden$)==null?Ie(!1):t})).subscribe(t=>{let r=t.every(e=>e===!0);n(t=>({...t,[e.key]:r}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),n({})}},[e]),t}function Mo(e){let{hostId:t,visible:n,anchorRect:r,menuType:i,anchorVertical:a=`bottom`,menuOffset:o=0,onRequestClose:s,onOptionSelect:c}=e,l=j(null),u=P(yo),d=j(s),f=j(0),p=j(n),m=j(i);k(()=>{d.current=s},[s]),n&&(!p.current||i!==m.current)&&(f.current+=1),p.current=n,m.current=i,k(()=>{let e=u.registerMenu(t,()=>{d.current()});return()=>{e.dispose(),u.deactivateMenu(t)}},[u,t]),ur(()=>{if(n){u.activateMenu(t);return}u.deactivateMenu(t)},[u,t,n]),k(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||l.current&&!l.current.contains(t.target)&&d.current()},r=e=>{e.key===`Escape`&&d.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=l.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 h=A(()=>{if(!r)return[0,0];let e=a===`top`?r.top:r.bottom,t=a===`top`?e-o:e+o;return[r.left,t]},[r,a,o]);return I(Pr,{visible:n&&!!r,offset:h,overflowVisible:!0,placementY:a===`top`?`above`:`below`,children:I(`section`,{ref:l,children:i&&I(Oo,{menuType:i,menuSessionVersion:f.current,onOptionSelect:c})})})}function No(){let[e,t]=M(!1),[n,r]=M(``),[i,a]=M(null),o=j(e),s=P(_o),c=P(f),l=_r();o.current=e,k(()=>{let e=s.registerContextMenuHandler({handleContextMenu:u,hideContextMenu(){d()},get visible(){return o.current}});return()=>{e.dispose()}},[s]);function u(e,n){t(!1),requestAnimationFrame(()=>{r(n),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function d(){t(!1)}return I(Mo,{hostId:`desktop-context-menu`,visible:e,anchorRect:i,menuType:n,onRequestClose:d,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;c&&c.executeCommand(n==null?t:n,{value:r}),l.get(ua).focus(),d()}})}const Po=E(`univer.global-zone-service`);function Fo(){let e=P(Po),[t,n]=M(!1),r=F(e.componentKey$,e.componentKey),i=P(B),a=A(()=>{let e=i.get(r==null?``:r);if(e)return e},[r,i]);return k(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?I(`section`,{className:R(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&I(a,{})}):null}function Io(){let e=P(ui),t=F(e.sidebarOptions$),n=j(null),r=A(()=>{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]=I(V,{...i},n))}}return e},[t]);k(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),k(()=>{let t=t=>{e.scrollEvent$.next(t)},r=n.current;return r&&r.addEventListener(`scroll`,t),()=>{r==null||r.removeEventListener(`scroll`,t)}},[e]);let i=A(()=>r!=null&&r.visible?typeof r.width==`number`?`${r.width}px`:r.width:0,[r]);function a(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return I(`section`,{"data-u-comp":`sidebar`,className:R(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":r==null?void 0:r.visible,"univer-w-0 univer-translate-x-full":!(r!=null&&r.visible)}),style:{width:i},children:L(`section`,{ref:n,className:R(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,zr,Jr),children:[L(`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:[r==null?void 0:r.header,I(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:a,children:I(ct,{})})]}),I(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:r==null?void 0:r.bodyStyle,children:r==null?void 0:r.children}),(r==null?void 0:r.footer)&&I(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:r.footer})]})})}const Lo=E(`univer.zen-zone-service`);function Ro(){let e=P(Lo),[t,n]=M(!1),[r,i]=M(),a=F(e.temporaryHidden$),o=P(B);k(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=A(()=>{let e=o.get(r==null?``:r);if(e)return e},[r]);return I(`section`,{className:R(`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":a}),children:I(`div`,{className:`univer-relative univer-flex-1`,children:s&&I(s,{})})})}function zo(e){let t=Di(Ai);return I(Bo,{...e,...t})}function Bo(e){var t;let{header:n=!0,toolbar:r=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s=`classic`,mountContainer:c,onRendered:l}=e,u=P(C),d=P(oe),f=P(go),m=j(null),h=P(p).getConfig(Ai),g=$(X.CUSTOM_HEADER),_=$(X.FOOTER),v=$(X.HEADER),y=$(X.HEADER_MENU),b=$(X.CONTENT),x=$(X.LEFT_SIDEBAR),ee=$(X.GLOBAL),te=$(X.TOOLBAR),S=(t=h==null?void 0:h.popupRootId)==null?`univer-popup-portal`:t;ur(()=>{let e=d.currentTheme$.subscribe(e=>{f.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[ne,w]=M(!1);ur(()=>{let e=d.darkMode$.subscribe(e=>{w(e),e?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)});return()=>{e.unsubscribe()}},[]),k(()=>{m.current&&(l==null||l(m.current))},[l]);let[re,T]=M(u.getLocales()),ie=A(()=>document.createElement(`div`),[]);return k(()=>{document.body.appendChild(ie);let e=[u.localeChanged$.subscribe(()=>{T(u.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(ie)}},[u,c,ie]),L(Cr,{locale:re==null?void 0:re.design,mountContainer:ie,children:[L(`div`,{"data-u-comp":`workbench-layout`,className:R(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,{"univer-dark":ne}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[I(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:I(Q,{components:g},`custom-header`)}),n&&r&&I(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:I(Q,{components:te,sharedProps:{ribbonType:s,headerMenuComponents:y,headerMenu:a}},`toolbar`)}),L(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[L(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[I(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:I(Q,{components:x},`left-sidebar`)}),L(`section`,{className:R(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,Lr),children:[I(`header`,{children:n&&I(Q,{components:v},`header`)}),I(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:m,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:I(Q,{components:b},`content`)})]}),I(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:I(Io,{})})]}),i&&I(`footer`,{children:I(Q,{components:_,sharedProps:{contextMenu:o}},`footer`)}),I(Ro,{})]})]}),I(Q,{components:ee},`global`),I(Fo,{}),o&&I(No,{}),I(Vo,{}),I(`div`,{id:S})]})}function Vo(){let{mountContainer:e}=cr(Sr);return ri(I(Q,{components:$(X.FLOATING)},`floating`),e)}var Ho=class extends a{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,z(this,`_steadyTimeout`,void 0),z(this,`_renderTimeout`,void 0),z(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,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(te.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[n]of t)if(this._changeRenderUnit(n,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=te.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=te.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof S)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let n=this._renderManagerService.getRenderById(e);if(!n||!n.unitId||he(n.unitId))return!1;let r=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return r==null||r.deactivate(),r==null||r.engine.unmount(),n.engine.mount(t),n.activate(),this._currentRenderId=e,!0}};let Uo=class extends Ho{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(Ha),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[Si,xi],[wi,Ci],[Li,Fi],[Ri,Ii],[Hi,zi],[ki,xr]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Wo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>N($a,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>N(Ka,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>N(ho,this._injector)))}};Uo=U([H(1,b(x)),H(2,b(ee)),H(3,Zr),H(4,ua),H(5,y),H(6,J),H(7,Z),H(8,b(B))],Uo);function Wo(e,t,n){let r,i=t.container;r=typeof i==`string`?document.getElementById(i)||Go(i):i instanceof HTMLElement?i:Go(`univer`);let a=N(zo,e),o=e=>n(e,r);function s(){Kr(I(a,{...t,mountContainer:r,onRendered:o}),r)}return s(),D(()=>{Xr(r)})}function Go(e){let t=document.createElement(`div`);return t.id=e,t}const Ko=E(`univer.ui.ui-controller`);var qo=`@univerjs/ui`,Jo=`0.19.0`;const Yo=`
43
+ `),children:I(V,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:r=>{i==null||i({...e,value:r,id:n.id,label:t,commandId:e.commandId})}})})]});return c?I(`button`,{type:`button`,className:u,disabled:e.disabled,onClick:()=>{i==null||i({...e,id:n.id,label:t,commandId:e.commandId})},children:d},o):I(`div`,{className:u,"aria-disabled":e.disabled,children:d},o)})}),re&&I(ko,{menuSchemas:ne,submenuPortalContainer:r,onOptionSelect:i,maxMenuHeight:a})]})}),r):null)]})}function jo(e){let[t,n]=M({});return k(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?De(e.children.map(e=>{var t,n;return(t=(n=e.item)==null?void 0:n.hidden$)==null?Ie(!1):t})).subscribe(t=>{let r=t.every(e=>e===!0);n(t=>({...t,[e.key]:r}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),n({})}},[e]),t}function Mo(e){let{hostId:t,visible:n,anchorRect:r,menuType:i,anchorVertical:a=`bottom`,menuOffset:o=0,onRequestClose:s,onOptionSelect:c}=e,l=j(null),u=P(yo),d=j(s),f=j(0),p=j(n),m=j(i);k(()=>{d.current=s},[s]),n&&(!p.current||i!==m.current)&&(f.current+=1),p.current=n,m.current=i,k(()=>{let e=u.registerMenu(t,()=>{d.current()});return()=>{e.dispose(),u.deactivateMenu(t)}},[u,t]),ur(()=>{if(n){u.activateMenu(t);return}u.deactivateMenu(t)},[u,t,n]),k(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||l.current&&!l.current.contains(t.target)&&d.current()},r=e=>{e.key===`Escape`&&d.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=l.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 h=A(()=>{if(!r)return[0,0];let e=a===`top`?r.top:r.bottom,t=a===`top`?e-o:e+o;return[r.left,t]},[r,a,o]);return I(Pr,{visible:n&&!!r,offset:h,overflowVisible:!0,placementY:a===`top`?`above`:`below`,children:I(`section`,{ref:l,children:i&&I(Oo,{menuType:i,menuSessionVersion:f.current,onOptionSelect:c})})})}function No(){let[e,t]=M(!1),[n,r]=M(``),[i,a]=M(null),o=j(e),s=P(_o),c=P(f),l=_r();o.current=e,k(()=>{let e=s.registerContextMenuHandler({handleContextMenu:u,hideContextMenu(){d()},get visible(){return o.current}});return()=>{e.dispose()}},[s]);function u(e,n){t(!1),requestAnimationFrame(()=>{r(n),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function d(){t(!1)}return I(Mo,{hostId:`desktop-context-menu`,visible:e,anchorRect:i,menuType:n,onRequestClose:d,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;c&&c.executeCommand(n==null?t:n,{value:r}),l.get(ua).focus(),d()}})}const Po=E(`univer.global-zone-service`);function Fo(){let e=P(Po),[t,n]=M(!1),r=F(e.componentKey$,e.componentKey),i=P(B),a=A(()=>{let e=i.get(r==null?``:r);if(e)return e},[r,i]);return k(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?I(`section`,{className:R(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&I(a,{})}):null}function Io(){let e=P(ui),t=F(e.sidebarOptions$),n=j(null),r=A(()=>{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]=I(V,{...i},n))}}return e},[t]);k(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),k(()=>{let t=t=>{e.scrollEvent$.next(t)},r=n.current;return r&&r.addEventListener(`scroll`,t),()=>{r==null||r.removeEventListener(`scroll`,t)}},[e]);let i=A(()=>r!=null&&r.visible?typeof r.width==`number`?`${r.width}px`:r.width:0,[r]);function a(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return I(`section`,{"data-u-comp":`sidebar`,className:R(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":r==null?void 0:r.visible,"univer-w-0 univer-translate-x-full":!(r!=null&&r.visible)}),style:{width:i},children:L(`section`,{ref:n,className:R(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,zr,Jr),children:[L(`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:[r==null?void 0:r.header,I(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:a,children:I(ct,{})})]}),I(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:r==null?void 0:r.bodyStyle,children:r==null?void 0:r.children}),(r==null?void 0:r.footer)&&I(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:r.footer})]})})}const Lo=E(`univer.zen-zone-service`);function Ro(){let e=P(Lo),[t,n]=M(!1),[r,i]=M(),a=F(e.temporaryHidden$),o=P(B);k(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=A(()=>{let e=o.get(r==null?``:r);if(e)return e},[r]);return I(`section`,{className:R(`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":a}),children:I(`div`,{className:`univer-relative univer-flex-1`,children:s&&I(s,{})})})}function zo(e){let t=Di(Ai);return I(Bo,{...e,...t})}function Bo(e){var t;let{header:n=!0,toolbar:r=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s=`classic`,mountContainer:c,onRendered:l}=e,u=P(C),d=P(oe),f=P(go),m=j(null),h=P(p).getConfig(Ai),g=$(X.CUSTOM_HEADER),_=$(X.FOOTER),v=$(X.HEADER),y=$(X.HEADER_MENU),b=$(X.CONTENT),x=$(X.LEFT_SIDEBAR),ee=$(X.GLOBAL),te=$(X.TOOLBAR),S=(t=h==null?void 0:h.popupRootId)==null?`univer-popup-portal`:t;ur(()=>{let e=d.currentTheme$.subscribe(e=>{f.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[ne,w]=M(!1);ur(()=>{let e=d.darkMode$.subscribe(e=>{w(e),e?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)});return()=>{e.unsubscribe()}},[]),k(()=>{m.current&&(l==null||l(m.current))},[l]);let[re,T]=M(u.getLocales()),ie=A(()=>document.createElement(`div`),[]);return k(()=>{document.body.appendChild(ie);let e=[u.localeChanged$.subscribe(()=>{T(u.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(ie)}},[u,c,ie]),L(Cr,{locale:re==null?void 0:re.design,mountContainer:ie,children:[L(`div`,{"data-u-comp":`workbench-layout`,className:R(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,{"univer-dark":ne}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[I(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:I(Q,{components:g},`custom-header`)}),n&&r&&I(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:I(Q,{components:te,sharedProps:{ribbonType:s,headerMenuComponents:y,headerMenu:a}},`toolbar`)}),L(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[L(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[I(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:I(Q,{components:x},`left-sidebar`)}),L(`section`,{className:R(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,Lr),children:[I(`header`,{children:n&&I(Q,{components:v},`header`)}),I(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:m,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:I(Q,{components:b},`content`)})]}),I(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:I(Io,{})})]}),i&&I(`footer`,{children:I(Q,{components:_,sharedProps:{contextMenu:o}},`footer`)}),I(Ro,{})]})]}),I(Q,{components:ee},`global`),I(Fo,{}),o&&I(No,{}),I(Vo,{}),I(`div`,{id:S})]})}function Vo(){let{mountContainer:e}=cr(Sr);return ri(I(Q,{components:$(X.FLOATING)},`floating`),e)}var Ho=class extends a{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,z(this,`_steadyTimeout`,void 0),z(this,`_renderTimeout`,void 0),z(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,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(te.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[n]of t)if(this._changeRenderUnit(n,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=te.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=te.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof S)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let n=this._renderManagerService.getRenderById(e);if(!n||!n.unitId||he(n.unitId))return!1;let r=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return r==null||r.deactivate(),r==null||r.engine.unmount(),n.engine.mount(t),n.activate(),this._currentRenderId=e,!0}};let Uo=class extends Ho{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(Ha),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[Si,xi],[wi,Ci],[Li,Fi],[Ri,Ii],[Hi,zi],[ki,xr]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Wo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>N($a,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>N(Ka,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>N(ho,this._injector)))}};Uo=U([H(1,b(x)),H(2,b(ee)),H(3,Zr),H(4,ua),H(5,y),H(6,J),H(7,Z),H(8,b(B))],Uo);function Wo(e,t,n){let r,i=t.container;r=typeof i==`string`?document.getElementById(i)||Go(i):i instanceof HTMLElement?i:Go(`univer`);let a=N(zo,e),o=e=>n(e,r);function s(){Kr(I(a,{...t,mountContainer:r,onRendered:o}),r)}return s(),D(()=>{Xr(r)})}function Go(e){let t=document.createElement(`div`);return t.id=e,t}const Ko=E(`univer.ui.ui-controller`);var qo=`@univerjs/ui`,Jo=`0.20.0`;const Yo=`
44
44
  univer-m-0 univer-flex univer-appearance-none univer-items-center univer-justify-center
45
45
  univer-border-0 univer-bg-transparent univer-p-0 univer-leading-none univer-outline-none
46
46
  `;function Xo(e){var t;let{headerMenuComponents:n,headerMenu:r=!0}=e,i=P(C),a=P(eo),o=F(a.ribbon$,[]),s=F(a.activatedTab$,K.START),c=A(()=>{let e=o.findIndex(e=>e.key===s);return e===-1?0:e},[s,o]),l=o[c],u=(t=l==null?void 0:l.children)==null?[]:t,d=!!(r&&n&&n.size>0),f=j(null),[p,m]=M(!1),[h,g]=M(!1);if(k(()=>{!l&&o.length>0&&a.setActivatedTab(o[0].key)},[l,o,a]),k(()=>{let e=f.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:n,scrollWidth:r}=e;m(t>4),g(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)}},[l]),o.length===0&&!d)return null;function _(e){let t=o[e];t&&a.setActivatedTab(t.key)}function v(e){let t=f.current;t&&t.scrollBy({left:e===`left`?-168:168,behavior:`smooth`})}return L(`div`,{"data-u-comp":`mobile-ribbon`,className:R(`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`,Lr),children:[L(`div`,{className:`
package/lib/index.js CHANGED
@@ -40,7 +40,7 @@ hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
40
40
  univer-text-primary-600
41
41
  `}),I(`span`,{className:R(To,c&&s&&`
42
42
  univer-pl-4
43
- `),children:I(V,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:r=>{i==null||i({...e,value:r,id:n.id,label:t,commandId:e.commandId})}})})]});return c?I(`button`,{type:`button`,className:u,disabled:e.disabled,onClick:()=>{i==null||i({...e,id:n.id,label:t,commandId:e.commandId})},children:d},o):I(`div`,{className:u,"aria-disabled":e.disabled,children:d},o)})}),re&&I(ko,{menuSchemas:ne,submenuPortalContainer:r,onOptionSelect:i,maxMenuHeight:a})]})}),r):null)]})}function jo(e){let[t,n]=M({});return k(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?De(e.children.map(e=>{var t,n;return(t=(n=e.item)==null?void 0:n.hidden$)==null?Ie(!1):t})).subscribe(t=>{let r=t.every(e=>e===!0);n(t=>({...t,[e.key]:r}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),n({})}},[e]),t}function Mo(e){let{hostId:t,visible:n,anchorRect:r,menuType:i,anchorVertical:a=`bottom`,menuOffset:o=0,onRequestClose:s,onOptionSelect:c}=e,l=j(null),u=P(yo),d=j(s),f=j(0),p=j(n),m=j(i);k(()=>{d.current=s},[s]),n&&(!p.current||i!==m.current)&&(f.current+=1),p.current=n,m.current=i,k(()=>{let e=u.registerMenu(t,()=>{d.current()});return()=>{e.dispose(),u.deactivateMenu(t)}},[u,t]),ur(()=>{if(n){u.activateMenu(t);return}u.deactivateMenu(t)},[u,t,n]),k(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||l.current&&!l.current.contains(t.target)&&d.current()},r=e=>{e.key===`Escape`&&d.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=l.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 h=A(()=>{if(!r)return[0,0];let e=a===`top`?r.top:r.bottom,t=a===`top`?e-o:e+o;return[r.left,t]},[r,a,o]);return I(Pr,{visible:n&&!!r,offset:h,overflowVisible:!0,placementY:a===`top`?`above`:`below`,children:I(`section`,{ref:l,children:i&&I(Oo,{menuType:i,menuSessionVersion:f.current,onOptionSelect:c})})})}function No(){let[e,t]=M(!1),[n,r]=M(``),[i,a]=M(null),o=j(e),s=P(_o),c=P(f),l=_r();o.current=e,k(()=>{let e=s.registerContextMenuHandler({handleContextMenu:u,hideContextMenu(){d()},get visible(){return o.current}});return()=>{e.dispose()}},[s]);function u(e,n){t(!1),requestAnimationFrame(()=>{r(n),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function d(){t(!1)}return I(Mo,{hostId:`desktop-context-menu`,visible:e,anchorRect:i,menuType:n,onRequestClose:d,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;c&&c.executeCommand(n==null?t:n,{value:r}),l.get(ua).focus(),d()}})}const Po=E(`univer.global-zone-service`);function Fo(){let e=P(Po),[t,n]=M(!1),r=F(e.componentKey$,e.componentKey),i=P(B),a=A(()=>{let e=i.get(r==null?``:r);if(e)return e},[r,i]);return k(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?I(`section`,{className:R(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&I(a,{})}):null}function Io(){let e=P(ui),t=F(e.sidebarOptions$),n=j(null),r=A(()=>{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]=I(V,{...i},n))}}return e},[t]);k(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),k(()=>{let t=t=>{e.scrollEvent$.next(t)},r=n.current;return r&&r.addEventListener(`scroll`,t),()=>{r==null||r.removeEventListener(`scroll`,t)}},[e]);let i=A(()=>r!=null&&r.visible?typeof r.width==`number`?`${r.width}px`:r.width:0,[r]);function a(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return I(`section`,{"data-u-comp":`sidebar`,className:R(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":r==null?void 0:r.visible,"univer-w-0 univer-translate-x-full":!(r!=null&&r.visible)}),style:{width:i},children:L(`section`,{ref:n,className:R(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,zr,Jr),children:[L(`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:[r==null?void 0:r.header,I(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:a,children:I(ct,{})})]}),I(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:r==null?void 0:r.bodyStyle,children:r==null?void 0:r.children}),(r==null?void 0:r.footer)&&I(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:r.footer})]})})}const Lo=E(`univer.zen-zone-service`);function Ro(){let e=P(Lo),[t,n]=M(!1),[r,i]=M(),a=F(e.temporaryHidden$),o=P(B);k(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=A(()=>{let e=o.get(r==null?``:r);if(e)return e},[r]);return I(`section`,{className:R(`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":a}),children:I(`div`,{className:`univer-relative univer-flex-1`,children:s&&I(s,{})})})}function zo(e){let t=Di(Ai);return I(Bo,{...e,...t})}function Bo(e){var t;let{header:n=!0,toolbar:r=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s=`classic`,mountContainer:c,onRendered:l}=e,u=P(C),d=P(oe),f=P(go),m=j(null),h=P(p).getConfig(Ai),g=$(X.CUSTOM_HEADER),_=$(X.FOOTER),v=$(X.HEADER),y=$(X.HEADER_MENU),b=$(X.CONTENT),x=$(X.LEFT_SIDEBAR),ee=$(X.GLOBAL),te=$(X.TOOLBAR),S=(t=h==null?void 0:h.popupRootId)==null?`univer-popup-portal`:t;ur(()=>{let e=d.currentTheme$.subscribe(e=>{f.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[ne,w]=M(!1);ur(()=>{let e=d.darkMode$.subscribe(e=>{w(e),e?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)});return()=>{e.unsubscribe()}},[]),k(()=>{m.current&&(l==null||l(m.current))},[l]);let[re,T]=M(u.getLocales()),ie=A(()=>document.createElement(`div`),[]);return k(()=>{document.body.appendChild(ie);let e=[u.localeChanged$.subscribe(()=>{T(u.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(ie)}},[u,c,ie]),L(Cr,{locale:re==null?void 0:re.design,mountContainer:ie,children:[L(`div`,{"data-u-comp":`workbench-layout`,className:R(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,{"univer-dark":ne}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[I(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:I(Q,{components:g},`custom-header`)}),n&&r&&I(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:I(Q,{components:te,sharedProps:{ribbonType:s,headerMenuComponents:y,headerMenu:a}},`toolbar`)}),L(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[L(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[I(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:I(Q,{components:x},`left-sidebar`)}),L(`section`,{className:R(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,Lr),children:[I(`header`,{children:n&&I(Q,{components:v},`header`)}),I(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:m,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:I(Q,{components:b},`content`)})]}),I(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:I(Io,{})})]}),i&&I(`footer`,{children:I(Q,{components:_,sharedProps:{contextMenu:o}},`footer`)}),I(Ro,{})]})]}),I(Q,{components:ee},`global`),I(Fo,{}),o&&I(No,{}),I(Vo,{}),I(`div`,{id:S})]})}function Vo(){let{mountContainer:e}=cr(Sr);return ri(I(Q,{components:$(X.FLOATING)},`floating`),e)}var Ho=class extends a{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,z(this,`_steadyTimeout`,void 0),z(this,`_renderTimeout`,void 0),z(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,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(te.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[n]of t)if(this._changeRenderUnit(n,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=te.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=te.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof S)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let n=this._renderManagerService.getRenderById(e);if(!n||!n.unitId||he(n.unitId))return!1;let r=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return r==null||r.deactivate(),r==null||r.engine.unmount(),n.engine.mount(t),n.activate(),this._currentRenderId=e,!0}};let Uo=class extends Ho{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(Ha),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[Si,xi],[wi,Ci],[Li,Fi],[Ri,Ii],[Hi,zi],[ki,xr]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Wo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>N($a,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>N(Ka,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>N(ho,this._injector)))}};Uo=U([H(1,b(x)),H(2,b(ee)),H(3,Zr),H(4,ua),H(5,y),H(6,J),H(7,Z),H(8,b(B))],Uo);function Wo(e,t,n){let r,i=t.container;r=typeof i==`string`?document.getElementById(i)||Go(i):i instanceof HTMLElement?i:Go(`univer`);let a=N(zo,e),o=e=>n(e,r);function s(){Kr(I(a,{...t,mountContainer:r,onRendered:o}),r)}return s(),D(()=>{Xr(r)})}function Go(e){let t=document.createElement(`div`);return t.id=e,t}const Ko=E(`univer.ui.ui-controller`);var qo=`@univerjs/ui`,Jo=`0.19.0`;const Yo=`
43
+ `),children:I(V,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:r=>{i==null||i({...e,value:r,id:n.id,label:t,commandId:e.commandId})}})})]});return c?I(`button`,{type:`button`,className:u,disabled:e.disabled,onClick:()=>{i==null||i({...e,id:n.id,label:t,commandId:e.commandId})},children:d},o):I(`div`,{className:u,"aria-disabled":e.disabled,children:d},o)})}),re&&I(ko,{menuSchemas:ne,submenuPortalContainer:r,onOptionSelect:i,maxMenuHeight:a})]})}),r):null)]})}function jo(e){let[t,n]=M({});return k(()=>{let t=e.map(e=>{var t;return(t=e.children)!=null&&t.length?De(e.children.map(e=>{var t,n;return(t=(n=e.item)==null?void 0:n.hidden$)==null?Ie(!1):t})).subscribe(t=>{let r=t.every(e=>e===!0);n(t=>({...t,[e.key]:r}))}):null});return()=>{t.forEach(e=>e==null?void 0:e.unsubscribe()),n({})}},[e]),t}function Mo(e){let{hostId:t,visible:n,anchorRect:r,menuType:i,anchorVertical:a=`bottom`,menuOffset:o=0,onRequestClose:s,onOptionSelect:c}=e,l=j(null),u=P(yo),d=j(s),f=j(0),p=j(n),m=j(i);k(()=>{d.current=s},[s]),n&&(!p.current||i!==m.current)&&(f.current+=1),p.current=n,m.current=i,k(()=>{let e=u.registerMenu(t,()=>{d.current()});return()=>{e.dispose(),u.deactivateMenu(t)}},[u,t]),ur(()=>{if(n){u.activateMenu(t);return}u.deactivateMenu(t)},[u,t,n]),k(()=>{if(!n)return;let e=e=>e instanceof Element&&e.closest(`[data-u-context-menu-submenu]`),t=t=>{e(t.target)||l.current&&!l.current.contains(t.target)&&d.current()},r=e=>{e.key===`Escape`&&d.current()},i=t=>{var n;if(e(t.target)){t.stopPropagation();return}if((n=l.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 h=A(()=>{if(!r)return[0,0];let e=a===`top`?r.top:r.bottom,t=a===`top`?e-o:e+o;return[r.left,t]},[r,a,o]);return I(Pr,{visible:n&&!!r,offset:h,overflowVisible:!0,placementY:a===`top`?`above`:`below`,children:I(`section`,{ref:l,children:i&&I(Oo,{menuType:i,menuSessionVersion:f.current,onOptionSelect:c})})})}function No(){let[e,t]=M(!1),[n,r]=M(``),[i,a]=M(null),o=j(e),s=P(_o),c=P(f),l=_r();o.current=e,k(()=>{let e=s.registerContextMenuHandler({handleContextMenu:u,hideContextMenu(){d()},get visible(){return o.current}});return()=>{e.dispose()}},[s]);function u(e,n){t(!1),requestAnimationFrame(()=>{r(n),a({left:e.clientX,top:e.clientY,bottom:e.clientY}),t(!0)})}function d(){t(!1)}return I(Mo,{hostId:`desktop-context-menu`,visible:e,anchorRect:i,menuType:n,onRequestClose:d,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;c&&c.executeCommand(n==null?t:n,{value:r}),l.get(ua).focus(),d()}})}const Po=E(`univer.global-zone-service`);function Fo(){let e=P(Po),[t,n]=M(!1),r=F(e.componentKey$,e.componentKey),i=P(B),a=A(()=>{let e=i.get(r==null?``:r);if(e)return e},[r,i]);return k(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?I(`section`,{className:R(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:a&&I(a,{})}):null}function Io(){let e=P(ui),t=F(e.sidebarOptions$),n=j(null),r=A(()=>{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]=I(V,{...i},n))}}return e},[t]);k(()=>(n.current&&e.setContainer(n.current),()=>{e.setContainer(void 0)}),[e]),k(()=>{let t=t=>{e.scrollEvent$.next(t)},r=n.current;return r&&r.addEventListener(`scroll`,t),()=>{r==null||r.removeEventListener(`scroll`,t)}},[e]);let i=A(()=>r!=null&&r.visible?typeof r.width==`number`?`${r.width}px`:r.width:0,[r]);function a(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return I(`section`,{"data-u-comp":`sidebar`,className:R(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":r==null?void 0:r.visible,"univer-w-0 univer-translate-x-full":!(r!=null&&r.visible)}),style:{width:i},children:L(`section`,{ref:n,className:R(`univer-box-border univer-grid univer-h-0 univer-min-h-full univer-grid-rows-[auto_1fr_auto] univer-overflow-y-auto`,zr,Jr),children:[L(`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:[r==null?void 0:r.header,I(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:a,children:I(ct,{})})]}),I(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:r==null?void 0:r.bodyStyle,children:r==null?void 0:r.children}),(r==null?void 0:r.footer)&&I(`footer`,{className:`univer-sticky univer-bottom-0 univer-box-border univer-bg-white univer-p-4 dark:!univer-bg-gray-900`,children:r.footer})]})})}const Lo=E(`univer.zen-zone-service`);function Ro(){let e=P(Lo),[t,n]=M(!1),[r,i]=M(),a=F(e.temporaryHidden$),o=P(B);k(()=>{let t=[e.visible$.subscribe(e=>{n(e)}),e.componentKey$.subscribe(e=>{i(e)})];return()=>{t.forEach(e=>{e.unsubscribe()})}},[]);let s=A(()=>{let e=o.get(r==null?``:r);if(e)return e},[r]);return I(`section`,{className:R(`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":a}),children:I(`div`,{className:`univer-relative univer-flex-1`,children:s&&I(s,{})})})}function zo(e){let t=Di(Ai);return I(Bo,{...e,...t})}function Bo(e){var t;let{header:n=!0,toolbar:r=!0,footer:i=!0,headerMenu:a=!0,contextMenu:o=!0,ribbonType:s=`classic`,mountContainer:c,onRendered:l}=e,u=P(C),d=P(oe),f=P(go),m=j(null),h=P(p).getConfig(Ai),g=$(X.CUSTOM_HEADER),_=$(X.FOOTER),v=$(X.HEADER),y=$(X.HEADER_MENU),b=$(X.CONTENT),x=$(X.LEFT_SIDEBAR),ee=$(X.GLOBAL),te=$(X.TOOLBAR),S=(t=h==null?void 0:h.popupRootId)==null?`univer-popup-portal`:t;ur(()=>{let e=d.currentTheme$.subscribe(e=>{f.injectThemeToHead(e)});return()=>{e.unsubscribe()}},[]);let[ne,w]=M(!1);ur(()=>{let e=d.darkMode$.subscribe(e=>{w(e),e?document.documentElement.classList.add(`univer-dark`):document.documentElement.classList.remove(`univer-dark`)});return()=>{e.unsubscribe()}},[]),k(()=>{m.current&&(l==null||l(m.current))},[l]);let[re,T]=M(u.getLocales()),ie=A(()=>document.createElement(`div`),[]);return k(()=>{document.body.appendChild(ie);let e=[u.localeChanged$.subscribe(()=>{T(u.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(ie)}},[u,c,ie]),L(Cr,{locale:re==null?void 0:re.design,mountContainer:ie,children:[L(`div`,{"data-u-comp":`workbench-layout`,className:R(`univer-flex univer-h-full univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,{"univer-dark":ne}),tabIndex:-1,onBlur:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[I(`div`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-col univer-bg-white dark:!univer-bg-gray-800`,children:I(Q,{components:g},`custom-header`)}),n&&r&&I(`header`,{"data-u-comp":`headerbar`,className:`univer-relative univer-z-10 univer-w-full univer-overflow-hidden`,children:I(Q,{components:te,sharedProps:{ribbonType:s,headerMenuComponents:y,headerMenu:a}},`toolbar`)}),L(`section`,{className:`univer-relative univer-flex univer-min-h-0 univer-flex-1 univer-flex-col`,children:[L(`div`,{className:`univer-grid univer-h-full univer-grid-cols-[auto_1fr_auto] univer-grid-rows-[100%] univer-overflow-hidden`,children:[I(`aside`,{"data-u-comp":`left-sidebar`,className:`univer-h-full`,children:I(Q,{components:x},`left-sidebar`)}),L(`section`,{className:R(`univer-relative univer-grid univer-flex-1 univer-grid-rows-[auto_1fr] univer-overflow-hidden univer-bg-white dark:!univer-bg-gray-800`,Lr),children:[I(`header`,{children:n&&I(Q,{components:v},`header`)}),I(`section`,{className:`univer-relative univer-overflow-hidden dark:!univer-bg-gray-900`,ref:m,"data-range-selector":!0,onContextMenu:e=>e.preventDefault(),children:I(Q,{components:b},`content`)})]}),I(`aside`,{"data-u-comp":`right-sidebar`,className:`univer-z-[100] univer-h-full`,children:I(Io,{})})]}),i&&I(`footer`,{children:I(Q,{components:_,sharedProps:{contextMenu:o}},`footer`)}),I(Ro,{})]})]}),I(Q,{components:ee},`global`),I(Fo,{}),o&&I(No,{}),I(Vo,{}),I(`div`,{id:S})]})}function Vo(){let{mountContainer:e}=cr(Sr);return ri(I(Q,{components:$(X.FLOATING)},`floating`),e)}var Ho=class extends a{constructor(e,t,n,r,i){super(),this._injector=e,this._instanceService=t,this._layoutService=n,this._lifecycleService=r,this._renderManagerService=i,z(this,`_steadyTimeout`,void 0),z(this,`_renderTimeout`,void 0),z(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,t)=>{this._layoutService&&(this.disposeWithMe(this._layoutService.registerRootContainerElement(t)),this.disposeWithMe(this._layoutService.registerContentElement(e)));try{await this._lifecycleService.onStage(te.Ready),this._renderTimeout=window.setTimeout(()=>{let t=this._renderManagerService.getRenderAll();for(let[n]of t)if(this._changeRenderUnit(n,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=te.Rendered,this._steadyTimeout=window.setTimeout(()=>{this._lifecycleService.stage=te.Steady},3e3)},300)}catch(e){if(clearTimeout(this._steadyTimeout),clearTimeout(this._renderTimeout),e instanceof S)return;throw e}}))}_changeRenderUnit(e,t){if(this._currentRenderId===e)return!1;let n=this._renderManagerService.getRenderById(e);if(!n||!n.unitId||he(n.unitId))return!1;let r=this._currentRenderId?this._renderManagerService.getRenderById(this._currentRenderId):null;return r==null||r.deactivate(),r==null||r.engine.unmount(),n.engine.mount(t),n.activate(),this._currentRenderId=e,!0}};let Uo=class extends Ho{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(Ha),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[Si,xi],[wi,Ci],[Li,Fi],[Ri,Ii],[Hi,zi],[ki,xr]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Wo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>N($a,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>N(Ka,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>N(ho,this._injector)))}};Uo=U([H(1,b(x)),H(2,b(ee)),H(3,Zr),H(4,ua),H(5,y),H(6,J),H(7,Z),H(8,b(B))],Uo);function Wo(e,t,n){let r,i=t.container;r=typeof i==`string`?document.getElementById(i)||Go(i):i instanceof HTMLElement?i:Go(`univer`);let a=N(zo,e),o=e=>n(e,r);function s(){Kr(I(a,{...t,mountContainer:r,onRendered:o}),r)}return s(),D(()=>{Xr(r)})}function Go(e){let t=document.createElement(`div`);return t.id=e,t}const Ko=E(`univer.ui.ui-controller`);var qo=`@univerjs/ui`,Jo=`0.20.0`;const Yo=`
44
44
  univer-m-0 univer-flex univer-appearance-none univer-items-center univer-justify-center
45
45
  univer-border-0 univer-bg-transparent univer-p-0 univer-leading-none univer-outline-none
46
46
  `;function Xo(e){var t;let{headerMenuComponents:n,headerMenu:r=!0}=e,i=P(C),a=P(eo),o=F(a.ribbon$,[]),s=F(a.activatedTab$,K.START),c=A(()=>{let e=o.findIndex(e=>e.key===s);return e===-1?0:e},[s,o]),l=o[c],u=(t=l==null?void 0:l.children)==null?[]:t,d=!!(r&&n&&n.size>0),f=j(null),[p,m]=M(!1),[h,g]=M(!1);if(k(()=>{!l&&o.length>0&&a.setActivatedTab(o[0].key)},[l,o,a]),k(()=>{let e=f.current;if(!e)return;let t=()=>{let{scrollLeft:t,clientWidth:n,scrollWidth:r}=e;m(t>4),g(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)}},[l]),o.length===0&&!d)return null;function _(e){let t=o[e];t&&a.setActivatedTab(t.key)}function v(e){let t=f.current;t&&t.scrollBy({left:e===`left`?-168:168,behavior:`smooth`})}return L(`div`,{"data-u-comp":`mobile-ribbon`,className:R(`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`,Lr),children:[L(`div`,{className:`
@@ -22,16 +22,16 @@ interface IFUIEnumMixin {
22
22
  /**
23
23
  * Built-in UI parts.
24
24
  */
25
- get BuiltInUIPart(): typeof BuiltInUIPart;
25
+ BuiltInUIPart: typeof BuiltInUIPart;
26
26
  /**
27
27
  * Key codes.
28
28
  */
29
- get KeyCode(): typeof KeyCode;
29
+ KeyCode: typeof KeyCode;
30
30
  }
31
31
  /**
32
32
  * @ignore
33
33
  */
34
- export declare class FUIEnum extends FEnum implements IFUIEnumMixin {
34
+ export declare class FUIEnumMixin extends FEnum implements IFUIEnumMixin {
35
35
  get BuiltInUIPart(): typeof BuiltInUIPart;
36
36
  get KeyCode(): typeof KeyCode;
37
37
  }
package/lib/umd/index.js CHANGED
@@ -40,7 +40,7 @@ hover:univer-bg-gray-100 whitespace-nowrap univer-w-max
40
40
  univer-text-primary-600
41
41
  `}),(0,a.jsx)(`span`,{className:(0,o.clsx)(Ao,l&&i&&`
42
42
  univer-pl-4
43
- `),children:(0,a.jsx)(z,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:t=>{d==null||d({...e,value:t,id:c.id,label:s,commandId:e.commandId})}})})]});return l?(0,a.jsx)(`button`,{type:`button`,className:f,disabled:e.disabled,onClick:()=>{d==null||d({...e,id:c.id,label:s,commandId:e.commandId})},children:p},r):(0,a.jsx)(`div`,{className:f,"aria-disabled":e.disabled,children:p},r)})}),P&&(0,a.jsx)(Po,{menuSchemas:N,submenuPortalContainer:u,onOptionSelect:d,maxMenuHeight:f})]})}),u):null)]})}function Io(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 Lo(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)(No,{menuType:c,menuSessionVersion:g.current,onOptionSelect:f})})})}function Ro(){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)(Lo,{hostId:`desktop-context-menu`,visible:e,anchorRect:c,menuType:o,onRequestClose:h,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;f&&f.executeCommand(n==null?t:n,{value:r}),p.get(W).focus(),h()}})}let zo=(0,t.createIdentifier)(`univer.global-zone-service`);function Bo(){let e=(0,i.useDependency)(zo),[t,n]=(0,r.useState)(!1),s=(0,i.useObservable)(e.componentKey$,e.componentKey),c=(0,i.useDependency)(R),l=(0,r.useMemo)(()=>{let e=c.get(s==null?``:s);if(e)return e},[s,c]);return(0,r.useEffect)(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?(0,a.jsx)(`section`,{className:(0,o.clsx)(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:l&&(0,a.jsx)(l,{})}):null}function Vo(){let e=(0,i.useDependency)(T),t=(0,i.useObservable)(e.sidebarOptions$),n=(0,r.useRef)(null),s=(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)(z,{...i},n))}}return e},[t]);(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 c=(0,r.useMemo)(()=>s!=null&&s.visible?typeof s.width==`number`?`${s.width}px`:s.width:0,[s]);function l(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return(0,a.jsx)(`section`,{"data-u-comp":`sidebar`,className:(0,o.clsx)(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":s==null?void 0:s.visible,"univer-w-0 univer-translate-x-full":!(s!=null&&s.visible)}),style:{width:c},children:(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:[s==null?void 0:s.header,(0,a.jsx)(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:l,children:(0,a.jsx)(De,{})})]}),(0,a.jsx)(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:s==null?void 0:s.bodyStyle,children:s==null?void 0:s.children}),(s==null?void 0:s.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:s.footer})]})})}let Ho=(0,t.createIdentifier)(`univer.zen-zone-service`);function Uo(){let e=(0,i.useDependency)(Ho),[t,n]=(0,r.useState)(!1),[s,c]=(0,r.useState)(),l=(0,i.useObservable)(e.temporaryHidden$),u=(0,i.useDependency)(R);(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 Wo(e){let t=Ii(zi);return(0,a.jsx)(Go,{...e,...t})}function Go(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(zi),b=$(X.CUSTOM_HEADER),x=$(X.FOOTER),S=$(X.HEADER),C=$(X.HEADER_MENU),w=$(X.CONTENT),T=$(X.LEFT_SIDEBAR),E=$(X.GLOBAL),D=$(X.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=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useEffect)(()=>{document.body.appendChild(N);let e=[h.localeChanged$.subscribe(()=>{M(h.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(N)}},[h,p,N]),(0,a.jsxs)(o.ConfigProvider,{locale:j==null?void 0:j.design,mountContainer:N,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(),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)(Vo,{})})]}),l&&(0,a.jsx)(`footer`,{children:(0,a.jsx)(Q,{components:x,sharedProps:{contextMenu:d}},`footer`)}),(0,a.jsx)(Uo,{})]})]}),(0,a.jsx)(Q,{components:E},`global`),(0,a.jsx)(Bo,{}),d&&(0,a.jsx)(Ro,{}),(0,a.jsx)(Ko,{}),(0,a.jsx)(`div`,{id:O})]})}function Ko(){let{mountContainer:e}=(0,r.useContext)(o.ConfigContext);return(0,l.createPortal)((0,a.jsx)(Q,{components:$(X.FLOATING)},`floating`),e)}var qo=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 Jo=class extends qo{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(qa),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[ji,Ai],[Ni,Mi],[Ki,Wi],[qi,Gi],[Zi,Ji],[Ri,o.ColorPicker]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Yo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>(0,i.connectInjector)(io,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>(0,i.connectInjector)(Za,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>(0,i.connectInjector)(bo,this._injector)))}};Jo=V([B(1,(0,t.Inject)(t.Injector)),B(2,(0,t.Inject)(t.LifecycleService)),B(3,s.IRenderManagerService),B(4,W),B(5,t.IUniverInstanceService),B(6,J),B(7,Z),B(8,(0,t.Inject)(R))],Jo);function Yo(e,n,r){let s,c=n.container;s=typeof c==`string`?document.getElementById(c)||Xo(c):c instanceof HTMLElement?c:Xo(`univer`);let l=(0,i.connectInjector)(Wo,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 Xo(e){let t=document.createElement(`div`);return t.id=e,t}let Zo=(0,t.createIdentifier)(`univer.ui.ui-controller`);var Qo=`@univerjs/ui`,$o=`0.19.0`;let es=`
43
+ `),children:(0,a.jsx)(z,{value$:e.value$,value:e.value,label:e.label,icon:e.icon,onChange:t=>{d==null||d({...e,value:t,id:c.id,label:s,commandId:e.commandId})}})})]});return l?(0,a.jsx)(`button`,{type:`button`,className:f,disabled:e.disabled,onClick:()=>{d==null||d({...e,id:c.id,label:s,commandId:e.commandId})},children:p},r):(0,a.jsx)(`div`,{className:f,"aria-disabled":e.disabled,children:p},r)})}),P&&(0,a.jsx)(Po,{menuSchemas:N,submenuPortalContainer:u,onOptionSelect:d,maxMenuHeight:f})]})}),u):null)]})}function Io(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 Lo(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)(No,{menuType:c,menuSessionVersion:g.current,onOptionSelect:f})})})}function Ro(){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)(Lo,{hostId:`desktop-context-menu`,visible:e,anchorRect:c,menuType:o,onRequestClose:h,onOptionSelect:e=>{let{label:t,commandId:n,value:r}=e;f&&f.executeCommand(n==null?t:n,{value:r}),p.get(W).focus(),h()}})}let zo=(0,t.createIdentifier)(`univer.global-zone-service`);function Bo(){let e=(0,i.useDependency)(zo),[t,n]=(0,r.useState)(!1),s=(0,i.useObservable)(e.componentKey$,e.componentKey),c=(0,i.useDependency)(R),l=(0,r.useMemo)(()=>{let e=c.get(s==null?``:s);if(e)return e},[s,c]);return(0,r.useEffect)(()=>{let t=e.visible$.subscribe(e=>{n(e)});return()=>{t.unsubscribe()}},[e.visible$]),t?(0,a.jsx)(`section`,{className:(0,o.clsx)(`univer-absolute univer-bg-gray-100`,{"univer-hidden":!t,"univer-inset-0 univer-z-[100] univer-block univer-size-full":t}),children:l&&(0,a.jsx)(l,{})}):null}function Vo(){let e=(0,i.useDependency)(T),t=(0,i.useObservable)(e.sidebarOptions$),n=(0,r.useRef)(null),s=(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)(z,{...i},n))}}return e},[t]);(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 c=(0,r.useMemo)(()=>s!=null&&s.visible?typeof s.width==`number`?`${s.width}px`:s.width:0,[s]);function l(){var n;let r={...t,visible:!1};e.options.visible=!1,e.sidebarOptions$.next(r),r==null||(n=r.onClose)==null||n.call(r)}return(0,a.jsx)(`section`,{"data-u-comp":`sidebar`,className:(0,o.clsx)(`univer-relative univer-h-full univer-bg-white univer-text-gray-900 dark:!univer-bg-gray-900 dark:!univer-text-white`,{"univer-w-96 univer-translate-x-0":s==null?void 0:s.visible,"univer-w-0 univer-translate-x-full":!(s!=null&&s.visible)}),style:{width:c},children:(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:[s==null?void 0:s.header,(0,a.jsx)(`a`,{className:`univer-cursor-pointer univer-text-gray-500 dark:!univer-text-gray-300`,onClick:l,children:(0,a.jsx)(De,{})})]}),(0,a.jsx)(`section`,{className:`univer-box-border univer-cursor-default univer-px-4`,style:s==null?void 0:s.bodyStyle,children:s==null?void 0:s.children}),(s==null?void 0:s.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:s.footer})]})})}let Ho=(0,t.createIdentifier)(`univer.zen-zone-service`);function Uo(){let e=(0,i.useDependency)(Ho),[t,n]=(0,r.useState)(!1),[s,c]=(0,r.useState)(),l=(0,i.useObservable)(e.temporaryHidden$),u=(0,i.useDependency)(R);(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 Wo(e){let t=Ii(zi);return(0,a.jsx)(Go,{...e,...t})}function Go(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(zi),b=$(X.CUSTOM_HEADER),x=$(X.FOOTER),S=$(X.HEADER),C=$(X.HEADER_MENU),w=$(X.CONTENT),T=$(X.LEFT_SIDEBAR),E=$(X.GLOBAL),D=$(X.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=(0,r.useMemo)(()=>document.createElement(`div`),[]);return(0,r.useEffect)(()=>{document.body.appendChild(N);let e=[h.localeChanged$.subscribe(()=>{M(h.getLocales())})];return()=>{e.forEach(e=>e.unsubscribe()),document.body.removeChild(N)}},[h,p,N]),(0,a.jsxs)(o.ConfigProvider,{locale:j==null?void 0:j.design,mountContainer:N,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(),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)(Vo,{})})]}),l&&(0,a.jsx)(`footer`,{children:(0,a.jsx)(Q,{components:x,sharedProps:{contextMenu:d}},`footer`)}),(0,a.jsx)(Uo,{})]})]}),(0,a.jsx)(Q,{components:E},`global`),(0,a.jsx)(Bo,{}),d&&(0,a.jsx)(Ro,{}),(0,a.jsx)(Ko,{}),(0,a.jsx)(`div`,{id:O})]})}function Ko(){let{mountContainer:e}=(0,r.useContext)(o.ConfigContext);return(0,l.createPortal)((0,a.jsx)(Q,{components:$(X.FLOATING)},`floating`),e)}var qo=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 Jo=class extends qo{constructor(e,t,n,r,i,a,o,s,c){super(t,a,i,n,r),this._config=e,this._componentManager=c,o.mergeMenu(qa),this._initBuiltinComponents(s),this._registerComponents(),this._bootstrapWorkbench()}_registerComponents(){[[ji,Ai],[Ni,Mi],[Ki,Wi],[qi,Gi],[Zi,Ji],[Ri,o.ColorPicker]].forEach(([e,t])=>{this.disposeWithMe(this._componentManager.register(e,t))})}dispose(){super.dispose(),this._componentManager.dispose()}bootstrap(e){return Yo(this._injector,this._config,e)}_initBuiltinComponents(e){this.disposeWithMe(e.registerComponent(X.FLOATING,()=>(0,i.connectInjector)(io,this._injector))),this.disposeWithMe(e.registerComponent(X.CONTENT,()=>(0,i.connectInjector)(Za,this._injector))),this.disposeWithMe(e.registerComponent(X.TOOLBAR,()=>(0,i.connectInjector)(bo,this._injector)))}};Jo=V([B(1,(0,t.Inject)(t.Injector)),B(2,(0,t.Inject)(t.LifecycleService)),B(3,s.IRenderManagerService),B(4,W),B(5,t.IUniverInstanceService),B(6,J),B(7,Z),B(8,(0,t.Inject)(R))],Jo);function Yo(e,n,r){let s,c=n.container;s=typeof c==`string`?document.getElementById(c)||Xo(c):c instanceof HTMLElement?c:Xo(`univer`);let l=(0,i.connectInjector)(Wo,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 Xo(e){let t=document.createElement(`div`);return t.id=e,t}let Zo=(0,t.createIdentifier)(`univer.ui.ui-controller`);var Qo=`@univerjs/ui`,$o=`0.20.0`;let es=`
44
44
  univer-m-0 univer-flex univer-appearance-none univer-items-center univer-justify-center
45
45
  univer-border-0 univer-bg-transparent univer-p-0 univer-leading-none univer-outline-none
46
46
  `;function ts(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$,G.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:`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/ui",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "private": false,
5
5
  "description": "UniverSheet normal plugin UI manager",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -68,9 +68,9 @@
68
68
  "@univerjs/icons": "^1.1.1",
69
69
  "@wendellhu/redi": "1.1.1",
70
70
  "localforage": "^1.10.0",
71
- "@univerjs/core": "0.19.0",
72
- "@univerjs/engine-render": "0.19.0",
73
- "@univerjs/design": "0.19.0"
71
+ "@univerjs/core": "0.20.0",
72
+ "@univerjs/design": "0.20.0",
73
+ "@univerjs/engine-render": "0.20.0"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@testing-library/react": "^16.3.2",
@@ -82,8 +82,8 @@
82
82
  "tailwindcss-animate": "^1.0.7",
83
83
  "typescript": "^6.0.2",
84
84
  "vitest": "^4.1.1",
85
- "@univerjs-infra/shared": "0.19.0",
86
- "@univerjs/themes": "0.19.0"
85
+ "@univerjs-infra/shared": "0.20.0",
86
+ "@univerjs/themes": "0.20.0"
87
87
  },
88
88
  "scripts": {
89
89
  "test": "vitest run",