@univerjs/ui 0.21.0 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +6 -6
package/lib/cjs/index.js
CHANGED
|
@@ -5181,7 +5181,7 @@ const IUIController = (0, _univerjs_core.createIdentifier)("univer.ui.ui-control
|
|
|
5181
5181
|
//#endregion
|
|
5182
5182
|
//#region package.json
|
|
5183
5183
|
var name = "@univerjs/ui";
|
|
5184
|
-
var version = "0.21.
|
|
5184
|
+
var version = "0.21.1";
|
|
5185
5185
|
|
|
5186
5186
|
//#endregion
|
|
5187
5187
|
//#region src/views/components/ribbon/MobileRibbon.tsx
|
package/lib/es/index.js
CHANGED
|
@@ -5136,7 +5136,7 @@ const IUIController = createIdentifier("univer.ui.ui-controller");
|
|
|
5136
5136
|
//#endregion
|
|
5137
5137
|
//#region package.json
|
|
5138
5138
|
var name = "@univerjs/ui";
|
|
5139
|
-
var version = "0.21.
|
|
5139
|
+
var version = "0.21.1";
|
|
5140
5140
|
|
|
5141
5141
|
//#endregion
|
|
5142
5142
|
//#region src/views/components/ribbon/MobileRibbon.tsx
|
package/lib/index.js
CHANGED
|
@@ -5136,7 +5136,7 @@ const IUIController = createIdentifier("univer.ui.ui-controller");
|
|
|
5136
5136
|
//#endregion
|
|
5137
5137
|
//#region package.json
|
|
5138
5138
|
var name = "@univerjs/ui";
|
|
5139
|
-
var version = "0.21.
|
|
5139
|
+
var version = "0.21.1";
|
|
5140
5140
|
|
|
5141
5141
|
//#endregion
|
|
5142
5142
|
//#region src/views/components/ribbon/MobileRibbon.tsx
|
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)})}),F&&(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(H).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(){e.close(t==null?void 0:t.id)}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],[Yi,Wi],[Xi,Ji],[ea,Zi],[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,H),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.21.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)})}),F&&(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(H).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(){e.close(t==null?void 0:t.id)}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],[Yi,Wi],[Xi,Ji],[ea,Zi],[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,H),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.21.1`;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.21.
|
|
3
|
+
"version": "0.21.1",
|
|
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/
|
|
72
|
-
"@univerjs/
|
|
73
|
-
"@univerjs/
|
|
71
|
+
"@univerjs/core": "0.21.1",
|
|
72
|
+
"@univerjs/design": "0.21.1",
|
|
73
|
+
"@univerjs/engine-render": "0.21.1"
|
|
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.4",
|
|
85
|
-
"@univerjs-infra/shared": "0.21.
|
|
86
|
-
"@univerjs/themes": "0.21.
|
|
85
|
+
"@univerjs-infra/shared": "0.21.1",
|
|
86
|
+
"@univerjs/themes": "0.21.1"
|
|
87
87
|
},
|
|
88
88
|
"scripts": {
|
|
89
89
|
"test": "vitest run",
|