@univerjs/slides-ui 0.2.10 → 0.2.12

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
@@ -6,5 +6,5 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var f=React,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q");reactJsxRuntime_production_min.Fragment=l;reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;const UpdateSlideElementOperation={id:"slide.operation.update-element",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{oKey,props}=params,univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params==null?void 0:params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage();return activePage.pageElements[oKey]=core.Tools.deepMerge(activePage.pageElements[oKey],props),slideData.updatePage(activePage.id,activePage),!0},"handler")},imageCommonPanel$1="univer-image-common-panel",imageCommonPanelGrid$1="univer-image-common-panel-grid",imageCommonPanelBorder$1="univer-image-common-panel-border",imageCommonPanelTitle$1="univer-image-common-panel-title",imageCommonPanelSubtitle$1="univer-image-common-panel-subtitle",imageCommonPanelRow$1="univer-image-common-panel-row",imageCommonPanelRowVertical$1="univer-image-common-panel-row-vertical",imageCommonPanelColumn$1="univer-image-common-panel-column",imageCommonPanelColumnCenter$1="univer-image-common-panel-column-center",imageCommonPanelInline$1="univer-image-common-panel-inline",imageCommonPanelSpan2$1="univer-image-common-panel-span2",imageCommonPanelSpan3$1="univer-image-common-panel-span3",imageCommonPanelInput$1="univer-image-common-panel-input",slidePanelColorPicker="univer-slide-panel-color-picker",styles$5={imageCommonPanel:imageCommonPanel$1,imageCommonPanelGrid:imageCommonPanelGrid$1,imageCommonPanelBorder:imageCommonPanelBorder$1,imageCommonPanelTitle:imageCommonPanelTitle$1,imageCommonPanelSubtitle:imageCommonPanelSubtitle$1,imageCommonPanelRow:imageCommonPanelRow$1,imageCommonPanelRowVertical:imageCommonPanelRowVertical$1,imageCommonPanelColumn:imageCommonPanelColumn$1,imageCommonPanelColumnCenter:imageCommonPanelColumnCenter$1,imageCommonPanelInline:imageCommonPanelInline$1,imageCommonPanelSpan2:imageCommonPanelSpan2$1,imageCommonPanelSpan3:imageCommonPanelSpan3$1,imageCommonPanelInput:imageCommonPanelInput$1,slidePanelColorPicker};function ArrangePanel$1(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const onArrangeBtnClick=__name(arrangeType=>{const allObjects=scene.getAllObjects(),[minZIndex,maxZIndex]=allObjects.reduce(([min,max],obj)=>{const zIndex2=obj.zIndex,minZIndex2=zIndex2<min?zIndex2:min,maxZIndex2=zIndex2>max?zIndex2:max;return[minZIndex2,maxZIndex2]},[0,0]);let zIndex=object.zIndex;arrangeType===3?zIndex=minZIndex-1:arrangeType===2?zIndex=maxZIndex+1:arrangeType===0?zIndex=object.zIndex+1:arrangeType===1&&(zIndex=object.zIndex-1),object.setProps({zIndex}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{zIndex}})},"onArrangeBtnClick");return jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.arrange.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(0)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveUpSingle,{}),localeService.t("image-panel.arrange.forward")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(1)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveDownSingle,{}),localeService.t("image-panel.arrange.backward")]})})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(2)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(TopmostSingle,{}),localeService.t("image-panel.arrange.front")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(3)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(BottomSingle,{}),localeService.t("image-panel.arrange.back")]})})})]})]})}__name(ArrangePanel$1,"ArrangePanel$1");function TransformPanel(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const{width:originWidth=0,height:originHeight=0,left:originX=0,top:originY=0,angle:originRotation=0}=object,[width,setWidth]=React.useState(originWidth),[height,setHeight]=React.useState(originHeight),[xPosition,setXPosition]=React.useState(originX),[yPosition,setYPosition]=React.useState(originY),[rotation,setRotation]=React.useState(originRotation),changeObs=__name(state=>{const{objects}=state,object2=objects.values().next().value,{width:originWidth2=0,height:originHeight2=0,left:originX2=0,top:originY2=0,angle:originRotation2=0}=object2;setWidth(originWidth2),setHeight(originHeight2),setXPosition(originX2),setYPosition(originY2),setRotation(originRotation2)},"changeObs");React.useEffect(()=>{const changeStartSub=transformer.changeStart$.subscribe(state=>{changeObs(state)}),changingSub=transformer.changing$.subscribe(state=>{changeObs(state)});return()=>{changingSub.unsubscribe(),changeStartSub.unsubscribe()}},[]);function handleWidthChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{width:val}}),object==null||object.resize(val,object.height),setWidth(val),transformer==null||transformer.refreshControls())}__name(handleWidthChange,"handleWidthChange");function handleHeightChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{height:val}}),object==null||object.resize(object.width,val),setHeight(val),transformer==null||transformer.refreshControls())}__name(handleHeightChange,"handleHeightChange");function handleXChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{left:val}}),object==null||object.translate(val,object.top),setXPosition(val),transformer==null||transformer.refreshControls())}__name(handleXChange,"handleXChange");function handleYChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{right:val}}),object==null||object.translate(object.left,val),setYPosition(val),transformer==null||transformer.refreshControls())}__name(handleYChange,"handleYChange");function handleChangeRotation(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{angle:val}}),object==null||object.transformByState({angle:val}),setRotation(val),transformer==null||transformer.refreshControls())}return __name(handleChangeRotation,"handleChangeRotation"),jsxRuntimeExports.jsxs("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.transform.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.width")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:width,onChange:__name(val=>{handleWidthChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.height")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:height,onChange:__name(val=>{handleHeightChange(val)},"onChange")})})})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.x")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:xPosition,onChange:__name(val=>{handleXChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.y")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:yPosition,onChange:__name(val=>{handleYChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.rotate")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,value:rotation,onChange:handleChangeRotation})})})]})})]})]})}__name(TransformPanel,"TransformPanel");function ArrangePanel(props){var _a11,_b;const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const[color,setColor]=React.useState((_b=(_a11=object.fill)==null?void 0:_a11.toString())!=null?_b:"");function handleChangeColor(color2){object==null||object.setProps({fill:color2}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{shape:{shapeProperties:{shapeBackgroundFill:{rgb:color2}}}}}),setColor(color2)}return __name(handleChangeColor,"handleChangeColor"),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("slide.panel.fill.title")})})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Dropdown,{align:{offset:[0,18]},overlay:jsxRuntimeExports.jsx("section",{className:styles$5.slidePanelColorPicker,children:jsxRuntimeExports.jsx(design.ColorPicker,{color:"#fff",onChange:handleChangeColor})}),children:jsxRuntimeExports.jsxs("a",{className:styles$5.uiPluginSheetsBorderPanelButton,children:[jsxRuntimeExports.jsx(PaintBucket,{extend:{colorChannel1:color!=null?color:"rgb(var(--primary-color))"}}),jsxRuntimeExports.jsx("span",{className:styles$5.uiPluginSheetsBorderPanelMoreIcon,children:jsxRuntimeExports.jsx(MoreDownSingle,{})})]})})})})]})})}__name(ArrangePanel,"ArrangePanel");const imageCommonPanel="univer-image-common-panel",imageCommonPanelGrid="univer-image-common-panel-grid",imageCommonPanelBorder="univer-image-common-panel-border",imageCommonPanelTitle="univer-image-common-panel-title",imageCommonPanelSubtitle="univer-image-common-panel-subtitle",imageCommonPanelRow="univer-image-common-panel-row",imageCommonPanelRowVertical="univer-image-common-panel-row-vertical",imageCommonPanelColumn="univer-image-common-panel-column",imageCommonPanelColumnCenter="univer-image-common-panel-column-center",imageCommonPanelInline="univer-image-common-panel-inline",imageCommonPanelSpan2="univer-image-common-panel-span2",imageCommonPanelSpan3="univer-image-common-panel-span3",imageCommonPanelInput="univer-image-common-panel-input",styles$4={imageCommonPanel,imageCommonPanelGrid,imageCommonPanelBorder,imageCommonPanelTitle,imageCommonPanelSubtitle,imageCommonPanelRow,imageCommonPanelRowVertical,imageCommonPanelColumn,imageCommonPanelColumnCenter,imageCommonPanelInline,imageCommonPanelSpan2,imageCommonPanelSpan3,imageCommonPanelInput},COMPONENT_SLIDE_SIDEBAR="COMPONENT_SLIDE_SIDEBAR";function RectSidebar(){var _a11,_b,_c;const univerInstanceService=core.useDependency(core.IUniverInstanceService),canvasView=core.useDependency(exports.CanvasView),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pageId=(_a11=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a11.id;if(!pageId)return null;const transformer=(_b=canvasView.getRenderUnitByPageId(pageId,pageId).scene)==null?void 0:_b.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const unitId=((_c=univerInstanceService.getFocusedUnit())==null?void 0:_c.getUnitId())||"";return jsxRuntimeExports.jsxs("section",{className:styles$4.imageCommonPanel,children:[jsxRuntimeExports.jsx(ArrangePanel$1,{pageId,unitId}),jsxRuntimeExports.jsx(TransformPanel,{pageId,unitId}),object.objectType===engineRender.ObjectType.RECT&&jsxRuntimeExports.jsx(ArrangePanel,{pageId,unitId})]})}__name(RectSidebar,"RectSidebar");const InsertSlideShapeRectangleCommand={id:"slide.command.insert-float-shape",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a11;const commandService=accessor.get(core.ICommandService),unitId=(_a11=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a11.getUnitId();return commandService.executeCommand(InsertSlideShapeRectangleOperation.id,{unitId})},"handler")},InsertSlideShapeRectangleOperation={id:"slide.operation.insert-float-shape",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const id=core.generateRandomId(6),univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):20,data={id,zIndex:maxIndex+1,left:378,top:142,width:250,height:250,title:id,description:"",type:core.PageElementType.SHAPE,shape:{shapeType:core.BasicShapes.Rect,text:"",shapeProperties:{shapeBackgroundFill:{rgb:"rgb(0,0,255)"}}}};activePage.pageElements[id]=data,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports.CanvasView),sceneObject=canvasview.createObjectToPage(data,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},ToggleSlideEditSidebarOperation={id:"sidebar.operation.slide-shape",type:core.CommandType.COMMAND,handler:__name(async(accessor,params)=>{const{visible,objectType}=params,sidebarService=accessor.get(ui.ISidebarService),localeService=accessor.get(core.LocaleService);let title="",children="";return objectType===engineRender.ObjectType.RECT?(title="slide.sidebar.shape",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.IMAGE?(title="slide.sidebar.image",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.RICH_TEXT&&(title="slide.sidebar.text",children=COMPONENT_SLIDE_SIDEBAR),visible?sidebarService.open({header:{title:localeService.t(title)},children:{label:children},onClose:__name(()=>{},"onClose"),width:360}):sidebarService.close(),!0},"handler")},SlideAddTextCommand={id:"slide.command.add-text",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a11;const commandService=accessor.get(core.ICommandService),unitId=(_a11=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a11.getUnitId();return await commandService.executeCommand(SlideAddTextOperation.id,{unitId})},"handler")},SlideAddTextOperation={id:"slide.operation.add-text",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const unitId=params.unitId,elementId=core.generateRandomId(6),defaultWidth=220,defaultheight=40,left=230,top=142,textContent=(params==null?void 0:params.text)||"A New Text",slideData=accessor.get(core.IUniverInstanceService).getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):21,elementData={id:elementId,zIndex:maxIndex+1,left,top,width:defaultWidth,height:defaultheight,title:"text",description:"",type:core.PageElementType.TEXT,richText:{text:textContent,fs:30,cl:{rgb:"rgb(51, 51, 51)"},bl:1}};activePage.pageElements[elementId]=elementData,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports.CanvasView),sceneObject=canvasview.createObjectToPage(elementData,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},SetSlidePageThumbOperation={id:"slide.operation.set-slide-page-thumb",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>(accessor.get(exports.CanvasView).createThumbs(params.unitId),!0),"handler")},SetTextEditArrowOperation={id:"slide.operation.edit-arrow",type:core.CommandType.OPERATION,handler:__name(()=>!0,"handler")},imagePopupMenu="univer-image-popup-menu",imagePopupMenuItem="univer-image-popup-menu-item",imagePopupMenuItemIcon="univer-image-popup-menu-item-icon",imagePopupMenuItemTitle="univer-image-popup-menu-item-title",imagePopupMenuItemHide="univer-image-popup-menu-item-hide",btnContainer="univer-btn-container",btnContainerExpand="univer-btn-container-expand",styles$3={imagePopupMenu,imagePopupMenuItem,imagePopupMenuItemIcon,imagePopupMenuItemTitle,imagePopupMenuItemHide,btnContainer,btnContainerExpand},SlideImagePopupMenu=__name(props=>{var _a11,_b;const menuItems=(_b=(_a11=props.popup)==null?void 0:_a11.extraProps)==null?void 0:_b.menuItems;if(!menuItems)return null;const commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),[visible,setVisible]=React.useState(!1),[isHovered,setHovered]=React.useState(!1),handleMouseEnter=__name(()=>{setHovered(!0)},"handleMouseEnter"),handleMouseLeave=__name(()=>{setHovered(!1)},"handleMouseLeave"),onVisibleChange=__name(visible2=>{setVisible(visible2)},"onVisibleChange"),handleClick=__name(item=>{commandService.executeCommand(item.commandId,item.commandParams),setVisible(!1)},"handleClick"),showMore=visible||isHovered,availableMenu=menuItems.filter(item=>!item.disable);return jsxRuntimeExports.jsx("div",{onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,children:jsxRuntimeExports.jsx(design.Dropdown,{placement:"bottomLeft",trigger:["click"],overlay:jsxRuntimeExports.jsx("ul",{className:styles$3.imagePopupMenu,children:availableMenu.map(item=>jsxRuntimeExports.jsx("li",{onClick:__name(()=>handleClick(item),"onClick"),className:styles$3.imagePopupMenuItem,children:jsxRuntimeExports.jsx("span",{className:styles$3.imagePopupMenuItemTitle,children:localeService.t(item.label)})},item.index))}),visible,onVisibleChange,children:jsxRuntimeExports.jsxs("div",{className:clsx(styles$3.btnContainer,{[styles$3.btnContainerExpand]:visible}),children:[jsxRuntimeExports.jsx(Autofill,{style:{color:"#35322B"},extend:{colorChannel1:"rgb(var(--green-700, #409f11))"}}),showMore&&jsxRuntimeExports.jsx(MoreDownSingle,{style:{color:"#CCCCCC",fontSize:"8px",marginLeft:"8px"}})]})})})},"SlideImagePopupMenu"),COMPONENT_SLIDE_IMAGE_POPUP_MENU="COMPONENT_SLIDE_IMAGE_POPUP_MENU",uploadFileMenu="univer-upload-file-menu",uploadFileMenuInput="univer-upload-file-menu-input",styles$2={uploadFileMenu,uploadFileMenuInput},COMPONENT_UPLOAD_FILE_MENU="SLIDE_COMPONENT_UPLOAD_FILE_MENU";var UploadFileType=(UploadFileType2=>(UploadFileType2[UploadFileType2.cellImage=0]="cellImage",UploadFileType2[UploadFileType2.floatImage=1]="floatImage",UploadFileType2))(UploadFileType||{});const UploadFileMenu=__name(props=>{const{type}=props,commandService=core.useDependency(core.ICommandService),univerInstanceService=core.useDependency(core.IUniverInstanceService),focused=ui.useObservable(univerInstanceService.focused$),fileInputRef=React.useRef(null),handleButtonClick=__name(()=>{var _a11;(_a11=fileInputRef.current)==null||_a11.click()},"handleButtonClick"),imageAccept=drawing.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(image=>`.${image.replace("image/","")}`).join(","),handleFileChange=__name(event=>{const fileList=event.target.files;if(fileList==null)return;const files=Array.from(fileList);type===UploadFileType.floatImage&&commandService.executeCommand(InsertSlideFloatImageOperation.id,{files,unitId:focused}),fileInputRef.current&&(fileInputRef.current.value="")},"handleFileChange");return jsxRuntimeExports.jsx("div",{onClick:handleButtonClick,className:styles$2.uploadFileMenu,children:jsxRuntimeExports.jsx("input",{type:"file",className:styles$2.uploadFileMenuInput,ref:fileInputRef,onChange:handleFileChange,accept:imageAccept,multiple:!0})})},"UploadFileMenu"),_SlideEditorManagerService=class _SlideEditorManagerService{constructor(){__publicField(this,"_state",null);__publicField(this,"_rect",null);__publicField(this,"_state$",new rxjs.BehaviorSubject(null));__publicField(this,"state$",this._state$.asObservable());__publicField(this,"_rect$",new rxjs.BehaviorSubject(null));__publicField(this,"rect$",this._rect$.asObservable());__publicField(this,"_focus",!1);__publicField(this,"_focus$",new rxjs.BehaviorSubject(this._focus));__publicField(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(param){this._state=param,this._refresh(param)}getRect(){return this._rect}setRect(param){this._rect=param,this._rect$.next(param)}getState(){return this._state}setFocus(param=!1){this._focus=param,this._focus$.next(param)}_refresh(param){this._state$.next(param)}};__name(_SlideEditorManagerService,"SlideEditorManagerService");let SlideEditorManagerService=_SlideEditorManagerService;const ISlideEditorManagerService=core.createIdentifier("univer.slide-editor-manager.service"),SLIDE_EDITOR_ID=core.createInternalEditorID("SLIDE_EDITOR"),slideEditorContainer="univer-slide-editor-container",editorInput="univer-editor-input",styles$1={slideEditorContainer,editorInput},HIDDEN_EDITOR_POSITION$1=-1e3,EDITOR_DEFAULT_POSITION={width:0,height:0,top:HIDDEN_EDITOR_POSITION$1,left:HIDDEN_EDITOR_POSITION$1},SlideEditorContainer=__name(()=>{const[state,setState]=React.useState({...EDITOR_DEFAULT_POSITION}),slideEditorManagerService=core.useDependency(ISlideEditorManagerService),editorService=core.useDependency(ui.IEditorService),contextService=core.useDependency(core.IContextService),disableAutoFocus=ui.useObservable(()=>contextService.subscribeContextValue$(ui.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[contextService,ui.DISABLE_AUTO_FOCUS_KEY]),snapshot={id:SLIDE_EDITOR_ID,body:{dataStream:`${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{documentFlavor:core.DocumentFlavor.MODERN}};return React.useEffect(()=>{slideEditorManagerService.state$.subscribe(param=>{if(param==null)return;const{startX=HIDDEN_EDITOR_POSITION$1,startY=HIDDEN_EDITOR_POSITION$1,endX=0,endY=0,show=!1}=param;if(!show)setState({...EDITOR_DEFAULT_POSITION});else{setState({width:endX-startX-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,height:endY-startY-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,left:startX+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,top:startY+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET});const editor=editorService.getEditor(SLIDE_EDITOR_ID);if(editor==null)return;const{left,top,width,height}=editor.getBoundingClientRect();slideEditorManagerService.setRect({left,top,width,height})}})},[]),React.useEffect(()=>{disableAutoFocus||slideEditorManagerService.setFocus(!0)},[disableAutoFocus,state]),jsxRuntimeExports.jsx("div",{className:styles$1.slideEditorContainer,style:{left:state.left,top:state.top,width:state.width,height:state.height},children:jsxRuntimeExports.jsx(ui.TextEditor,{id:SLIDE_EDITOR_ID,className:styles$1.editorInput,snapshot,cancelDefaultResizeListener:!1,isSheetEditor:!1,isSingle:!1})})},"SlideEditorContainer"),AppendSlideOperation={id:"slide.operation.append-slide",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const unitId=params.unitId;return accessor.get(core.IUniverInstanceService).getUnit(unitId)?(accessor.get(exports.CanvasView).appendPage(unitId),!0):!1},"handler")},slideBar="univer-slide-bar",slideBarContent="univer-slide-bar-content",slideBarContentHeader="univer-slide-bar-content-header",slideBarItem="univer-slide-bar-item",slideBarBox="univer-slide-bar-box",slideBarItemActive="univer-slide-bar-item-active",slideAddButton="univer-slide-add-button",styles={slideBar,slideBarContent,slideBarContentHeader,slideBarItem,slideBarBox,slideBarItemActive,slideAddButton};function SlideSideBar(){var _a11,_b;const univerInstanceService=core.useDependency(core.IUniverInstanceService),commandService=core.useDependency(core.ICommandService),renderManagerService=core.useDependency(engineRender.IRenderManagerService),localeService=core.useDependency(core.LocaleService),slideBarRef=React.useRef(null),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=currentSlide==null?void 0:currentSlide.getPages(),pageOrder=currentSlide==null?void 0:currentSlide.getPageOrder();if(!pages||!pageOrder)return null;const slideList=pageOrder.map(id=>pages[id]),[divRefs,setDivRefs]=React.useState([]),[activatePageId,setActivatePageId]=React.useState((_b=(_a11=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a11.id)!=null?_b:null);React.useEffect(()=>{setDivRefs(slideList.map(_=>React.createRef()))},[slideList.length]),React.useEffect(()=>{const subscriber=currentSlide==null?void 0:currentSlide.activePage$.subscribe(page=>{var _a12;const id=(_a12=page==null?void 0:page.id)!=null?_a12:null;id&&setActivatePageId(id)});return()=>{subscriber==null||subscriber.unsubscribe()}},[]),React.useEffect(()=>{divRefs.forEach((ref,index)=>{var _a12;if(ref.current){const slide=slideList[index];(_a12=renderManagerService.getRenderById(slide.id))==null||_a12.engine.setContainer(ref.current)}}),divRefs.length>0&&commandService.syncExecuteCommand(SetSlidePageThumbOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[divRefs,slideList,renderManagerService,commandService,currentSlide]);const activatePage=React.useCallback(page=>{commandService.syncExecuteCommand(ActivateSlidePageOperation.id,{id:page,unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]),handleAppendSlide=React.useCallback(()=>{commandService.syncExecuteCommand(AppendSlideOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]);return jsxRuntimeExports.jsx("aside",{className:styles.slideBar,ref:slideBarRef,children:jsxRuntimeExports.jsx(design.Scrollbar,{children:jsxRuntimeExports.jsxs("div",{className:styles.slideBarContent,children:[jsxRuntimeExports.jsx("header",{className:styles.slideBarContentHeader,children:jsxRuntimeExports.jsx("a",{onClick:handleAppendSlide,children:localeService.t("slide.append")})}),slideList.map((item,index)=>jsxRuntimeExports.jsxs("div",{className:clsx(styles.slideBarItem,{[styles.slideBarItemActive]:item.id===activatePageId}),onClick:__name(()=>activatePage(item.id),"onClick"),children:[jsxRuntimeExports.jsx("span",{children:index+1}),jsxRuntimeExports.jsx("div",{ref:divRefs[index],className:styles.slideBarBox})]},item.id))]})})})}__name(SlideSideBar,"SlideSideBar");const IMAGE_UPLOAD_ICON="addition-and-subtraction-single",IMAGE_MENU_ID="slide.menu.image";function SlideImageMenuFactory(accessor){return{id:IMAGE_MENU_ID,type:ui.MenuItemType.SUBITEMS,positions:[ui.MenuPosition.TOOLBAR_START],group:ui.MenuGroup.TOOLBAR_FORMULAS_INSERT,icon:IMAGE_UPLOAD_ICON,tooltip:"slide.image.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideImageMenuFactory,"SlideImageMenuFactory");function UploadSlideFloatImageMenuFactory(_accessor){return{id:InsertSlideFloatImageOperation.id,title:"slide.image.insert.float",type:ui.MenuItemType.SELECTOR,label:{name:COMPONENT_UPLOAD_FILE_MENU,props:{type:UploadFileType.floatImage}},positions:[IMAGE_MENU_ID],hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatImageMenuFactory,"UploadSlideFloatImageMenuFactory");const GRAPH_SINGLE_ICON="graph-single",SHAPE_MENU_ID="slide.menu.shape";function SlideShapeMenuFactory(accessor){return{id:SHAPE_MENU_ID,type:ui.MenuItemType.SUBITEMS,positions:[ui.MenuPosition.TOOLBAR_START],group:ui.MenuGroup.TOOLBAR_FORMULAS_INSERT,icon:GRAPH_SINGLE_ICON,tooltip:"slide.shape.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideShapeMenuFactory,"SlideShapeMenuFactory");function UploadSlideFloatShapeMenuFactory(_accessor){return{id:InsertSlideShapeRectangleCommand.id,title:"slide.shape.insert.rectangle",type:ui.MenuItemType.BUTTON,positions:[SHAPE_MENU_ID],hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatShapeMenuFactory,"UploadSlideFloatShapeMenuFactory");function whenEditorActivated(contextService){return contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)&&contextService.getContextValue(core.EDITOR_ACTIVATED)}__name(whenEditorActivated,"whenEditorActivated");function whenFormulaEditorFocused(contextService){return contextService.getContextValue(core.FORMULA_EDITOR_ACTIVATED)&&contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)}__name(whenFormulaEditorFocused,"whenFormulaEditorFocused");const ARROW_SELECTION_KEYCODE_LIST=[ui.KeyCode.ARROW_DOWN,ui.KeyCode.ARROW_UP,ui.KeyCode.ARROW_LEFT,ui.KeyCode.ARROW_RIGHT];[ui.KeyCode.ENTER,ui.KeyCode.TAB,...ARROW_SELECTION_KEYCODE_LIST];function generateArrowSelectionShortCutItem(){const shortcutList=[];for(const keycode of ARROW_SELECTION_KEYCODE_LIST)shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!1}}),shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode|ui.MetaKeys.SHIFT,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!0}});return shortcutList}__name(generateArrowSelectionShortCutItem,"generateArrowSelectionShortCutItem");const EditorDeleteLeftShortcut={id:docs.DeleteLeftCommand.id,preconditions:__name(contextService=>whenEditorActivated(contextService)||whenFormulaEditorFocused(contextService),"preconditions"),binding:ui.KeyCode.BACKSPACE},TEXT_ICON_ID="text-single";function SlideAddTextMenuItemFactory(_accessor){return{id:SlideAddTextCommand.id,group:ui.MenuGroup.TOOLBAR_FORMULAS_INSERT,type:ui.MenuItemType.BUTTON,icon:TEXT_ICON_ID,tooltip:"slide.text.insert.title",positions:[ui.MenuPosition.TOOLBAR_START],hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideAddTextMenuItemFactory,"SlideAddTextMenuItemFactory");var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$7"),_a3;exports.SlidesUIController=(_a3=class extends core.Disposable{constructor(_config,_injector,_menuService,_componentManager,_uiPartsService,_commandService,_shortcutService){super(),this._config=_config,this._injector=_injector,this._menuService=_menuService,this._componentManager=_componentManager,this._uiPartsService=_uiPartsService,this._commandService=_commandService,this._shortcutService=_shortcutService,this._initCommands(),this._initCustomComponents(),this._initUIComponents(),this._initMenus(),this._initShortcuts()}_initMenus(){const{menu={}}=this._config||{};[SlideAddTextMenuItemFactory,SlideImageMenuFactory,UploadSlideFloatImageMenuFactory,SlideShapeMenuFactory,UploadSlideFloatShapeMenuFactory].forEach(menuFactory=>{this._menuService.addMenuItem(menuFactory(this._injector),menu)})}_initCustomComponents(){const componentManager=this._componentManager;this.disposeWithMe(componentManager.register(IMAGE_UPLOAD_ICON,AddImageSingle)),this.disposeWithMe(componentManager.register(TEXT_ICON_ID,TextSingle)),this.disposeWithMe(componentManager.register(GRAPH_SINGLE_ICON,GraphSingle)),this.disposeWithMe(componentManager.register(COMPONENT_UPLOAD_FILE_MENU,UploadFileMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_IMAGE_POPUP_MENU,SlideImagePopupMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_SIDEBAR,RectSidebar))}_initCommands(){[AppendSlideOperation,ActivateSlidePageOperation,SetSlidePageThumbOperation,InsertSlideFloatImageOperation,SlideAddTextOperation,SlideAddTextCommand,InsertSlideShapeRectangleOperation,InsertSlideShapeRectangleCommand,ToggleSlideEditSidebarOperation,DeleteSlideElementOperation,UpdateSlideElementOperation,SetTextEditArrowOperation].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_initUIComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.LEFT_SIDEBAR,()=>core.connectInjector(SlideSideBar,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.CONTENT,()=>core.connectInjector(SlideEditorContainer,this._injector)))}_initShortcuts(){[EditorDeleteLeftShortcut,...generateArrowSelectionShortCutItem()].forEach(item=>{this.disposeWithMe(this._shortcutService.registerShortcut(item))})}},__name(_a3,"SlidesUIController"),_a3);exports.SlidesUIController=__decorateClass$7([core.OnLifecycle(core.LifecycleStages.Ready,exports.SlidesUIController),__decorateParam$7(1,core.Inject(core.Injector)),__decorateParam$7(2,ui.IMenuService),__decorateParam$7(3,core.Inject(ui.ComponentManager)),__decorateParam$7(4,ui.IUIPartsService),__decorateParam$7(5,core.ICommandService),__decorateParam$7(6,ui.IShortcutService)],exports.SlidesUIController);var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");function transformBound2OffsetBound(originBound,scene){const topLeft=transformPosition2Offset(originBound.left,originBound.top,scene),bottomRight=transformPosition2Offset(originBound.right,originBound.bottom,scene);return{left:topLeft.x,top:topLeft.y,right:bottomRight.x,bottom:bottomRight.y}}__name(transformBound2OffsetBound,"transformBound2OffsetBound");function transformPosition2Offset(x,y,scene){const{scaleX,scaleY}=scene.getAncestorScale(),viewMain=scene.getViewport(slides.SLIDE_KEY.VIEW);if(!viewMain)return{x,y};const{viewportScrollX:actualScrollX,viewportScrollY:actualScrollY}=viewMain,offsetX=(x-actualScrollX)*scaleX,offsetY=(y-actualScrollY)*scaleY;return{x:offsetX,y:offsetY}}__name(transformPosition2Offset,"transformPosition2Offset");var _a4;exports.SlideCanvasPopMangerService=(_a4=class extends core.Disposable{constructor(_globalPopupManagerService,_renderManagerService,_univerInstanceService,_commandService){super(),this._globalPopupManagerService=_globalPopupManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService}_createObjectPositionObserver(targetObject,currentRender){const position=__name(()=>{var _a11,_b,_c,_d;const{scene,engine}=currentRender,{left,top,width,height}=targetObject,horizontalOffset=(scene.width-((_b=(_a11=currentRender.mainComponent)==null?void 0:_a11.width)!=null?_b:0))/2,verticalOffset=(scene.height-((_d=(_c=currentRender.mainComponent)==null?void 0:_c.height)!=null?_d:0))/2,bound={left,right:left+width,top,bottom:top+height},canvasElement=engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=engineRender.pxToNum(canvasElement.style.width),{scaleX,scaleY}=scene.getAncestorScale(),offsetBound=transformBound2OffsetBound(bound,scene),{top:topOffset,left:leftOffset,width:domWidth}=canvasClientRect,scaleAdjust=domWidth/widthOfCanvas;return{left:offsetBound.left*scaleAdjust*scaleX+leftOffset+horizontalOffset,right:offsetBound.right*scaleAdjust*scaleX+leftOffset+horizontalOffset,top:offsetBound.top*scaleAdjust*scaleY+topOffset+verticalOffset,bottom:offsetBound.bottom*scaleAdjust*scaleY+topOffset+verticalOffset}},"calc")(),position$=new rxjs.BehaviorSubject(position),disposable=new core.DisposableCollection;return{position,position$,disposable}}attachPopupToObject(targetObject,popup){const unitId=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getUnitId(),currentRender=this._renderManagerService.getRenderById(unitId);if(!currentRender)return{dispose:__name(()=>{},"dispose")};const{position,position$,disposable}=this._createObjectPositionObserver(targetObject,currentRender),id=this._globalPopupManagerService.addPopup({...popup,unitId,subUnitId:"default",anchorRect:position,anchorRect$:position$,canvasElement:currentRender.engine.getCanvasElement()});return{dispose:__name(()=>{this._globalPopupManagerService.removePopup(id),position$.complete(),disposable.dispose()},"dispose")}}},__name(_a4,"SlideCanvasPopMangerService"),_a4);exports.SlideCanvasPopMangerService=__decorateClass$6([__decorateParam$6(0,core.Inject(ui.ICanvasPopupService)),__decorateParam$6(1,engineRender.IRenderManagerService),__decorateParam$6(2,core.IUniverInstanceService),__decorateParam$6(3,core.ICommandService)],exports.SlideCanvasPopMangerService);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5"),_a5;let SlidePopupMenuController=(_a5=class extends core.RxDisposable{constructor(_canvasPopManagerService,_renderManagerService,_univerInstanceService,_contextService,_canvasView,_sidebarService,_commandService){super();__publicField(this,"_initImagePopupMenu",new Set);this._canvasPopManagerService=_canvasPopManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._contextService=_contextService,this._canvasView=_canvasView,this._sidebarService=_sidebarService,this._commandService=_commandService,this._init()}_init(){this._univerInstanceService.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slide=>this._create(slide))}_dispose(workbook){}_create(slide){if(!slide)return;const unitId=slide.getUnitId();this._renderManagerService.has(unitId)&&!this._initImagePopupMenu.has(unitId)&&(this._popupMenuListener(unitId),this._initImagePopupMenu.add(unitId))}_hasCropObject(scene){}_popupMenuListener(unitId){var _a11;const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=(_a11=model==null?void 0:model.getPages())!=null?_a11:{};Object.keys(pages).forEach(pageId=>{var _a12;const transformer=(_a12=this._canvasView.getRenderUnitByPageId(pageId,unitId).scene)==null?void 0:_a12.getTransformer();if(!transformer)return;let singletonPopupDisposer;this.disposeWithMe(core.toDisposable(transformer.createControl$.subscribe(()=>{const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;if(!object)return;const oKey=object.oKey;singletonPopupDisposer==null||singletonPopupDisposer.dispose(),singletonPopupDisposer=this.disposeWithMe(this._canvasPopManagerService.attachPopupToObject(object,{componentKey:COMPONENT_SLIDE_IMAGE_POPUP_MENU,direction:"horizontal",offset:[2,0],extraProps:{menuItems:this._getMenuItemsByObjectType(object.objectType,oKey,unitId)}})),this._sidebarService.visible&&this._commandService.executeCommand(ToggleSlideEditSidebarOperation.id,{visible:!0,objectType:object.objectType})}))),this.disposeWithMe(transformer.clearControl$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose(),this._contextService.setContextValue(core.FOCUSING_COMMON_DRAWINGS,!1)})),this.disposeWithMe(transformer.changing$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose();const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;object&&this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object.oKey,props:{width:object.width,height:object.height,left:object.left,top:object.top}})}))})}_getMenuItemsByObjectType(objectType,oKey,unitId){return[{label:"slide.popup.edit",index:0,commandId:ToggleSlideEditSidebarOperation.id,commandParams:{visible:!0,objectType},disable:!1},{label:"slide.popup.delete",index:5,commandId:DeleteSlideElementOperation.id,commandParams:{id:oKey,unitId},disable:!1}]}},__name(_a5,"SlidePopupMenuController"),_a5);SlidePopupMenuController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Steady,SlidePopupMenuController),__decorateParam$5(0,core.Inject(exports.SlideCanvasPopMangerService)),__decorateParam$5(1,engineRender.IRenderManagerService),__decorateParam$5(2,core.IUniverInstanceService),__decorateParam$5(3,core.IContextService),__decorateParam$5(4,core.Inject(exports.CanvasView)),__decorateParam$5(5,ui.ISidebarService),__decorateParam$5(6,core.ICommandService)],SlidePopupMenuController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");const ISlideEditorBridgeService=core.createIdentifier("univer.slide-editor-bridge.service");var _a6;let SlideEditorBridgeService=(_a6=class extends core.Disposable{constructor(_editorService,_contextService,_renderManagerService){super();__publicField(this,"_editorUnitId",SLIDE_EDITOR_ID);__publicField(this,"_isForceKeepVisible",!1);__publicField(this,"_editorIsDirty",!1);__publicField(this,"_currentEditRectState",null);__publicField(this,"_currentEditRectState$",new rxjs.BehaviorSubject(null));__publicField(this,"currentEditRectState$",this._currentEditRectState$.asObservable());__publicField(this,"_visibleParam",{visible:!1,eventType:engineRender.DeviceInputEventType.Dblclick,unitId:""});__publicField(this,"_visible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"visible$",this._visible$.asObservable());__publicField(this,"_afterVisible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"afterVisible$",this._afterVisible$.asObservable());__publicField(this,"endEditing$",new rxjs.Subject);__publicField(this,"_currentEditRectInfo");this._editorService=_editorService,this._contextService=_contextService,this._renderManagerService=_renderManagerService}dispose(){super.dispose()}getEditorRect(){return this._currentEditRectInfo}setEditorRect(editorInfo){this._currentEditRectInfo=editorInfo,this._editorService.getFocusEditor()||(this._editorService.focus(SLIDE_EDITOR_ID),this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(core.FOCUSING_EDITOR_STANDALONE,!1),this._contextService.setContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE,!1));const editRectState=this.getEditRectState();this._currentEditRectState=editRectState,this._currentEditRectState$.next(editRectState)}changeVisible(param){this._visibleParam=param,param.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visibleParam),this._afterVisible$.next(this._visibleParam)}getEditRectState(){const editorUnitId=SLIDE_EDITOR_ID,editorRectInfo=this._currentEditRectInfo,unitId=editorRectInfo.unitId,docData=editorRectInfo.richTextObj.documentData;docData.id=editorUnitId,docData.documentStyle={...docData.documentStyle,pageSize:{width:editorRectInfo.richTextObj.width,height:1/0}};const documentLayoutObject={documentModel:new core.DocumentDataModel(docData),fontString:"document",textRotation:{a:0,v:0},wrapStrategy:0,verticalAlign:core.VerticalAlign.TOP,horizontalAlign:core.HorizontalAlign.LEFT,paddingData:{t:0,b:1,l:2,r:2}},editorWidth=editorRectInfo.richTextObj.width,editorHeight=editorRectInfo.richTextObj.height,left=editorRectInfo.richTextObj.left,top=editorRectInfo.richTextObj.top,canvasOffset={left:0,top:0},renderUnit=this._renderManagerService.getRenderById(unitId),mainScene=renderUnit==null?void 0:renderUnit.scene,mainViewport=mainScene==null?void 0:mainScene.getViewport(slides.SLIDE_KEY.VIEW),slideMainRect=mainScene==null?void 0:mainScene.getObject(slides.SLIDE_KEY.COMPONENT),slidePos={x:(slideMainRect==null?void 0:slideMainRect.left)||0,y:(slideMainRect==null?void 0:slideMainRect.top)||0},scrollX=(mainViewport==null?void 0:mainViewport.viewportScrollX)||0,scrollY=(mainViewport==null?void 0:mainViewport.viewportScrollY)||0;return canvasOffset.left=slidePos.x-scrollX,canvasOffset.top=slidePos.y-scrollY,{position:{startX:left,startY:top,endX:left+editorWidth,endY:top+editorHeight},scaleX:1,scaleY:1,slideCardOffset:canvasOffset,unitId,editorUnitId,documentLayoutObject}}changeEditorDirty(dirtyStatus){this._editorIsDirty=dirtyStatus}isVisible(){return this._visibleParam.visible}getEditorDirty(){return this._editorIsDirty}getCurrentEditorId(){return this._editorUnitId}genDocData(target){const editorUnitId=this.getCurrentEditorId(),content=target.text,fontSize=target.fs;return{id:editorUnitId,body:{dataStream:`${content}\r
10
- `,textRuns:[{st:0,ed:content.length}],paragraphs:[{paragraphStyle:{},startIndex:content.length+1}],sectionBreaks:[{startIndex:content.length+2}]},documentStyle:{marginBottom:0,marginLeft:0,marginRight:0,marginTop:0,pageSize:{width:1/0,height:1/0},textStyle:{fs:fontSize},renderConfig:{verticalAlign:core.VerticalAlign.MIDDLE,centerAngle:0,vertexAngle:0,wrapStrategy:0}},drawings:{},drawingsOrder:[],settings:{zoomRatio:1}}}},__name(_a6,"SlideEditorBridgeService"),_a6);SlideEditorBridgeService=__decorateClass$4([__decorateParam$4(0,ui.IEditorService),__decorateParam$4(1,core.IContextService),__decorateParam$4(2,engineRender.IRenderManagerService)],SlideEditorBridgeService);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3"),_a7;let SlideEditorBridgeRenderController=(_a7=class extends core.RxDisposable{constructor(_renderContext,_instanceSrv,_commandService,_editorBridgeService){super();__publicField(this,"setSlideTextEditor$",new rxjs.Subject);__publicField(this,"_curRichText",null);__publicField(this,"_d");this._renderContext=_renderContext,this._instanceSrv=_instanceSrv,this._commandService=_commandService,this._editorBridgeService=_editorBridgeService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){const d=new core.DisposableCollection;return this._initEventListener(d),d}_disposeCurrent(){var _a11;(_a11=this._d)==null||_a11.dispose(),this._d=null}_setEditorRect(pageId,targetObject){this._curRichText=targetObject;const{scene,engine}=this._renderContext,unitId=this._renderContext.unitId,setEditorRect={scene,engine,unitId,pageId,richTextObj:targetObject};this._editorBridgeService.setEditorRect(setEditorRect)}_initEventListener(d){const listenersForPageScene=__name(scene=>{const transformer=scene.getTransformer();transformer&&(d.add(transformer.clearControl$.subscribe(()=>{this.setEditorVisible(!1),this.pickOtherObjects()})),d.add(transformer.createControl$.subscribe(()=>{this.setEditorVisible(!1)})),d.add(scene.onDblclick$.subscribeEvent(()=>{transformer.clearControls();const object=transformer.getSelectedObjectMap().values().next().value;object&&(object.objectType!==engineRender.ObjectType.RICH_TEXT?this.pickOtherObjects():this.startEditing(scene.sceneKey,object))})),d.add(this._instanceSrv.focused$.subscribe(fc=>{this.endEditing()})))},"listenersForPageScene"),{mainComponent}=this._renderContext;mainComponent.subSceneChanged$.subscribeEvent(pageScene=>{listenersForPageScene(pageScene)});const pageSceneList=Array.from(mainComponent.getSubScenes().values());for(let i=0;i<pageSceneList.length;i++){const pageScene=pageSceneList[i];listenersForPageScene(pageScene)}}pickOtherObjects(){this.endEditing()}endEditing(){var _a11;if(!this._curRichText)return;this.setEditorVisible(!1);const curRichText=this._curRichText;if(!this._instanceSrv.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE))return!1;curRichText.refreshDocumentByDocData(),curRichText.resizeToContentSize(),this._editorBridgeService.endEditing$.next(curRichText);const richText={bl:1,fs:curRichText.fs,text:curRichText.text},textRuns=(_a11=curRichText.documentData.body)==null?void 0:_a11.textRuns;if(textRuns&&textRuns.length){const ts=textRuns[0].ts;richText.cl=ts==null?void 0:ts.cl}this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId:this._renderContext.unitId,oKey:curRichText==null?void 0:curRichText.oKey,props:{richText}}),this._curRichText=null}startEditing(pageId,target){this._setEditorRect(pageId,target),this.setEditorVisible(!0)}setEditorVisible(visible){var _a11,_b;visible?(_a11=this._curRichText)==null||_a11.hide():(_b=this._curRichText)==null||_b.show();const{unitId}=this._renderContext;this._editorBridgeService.changeVisible({visible,eventType:engineRender.DeviceInputEventType.PointerDown,unitId})}},__name(_a7,"SlideEditorBridgeRenderController"),_a7);SlideEditorBridgeRenderController=__decorateClass$3([__decorateParam$3(1,core.IUniverInstanceService),__decorateParam$3(2,core.ICommandService),__decorateParam$3(3,ISlideEditorBridgeService)],SlideEditorBridgeRenderController);var CursorChange=(_CursorChange=>(_CursorChange[_CursorChange.InitialState=0]="InitialState",_CursorChange[_CursorChange.StartEditor=1]="StartEditor",_CursorChange[_CursorChange.CursorChange=2]="CursorChange",_CursorChange))(CursorChange||{}),__defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const HIDDEN_EDITOR_POSITION=-1e3,EDITOR_INPUT_SELF_EXTEND_GAP=5,EDITOR_BORDER_SIZE=2;var _a8;let SlideEditingRenderController=(_a8=class extends core.Disposable{constructor(_renderContext,_layoutService,_undoRedoService,_contextService,_instanceSrv,_renderManagerService,_editorBridgeService,_cellEditorManagerService,_textSelectionRenderManager,_textSelectionManagerService,_commandService,_localService,_editorService){super();__publicField(this,"_cursorChange",CursorChange.InitialState);__publicField(this,"_isUnitEditing",!1);__publicField(this,"_d");this._renderContext=_renderContext,this._layoutService=_layoutService,this._undoRedoService=_undoRedoService,this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,this._editorBridgeService=_editorBridgeService,this._cellEditorManagerService=_cellEditorManagerService,this._textSelectionRenderManager=_textSelectionRenderManager,this._textSelectionManagerService=_textSelectionManagerService,this._commandService=_commandService,this._localService=_localService,this._editorService=_editorService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():(this._disposeCurrent(),this._isUnitEditing&&(this._handleEditorInvisible({visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode:ui.KeyCode.ESC,unitId:this._renderContext.unitId}),this._isUnitEditing=!1))})),this._initEditorVisibilityListener()}dispose(){super.dispose(),this._disposeCurrent()}_disposeCurrent(){var _a11;(_a11=this._d)==null||_a11.dispose(),this._d=null}_init(){const d=new core.DisposableCollection;return this._subscribeToCurrentCell(d),this._initialKeyboardListener(d),this._initialCursorSync(d),this._listenEditorFocus(d),this._commandExecutedListener(d),setTimeout(()=>{this._cursorStateListener(d)},1e3),d}_initEditorVisibilityListener(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(param=>{param.visible?(this._isUnitEditing=!0,this._handleEditorVisible(param)):this._isUnitEditing&&(this._handleEditorInvisible(param),this._isUnitEditing=!1)}))}_listenEditorFocus(d){const renderConfig=this._getEditorObject();renderConfig&&d.add(renderConfig.document.onPointerDown$.subscribeEvent(()=>{}))}_getEditorSkeleton(editorId){var _a11;return(_a11=this._renderManagerService.getRenderById(editorId))==null?void 0:_a11.with(docs.DocSkeletonManagerService).getSkeleton()}_getEditorViewModel(editorId){var _a11;return(_a11=this._renderManagerService.getRenderById(editorId))==null?void 0:_a11.with(docs.DocSkeletonManagerService).getViewModel()}_initialCursorSync(d){d.add(this._cellEditorManagerService.focus$.pipe(rxjs.filter(f2=>!!f2)).subscribe(()=>{this._textSelectionRenderManager.sync()}))}_subscribeToCurrentCell(d){d.add(this._editorBridgeService.currentEditRectState$.subscribe(editCellState=>{if(editCellState==null||this._contextService.getContextValue(core.FOCUSING_EDITOR_STANDALONE)||this._contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE))return;const{position:{startX,endX},documentLayoutObject:{textRotation,wrapStrategy,documentModel},scaleX,editorUnitId}=editCellState,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation);documentModel.updateDocumentId(editorUnitId),wrapStrategy===core.WrapStrategy.WRAP&&angle===0&&documentModel.updateDocumentDataPageSize((endX-startX)/scaleX),this._instanceSrv.changeDoc(editorUnitId,documentModel),this._contextService.setContextValue(core.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}]),this._textSelectionRenderManager.activate(HIDDEN_EDITOR_POSITION,HIDDEN_EDITOR_POSITION)}))}_fitTextSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,startY,endX,endY}=positionFromEditRectState,documentDataModel=documentLayoutObject.documentModel;if(documentDataModel==null)return;const{actualWidth,actualHeight}=this._predictingSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX,scaleY),{verticalAlign,paddingData,fill}=documentLayoutObject;let editorWidth=endX-startX,editorHeight=endY-startY;if(editorWidth<actualWidth&&(editorWidth=actualWidth),editorHeight<actualHeight)editorHeight=actualHeight,documentDataModel.updateDocumentDataMargin(paddingData);else{let offsetTop=0;verticalAlign===core.VerticalAlign.MIDDLE?offsetTop=(editorHeight-actualHeight)/2/scaleY:verticalAlign===core.VerticalAlign.TOP?offsetTop=paddingData.t||0:offsetTop=(editorHeight-actualHeight)/scaleY-(paddingData.b||0),offsetTop=offsetTop<(paddingData.t||0)?paddingData.t||0:offsetTop,documentDataModel.updateDocumentDataMargin({t:offsetTop})}documentSkeleton.calculate(),this._editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX,scaleY)}_predictingSize(actualRangeWithCoord,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,endX}=actualRangeWithCoord,{textRotation,wrapStrategy}=documentLayoutObject,documentDataModel=documentLayoutObject.documentModel,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation),clientWidth=document.body.clientWidth;if(wrapStrategy===core.WrapStrategy.WRAP&&angle===0){const{actualWidth,actualHeight}=documentSkeleton.getActualSize();return{actualWidth:actualWidth*scaleX,actualHeight:actualHeight*scaleY}}documentDataModel==null||documentDataModel.updateDocumentDataPageSize((clientWidth-startX-canvasOffset.left)/scaleX),documentSkeleton.calculate();const size=documentSkeleton.getActualSize();let editorWidth=endX-startX;return editorWidth<size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX&&(editorWidth=size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX),documentDataModel==null||documentDataModel.updateDocumentDataPageSize(editorWidth/scaleX),documentDataModel==null||documentDataModel.updateDocumentRenderConfig({horizontalAlign:core.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:editorWidth,actualHeight:size.actualHeight*scaleY}}_editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX=1,scaleY=1){var _a11;const editorObject=this._getEditorObject();if(editorObject==null)return;function pxToNum(width2){return Number.parseInt(width2.replace("px",""))}__name(pxToNum,"pxToNum");const canvasElement=this._renderContext.engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=pxToNum(canvasElement.style.width),{top,left,width}=canvasClientRect,scaleAdjust=width/widthOfCanvas;let{startX,startY}=positionFromEditRectState;startX+=canvasOffset.left,startY+=canvasOffset.top;const{document:documentComponent,scene:editorScene,engine:docEngine}=editorObject,viewportMain=editorScene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN),clientHeight=document.body.clientHeight-startY-canvasOffset.top-EDITOR_BORDER_SIZE*2,clientWidth=document.body.clientWidth-startX-canvasOffset.left;let physicHeight=editorHeight,scrollBar=viewportMain==null?void 0:viewportMain.getScrollBar();physicHeight>clientHeight?(physicHeight=clientHeight,scrollBar==null?viewportMain&&new engineRender.ScrollBar(viewportMain,{enableHorizontal:!1,barSize:8}):viewportMain==null||viewportMain.resetCanvasSizeAndUpdateScroll()):(scrollBar=null,(_a11=viewportMain==null?void 0:viewportMain.getScrollBar())==null||_a11.dispose()),editorWidth+=(scrollBar==null?void 0:scrollBar.barSize)||0,editorWidth=Math.min(editorWidth,clientWidth),startX-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,startY-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,this._addBackground(editorScene,editorWidth/scaleX,editorHeight/scaleY,fill);const{scaleX:precisionScaleX,scaleY:precisionScaleY}=editorScene.getPrecisionScale();editorScene.transformByState({width:editorWidth*scaleAdjust/scaleX,height:editorHeight*scaleAdjust/scaleY,scaleX:scaleX*scaleAdjust,scaleY:scaleY*scaleAdjust}),documentComponent.resize(editorWidth/scaleX,editorHeight/scaleY),setTimeout(()=>{docEngine.resizeBySize(engineRender.fixLineWidthByScale(editorWidth,precisionScaleX),engineRender.fixLineWidthByScale(physicHeight,precisionScaleY))},0);const contentBoundingRect=this._layoutService.getContentElement().getBoundingClientRect(),canvasBoundingRect=canvasElement.getBoundingClientRect();startX=startX*scaleAdjust+(canvasBoundingRect.left-contentBoundingRect.left),startY=startY*scaleAdjust+(canvasBoundingRect.top-contentBoundingRect.top),this._cellEditorManagerService.setState({startX,startY,endX:editorWidth*scaleAdjust+startX,endY:physicHeight*scaleAdjust+startY,show:!0})}_addBackground(scene,editorWidth,editorHeight,fill){const fillRectKey="_backgroundRectHelperColor_",rect=scene.getObject(fillRectKey);rect==null&&fill==null||(rect==null?scene.addObjects([new engineRender.Rect(fillRectKey,{width:editorWidth,height:editorHeight,fill,evented:!1})],docs.DOCS_COMPONENT_MAIN_LAYER_INDEX):fill==null?rect.dispose():(rect.setProps({fill}),rect.transformByState({width:editorWidth,height:editorHeight})))}_handleEditorVisible(param){var _a11,_b;const{eventType}=param;this._cursorChange=[engineRender.DeviceInputEventType.PointerDown,engineRender.DeviceInputEventType.Dblclick].includes(eventType)?CursorChange.CursorChange:CursorChange.StartEditor;const editCellState=this._editorBridgeService.getEditRectState();if(editCellState==null)return;const{position,documentLayoutObject,slideCardOffset:canvasOffset,scaleX,scaleY,editorUnitId,unitId}=editCellState,editorObject=this._getEditorObject();if(editorObject==null)return;const{scene}=editorObject;this._contextService.setContextValue(core.EDITOR_ACTIVATED,!0);const{documentModel:documentDataModel}=documentLayoutObject,skeleton=this._getEditorSkeleton(editorUnitId);if(!skeleton||!documentDataModel)return;this._fitTextSize(position,canvasOffset,skeleton,documentLayoutObject,scaleX,scaleY);const cursor=documentDataModel.getBody().dataStream.length-2||0;(_a11=scene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN))==null||_a11.scrollToViewportPos({viewportScrollX:Number.POSITIVE_INFINITY}),this._textSelectionManagerService.replaceTextRanges([{startOffset:cursor,endOffset:cursor}]),(_b=this._renderManagerService.getRenderById(unitId))==null||_b.scene.resetCursor()}_resetBodyStyle(body,removeStyle=!1){body.dataStream=core.DEFAULT_EMPTY_DOCUMENT_VALUE,body.textRuns!=null&&(body.textRuns.length===1&&!removeStyle?(body.textRuns[0].st=0,body.textRuns[0].ed=1):body.textRuns=void 0),body.paragraphs!=null&&(body.paragraphs.length===1?body.paragraphs[0].startIndex=0:body.paragraphs=[{startIndex:0}]),body.sectionBreaks!=null&&(body.sectionBreaks=void 0),body.tables!=null&&(body.tables=void 0),body.customRanges!=null&&(body.customRanges=void 0),body.customBlocks!=null&&(body.customBlocks=void 0)}_initialKeyboardListener(d){d.add(this._textSelectionRenderManager.onInputBefore$.subscribe(config=>{}))}_showEditorByKeyboard(config){}_commandExecutedListener(d){const moveCursorOP=[SetTextEditArrowOperation.id],editedMutations=[docs.RichTextEditingMutation.id];d.add(this._commandService.onCommandExecuted(command=>{this._editorService.getFocusId()===SLIDE_EDITOR_ID&&(moveCursorOP.includes(command.id)&&this._moveCursorCmdHandler(command),editedMutations.includes(command.id)&&this._editorBridgeService.isVisible()&&this._editingChangedHandler())}))}_moveCursorCmdHandler(command){const params=command.params,{keycode,isShift}=params;keycode!=null&&this._cursorChange===CursorChange.CursorChange?this._moveInEditor(keycode,isShift):this._editorBridgeService.changeVisible(params)}_editingChangedHandler(){const editRect=this._editorBridgeService.getEditorRect();if(!editRect)return;const editingRichText=editRect.richTextObj;editingRichText.refreshDocumentByDocData(),editingRichText.resizeToContentSize();const{unitId}=this._renderContext;this._handleEditorVisible({visible:!0,eventType:3,unitId})}_setOpenForCurrent(unitId,subUnitId){const editors=this._editorService.getAllEditor();for(const[_,ed]of editors)ed.setOpenForSheetUnitId(unitId),ed.setOpenForSheetSubUnitId(subUnitId)}_getEditorObject(){return getEditorObject(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}async _handleEditorInvisible(param){const{keycode}=param;if(this._setOpenForCurrent(null,null),this._cursorChange=CursorChange.InitialState,this._exitInput(param),this._editorBridgeService.getEditRectState()==null)return;if(this._editorBridgeService.getEditorDirty()===!1){this._moveCursor(keycode);return}this._moveCursor(keycode)}_exitInput(param){this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._cellEditorManagerService.setState({show:param.visible});const editorUnitId=this._editorBridgeService.getCurrentEditorId();editorUnitId!=null&&this._undoRedoService.clearUndoRedo(editorUnitId)}_moveCursor(keycode){if(keycode!=null)switch(core.Direction.LEFT,keycode){case ui.KeyCode.ENTER:core.Direction.DOWN;break;case ui.KeyCode.TAB:core.Direction.RIGHT;break;case ui.KeyCode.ARROW_DOWN:core.Direction.DOWN;break;case ui.KeyCode.ARROW_UP:core.Direction.UP;break;case ui.KeyCode.ARROW_LEFT:core.Direction.LEFT;break;case ui.KeyCode.ARROW_RIGHT:core.Direction.RIGHT;break}}_cursorStateListener(d){const editorObject=this._getEditorObject(),{document:documentComponent}=editorObject;d.add(core.toDisposable(documentComponent.onPointerDown$.subscribeEvent(()=>{this._cursorChange===CursorChange.StartEditor&&(this._cursorChange=CursorChange.CursorChange)})))}_moveInEditor(keycode,isShift){let direction=core.Direction.LEFT;keycode===ui.KeyCode.ARROW_DOWN?direction=core.Direction.DOWN:keycode===ui.KeyCode.ARROW_UP?direction=core.Direction.UP:keycode===ui.KeyCode.ARROW_RIGHT&&(direction=core.Direction.RIGHT),isShift?this._commandService.executeCommand(docs.MoveSelectionOperation.id,{direction}):this._commandService.executeCommand(docs.MoveCursorOperation.id,{direction})}},__name(_a8,"SlideEditingRenderController"),_a8);SlideEditingRenderController=__decorateClass$2([__decorateParam$2(1,ui.ILayoutService),__decorateParam$2(2,core.IUndoRedoService),__decorateParam$2(3,core.IContextService),__decorateParam$2(4,core.IUniverInstanceService),__decorateParam$2(5,engineRender.IRenderManagerService),__decorateParam$2(6,ISlideEditorBridgeService),__decorateParam$2(7,ISlideEditorManagerService),__decorateParam$2(8,engineRender.ITextSelectionRenderManager),__decorateParam$2(9,core.Inject(docs.TextSelectionManagerService)),__decorateParam$2(10,core.ICommandService),__decorateParam$2(11,core.Inject(core.LocaleService)),__decorateParam$2(12,ui.IEditorService)],SlideEditingRenderController);function getEditorObject(unitId,renderManagerService){if(unitId==null)return;const currentRender=renderManagerService.getRenderById(unitId);if(currentRender==null)return;const{mainComponent,scene,engine,components}=currentRender,document2=mainComponent,docBackground=components.get(docs.DOCS_VIEW_KEY.BACKGROUND);return{document:document2,docBackground,scene,engine}}__name(getEditorObject,"getEditorObject");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),_a9;let SlideRenderService=(_a9=class extends core.RxDisposable{constructor(_contextService,_instanceSrv,_renderManagerService){super(),this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,Promise.resolve().then(()=>this._init())}_init(){this._initSlideDataListener(),this._initContextListener()}_initSlideDataListener(){this._instanceSrv.getTypeOfUnitAdded$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(slideModel=>{this._createRenderer(slideModel==null?void 0:slideModel.getUnitId())}),this._instanceSrv.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slideModel=>{this._createRenderer(slideModel.getUnitId())}),this._instanceSrv.getTypeOfUnitDisposed$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(workbook=>this._disposeRenderer(workbook))}_createRenderer(unitId){unitId==null||this._instanceSrv.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE)==null||(this._renderManagerService.createRender(unitId),this._renderManagerService.setCurrent(unitId))}_disposeRenderer(workbook){const unitId=workbook.getUnitId();this._renderManagerService.removeRender(unitId)}_initContextListener(){}},__name(_a9,"SlideRenderService"),_a9);SlideRenderService=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SlideRenderService),__decorateParam$1(0,core.IContextService),__decorateParam$1(1,core.IUniverInstanceService),__decorateParam$1(2,engineRender.IRenderManagerService)],SlideRenderService);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const SLIDE_UI_PLUGIN_NAME="SLIDE_UI";var _a10;exports.UniverSlidesUIPlugin=(_a10=class extends core.Plugin{constructor(_config={},_injector,_renderManagerService,_univerInstanceService){super(),this._config=_config,this._injector=_injector,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService}onStarting(){core.mergeOverrideWithDependencies([[SlideRenderService],[ISlideEditorBridgeService,{useClass:SlideEditorBridgeService}],[ISlideEditorManagerService,{useClass:SlideEditorManagerService}],[exports.SlideCanvasPopMangerService]],this._config.override).forEach(d=>this._injector.add(d))}onReady(){[[SlideRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),core.mergeOverrideWithDependencies([[exports.CanvasView],[exports.SlidesUIController,{useFactory:__name(()=>this._injector.createInstance(exports.SlidesUIController,this._config),"useFactory")}],[SlideRenderController],[SlidePopupMenuController]],this._config.override).forEach(m2=>{this._injector.add(m2)}),this._injector.get(exports.CanvasView)}onRendered(){[[SlideEditorBridgeRenderController],[SlideEditingRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),this._markSlideAsFocused()}_markSlideAsFocused(){const currentService=this._univerInstanceService;try{const slideDataModel=currentService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);currentService.focusUnit(slideDataModel.getUnitId())}catch{}}},__name(_a10,"UniverSlidesUIPlugin"),__publicField(_a10,"pluginName",SLIDE_UI_PLUGIN_NAME),__publicField(_a10,"type",core.UniverInstanceType.UNIVER_SLIDE),_a10);exports.UniverSlidesUIPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService),__decorateParam(3,core.IUniverInstanceService)],exports.UniverSlidesUIPlugin);exports.ActivateSlidePageOperation=ActivateSlidePageOperation;exports.AppendSlideOperation=AppendSlideOperation;exports.DeleteSlideElementOperation=DeleteSlideElementOperation;exports.IMAGE_MENU_ID=IMAGE_MENU_ID;exports.ISlideEditorBridgeService=ISlideEditorBridgeService;exports.InsertSlideFloatImageOperation=InsertSlideFloatImageOperation;exports.InsertSlideShapeRectangleCommand=InsertSlideShapeRectangleCommand;exports.InsertSlideShapeRectangleOperation=InsertSlideShapeRectangleOperation;exports.SHAPE_MENU_ID=SHAPE_MENU_ID;exports.SLIDE_EDITOR_ID=SLIDE_EDITOR_ID;exports.SetSlidePageThumbOperation=SetSlidePageThumbOperation;exports.SlideAddTextCommand=SlideAddTextCommand;exports.SlideAddTextOperation=SlideAddTextOperation;exports.SlideEditorContainer=SlideEditorContainer;exports.SlideSideBar=SlideSideBar;exports.UpdateSlideElementOperation=UpdateSlideElementOperation;
9
+ */var f=React,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q");reactJsxRuntime_production_min.Fragment=l;reactJsxRuntime_production_min.jsx=q;reactJsxRuntime_production_min.jsxs=q;jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;const UpdateSlideElementOperation={id:"slide.operation.update-element",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{oKey,props}=params,univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params==null?void 0:params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage();return activePage.pageElements[oKey]=core.Tools.deepMerge(activePage.pageElements[oKey],props),slideData.updatePage(activePage.id,activePage),!0},"handler")},imageCommonPanel$1="univer-image-common-panel",imageCommonPanelGrid$1="univer-image-common-panel-grid",imageCommonPanelBorder$1="univer-image-common-panel-border",imageCommonPanelTitle$1="univer-image-common-panel-title",imageCommonPanelSubtitle$1="univer-image-common-panel-subtitle",imageCommonPanelRow$1="univer-image-common-panel-row",imageCommonPanelRowVertical$1="univer-image-common-panel-row-vertical",imageCommonPanelColumn$1="univer-image-common-panel-column",imageCommonPanelColumnCenter$1="univer-image-common-panel-column-center",imageCommonPanelInline$1="univer-image-common-panel-inline",imageCommonPanelSpan2$1="univer-image-common-panel-span2",imageCommonPanelSpan3$1="univer-image-common-panel-span3",imageCommonPanelInput$1="univer-image-common-panel-input",slidePanelColorPicker="univer-slide-panel-color-picker",styles$5={imageCommonPanel:imageCommonPanel$1,imageCommonPanelGrid:imageCommonPanelGrid$1,imageCommonPanelBorder:imageCommonPanelBorder$1,imageCommonPanelTitle:imageCommonPanelTitle$1,imageCommonPanelSubtitle:imageCommonPanelSubtitle$1,imageCommonPanelRow:imageCommonPanelRow$1,imageCommonPanelRowVertical:imageCommonPanelRowVertical$1,imageCommonPanelColumn:imageCommonPanelColumn$1,imageCommonPanelColumnCenter:imageCommonPanelColumnCenter$1,imageCommonPanelInline:imageCommonPanelInline$1,imageCommonPanelSpan2:imageCommonPanelSpan2$1,imageCommonPanelSpan3:imageCommonPanelSpan3$1,imageCommonPanelInput:imageCommonPanelInput$1,slidePanelColorPicker};function ArrangePanel$1(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const onArrangeBtnClick=__name(arrangeType=>{const allObjects=scene.getAllObjects(),[minZIndex,maxZIndex]=allObjects.reduce(([min,max],obj)=>{const zIndex2=obj.zIndex,minZIndex2=zIndex2<min?zIndex2:min,maxZIndex2=zIndex2>max?zIndex2:max;return[minZIndex2,maxZIndex2]},[0,0]);let zIndex=object.zIndex;arrangeType===3?zIndex=minZIndex-1:arrangeType===2?zIndex=maxZIndex+1:arrangeType===0?zIndex=object.zIndex+1:arrangeType===1&&(zIndex=object.zIndex-1),object.setProps({zIndex}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{zIndex}})},"onArrangeBtnClick");return jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.arrange.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(0)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveUpSingle,{}),localeService.t("image-panel.arrange.forward")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(1)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveDownSingle,{}),localeService.t("image-panel.arrange.backward")]})})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(2)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(TopmostSingle,{}),localeService.t("image-panel.arrange.front")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(3)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(BottomSingle,{}),localeService.t("image-panel.arrange.back")]})})})]})]})}__name(ArrangePanel$1,"ArrangePanel$1");function TransformPanel(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const{width:originWidth=0,height:originHeight=0,left:originX=0,top:originY=0,angle:originRotation=0}=object,[width,setWidth]=React.useState(originWidth),[height,setHeight]=React.useState(originHeight),[xPosition,setXPosition]=React.useState(originX),[yPosition,setYPosition]=React.useState(originY),[rotation,setRotation]=React.useState(originRotation),changeObs=__name(state=>{const{objects}=state,object2=objects.values().next().value,{width:originWidth2=0,height:originHeight2=0,left:originX2=0,top:originY2=0,angle:originRotation2=0}=object2;setWidth(originWidth2),setHeight(originHeight2),setXPosition(originX2),setYPosition(originY2),setRotation(originRotation2)},"changeObs");React.useEffect(()=>{const changeStartSub=transformer.changeStart$.subscribe(state=>{changeObs(state)}),changingSub=transformer.changing$.subscribe(state=>{changeObs(state)});return()=>{changingSub.unsubscribe(),changeStartSub.unsubscribe()}},[]);function handleWidthChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{width:val}}),object==null||object.resize(val,object.height),setWidth(val),transformer==null||transformer.refreshControls())}__name(handleWidthChange,"handleWidthChange");function handleHeightChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{height:val}}),object==null||object.resize(object.width,val),setHeight(val),transformer==null||transformer.refreshControls())}__name(handleHeightChange,"handleHeightChange");function handleXChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{left:val}}),object==null||object.translate(val,object.top),setXPosition(val),transformer==null||transformer.refreshControls())}__name(handleXChange,"handleXChange");function handleYChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{right:val}}),object==null||object.translate(object.left,val),setYPosition(val),transformer==null||transformer.refreshControls())}__name(handleYChange,"handleYChange");function handleChangeRotation(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{angle:val}}),object==null||object.transformByState({angle:val}),setRotation(val),transformer==null||transformer.refreshControls())}return __name(handleChangeRotation,"handleChangeRotation"),jsxRuntimeExports.jsxs("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.transform.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.width")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:width,onChange:__name(val=>{handleWidthChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.height")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:height,onChange:__name(val=>{handleHeightChange(val)},"onChange")})})})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.x")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:xPosition,onChange:__name(val=>{handleXChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.y")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:yPosition,onChange:__name(val=>{handleYChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.rotate")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,value:rotation,onChange:handleChangeRotation})})})]})})]})]})}__name(TransformPanel,"TransformPanel");function ArrangePanel(props){var _a11,_b;const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const[color,setColor]=React.useState((_b=(_a11=object.fill)==null?void 0:_a11.toString())!=null?_b:"");function handleChangeColor(color2){object==null||object.setProps({fill:color2}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{shape:{shapeProperties:{shapeBackgroundFill:{rgb:color2}}}}}),setColor(color2)}return __name(handleChangeColor,"handleChangeColor"),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("slide.panel.fill.title")})})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Dropdown,{align:{offset:[0,18]},overlay:jsxRuntimeExports.jsx("section",{className:styles$5.slidePanelColorPicker,children:jsxRuntimeExports.jsx(design.ColorPicker,{color:"#fff",onChange:handleChangeColor})}),children:jsxRuntimeExports.jsxs("a",{className:styles$5.uiPluginSheetsBorderPanelButton,children:[jsxRuntimeExports.jsx(PaintBucket,{extend:{colorChannel1:color!=null?color:"rgb(var(--primary-color))"}}),jsxRuntimeExports.jsx("span",{className:styles$5.uiPluginSheetsBorderPanelMoreIcon,children:jsxRuntimeExports.jsx(MoreDownSingle,{})})]})})})})]})})}__name(ArrangePanel,"ArrangePanel");const imageCommonPanel="univer-image-common-panel",imageCommonPanelGrid="univer-image-common-panel-grid",imageCommonPanelBorder="univer-image-common-panel-border",imageCommonPanelTitle="univer-image-common-panel-title",imageCommonPanelSubtitle="univer-image-common-panel-subtitle",imageCommonPanelRow="univer-image-common-panel-row",imageCommonPanelRowVertical="univer-image-common-panel-row-vertical",imageCommonPanelColumn="univer-image-common-panel-column",imageCommonPanelColumnCenter="univer-image-common-panel-column-center",imageCommonPanelInline="univer-image-common-panel-inline",imageCommonPanelSpan2="univer-image-common-panel-span2",imageCommonPanelSpan3="univer-image-common-panel-span3",imageCommonPanelInput="univer-image-common-panel-input",styles$4={imageCommonPanel,imageCommonPanelGrid,imageCommonPanelBorder,imageCommonPanelTitle,imageCommonPanelSubtitle,imageCommonPanelRow,imageCommonPanelRowVertical,imageCommonPanelColumn,imageCommonPanelColumnCenter,imageCommonPanelInline,imageCommonPanelSpan2,imageCommonPanelSpan3,imageCommonPanelInput},COMPONENT_SLIDE_SIDEBAR="COMPONENT_SLIDE_SIDEBAR";function RectSidebar(){var _a11,_b,_c;const univerInstanceService=core.useDependency(core.IUniverInstanceService),canvasView=core.useDependency(exports.CanvasView),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pageId=(_a11=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a11.id;if(!pageId)return null;const transformer=(_b=canvasView.getRenderUnitByPageId(pageId,pageId).scene)==null?void 0:_b.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const unitId=((_c=univerInstanceService.getFocusedUnit())==null?void 0:_c.getUnitId())||"";return jsxRuntimeExports.jsxs("section",{className:styles$4.imageCommonPanel,children:[jsxRuntimeExports.jsx(ArrangePanel$1,{pageId,unitId}),jsxRuntimeExports.jsx(TransformPanel,{pageId,unitId}),object.objectType===engineRender.ObjectType.RECT&&jsxRuntimeExports.jsx(ArrangePanel,{pageId,unitId})]})}__name(RectSidebar,"RectSidebar");const InsertSlideShapeRectangleCommand={id:"slide.command.insert-float-shape",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a11;const commandService=accessor.get(core.ICommandService),unitId=(_a11=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a11.getUnitId();return commandService.executeCommand(InsertSlideShapeRectangleOperation.id,{unitId})},"handler")},InsertSlideShapeRectangleOperation={id:"slide.operation.insert-float-shape",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const id=core.generateRandomId(6),univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):20,data={id,zIndex:maxIndex+1,left:378,top:142,width:250,height:250,title:id,description:"",type:core.PageElementType.SHAPE,shape:{shapeType:core.BasicShapes.Rect,text:"",shapeProperties:{shapeBackgroundFill:{rgb:"rgb(0,0,255)"}}}};activePage.pageElements[id]=data,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports.CanvasView),sceneObject=canvasview.createObjectToPage(data,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},ToggleSlideEditSidebarOperation={id:"sidebar.operation.slide-shape",type:core.CommandType.COMMAND,handler:__name(async(accessor,params)=>{const{visible,objectType}=params,sidebarService=accessor.get(ui.ISidebarService),localeService=accessor.get(core.LocaleService);let title="",children="";return objectType===engineRender.ObjectType.RECT?(title="slide.sidebar.shape",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.IMAGE?(title="slide.sidebar.image",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.RICH_TEXT&&(title="slide.sidebar.text",children=COMPONENT_SLIDE_SIDEBAR),visible?sidebarService.open({header:{title:localeService.t(title)},children:{label:children},onClose:__name(()=>{},"onClose"),width:360}):sidebarService.close(),!0},"handler")},SlideAddTextCommand={id:"slide.command.add-text",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a11;const commandService=accessor.get(core.ICommandService),unitId=(_a11=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a11.getUnitId();return await commandService.executeCommand(SlideAddTextOperation.id,{unitId})},"handler")},SlideAddTextOperation={id:"slide.operation.add-text",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const unitId=params.unitId,elementId=core.generateRandomId(6),defaultWidth=220,defaultheight=40,left=230,top=142,textContent=(params==null?void 0:params.text)||"A New Text",slideData=accessor.get(core.IUniverInstanceService).getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):21,elementData={id:elementId,zIndex:maxIndex+1,left,top,width:defaultWidth,height:defaultheight,title:"text",description:"",type:core.PageElementType.TEXT,richText:{text:textContent,fs:30,cl:{rgb:"rgb(51, 51, 51)"},bl:1}};activePage.pageElements[elementId]=elementData,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports.CanvasView),sceneObject=canvasview.createObjectToPage(elementData,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},SetSlidePageThumbOperation={id:"slide.operation.set-slide-page-thumb",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>(accessor.get(exports.CanvasView).createThumbs(params.unitId),!0),"handler")},SetTextEditArrowOperation={id:"slide.operation.edit-arrow",type:core.CommandType.OPERATION,handler:__name(()=>!0,"handler")},imagePopupMenu="univer-image-popup-menu",imagePopupMenuItem="univer-image-popup-menu-item",imagePopupMenuItemIcon="univer-image-popup-menu-item-icon",imagePopupMenuItemTitle="univer-image-popup-menu-item-title",imagePopupMenuItemHide="univer-image-popup-menu-item-hide",btnContainer="univer-btn-container",btnContainerExpand="univer-btn-container-expand",styles$3={imagePopupMenu,imagePopupMenuItem,imagePopupMenuItemIcon,imagePopupMenuItemTitle,imagePopupMenuItemHide,btnContainer,btnContainerExpand},SlideImagePopupMenu=__name(props=>{var _a11,_b;const menuItems=(_b=(_a11=props.popup)==null?void 0:_a11.extraProps)==null?void 0:_b.menuItems;if(!menuItems)return null;const commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),[visible,setVisible]=React.useState(!1),[isHovered,setHovered]=React.useState(!1),handleMouseEnter=__name(()=>{setHovered(!0)},"handleMouseEnter"),handleMouseLeave=__name(()=>{setHovered(!1)},"handleMouseLeave"),onVisibleChange=__name(visible2=>{setVisible(visible2)},"onVisibleChange"),handleClick=__name(item=>{commandService.executeCommand(item.commandId,item.commandParams),setVisible(!1)},"handleClick"),showMore=visible||isHovered,availableMenu=menuItems.filter(item=>!item.disable);return jsxRuntimeExports.jsx("div",{onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,children:jsxRuntimeExports.jsx(design.Dropdown,{placement:"bottomLeft",trigger:["click"],overlay:jsxRuntimeExports.jsx("ul",{className:styles$3.imagePopupMenu,children:availableMenu.map(item=>jsxRuntimeExports.jsx("li",{onClick:__name(()=>handleClick(item),"onClick"),className:styles$3.imagePopupMenuItem,children:jsxRuntimeExports.jsx("span",{className:styles$3.imagePopupMenuItemTitle,children:localeService.t(item.label)})},item.index))}),visible,onVisibleChange,children:jsxRuntimeExports.jsxs("div",{className:clsx(styles$3.btnContainer,{[styles$3.btnContainerExpand]:visible}),children:[jsxRuntimeExports.jsx(Autofill,{style:{color:"#35322B"},extend:{colorChannel1:"rgb(var(--green-700, #409f11))"}}),showMore&&jsxRuntimeExports.jsx(MoreDownSingle,{style:{color:"#CCCCCC",fontSize:"8px",marginLeft:"8px"}})]})})})},"SlideImagePopupMenu"),COMPONENT_SLIDE_IMAGE_POPUP_MENU="COMPONENT_SLIDE_IMAGE_POPUP_MENU",uploadFileMenu="univer-upload-file-menu",uploadFileMenuInput="univer-upload-file-menu-input",styles$2={uploadFileMenu,uploadFileMenuInput},COMPONENT_UPLOAD_FILE_MENU="SLIDE_COMPONENT_UPLOAD_FILE_MENU";var UploadFileType=(UploadFileType2=>(UploadFileType2[UploadFileType2.cellImage=0]="cellImage",UploadFileType2[UploadFileType2.floatImage=1]="floatImage",UploadFileType2))(UploadFileType||{});const UploadFileMenu=__name(props=>{const{type}=props,commandService=core.useDependency(core.ICommandService),univerInstanceService=core.useDependency(core.IUniverInstanceService),focused=ui.useObservable(univerInstanceService.focused$),fileInputRef=React.useRef(null),handleButtonClick=__name(()=>{var _a11;(_a11=fileInputRef.current)==null||_a11.click()},"handleButtonClick"),imageAccept=drawing.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(image=>`.${image.replace("image/","")}`).join(","),handleFileChange=__name(event=>{const fileList=event.target.files;if(fileList==null)return;const files=Array.from(fileList);type===UploadFileType.floatImage&&commandService.executeCommand(InsertSlideFloatImageOperation.id,{files,unitId:focused}),fileInputRef.current&&(fileInputRef.current.value="")},"handleFileChange");return jsxRuntimeExports.jsx("div",{onClick:handleButtonClick,className:styles$2.uploadFileMenu,children:jsxRuntimeExports.jsx("input",{type:"file",className:styles$2.uploadFileMenuInput,ref:fileInputRef,onChange:handleFileChange,accept:imageAccept,multiple:!0})})},"UploadFileMenu"),_SlideEditorManagerService=class _SlideEditorManagerService{constructor(){__publicField(this,"_state",null);__publicField(this,"_rect",null);__publicField(this,"_state$",new rxjs.BehaviorSubject(null));__publicField(this,"state$",this._state$.asObservable());__publicField(this,"_rect$",new rxjs.BehaviorSubject(null));__publicField(this,"rect$",this._rect$.asObservable());__publicField(this,"_focus",!1);__publicField(this,"_focus$",new rxjs.BehaviorSubject(this._focus));__publicField(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(param){this._state=param,this._refresh(param)}getRect(){return this._rect}setRect(param){this._rect=param,this._rect$.next(param)}getState(){return this._state}setFocus(param=!1){this._focus=param,this._focus$.next(param)}_refresh(param){this._state$.next(param)}};__name(_SlideEditorManagerService,"SlideEditorManagerService");let SlideEditorManagerService=_SlideEditorManagerService;const ISlideEditorManagerService=core.createIdentifier("univer.slide-editor-manager.service"),SLIDE_EDITOR_ID=core.createInternalEditorID("SLIDE_EDITOR"),slideEditorContainer="univer-slide-editor-container",editorInput="univer-editor-input",styles$1={slideEditorContainer,editorInput},HIDDEN_EDITOR_POSITION$1=-1e3,EDITOR_DEFAULT_POSITION={width:0,height:0,top:HIDDEN_EDITOR_POSITION$1,left:HIDDEN_EDITOR_POSITION$1},SlideEditorContainer=__name(()=>{const[state,setState]=React.useState({...EDITOR_DEFAULT_POSITION}),slideEditorManagerService=core.useDependency(ISlideEditorManagerService),editorService=core.useDependency(ui.IEditorService),contextService=core.useDependency(core.IContextService),disableAutoFocus=ui.useObservable(()=>contextService.subscribeContextValue$(ui.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[contextService,ui.DISABLE_AUTO_FOCUS_KEY]),snapshot={id:SLIDE_EDITOR_ID,body:{dataStream:`${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{documentFlavor:core.DocumentFlavor.MODERN}};return React.useEffect(()=>{slideEditorManagerService.state$.subscribe(param=>{if(param==null)return;const{startX=HIDDEN_EDITOR_POSITION$1,startY=HIDDEN_EDITOR_POSITION$1,endX=0,endY=0,show=!1}=param;if(!show)setState({...EDITOR_DEFAULT_POSITION});else{setState({width:endX-startX-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,height:endY-startY-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,left:startX+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,top:startY+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET});const editor=editorService.getEditor(SLIDE_EDITOR_ID);if(editor==null)return;const{left,top,width,height}=editor.getBoundingClientRect();slideEditorManagerService.setRect({left,top,width,height})}})},[]),React.useEffect(()=>{disableAutoFocus||slideEditorManagerService.setFocus(!0)},[disableAutoFocus,state]),jsxRuntimeExports.jsx("div",{className:styles$1.slideEditorContainer,style:{left:state.left,top:state.top,width:state.width,height:state.height},children:jsxRuntimeExports.jsx(ui.TextEditor,{id:SLIDE_EDITOR_ID,className:styles$1.editorInput,snapshot,cancelDefaultResizeListener:!1,isSheetEditor:!1,isSingle:!1})})},"SlideEditorContainer"),AppendSlideOperation={id:"slide.operation.append-slide",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const unitId=params.unitId;return accessor.get(core.IUniverInstanceService).getUnit(unitId)?(accessor.get(exports.CanvasView).appendPage(unitId),!0):!1},"handler")},slideBar="univer-slide-bar",slideBarContent="univer-slide-bar-content",slideBarContentHeader="univer-slide-bar-content-header",slideBarItem="univer-slide-bar-item",slideBarBox="univer-slide-bar-box",slideBarItemActive="univer-slide-bar-item-active",slideAddButton="univer-slide-add-button",styles={slideBar,slideBarContent,slideBarContentHeader,slideBarItem,slideBarBox,slideBarItemActive,slideAddButton};function SlideSideBar(){var _a11,_b;const univerInstanceService=core.useDependency(core.IUniverInstanceService),commandService=core.useDependency(core.ICommandService),renderManagerService=core.useDependency(engineRender.IRenderManagerService),localeService=core.useDependency(core.LocaleService),slideBarRef=React.useRef(null),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=currentSlide==null?void 0:currentSlide.getPages(),pageOrder=currentSlide==null?void 0:currentSlide.getPageOrder();if(!pages||!pageOrder)return null;const slideList=pageOrder.map(id=>pages[id]),[divRefs,setDivRefs]=React.useState([]),[activatePageId,setActivatePageId]=React.useState((_b=(_a11=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a11.id)!=null?_b:null);React.useEffect(()=>{setDivRefs(slideList.map(_=>React.createRef()))},[slideList.length]),React.useEffect(()=>{const subscriber=currentSlide==null?void 0:currentSlide.activePage$.subscribe(page=>{var _a12;const id=(_a12=page==null?void 0:page.id)!=null?_a12:null;id&&setActivatePageId(id)});return()=>{subscriber==null||subscriber.unsubscribe()}},[]),React.useEffect(()=>{divRefs.forEach((ref,index)=>{var _a12;if(ref.current){const slide=slideList[index];(_a12=renderManagerService.getRenderById(slide.id))==null||_a12.engine.setContainer(ref.current)}}),divRefs.length>0&&commandService.syncExecuteCommand(SetSlidePageThumbOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[divRefs,slideList,renderManagerService,commandService,currentSlide]);const activatePage=React.useCallback(page=>{commandService.syncExecuteCommand(ActivateSlidePageOperation.id,{id:page,unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]),handleAppendSlide=React.useCallback(()=>{commandService.syncExecuteCommand(AppendSlideOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]);return jsxRuntimeExports.jsx("aside",{className:styles.slideBar,ref:slideBarRef,children:jsxRuntimeExports.jsx(design.Scrollbar,{children:jsxRuntimeExports.jsxs("div",{className:styles.slideBarContent,children:[jsxRuntimeExports.jsx("header",{className:styles.slideBarContentHeader,children:jsxRuntimeExports.jsx("a",{onClick:handleAppendSlide,children:localeService.t("slide.append")})}),slideList.map((item,index)=>jsxRuntimeExports.jsxs("div",{className:clsx(styles.slideBarItem,{[styles.slideBarItemActive]:item.id===activatePageId}),onClick:__name(()=>activatePage(item.id),"onClick"),children:[jsxRuntimeExports.jsx("span",{children:index+1}),jsxRuntimeExports.jsx("div",{ref:divRefs[index],className:styles.slideBarBox})]},item.id))]})})})}__name(SlideSideBar,"SlideSideBar");const IMAGE_UPLOAD_ICON="addition-and-subtraction-single",IMAGE_MENU_ID="slide.menu.image";function SlideImageMenuFactory(accessor){return{id:IMAGE_MENU_ID,type:ui.MenuItemType.SUBITEMS,icon:IMAGE_UPLOAD_ICON,tooltip:"slide.image.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideImageMenuFactory,"SlideImageMenuFactory");function UploadSlideFloatImageMenuFactory(_accessor){return{id:InsertSlideFloatImageOperation.id,title:"slide.image.insert.float",type:ui.MenuItemType.SELECTOR,label:{name:COMPONENT_UPLOAD_FILE_MENU,props:{type:UploadFileType.floatImage}},hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatImageMenuFactory,"UploadSlideFloatImageMenuFactory");const GRAPH_SINGLE_ICON="graph-single",SHAPE_MENU_ID="slide.menu.shape";function SlideShapeMenuFactory(accessor){return{id:SHAPE_MENU_ID,type:ui.MenuItemType.SUBITEMS,icon:GRAPH_SINGLE_ICON,tooltip:"slide.shape.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideShapeMenuFactory,"SlideShapeMenuFactory");function UploadSlideFloatShapeMenuFactory(_accessor){return{id:InsertSlideShapeRectangleCommand.id,title:"slide.shape.insert.rectangle",type:ui.MenuItemType.BUTTON,hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatShapeMenuFactory,"UploadSlideFloatShapeMenuFactory");function whenEditorActivated(contextService){return contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)&&contextService.getContextValue(core.EDITOR_ACTIVATED)}__name(whenEditorActivated,"whenEditorActivated");function whenFormulaEditorFocused(contextService){return contextService.getContextValue(core.FORMULA_EDITOR_ACTIVATED)&&contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)}__name(whenFormulaEditorFocused,"whenFormulaEditorFocused");const ARROW_SELECTION_KEYCODE_LIST=[ui.KeyCode.ARROW_DOWN,ui.KeyCode.ARROW_UP,ui.KeyCode.ARROW_LEFT,ui.KeyCode.ARROW_RIGHT];[ui.KeyCode.ENTER,ui.KeyCode.TAB,...ARROW_SELECTION_KEYCODE_LIST];function generateArrowSelectionShortCutItem(){const shortcutList=[];for(const keycode of ARROW_SELECTION_KEYCODE_LIST)shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!1}}),shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode|ui.MetaKeys.SHIFT,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!0}});return shortcutList}__name(generateArrowSelectionShortCutItem,"generateArrowSelectionShortCutItem");const EditorDeleteLeftShortcut={id:docs.DeleteLeftCommand.id,preconditions:__name(contextService=>whenEditorActivated(contextService)||whenFormulaEditorFocused(contextService),"preconditions"),binding:ui.KeyCode.BACKSPACE},TEXT_ICON_ID="text-single";function SlideAddTextMenuItemFactory(_accessor){return{id:SlideAddTextCommand.id,type:ui.MenuItemType.BUTTON,icon:TEXT_ICON_ID,tooltip:"slide.text.insert.title",hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideAddTextMenuItemFactory,"SlideAddTextMenuItemFactory");const menuSchema={[ui.RibbonStartGroup.FORMAT]:{[SlideAddTextCommand.id]:{order:0,menuItemFactory:SlideAddTextMenuItemFactory},[IMAGE_MENU_ID]:{order:0,menuItemFactory:SlideImageMenuFactory,[InsertSlideFloatImageOperation.id]:{order:0,menuItemFactory:UploadSlideFloatImageMenuFactory}},[SHAPE_MENU_ID]:{order:0,menuItemFactory:SlideShapeMenuFactory,[InsertSlideShapeRectangleCommand.id]:{order:0,menuItemFactory:UploadSlideFloatShapeMenuFactory}}}};var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$7"),_a3;exports.SlidesUIController=(_a3=class extends core.Disposable{constructor(_injector,_menuManagerService,_componentManager,_uiPartsService,_commandService,_shortcutService){super(),this._injector=_injector,this._menuManagerService=_menuManagerService,this._componentManager=_componentManager,this._uiPartsService=_uiPartsService,this._commandService=_commandService,this._shortcutService=_shortcutService,this._initCommands(),this._initCustomComponents(),this._initUIComponents(),this._initMenus(),this._initShortcuts()}_initMenus(){this._menuManagerService.mergeMenu(menuSchema)}_initCustomComponents(){const componentManager=this._componentManager;this.disposeWithMe(componentManager.register(IMAGE_UPLOAD_ICON,AddImageSingle)),this.disposeWithMe(componentManager.register(TEXT_ICON_ID,TextSingle)),this.disposeWithMe(componentManager.register(GRAPH_SINGLE_ICON,GraphSingle)),this.disposeWithMe(componentManager.register(COMPONENT_UPLOAD_FILE_MENU,UploadFileMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_IMAGE_POPUP_MENU,SlideImagePopupMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_SIDEBAR,RectSidebar))}_initCommands(){[AppendSlideOperation,ActivateSlidePageOperation,SetSlidePageThumbOperation,InsertSlideFloatImageOperation,SlideAddTextOperation,SlideAddTextCommand,InsertSlideShapeRectangleOperation,InsertSlideShapeRectangleCommand,ToggleSlideEditSidebarOperation,DeleteSlideElementOperation,UpdateSlideElementOperation,SetTextEditArrowOperation].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_initUIComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.LEFT_SIDEBAR,()=>core.connectInjector(SlideSideBar,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.CONTENT,()=>core.connectInjector(SlideEditorContainer,this._injector)))}_initShortcuts(){[EditorDeleteLeftShortcut,...generateArrowSelectionShortCutItem()].forEach(item=>{this.disposeWithMe(this._shortcutService.registerShortcut(item))})}},__name(_a3,"SlidesUIController"),_a3);exports.SlidesUIController=__decorateClass$7([core.OnLifecycle(core.LifecycleStages.Ready,exports.SlidesUIController),__decorateParam$7(0,core.Inject(core.Injector)),__decorateParam$7(1,ui.IMenuManagerService),__decorateParam$7(2,core.Inject(ui.ComponentManager)),__decorateParam$7(3,ui.IUIPartsService),__decorateParam$7(4,core.ICommandService),__decorateParam$7(5,ui.IShortcutService)],exports.SlidesUIController);var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");function transformBound2OffsetBound(originBound,scene){const topLeft=transformPosition2Offset(originBound.left,originBound.top,scene),bottomRight=transformPosition2Offset(originBound.right,originBound.bottom,scene);return{left:topLeft.x,top:topLeft.y,right:bottomRight.x,bottom:bottomRight.y}}__name(transformBound2OffsetBound,"transformBound2OffsetBound");function transformPosition2Offset(x,y,scene){const{scaleX,scaleY}=scene.getAncestorScale(),viewMain=scene.getViewport(slides.SLIDE_KEY.VIEW);if(!viewMain)return{x,y};const{viewportScrollX:actualScrollX,viewportScrollY:actualScrollY}=viewMain,offsetX=(x-actualScrollX)*scaleX,offsetY=(y-actualScrollY)*scaleY;return{x:offsetX,y:offsetY}}__name(transformPosition2Offset,"transformPosition2Offset");var _a4;exports.SlideCanvasPopMangerService=(_a4=class extends core.Disposable{constructor(_globalPopupManagerService,_renderManagerService,_univerInstanceService,_commandService){super(),this._globalPopupManagerService=_globalPopupManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService}_createObjectPositionObserver(targetObject,currentRender){const position=__name(()=>{var _a11,_b,_c,_d;const{scene,engine}=currentRender,{left,top,width,height}=targetObject,horizontalOffset=(scene.width-((_b=(_a11=currentRender.mainComponent)==null?void 0:_a11.width)!=null?_b:0))/2,verticalOffset=(scene.height-((_d=(_c=currentRender.mainComponent)==null?void 0:_c.height)!=null?_d:0))/2,bound={left,right:left+width,top,bottom:top+height},canvasElement=engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=engineRender.pxToNum(canvasElement.style.width),{scaleX,scaleY}=scene.getAncestorScale(),offsetBound=transformBound2OffsetBound(bound,scene),{top:topOffset,left:leftOffset,width:domWidth}=canvasClientRect,scaleAdjust=domWidth/widthOfCanvas;return{left:offsetBound.left*scaleAdjust*scaleX+leftOffset+horizontalOffset,right:offsetBound.right*scaleAdjust*scaleX+leftOffset+horizontalOffset,top:offsetBound.top*scaleAdjust*scaleY+topOffset+verticalOffset,bottom:offsetBound.bottom*scaleAdjust*scaleY+topOffset+verticalOffset}},"calc")(),position$=new rxjs.BehaviorSubject(position),disposable=new core.DisposableCollection;return{position,position$,disposable}}attachPopupToObject(targetObject,popup){const unitId=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getUnitId(),currentRender=this._renderManagerService.getRenderById(unitId);if(!currentRender)return{dispose:__name(()=>{},"dispose")};const{position,position$,disposable}=this._createObjectPositionObserver(targetObject,currentRender),id=this._globalPopupManagerService.addPopup({...popup,unitId,subUnitId:"default",anchorRect:position,anchorRect$:position$,canvasElement:currentRender.engine.getCanvasElement()});return{dispose:__name(()=>{this._globalPopupManagerService.removePopup(id),position$.complete(),disposable.dispose()},"dispose")}}},__name(_a4,"SlideCanvasPopMangerService"),_a4);exports.SlideCanvasPopMangerService=__decorateClass$6([__decorateParam$6(0,core.Inject(ui.ICanvasPopupService)),__decorateParam$6(1,engineRender.IRenderManagerService),__decorateParam$6(2,core.IUniverInstanceService),__decorateParam$6(3,core.ICommandService)],exports.SlideCanvasPopMangerService);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5"),_a5;let SlidePopupMenuController=(_a5=class extends core.RxDisposable{constructor(_canvasPopManagerService,_renderManagerService,_univerInstanceService,_contextService,_canvasView,_sidebarService,_commandService){super();__publicField(this,"_initImagePopupMenu",new Set);this._canvasPopManagerService=_canvasPopManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._contextService=_contextService,this._canvasView=_canvasView,this._sidebarService=_sidebarService,this._commandService=_commandService,this._init()}_init(){this._univerInstanceService.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slide=>this._create(slide))}_dispose(workbook){}_create(slide){if(!slide)return;const unitId=slide.getUnitId();this._renderManagerService.has(unitId)&&!this._initImagePopupMenu.has(unitId)&&(this._popupMenuListener(unitId),this._initImagePopupMenu.add(unitId))}_hasCropObject(scene){}_popupMenuListener(unitId){var _a11;const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=(_a11=model==null?void 0:model.getPages())!=null?_a11:{};Object.keys(pages).forEach(pageId=>{var _a12;const transformer=(_a12=this._canvasView.getRenderUnitByPageId(pageId,unitId).scene)==null?void 0:_a12.getTransformer();if(!transformer)return;let singletonPopupDisposer;this.disposeWithMe(core.toDisposable(transformer.createControl$.subscribe(()=>{const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;if(!object)return;const oKey=object.oKey;singletonPopupDisposer==null||singletonPopupDisposer.dispose(),singletonPopupDisposer=this.disposeWithMe(this._canvasPopManagerService.attachPopupToObject(object,{componentKey:COMPONENT_SLIDE_IMAGE_POPUP_MENU,direction:"horizontal",offset:[2,0],extraProps:{menuItems:this._getMenuItemsByObjectType(object.objectType,oKey,unitId)}})),this._sidebarService.visible&&this._commandService.executeCommand(ToggleSlideEditSidebarOperation.id,{visible:!0,objectType:object.objectType})}))),this.disposeWithMe(transformer.clearControl$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose(),this._contextService.setContextValue(core.FOCUSING_COMMON_DRAWINGS,!1)})),this.disposeWithMe(transformer.changing$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose();const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;object&&this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object.oKey,props:{width:object.width,height:object.height,left:object.left,top:object.top}})}))})}_getMenuItemsByObjectType(objectType,oKey,unitId){return[{label:"slide.popup.edit",index:0,commandId:ToggleSlideEditSidebarOperation.id,commandParams:{visible:!0,objectType},disable:!1},{label:"slide.popup.delete",index:5,commandId:DeleteSlideElementOperation.id,commandParams:{id:oKey,unitId},disable:!1}]}},__name(_a5,"SlidePopupMenuController"),_a5);SlidePopupMenuController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Steady,SlidePopupMenuController),__decorateParam$5(0,core.Inject(exports.SlideCanvasPopMangerService)),__decorateParam$5(1,engineRender.IRenderManagerService),__decorateParam$5(2,core.IUniverInstanceService),__decorateParam$5(3,core.IContextService),__decorateParam$5(4,core.Inject(exports.CanvasView)),__decorateParam$5(5,ui.ISidebarService),__decorateParam$5(6,core.ICommandService)],SlidePopupMenuController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");const ISlideEditorBridgeService=core.createIdentifier("univer.slide-editor-bridge.service");var _a6;let SlideEditorBridgeService=(_a6=class extends core.Disposable{constructor(_editorService,_contextService,_renderManagerService){super();__publicField(this,"_editorUnitId",SLIDE_EDITOR_ID);__publicField(this,"_isForceKeepVisible",!1);__publicField(this,"_editorIsDirty",!1);__publicField(this,"_currentEditRectState",null);__publicField(this,"_currentEditRectState$",new rxjs.BehaviorSubject(null));__publicField(this,"currentEditRectState$",this._currentEditRectState$.asObservable());__publicField(this,"_visibleParam",{visible:!1,eventType:engineRender.DeviceInputEventType.Dblclick,unitId:""});__publicField(this,"_visible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"visible$",this._visible$.asObservable());__publicField(this,"_afterVisible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"afterVisible$",this._afterVisible$.asObservable());__publicField(this,"endEditing$",new rxjs.Subject);__publicField(this,"_currentEditRectInfo");this._editorService=_editorService,this._contextService=_contextService,this._renderManagerService=_renderManagerService}dispose(){super.dispose()}getEditorRect(){return this._currentEditRectInfo}setEditorRect(editorInfo){this._currentEditRectInfo=editorInfo,this._editorService.getFocusEditor()||(this._editorService.focus(SLIDE_EDITOR_ID),this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(core.FOCUSING_EDITOR_STANDALONE,!1),this._contextService.setContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE,!1));const editRectState=this.getEditRectState();this._currentEditRectState=editRectState,this._currentEditRectState$.next(editRectState)}changeVisible(param){this._visibleParam=param,param.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visibleParam),this._afterVisible$.next(this._visibleParam)}getEditRectState(){const editorUnitId=SLIDE_EDITOR_ID,editorRectInfo=this._currentEditRectInfo,unitId=editorRectInfo.unitId,docData=editorRectInfo.richTextObj.documentData;docData.id=editorUnitId,docData.documentStyle={...docData.documentStyle,pageSize:{width:editorRectInfo.richTextObj.width,height:1/0}};const documentLayoutObject={documentModel:new core.DocumentDataModel(docData),fontString:"document",textRotation:{a:0,v:0},wrapStrategy:0,verticalAlign:core.VerticalAlign.TOP,horizontalAlign:core.HorizontalAlign.LEFT,paddingData:{t:0,b:1,l:2,r:2}},editorWidth=editorRectInfo.richTextObj.width,editorHeight=editorRectInfo.richTextObj.height,left=editorRectInfo.richTextObj.left,top=editorRectInfo.richTextObj.top,canvasOffset={left:0,top:0},renderUnit=this._renderManagerService.getRenderById(unitId),mainScene=renderUnit==null?void 0:renderUnit.scene,mainViewport=mainScene==null?void 0:mainScene.getViewport(slides.SLIDE_KEY.VIEW),slideMainRect=mainScene==null?void 0:mainScene.getObject(slides.SLIDE_KEY.COMPONENT),slidePos={x:(slideMainRect==null?void 0:slideMainRect.left)||0,y:(slideMainRect==null?void 0:slideMainRect.top)||0},scrollX=(mainViewport==null?void 0:mainViewport.viewportScrollX)||0,scrollY=(mainViewport==null?void 0:mainViewport.viewportScrollY)||0;return canvasOffset.left=slidePos.x-scrollX,canvasOffset.top=slidePos.y-scrollY,{position:{startX:left,startY:top,endX:left+editorWidth,endY:top+editorHeight},scaleX:1,scaleY:1,slideCardOffset:canvasOffset,unitId,editorUnitId,documentLayoutObject}}changeEditorDirty(dirtyStatus){this._editorIsDirty=dirtyStatus}isVisible(){return this._visibleParam.visible}getEditorDirty(){return this._editorIsDirty}getCurrentEditorId(){return this._editorUnitId}genDocData(target){const editorUnitId=this.getCurrentEditorId(),content=target.text,fontSize=target.fs;return{id:editorUnitId,body:{dataStream:`${content}\r
10
+ `,textRuns:[{st:0,ed:content.length}],paragraphs:[{paragraphStyle:{},startIndex:content.length+1}],sectionBreaks:[{startIndex:content.length+2}]},documentStyle:{marginBottom:0,marginLeft:0,marginRight:0,marginTop:0,pageSize:{width:1/0,height:1/0},textStyle:{fs:fontSize},renderConfig:{verticalAlign:core.VerticalAlign.MIDDLE,centerAngle:0,vertexAngle:0,wrapStrategy:0}},drawings:{},drawingsOrder:[],settings:{zoomRatio:1}}}},__name(_a6,"SlideEditorBridgeService"),_a6);SlideEditorBridgeService=__decorateClass$4([__decorateParam$4(0,ui.IEditorService),__decorateParam$4(1,core.IContextService),__decorateParam$4(2,engineRender.IRenderManagerService)],SlideEditorBridgeService);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3"),_a7;let SlideEditorBridgeRenderController=(_a7=class extends core.RxDisposable{constructor(_renderContext,_instanceSrv,_commandService,_editorBridgeService){super();__publicField(this,"setSlideTextEditor$",new rxjs.Subject);__publicField(this,"_curRichText",null);__publicField(this,"_d");this._renderContext=_renderContext,this._instanceSrv=_instanceSrv,this._commandService=_commandService,this._editorBridgeService=_editorBridgeService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){const d=new core.DisposableCollection;return this._initEventListener(d),d}_disposeCurrent(){var _a11;(_a11=this._d)==null||_a11.dispose(),this._d=null}_setEditorRect(pageId,targetObject){this._curRichText=targetObject;const{scene,engine}=this._renderContext,unitId=this._renderContext.unitId,setEditorRect={scene,engine,unitId,pageId,richTextObj:targetObject};this._editorBridgeService.setEditorRect(setEditorRect)}_initEventListener(d){const listenersForPageScene=__name(scene=>{const transformer=scene.getTransformer();transformer&&(d.add(transformer.clearControl$.subscribe(()=>{this.setEditorVisible(!1),this.pickOtherObjects()})),d.add(transformer.createControl$.subscribe(()=>{this.setEditorVisible(!1)})),d.add(scene.onDblclick$.subscribeEvent(()=>{transformer.clearControls();const object=transformer.getSelectedObjectMap().values().next().value;object&&(object.objectType!==engineRender.ObjectType.RICH_TEXT?this.pickOtherObjects():this.startEditing(scene.sceneKey,object))})),d.add(this._instanceSrv.focused$.subscribe(fc=>{this.endEditing()})))},"listenersForPageScene"),{mainComponent}=this._renderContext;mainComponent.subSceneChanged$.subscribeEvent(pageScene=>{listenersForPageScene(pageScene)});const pageSceneList=Array.from(mainComponent.getSubScenes().values());for(let i=0;i<pageSceneList.length;i++){const pageScene=pageSceneList[i];listenersForPageScene(pageScene)}}pickOtherObjects(){this.endEditing()}endEditing(){var _a11;if(!this._curRichText)return;this.setEditorVisible(!1);const curRichText=this._curRichText;if(!this._instanceSrv.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE))return!1;curRichText.refreshDocumentByDocData(),curRichText.resizeToContentSize(),this._editorBridgeService.endEditing$.next(curRichText);const richText={bl:1,fs:curRichText.fs,text:curRichText.text},textRuns=(_a11=curRichText.documentData.body)==null?void 0:_a11.textRuns;if(textRuns&&textRuns.length){const ts=textRuns[0].ts;richText.cl=ts==null?void 0:ts.cl}this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId:this._renderContext.unitId,oKey:curRichText==null?void 0:curRichText.oKey,props:{richText}}),this._curRichText=null}startEditing(pageId,target){this._setEditorRect(pageId,target),this.setEditorVisible(!0)}setEditorVisible(visible){var _a11,_b;visible?(_a11=this._curRichText)==null||_a11.hide():(_b=this._curRichText)==null||_b.show();const{unitId}=this._renderContext;this._editorBridgeService.changeVisible({visible,eventType:engineRender.DeviceInputEventType.PointerDown,unitId})}},__name(_a7,"SlideEditorBridgeRenderController"),_a7);SlideEditorBridgeRenderController=__decorateClass$3([__decorateParam$3(1,core.IUniverInstanceService),__decorateParam$3(2,core.ICommandService),__decorateParam$3(3,ISlideEditorBridgeService)],SlideEditorBridgeRenderController);var CursorChange=(_CursorChange=>(_CursorChange[_CursorChange.InitialState=0]="InitialState",_CursorChange[_CursorChange.StartEditor=1]="StartEditor",_CursorChange[_CursorChange.CursorChange=2]="CursorChange",_CursorChange))(CursorChange||{}),__defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const HIDDEN_EDITOR_POSITION=-1e3,EDITOR_INPUT_SELF_EXTEND_GAP=5,EDITOR_BORDER_SIZE=2;var _a8;let SlideEditingRenderController=(_a8=class extends core.Disposable{constructor(_renderContext,_layoutService,_undoRedoService,_contextService,_instanceSrv,_renderManagerService,_editorBridgeService,_cellEditorManagerService,_textSelectionRenderManager,_textSelectionManagerService,_commandService,_localService,_editorService){super();__publicField(this,"_cursorChange",CursorChange.InitialState);__publicField(this,"_isUnitEditing",!1);__publicField(this,"_d");this._renderContext=_renderContext,this._layoutService=_layoutService,this._undoRedoService=_undoRedoService,this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,this._editorBridgeService=_editorBridgeService,this._cellEditorManagerService=_cellEditorManagerService,this._textSelectionRenderManager=_textSelectionRenderManager,this._textSelectionManagerService=_textSelectionManagerService,this._commandService=_commandService,this._localService=_localService,this._editorService=_editorService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():(this._disposeCurrent(),this._isUnitEditing&&(this._handleEditorInvisible({visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode:ui.KeyCode.ESC,unitId:this._renderContext.unitId}),this._isUnitEditing=!1))})),this._initEditorVisibilityListener()}dispose(){super.dispose(),this._disposeCurrent()}_disposeCurrent(){var _a11;(_a11=this._d)==null||_a11.dispose(),this._d=null}_init(){const d=new core.DisposableCollection;return this._subscribeToCurrentCell(d),this._initialKeyboardListener(d),this._initialCursorSync(d),this._listenEditorFocus(d),this._commandExecutedListener(d),setTimeout(()=>{this._cursorStateListener(d)},1e3),d}_initEditorVisibilityListener(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(param=>{param.visible?(this._isUnitEditing=!0,this._handleEditorVisible(param)):this._isUnitEditing&&(this._handleEditorInvisible(param),this._isUnitEditing=!1)}))}_listenEditorFocus(d){const renderConfig=this._getEditorObject();renderConfig&&d.add(renderConfig.document.onPointerDown$.subscribeEvent(()=>{}))}_getEditorSkeleton(editorId){var _a11;return(_a11=this._renderManagerService.getRenderById(editorId))==null?void 0:_a11.with(docs.DocSkeletonManagerService).getSkeleton()}_getEditorViewModel(editorId){var _a11;return(_a11=this._renderManagerService.getRenderById(editorId))==null?void 0:_a11.with(docs.DocSkeletonManagerService).getViewModel()}_initialCursorSync(d){d.add(this._cellEditorManagerService.focus$.pipe(rxjs.filter(f2=>!!f2)).subscribe(()=>{this._textSelectionRenderManager.sync()}))}_subscribeToCurrentCell(d){d.add(this._editorBridgeService.currentEditRectState$.subscribe(editCellState=>{if(editCellState==null||this._contextService.getContextValue(core.FOCUSING_EDITOR_STANDALONE)||this._contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE))return;const{position:{startX,endX},documentLayoutObject:{textRotation,wrapStrategy,documentModel},scaleX,editorUnitId}=editCellState,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation);documentModel.updateDocumentId(editorUnitId),wrapStrategy===core.WrapStrategy.WRAP&&angle===0&&documentModel.updateDocumentDataPageSize((endX-startX)/scaleX),this._instanceSrv.changeDoc(editorUnitId,documentModel),this._contextService.setContextValue(core.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}]),this._textSelectionRenderManager.activate(HIDDEN_EDITOR_POSITION,HIDDEN_EDITOR_POSITION)}))}_fitTextSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,startY,endX,endY}=positionFromEditRectState,documentDataModel=documentLayoutObject.documentModel;if(documentDataModel==null)return;const{actualWidth,actualHeight}=this._predictingSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX,scaleY),{verticalAlign,paddingData,fill}=documentLayoutObject;let editorWidth=endX-startX,editorHeight=endY-startY;if(editorWidth<actualWidth&&(editorWidth=actualWidth),editorHeight<actualHeight)editorHeight=actualHeight,documentDataModel.updateDocumentDataMargin(paddingData);else{let offsetTop=0;verticalAlign===core.VerticalAlign.MIDDLE?offsetTop=(editorHeight-actualHeight)/2/scaleY:verticalAlign===core.VerticalAlign.TOP?offsetTop=paddingData.t||0:offsetTop=(editorHeight-actualHeight)/scaleY-(paddingData.b||0),offsetTop=offsetTop<(paddingData.t||0)?paddingData.t||0:offsetTop,documentDataModel.updateDocumentDataMargin({t:offsetTop})}documentSkeleton.calculate(),this._editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX,scaleY)}_predictingSize(actualRangeWithCoord,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,endX}=actualRangeWithCoord,{textRotation,wrapStrategy}=documentLayoutObject,documentDataModel=documentLayoutObject.documentModel,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation),clientWidth=document.body.clientWidth;if(wrapStrategy===core.WrapStrategy.WRAP&&angle===0){const{actualWidth,actualHeight}=documentSkeleton.getActualSize();return{actualWidth:actualWidth*scaleX,actualHeight:actualHeight*scaleY}}documentDataModel==null||documentDataModel.updateDocumentDataPageSize((clientWidth-startX-canvasOffset.left)/scaleX),documentSkeleton.calculate();const size=documentSkeleton.getActualSize();let editorWidth=endX-startX;return editorWidth<size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX&&(editorWidth=size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX),documentDataModel==null||documentDataModel.updateDocumentDataPageSize(editorWidth/scaleX),documentDataModel==null||documentDataModel.updateDocumentRenderConfig({horizontalAlign:core.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:editorWidth,actualHeight:size.actualHeight*scaleY}}_editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX=1,scaleY=1){var _a11;const editorObject=this._getEditorObject();if(editorObject==null)return;function pxToNum(width2){return Number.parseInt(width2.replace("px",""))}__name(pxToNum,"pxToNum");const canvasElement=this._renderContext.engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=pxToNum(canvasElement.style.width),{top,left,width}=canvasClientRect,scaleAdjust=width/widthOfCanvas;let{startX,startY}=positionFromEditRectState;startX+=canvasOffset.left,startY+=canvasOffset.top;const{document:documentComponent,scene:editorScene,engine:docEngine}=editorObject,viewportMain=editorScene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN),clientHeight=document.body.clientHeight-startY-canvasOffset.top-EDITOR_BORDER_SIZE*2,clientWidth=document.body.clientWidth-startX-canvasOffset.left;let physicHeight=editorHeight,scrollBar=viewportMain==null?void 0:viewportMain.getScrollBar();physicHeight>clientHeight?(physicHeight=clientHeight,scrollBar==null?viewportMain&&new engineRender.ScrollBar(viewportMain,{enableHorizontal:!1,barSize:8}):viewportMain==null||viewportMain.resetCanvasSizeAndUpdateScroll()):(scrollBar=null,(_a11=viewportMain==null?void 0:viewportMain.getScrollBar())==null||_a11.dispose()),editorWidth+=(scrollBar==null?void 0:scrollBar.barSize)||0,editorWidth=Math.min(editorWidth,clientWidth),startX-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,startY-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,this._addBackground(editorScene,editorWidth/scaleX,editorHeight/scaleY,fill);const{scaleX:precisionScaleX,scaleY:precisionScaleY}=editorScene.getPrecisionScale();editorScene.transformByState({width:editorWidth*scaleAdjust/scaleX,height:editorHeight*scaleAdjust/scaleY,scaleX:scaleX*scaleAdjust,scaleY:scaleY*scaleAdjust}),documentComponent.resize(editorWidth/scaleX,editorHeight/scaleY),setTimeout(()=>{docEngine.resizeBySize(engineRender.fixLineWidthByScale(editorWidth,precisionScaleX),engineRender.fixLineWidthByScale(physicHeight,precisionScaleY))},0);const contentBoundingRect=this._layoutService.getContentElement().getBoundingClientRect(),canvasBoundingRect=canvasElement.getBoundingClientRect();startX=startX*scaleAdjust+(canvasBoundingRect.left-contentBoundingRect.left),startY=startY*scaleAdjust+(canvasBoundingRect.top-contentBoundingRect.top),this._cellEditorManagerService.setState({startX,startY,endX:editorWidth*scaleAdjust+startX,endY:physicHeight*scaleAdjust+startY,show:!0})}_addBackground(scene,editorWidth,editorHeight,fill){const fillRectKey="_backgroundRectHelperColor_",rect=scene.getObject(fillRectKey);rect==null&&fill==null||(rect==null?scene.addObjects([new engineRender.Rect(fillRectKey,{width:editorWidth,height:editorHeight,fill,evented:!1})],docs.DOCS_COMPONENT_MAIN_LAYER_INDEX):fill==null?rect.dispose():(rect.setProps({fill}),rect.transformByState({width:editorWidth,height:editorHeight})))}_handleEditorVisible(param){var _a11,_b;const{eventType}=param;this._cursorChange=[engineRender.DeviceInputEventType.PointerDown,engineRender.DeviceInputEventType.Dblclick].includes(eventType)?CursorChange.CursorChange:CursorChange.StartEditor;const editCellState=this._editorBridgeService.getEditRectState();if(editCellState==null)return;const{position,documentLayoutObject,slideCardOffset:canvasOffset,scaleX,scaleY,editorUnitId,unitId}=editCellState,editorObject=this._getEditorObject();if(editorObject==null)return;const{scene}=editorObject;this._contextService.setContextValue(core.EDITOR_ACTIVATED,!0);const{documentModel:documentDataModel}=documentLayoutObject,skeleton=this._getEditorSkeleton(editorUnitId);if(!skeleton||!documentDataModel)return;this._fitTextSize(position,canvasOffset,skeleton,documentLayoutObject,scaleX,scaleY);const cursor=documentDataModel.getBody().dataStream.length-2||0;(_a11=scene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN))==null||_a11.scrollToViewportPos({viewportScrollX:Number.POSITIVE_INFINITY}),this._textSelectionManagerService.replaceTextRanges([{startOffset:cursor,endOffset:cursor}]),(_b=this._renderManagerService.getRenderById(unitId))==null||_b.scene.resetCursor()}_resetBodyStyle(body,removeStyle=!1){body.dataStream=core.DEFAULT_EMPTY_DOCUMENT_VALUE,body.textRuns!=null&&(body.textRuns.length===1&&!removeStyle?(body.textRuns[0].st=0,body.textRuns[0].ed=1):body.textRuns=void 0),body.paragraphs!=null&&(body.paragraphs.length===1?body.paragraphs[0].startIndex=0:body.paragraphs=[{startIndex:0}]),body.sectionBreaks!=null&&(body.sectionBreaks=void 0),body.tables!=null&&(body.tables=void 0),body.customRanges!=null&&(body.customRanges=void 0),body.customBlocks!=null&&(body.customBlocks=void 0)}_initialKeyboardListener(d){d.add(this._textSelectionRenderManager.onInputBefore$.subscribe(config=>{}))}_showEditorByKeyboard(config){}_commandExecutedListener(d){const moveCursorOP=[SetTextEditArrowOperation.id],editedMutations=[docs.RichTextEditingMutation.id];d.add(this._commandService.onCommandExecuted(command=>{this._editorService.getFocusId()===SLIDE_EDITOR_ID&&(moveCursorOP.includes(command.id)&&this._moveCursorCmdHandler(command),editedMutations.includes(command.id)&&this._editorBridgeService.isVisible()&&this._editingChangedHandler())}))}_moveCursorCmdHandler(command){const params=command.params,{keycode,isShift}=params;keycode!=null&&this._cursorChange===CursorChange.CursorChange?this._moveInEditor(keycode,isShift):this._editorBridgeService.changeVisible(params)}_editingChangedHandler(){const editRect=this._editorBridgeService.getEditorRect();if(!editRect)return;const editingRichText=editRect.richTextObj;editingRichText.refreshDocumentByDocData(),editingRichText.resizeToContentSize();const{unitId}=this._renderContext;this._handleEditorVisible({visible:!0,eventType:3,unitId})}_setOpenForCurrent(unitId,subUnitId){const editors=this._editorService.getAllEditor();for(const[_,ed]of editors)ed.setOpenForSheetUnitId(unitId),ed.setOpenForSheetSubUnitId(subUnitId)}_getEditorObject(){return getEditorObject(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}async _handleEditorInvisible(param){const{keycode}=param;if(this._setOpenForCurrent(null,null),this._cursorChange=CursorChange.InitialState,this._exitInput(param),this._editorBridgeService.getEditRectState()==null)return;if(this._editorBridgeService.getEditorDirty()===!1){this._moveCursor(keycode);return}this._moveCursor(keycode)}_exitInput(param){this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._cellEditorManagerService.setState({show:param.visible});const editorUnitId=this._editorBridgeService.getCurrentEditorId();editorUnitId!=null&&this._undoRedoService.clearUndoRedo(editorUnitId)}_moveCursor(keycode){if(keycode!=null)switch(core.Direction.LEFT,keycode){case ui.KeyCode.ENTER:core.Direction.DOWN;break;case ui.KeyCode.TAB:core.Direction.RIGHT;break;case ui.KeyCode.ARROW_DOWN:core.Direction.DOWN;break;case ui.KeyCode.ARROW_UP:core.Direction.UP;break;case ui.KeyCode.ARROW_LEFT:core.Direction.LEFT;break;case ui.KeyCode.ARROW_RIGHT:core.Direction.RIGHT;break}}_cursorStateListener(d){const editorObject=this._getEditorObject(),{document:documentComponent}=editorObject;d.add(core.toDisposable(documentComponent.onPointerDown$.subscribeEvent(()=>{this._cursorChange===CursorChange.StartEditor&&(this._cursorChange=CursorChange.CursorChange)})))}_moveInEditor(keycode,isShift){let direction=core.Direction.LEFT;keycode===ui.KeyCode.ARROW_DOWN?direction=core.Direction.DOWN:keycode===ui.KeyCode.ARROW_UP?direction=core.Direction.UP:keycode===ui.KeyCode.ARROW_RIGHT&&(direction=core.Direction.RIGHT),isShift?this._commandService.executeCommand(docs.MoveSelectionOperation.id,{direction}):this._commandService.executeCommand(docs.MoveCursorOperation.id,{direction})}},__name(_a8,"SlideEditingRenderController"),_a8);SlideEditingRenderController=__decorateClass$2([__decorateParam$2(1,ui.ILayoutService),__decorateParam$2(2,core.IUndoRedoService),__decorateParam$2(3,core.IContextService),__decorateParam$2(4,core.IUniverInstanceService),__decorateParam$2(5,engineRender.IRenderManagerService),__decorateParam$2(6,ISlideEditorBridgeService),__decorateParam$2(7,ISlideEditorManagerService),__decorateParam$2(8,engineRender.ITextSelectionRenderManager),__decorateParam$2(9,core.Inject(docs.TextSelectionManagerService)),__decorateParam$2(10,core.ICommandService),__decorateParam$2(11,core.Inject(core.LocaleService)),__decorateParam$2(12,ui.IEditorService)],SlideEditingRenderController);function getEditorObject(unitId,renderManagerService){if(unitId==null)return;const currentRender=renderManagerService.getRenderById(unitId);if(currentRender==null)return;const{mainComponent,scene,engine,components}=currentRender,document2=mainComponent,docBackground=components.get(docs.DOCS_VIEW_KEY.BACKGROUND);return{document:document2,docBackground,scene,engine}}__name(getEditorObject,"getEditorObject");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),_a9;let SlideRenderService=(_a9=class extends core.RxDisposable{constructor(_contextService,_instanceSrv,_renderManagerService){super(),this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,Promise.resolve().then(()=>this._init())}_init(){this._initSlideDataListener(),this._initContextListener()}_initSlideDataListener(){this._instanceSrv.getTypeOfUnitAdded$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(slideModel=>{this._createRenderer(slideModel==null?void 0:slideModel.getUnitId())}),this._instanceSrv.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slideModel=>{this._createRenderer(slideModel.getUnitId())}),this._instanceSrv.getTypeOfUnitDisposed$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(workbook=>this._disposeRenderer(workbook))}_createRenderer(unitId){unitId==null||this._instanceSrv.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE)==null||(this._renderManagerService.createRender(unitId),this._renderManagerService.setCurrent(unitId))}_disposeRenderer(workbook){const unitId=workbook.getUnitId();this._renderManagerService.removeRender(unitId)}_initContextListener(){}},__name(_a9,"SlideRenderService"),_a9);SlideRenderService=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SlideRenderService),__decorateParam$1(0,core.IContextService),__decorateParam$1(1,core.IUniverInstanceService),__decorateParam$1(2,engineRender.IRenderManagerService)],SlideRenderService);const PLUGIN_CONFIG_KEY="slides-ui.config",defaultPluginConfig={};var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const SLIDE_UI_PLUGIN_NAME="SLIDE_UI";var _a10;exports.UniverSlidesUIPlugin=(_a10=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_renderManagerService,_univerInstanceService,_configService){super(),this._config=_config,this._injector=_injector,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._configService=_configService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){core.mergeOverrideWithDependencies([[SlideRenderService],[ISlideEditorBridgeService,{useClass:SlideEditorBridgeService}],[ISlideEditorManagerService,{useClass:SlideEditorManagerService}],[exports.SlideCanvasPopMangerService]],this._config.override).forEach(d=>this._injector.add(d))}onReady(){[[SlideRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),core.mergeOverrideWithDependencies([[exports.CanvasView],[exports.SlidesUIController],[SlideRenderController],[SlidePopupMenuController]],this._config.override).forEach(m2=>{this._injector.add(m2)}),this._injector.get(exports.CanvasView)}onRendered(){[[SlideEditorBridgeRenderController],[SlideEditingRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),this._markSlideAsFocused()}_markSlideAsFocused(){const currentService=this._univerInstanceService;try{const slideDataModel=currentService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);currentService.focusUnit(slideDataModel.getUnitId())}catch{}}},__name(_a10,"UniverSlidesUIPlugin"),__publicField(_a10,"pluginName",SLIDE_UI_PLUGIN_NAME),__publicField(_a10,"type",core.UniverInstanceType.UNIVER_SLIDE),_a10);exports.UniverSlidesUIPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService),__decorateParam(3,core.IUniverInstanceService),__decorateParam(4,core.IConfigService)],exports.UniverSlidesUIPlugin);exports.ActivateSlidePageOperation=ActivateSlidePageOperation;exports.AppendSlideOperation=AppendSlideOperation;exports.DeleteSlideElementOperation=DeleteSlideElementOperation;exports.IMAGE_MENU_ID=IMAGE_MENU_ID;exports.ISlideEditorBridgeService=ISlideEditorBridgeService;exports.InsertSlideFloatImageOperation=InsertSlideFloatImageOperation;exports.InsertSlideShapeRectangleCommand=InsertSlideShapeRectangleCommand;exports.InsertSlideShapeRectangleOperation=InsertSlideShapeRectangleOperation;exports.SHAPE_MENU_ID=SHAPE_MENU_ID;exports.SLIDE_EDITOR_ID=SLIDE_EDITOR_ID;exports.SetSlidePageThumbOperation=SetSlidePageThumbOperation;exports.SlideAddTextCommand=SlideAddTextCommand;exports.SlideAddTextOperation=SlideAddTextOperation;exports.SlideEditorContainer=SlideEditorContainer;exports.SlideSideBar=SlideSideBar;exports.UpdateSlideElementOperation=UpdateSlideElementOperation;exports.menuSchema=menuSchema;
package/lib/es/index.js CHANGED
@@ -2,9 +2,9 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
- import { RxDisposable, UniverInstanceType, debounce, getColorStyle, Inject, Injector, IUniverInstanceService, OnLifecycle, LifecycleStages, CommandType, PageElementType, Tools, useDependency, LocaleService, ICommandService, generateRandomId, BasicShapes, createIdentifier, createInternalEditorID, IContextService, DEFAULT_EMPTY_DOCUMENT_VALUE, DocumentFlavor, FOCUSING_UNIVER_EDITOR, EDITOR_ACTIVATED, FORMULA_EDITOR_ACTIVATED, Disposable, connectInjector, DisposableCollection, toDisposable, FOCUSING_COMMON_DRAWINGS, FOCUSING_EDITOR_STANDALONE, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, DocumentDataModel, VerticalAlign, HorizontalAlign, WrapStrategy, FOCUSING_EDITOR_BUT_HIDDEN, Direction, IUndoRedoService, Plugin, mergeOverrideWithDependencies } from "@univerjs/core";
5
+ import { RxDisposable, UniverInstanceType, debounce, getColorStyle, Inject, Injector, IUniverInstanceService, OnLifecycle, LifecycleStages, CommandType, PageElementType, Tools, useDependency, LocaleService, ICommandService, generateRandomId, BasicShapes, createIdentifier, createInternalEditorID, IContextService, DEFAULT_EMPTY_DOCUMENT_VALUE, DocumentFlavor, FOCUSING_UNIVER_EDITOR, EDITOR_ACTIVATED, FORMULA_EDITOR_ACTIVATED, Disposable, connectInjector, DisposableCollection, toDisposable, FOCUSING_COMMON_DRAWINGS, FOCUSING_EDITOR_STANDALONE, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, DocumentDataModel, VerticalAlign, HorizontalAlign, WrapStrategy, FOCUSING_EDITOR_BUT_HIDDEN, Direction, IUndoRedoService, Plugin, mergeOverrideWithDependencies, IConfigService } from "@univerjs/core";
6
6
  import { Viewport, ScrollBar, Slide, Rect, Scene, IRenderManagerService, ObjectType, FIX_ONE_PIXEL_BLUR_OFFSET, DeviceInputEventType, pxToNum, convertTextRotation, fixLineWidthByScale, ITextSelectionRenderManager } from "@univerjs/engine-render";
7
- import { ISidebarService, useObservable, IEditorService, DISABLE_AUTO_FOCUS_KEY, TextEditor, MenuItemType, MenuPosition, MenuGroup, getMenuHiddenObservable, KeyCode, MetaKeys, BuiltInUIPart, ComponentManager, IMenuService, IUIPartsService, IShortcutService, ICanvasPopupService, ILayoutService } from "@univerjs/ui";
7
+ import { ISidebarService, useObservable, IEditorService, DISABLE_AUTO_FOCUS_KEY, TextEditor, MenuItemType, getMenuHiddenObservable, KeyCode, MetaKeys, RibbonStartGroup, BuiltInUIPart, ComponentManager, IMenuManagerService, IUIPartsService, IShortcutService, ICanvasPopupService, ILayoutService } from "@univerjs/ui";
8
8
  import { ObjectProvider, SLIDE_KEY } from "@univerjs/slides";
9
9
  import { IImageIoService, getImageSize, DRAWING_IMAGE_ALLOW_IMAGE_LIST } from "@univerjs/drawing";
10
10
  import React, { forwardRef, useRef, createElement, useState, useEffect, useCallback } from "react";
@@ -1237,8 +1237,6 @@ function SlideImageMenuFactory(accessor) {
1237
1237
  return {
1238
1238
  id: IMAGE_MENU_ID,
1239
1239
  type: MenuItemType.SUBITEMS,
1240
- positions: [MenuPosition.TOOLBAR_START],
1241
- group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
1242
1240
  icon: IMAGE_UPLOAD_ICON,
1243
1241
  tooltip: "slide.image.insert.title",
1244
1242
  hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SLIDE)
@@ -1257,7 +1255,6 @@ function UploadSlideFloatImageMenuFactory(_accessor) {
1257
1255
  type: UploadFileType.floatImage
1258
1256
  }
1259
1257
  },
1260
- positions: [IMAGE_MENU_ID],
1261
1258
  hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SLIDE)
1262
1259
  };
1263
1260
  }
@@ -1267,8 +1264,6 @@ function SlideShapeMenuFactory(accessor) {
1267
1264
  return {
1268
1265
  id: SHAPE_MENU_ID,
1269
1266
  type: MenuItemType.SUBITEMS,
1270
- positions: [MenuPosition.TOOLBAR_START],
1271
- group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
1272
1267
  icon: GRAPH_SINGLE_ICON,
1273
1268
  tooltip: "slide.shape.insert.title",
1274
1269
  hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_SLIDE)
@@ -1281,7 +1276,6 @@ function UploadSlideFloatShapeMenuFactory(_accessor) {
1281
1276
  id: InsertSlideShapeRectangleCommand.id,
1282
1277
  title: "slide.shape.insert.rectangle",
1283
1278
  type: MenuItemType.BUTTON,
1284
- positions: [SHAPE_MENU_ID],
1285
1279
  hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SLIDE)
1286
1280
  };
1287
1281
  }
@@ -1336,35 +1330,48 @@ const EditorDeleteLeftShortcut = {
1336
1330
  function SlideAddTextMenuItemFactory(_accessor) {
1337
1331
  return {
1338
1332
  id: SlideAddTextCommand.id,
1339
- group: MenuGroup.TOOLBAR_FORMULAS_INSERT,
1340
1333
  type: MenuItemType.BUTTON,
1341
1334
  icon: TEXT_ICON_ID,
1342
1335
  tooltip: "slide.text.insert.title",
1343
- positions: [MenuPosition.TOOLBAR_START],
1344
1336
  hidden$: getMenuHiddenObservable(_accessor, UniverInstanceType.UNIVER_SLIDE)
1345
1337
  };
1346
1338
  }
1347
1339
  __name(SlideAddTextMenuItemFactory, "SlideAddTextMenuItemFactory");
1340
+ const menuSchema = {
1341
+ [RibbonStartGroup.FORMAT]: {
1342
+ [SlideAddTextCommand.id]: {
1343
+ order: 0,
1344
+ menuItemFactory: SlideAddTextMenuItemFactory
1345
+ },
1346
+ [IMAGE_MENU_ID]: {
1347
+ order: 0,
1348
+ menuItemFactory: SlideImageMenuFactory,
1349
+ [InsertSlideFloatImageOperation.id]: {
1350
+ order: 0,
1351
+ menuItemFactory: UploadSlideFloatImageMenuFactory
1352
+ }
1353
+ },
1354
+ [SHAPE_MENU_ID]: {
1355
+ order: 0,
1356
+ menuItemFactory: SlideShapeMenuFactory,
1357
+ [InsertSlideShapeRectangleCommand.id]: {
1358
+ order: 0,
1359
+ menuItemFactory: UploadSlideFloatShapeMenuFactory
1360
+ }
1361
+ }
1362
+ }
1363
+ };
1348
1364
  var __defProp$7 = Object.defineProperty, __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor, __decorateClass$7 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1349
1365
  for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
1350
1366
  (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
1351
1367
  return kind && result && __defProp$7(target, key, result), result;
1352
1368
  }, "__decorateClass$7"), __decorateParam$7 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$7"), _a3;
1353
1369
  let SlidesUIController = (_a3 = class extends Disposable {
1354
- constructor(_config, _injector, _menuService, _componentManager, _uiPartsService, _commandService, _shortcutService) {
1355
- super(), this._config = _config, this._injector = _injector, this._menuService = _menuService, this._componentManager = _componentManager, this._uiPartsService = _uiPartsService, this._commandService = _commandService, this._shortcutService = _shortcutService, this._initCommands(), this._initCustomComponents(), this._initUIComponents(), this._initMenus(), this._initShortcuts();
1370
+ constructor(_injector, _menuManagerService, _componentManager, _uiPartsService, _commandService, _shortcutService) {
1371
+ super(), this._injector = _injector, this._menuManagerService = _menuManagerService, this._componentManager = _componentManager, this._uiPartsService = _uiPartsService, this._commandService = _commandService, this._shortcutService = _shortcutService, this._initCommands(), this._initCustomComponents(), this._initUIComponents(), this._initMenus(), this._initShortcuts();
1356
1372
  }
1357
1373
  _initMenus() {
1358
- const { menu = {} } = this._config || {};
1359
- [
1360
- SlideAddTextMenuItemFactory,
1361
- SlideImageMenuFactory,
1362
- UploadSlideFloatImageMenuFactory,
1363
- SlideShapeMenuFactory,
1364
- UploadSlideFloatShapeMenuFactory
1365
- ].forEach((menuFactory) => {
1366
- this._menuService.addMenuItem(menuFactory(this._injector), menu);
1367
- });
1374
+ this._menuManagerService.mergeMenu(menuSchema);
1368
1375
  }
1369
1376
  _initCustomComponents() {
1370
1377
  const componentManager = this._componentManager;
@@ -1405,12 +1412,12 @@ let SlidesUIController = (_a3 = class extends Disposable {
1405
1412
  }, __name(_a3, "SlidesUIController"), _a3);
1406
1413
  SlidesUIController = __decorateClass$7([
1407
1414
  OnLifecycle(LifecycleStages.Ready, SlidesUIController),
1408
- __decorateParam$7(1, Inject(Injector)),
1409
- __decorateParam$7(2, IMenuService),
1410
- __decorateParam$7(3, Inject(ComponentManager)),
1411
- __decorateParam$7(4, IUIPartsService),
1412
- __decorateParam$7(5, ICommandService),
1413
- __decorateParam$7(6, IShortcutService)
1415
+ __decorateParam$7(0, Inject(Injector)),
1416
+ __decorateParam$7(1, IMenuManagerService),
1417
+ __decorateParam$7(2, Inject(ComponentManager)),
1418
+ __decorateParam$7(3, IUIPartsService),
1419
+ __decorateParam$7(4, ICommandService),
1420
+ __decorateParam$7(5, IShortcutService)
1414
1421
  ], SlidesUIController);
1415
1422
  var __defProp$6 = Object.defineProperty, __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor, __decorateClass$6 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
1416
1423
  for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
@@ -2291,6 +2298,7 @@ SlideRenderService = __decorateClass$1([
2291
2298
  __decorateParam$1(1, IUniverInstanceService),
2292
2299
  __decorateParam$1(2, IRenderManagerService)
2293
2300
  ], SlideRenderService);
2301
+ const PLUGIN_CONFIG_KEY = "slides-ui.config", defaultPluginConfig = {};
2294
2302
  var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
2295
2303
  for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
2296
2304
  (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
@@ -2299,8 +2307,10 @@ var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnProperty
2299
2307
  const SLIDE_UI_PLUGIN_NAME = "SLIDE_UI";
2300
2308
  var _a10;
2301
2309
  let UniverSlidesUIPlugin = (_a10 = class extends Plugin {
2302
- constructor(_config = {}, _injector, _renderManagerService, _univerInstanceService) {
2303
- super(), this._config = _config, this._injector = _injector, this._renderManagerService = _renderManagerService, this._univerInstanceService = _univerInstanceService;
2310
+ constructor(_config = defaultPluginConfig, _injector, _renderManagerService, _univerInstanceService, _configService) {
2311
+ super(), this._config = _config, this._injector = _injector, this._renderManagerService = _renderManagerService, this._univerInstanceService = _univerInstanceService, this._configService = _configService;
2312
+ const { menu, ...rest } = this._config;
2313
+ menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
2304
2314
  }
2305
2315
  onStarting() {
2306
2316
  mergeOverrideWithDependencies([
@@ -2325,9 +2335,7 @@ let UniverSlidesUIPlugin = (_a10 = class extends Plugin {
2325
2335
  // [ISlideEditorManagerService, { useClass: SlideEditorManagerService }],
2326
2336
  // SlidesUIController controller should be registered in Ready stage.
2327
2337
  // SlidesUIController controller would add a new RenderUnit (__INTERNAL_EDITOR__DOCS_NORMAL)
2328
- [SlidesUIController, {
2329
- useFactory: /* @__PURE__ */ __name(() => this._injector.createInstance(SlidesUIController, this._config), "useFactory")
2330
- }],
2338
+ [SlidesUIController],
2331
2339
  // editor service was create in renderManagerService
2332
2340
  [SlideRenderController],
2333
2341
  [SlidePopupMenuController]
@@ -2357,7 +2365,8 @@ let UniverSlidesUIPlugin = (_a10 = class extends Plugin {
2357
2365
  UniverSlidesUIPlugin = __decorateClass([
2358
2366
  __decorateParam(1, Inject(Injector)),
2359
2367
  __decorateParam(2, IRenderManagerService),
2360
- __decorateParam(3, IUniverInstanceService)
2368
+ __decorateParam(3, IUniverInstanceService),
2369
+ __decorateParam(4, IConfigService)
2361
2370
  ], UniverSlidesUIPlugin);
2362
2371
  export {
2363
2372
  ActivateSlidePageOperation,
@@ -2379,5 +2388,6 @@ export {
2379
2388
  SlideSideBar,
2380
2389
  SlidesUIController,
2381
2390
  UniverSlidesUIPlugin,
2382
- UpdateSlideElementOperation
2391
+ UpdateSlideElementOperation,
2392
+ menuSchema
2383
2393
  };
@@ -0,0 +1,9 @@
1
+ import { MenuConfig } from '@univerjs/ui';
2
+ import { DependencyOverride } from '@univerjs/core';
3
+ export declare const PLUGIN_CONFIG_KEY = "slides-ui.config";
4
+ export declare const configSymbol: unique symbol;
5
+ export interface IUniverSlidesUIConfig {
6
+ override?: DependencyOverride;
7
+ menu?: MenuConfig;
8
+ }
9
+ export declare const defaultPluginConfig: IUniverSlidesUIConfig;
@@ -0,0 +1,2 @@
1
+ import { MenuSchemaType } from '@univerjs/ui';
2
+ export declare const menuSchema: MenuSchemaType;
@@ -1,22 +1,16 @@
1
- import { DependencyOverride, Disposable, ICommandService, Injector } from '@univerjs/core';
2
- import { MenuConfig, ComponentManager, IMenuService, IShortcutService, IUIPartsService } from '@univerjs/ui';
3
- export interface IUniverSlidesDrawingConfig {
4
- menu?: MenuConfig;
5
- override?: DependencyOverride;
6
- }
7
- export declare const DefaultSlidesDrawingConfig: IUniverSlidesDrawingConfig;
1
+ import { Disposable, ICommandService, Injector } from '@univerjs/core';
2
+ import { ComponentManager, IMenuManagerService, IShortcutService, IUIPartsService } from '@univerjs/ui';
8
3
  /**
9
4
  * This controller registers UI parts of slide workbench to the base-ui workbench.
10
5
  */
11
6
  export declare class SlidesUIController extends Disposable {
12
- private readonly _config;
13
7
  protected readonly _injector: Injector;
14
- protected readonly _menuService: IMenuService;
8
+ protected readonly _menuManagerService: IMenuManagerService;
15
9
  protected readonly _componentManager: ComponentManager;
16
10
  protected readonly _uiPartsService: IUIPartsService;
17
11
  protected readonly _commandService: ICommandService;
18
12
  protected readonly _shortcutService: IShortcutService;
19
- constructor(_config: Partial<IUniverSlidesDrawingConfig>, _injector: Injector, _menuService: IMenuService, _componentManager: ComponentManager, _uiPartsService: IUIPartsService, _commandService: ICommandService, _shortcutService: IShortcutService);
13
+ constructor(_injector: Injector, _menuManagerService: IMenuManagerService, _componentManager: ComponentManager, _uiPartsService: IUIPartsService, _commandService: ICommandService, _shortcutService: IShortcutService);
20
14
  private _initMenus;
21
15
  private _initCustomComponents;
22
16
  private _initCommands;
@@ -18,9 +18,9 @@ export { SlidesUIController } from './controllers/slide-ui.controller';
18
18
  export { SlideSideBar } from './components/slide-bar/SlideBar';
19
19
  export { ISlideEditorBridgeService } from './services/slide-editor-bridge.service';
20
20
  export { SlideCanvasPopMangerService } from './services/slide-popup-manager.service';
21
- export type { IUniverSlidesDrawingConfig } from './controllers/slide-ui.controller';
22
21
  export { IMAGE_MENU_ID } from './controllers/image.menu';
23
22
  export { SHAPE_MENU_ID } from './controllers/shape.menu';
23
+ export { menuSchema } from './controllers/menu.schema';
24
24
  export { ActivateSlidePageOperation } from './commands/operations/activate.operation';
25
25
  export { DeleteSlideElementOperation } from './commands/operations/delete-element.operation';
26
26
  export { InsertSlideFloatImageOperation } from './commands/operations/insert-image.operation';
@@ -1,15 +1,16 @@
1
- import { Injector, IUniverInstanceService, Plugin, UniverInstanceType } from '@univerjs/core';
1
+ import { IConfigService, Injector, IUniverInstanceService, Plugin, UniverInstanceType } from '@univerjs/core';
2
2
  import { IRenderManagerService } from '@univerjs/engine-render';
3
- import { IUniverSlidesDrawingConfig } from './controllers/slide-ui.controller';
3
+ import { IUniverSlidesUIConfig } from './controllers/config.schema';
4
4
  export declare const SLIDE_UI_PLUGIN_NAME = "SLIDE_UI";
5
5
  export declare class UniverSlidesUIPlugin extends Plugin {
6
6
  private readonly _config;
7
7
  readonly _injector: Injector;
8
8
  private readonly _renderManagerService;
9
9
  private readonly _univerInstanceService;
10
+ private readonly _configService;
10
11
  static pluginName: string;
11
12
  static type: UniverInstanceType;
12
- constructor(_config: Partial<IUniverSlidesDrawingConfig>, _injector: Injector, _renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService);
13
+ constructor(_config: Partial<IUniverSlidesUIConfig>, _injector: Injector, _renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService, _configService: IConfigService);
13
14
  onStarting(): void;
14
15
  onReady(): void;
15
16
  onRendered(): void;
package/lib/umd/index.js CHANGED
@@ -6,5 +6,5 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var f=React,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q"),reactJsxRuntime_production_min.Fragment=l,reactJsxRuntime_production_min.jsx=q,reactJsxRuntime_production_min.jsxs=q,jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;const UpdateSlideElementOperation={id:"slide.operation.update-element",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{oKey,props}=params,univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params==null?void 0:params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage();return activePage.pageElements[oKey]=core.Tools.deepMerge(activePage.pageElements[oKey],props),slideData.updatePage(activePage.id,activePage),!0},"handler")},styles$5={imageCommonPanel:"univer-image-common-panel",imageCommonPanelGrid:"univer-image-common-panel-grid",imageCommonPanelBorder:"univer-image-common-panel-border",imageCommonPanelTitle:"univer-image-common-panel-title",imageCommonPanelSubtitle:"univer-image-common-panel-subtitle",imageCommonPanelRow:"univer-image-common-panel-row",imageCommonPanelRowVertical:"univer-image-common-panel-row-vertical",imageCommonPanelColumn:"univer-image-common-panel-column",imageCommonPanelColumnCenter:"univer-image-common-panel-column-center",imageCommonPanelInline:"univer-image-common-panel-inline",imageCommonPanelSpan2:"univer-image-common-panel-span2",imageCommonPanelSpan3:"univer-image-common-panel-span3",imageCommonPanelInput:"univer-image-common-panel-input",slidePanelColorPicker:"univer-slide-panel-color-picker"};function ArrangePanel$1(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports2.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const onArrangeBtnClick=__name(arrangeType=>{const allObjects=scene.getAllObjects(),[minZIndex,maxZIndex]=allObjects.reduce(([min,max],obj)=>{const zIndex2=obj.zIndex,minZIndex2=zIndex2<min?zIndex2:min,maxZIndex2=zIndex2>max?zIndex2:max;return[minZIndex2,maxZIndex2]},[0,0]);let zIndex=object.zIndex;arrangeType===3?zIndex=minZIndex-1:arrangeType===2?zIndex=maxZIndex+1:arrangeType===0?zIndex=object.zIndex+1:arrangeType===1&&(zIndex=object.zIndex-1),object.setProps({zIndex}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{zIndex}})},"onArrangeBtnClick");return jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.arrange.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(0)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveUpSingle,{}),localeService.t("image-panel.arrange.forward")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(1)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveDownSingle,{}),localeService.t("image-panel.arrange.backward")]})})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(2)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(TopmostSingle,{}),localeService.t("image-panel.arrange.front")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(3)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(BottomSingle,{}),localeService.t("image-panel.arrange.back")]})})})]})]})}__name(ArrangePanel$1,"ArrangePanel$1");function TransformPanel(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports2.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const{width:originWidth=0,height:originHeight=0,left:originX=0,top:originY=0,angle:originRotation=0}=object,[width,setWidth]=React.useState(originWidth),[height,setHeight]=React.useState(originHeight),[xPosition,setXPosition]=React.useState(originX),[yPosition,setYPosition]=React.useState(originY),[rotation,setRotation]=React.useState(originRotation),changeObs=__name(state=>{const{objects}=state,object2=objects.values().next().value,{width:originWidth2=0,height:originHeight2=0,left:originX2=0,top:originY2=0,angle:originRotation2=0}=object2;setWidth(originWidth2),setHeight(originHeight2),setXPosition(originX2),setYPosition(originY2),setRotation(originRotation2)},"changeObs");React.useEffect(()=>{const changeStartSub=transformer.changeStart$.subscribe(state=>{changeObs(state)}),changingSub=transformer.changing$.subscribe(state=>{changeObs(state)});return()=>{changingSub.unsubscribe(),changeStartSub.unsubscribe()}},[]);function handleWidthChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{width:val}}),object==null||object.resize(val,object.height),setWidth(val),transformer==null||transformer.refreshControls())}__name(handleWidthChange,"handleWidthChange");function handleHeightChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{height:val}}),object==null||object.resize(object.width,val),setHeight(val),transformer==null||transformer.refreshControls())}__name(handleHeightChange,"handleHeightChange");function handleXChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{left:val}}),object==null||object.translate(val,object.top),setXPosition(val),transformer==null||transformer.refreshControls())}__name(handleXChange,"handleXChange");function handleYChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{right:val}}),object==null||object.translate(object.left,val),setYPosition(val),transformer==null||transformer.refreshControls())}__name(handleYChange,"handleYChange");function handleChangeRotation(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{angle:val}}),object==null||object.transformByState({angle:val}),setRotation(val),transformer==null||transformer.refreshControls())}return __name(handleChangeRotation,"handleChangeRotation"),jsxRuntimeExports.jsxs("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.transform.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.width")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:width,onChange:__name(val=>{handleWidthChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.height")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:height,onChange:__name(val=>{handleHeightChange(val)},"onChange")})})})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.x")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:xPosition,onChange:__name(val=>{handleXChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.y")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:yPosition,onChange:__name(val=>{handleYChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.rotate")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,value:rotation,onChange:handleChangeRotation})})})]})})]})]})}__name(TransformPanel,"TransformPanel");function ArrangePanel(props){var _a2,_b2;const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports2.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const[color,setColor]=React.useState((_b2=(_a2=object.fill)==null?void 0:_a2.toString())!=null?_b2:"");function handleChangeColor(color2){object==null||object.setProps({fill:color2}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{shape:{shapeProperties:{shapeBackgroundFill:{rgb:color2}}}}}),setColor(color2)}return __name(handleChangeColor,"handleChangeColor"),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("slide.panel.fill.title")})})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Dropdown,{align:{offset:[0,18]},overlay:jsxRuntimeExports.jsx("section",{className:styles$5.slidePanelColorPicker,children:jsxRuntimeExports.jsx(design.ColorPicker,{color:"#fff",onChange:handleChangeColor})}),children:jsxRuntimeExports.jsxs("a",{className:styles$5.uiPluginSheetsBorderPanelButton,children:[jsxRuntimeExports.jsx(PaintBucket,{extend:{colorChannel1:color!=null?color:"rgb(var(--primary-color))"}}),jsxRuntimeExports.jsx("span",{className:styles$5.uiPluginSheetsBorderPanelMoreIcon,children:jsxRuntimeExports.jsx(MoreDownSingle,{})})]})})})})]})})}__name(ArrangePanel,"ArrangePanel");const styles$4={imageCommonPanel:"univer-image-common-panel",imageCommonPanelGrid:"univer-image-common-panel-grid",imageCommonPanelBorder:"univer-image-common-panel-border",imageCommonPanelTitle:"univer-image-common-panel-title",imageCommonPanelSubtitle:"univer-image-common-panel-subtitle",imageCommonPanelRow:"univer-image-common-panel-row",imageCommonPanelRowVertical:"univer-image-common-panel-row-vertical",imageCommonPanelColumn:"univer-image-common-panel-column",imageCommonPanelColumnCenter:"univer-image-common-panel-column-center",imageCommonPanelInline:"univer-image-common-panel-inline",imageCommonPanelSpan2:"univer-image-common-panel-span2",imageCommonPanelSpan3:"univer-image-common-panel-span3",imageCommonPanelInput:"univer-image-common-panel-input"},COMPONENT_SLIDE_SIDEBAR="COMPONENT_SLIDE_SIDEBAR";function RectSidebar(){var _a2,_b2,_c2;const univerInstanceService=core.useDependency(core.IUniverInstanceService),canvasView=core.useDependency(exports2.CanvasView),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pageId=(_a2=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a2.id;if(!pageId)return null;const transformer=(_b2=canvasView.getRenderUnitByPageId(pageId,pageId).scene)==null?void 0:_b2.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const unitId=((_c2=univerInstanceService.getFocusedUnit())==null?void 0:_c2.getUnitId())||"";return jsxRuntimeExports.jsxs("section",{className:styles$4.imageCommonPanel,children:[jsxRuntimeExports.jsx(ArrangePanel$1,{pageId,unitId}),jsxRuntimeExports.jsx(TransformPanel,{pageId,unitId}),object.objectType===engineRender.ObjectType.RECT&&jsxRuntimeExports.jsx(ArrangePanel,{pageId,unitId})]})}__name(RectSidebar,"RectSidebar");const InsertSlideShapeRectangleCommand={id:"slide.command.insert-float-shape",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a2;const commandService=accessor.get(core.ICommandService),unitId=(_a2=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a2.getUnitId();return commandService.executeCommand(InsertSlideShapeRectangleOperation.id,{unitId})},"handler")},InsertSlideShapeRectangleOperation={id:"slide.operation.insert-float-shape",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const id=core.generateRandomId(6),univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):20,data={id,zIndex:maxIndex+1,left:378,top:142,width:250,height:250,title:id,description:"",type:core.PageElementType.SHAPE,shape:{shapeType:core.BasicShapes.Rect,text:"",shapeProperties:{shapeBackgroundFill:{rgb:"rgb(0,0,255)"}}}};activePage.pageElements[id]=data,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports2.CanvasView),sceneObject=canvasview.createObjectToPage(data,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},ToggleSlideEditSidebarOperation={id:"sidebar.operation.slide-shape",type:core.CommandType.COMMAND,handler:__name(async(accessor,params)=>{const{visible,objectType}=params,sidebarService=accessor.get(ui.ISidebarService),localeService=accessor.get(core.LocaleService);let title="",children="";return objectType===engineRender.ObjectType.RECT?(title="slide.sidebar.shape",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.IMAGE?(title="slide.sidebar.image",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.RICH_TEXT&&(title="slide.sidebar.text",children=COMPONENT_SLIDE_SIDEBAR),visible?sidebarService.open({header:{title:localeService.t(title)},children:{label:children},onClose:__name(()=>{},"onClose"),width:360}):sidebarService.close(),!0},"handler")},SlideAddTextCommand={id:"slide.command.add-text",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a2;const commandService=accessor.get(core.ICommandService),unitId=(_a2=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a2.getUnitId();return await commandService.executeCommand(SlideAddTextOperation.id,{unitId})},"handler")},SlideAddTextOperation={id:"slide.operation.add-text",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const unitId=params.unitId,elementId=core.generateRandomId(6),defaultWidth=220,defaultheight=40,left=230,top=142,textContent=(params==null?void 0:params.text)||"A New Text",slideData=accessor.get(core.IUniverInstanceService).getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):21,elementData={id:elementId,zIndex:maxIndex+1,left,top,width:defaultWidth,height:defaultheight,title:"text",description:"",type:core.PageElementType.TEXT,richText:{text:textContent,fs:30,cl:{rgb:"rgb(51, 51, 51)"},bl:1}};activePage.pageElements[elementId]=elementData,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports2.CanvasView),sceneObject=canvasview.createObjectToPage(elementData,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},SetSlidePageThumbOperation={id:"slide.operation.set-slide-page-thumb",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>(accessor.get(exports2.CanvasView).createThumbs(params.unitId),!0),"handler")},SetTextEditArrowOperation={id:"slide.operation.edit-arrow",type:core.CommandType.OPERATION,handler:__name(()=>!0,"handler")},styles$3={imagePopupMenu:"univer-image-popup-menu",imagePopupMenuItem:"univer-image-popup-menu-item",imagePopupMenuItemIcon:"univer-image-popup-menu-item-icon",imagePopupMenuItemTitle:"univer-image-popup-menu-item-title",imagePopupMenuItemHide:"univer-image-popup-menu-item-hide",btnContainer:"univer-btn-container",btnContainerExpand:"univer-btn-container-expand"},SlideImagePopupMenu=__name(props=>{var _a2,_b2;const menuItems=(_b2=(_a2=props.popup)==null?void 0:_a2.extraProps)==null?void 0:_b2.menuItems;if(!menuItems)return null;const commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),[visible,setVisible]=React.useState(!1),[isHovered,setHovered]=React.useState(!1),handleMouseEnter=__name(()=>{setHovered(!0)},"handleMouseEnter"),handleMouseLeave=__name(()=>{setHovered(!1)},"handleMouseLeave"),onVisibleChange=__name(visible2=>{setVisible(visible2)},"onVisibleChange"),handleClick=__name(item=>{commandService.executeCommand(item.commandId,item.commandParams),setVisible(!1)},"handleClick"),showMore=visible||isHovered,availableMenu=menuItems.filter(item=>!item.disable);return jsxRuntimeExports.jsx("div",{onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,children:jsxRuntimeExports.jsx(design.Dropdown,{placement:"bottomLeft",trigger:["click"],overlay:jsxRuntimeExports.jsx("ul",{className:styles$3.imagePopupMenu,children:availableMenu.map(item=>jsxRuntimeExports.jsx("li",{onClick:__name(()=>handleClick(item),"onClick"),className:styles$3.imagePopupMenuItem,children:jsxRuntimeExports.jsx("span",{className:styles$3.imagePopupMenuItemTitle,children:localeService.t(item.label)})},item.index))}),visible,onVisibleChange,children:jsxRuntimeExports.jsxs("div",{className:clsx(styles$3.btnContainer,{[styles$3.btnContainerExpand]:visible}),children:[jsxRuntimeExports.jsx(Autofill,{style:{color:"#35322B"},extend:{colorChannel1:"rgb(var(--green-700, #409f11))"}}),showMore&&jsxRuntimeExports.jsx(MoreDownSingle,{style:{color:"#CCCCCC",fontSize:"8px",marginLeft:"8px"}})]})})})},"SlideImagePopupMenu"),COMPONENT_SLIDE_IMAGE_POPUP_MENU="COMPONENT_SLIDE_IMAGE_POPUP_MENU",styles$2={uploadFileMenu:"univer-upload-file-menu",uploadFileMenuInput:"univer-upload-file-menu-input"},COMPONENT_UPLOAD_FILE_MENU="SLIDE_COMPONENT_UPLOAD_FILE_MENU";var UploadFileType=(UploadFileType2=>(UploadFileType2[UploadFileType2.cellImage=0]="cellImage",UploadFileType2[UploadFileType2.floatImage=1]="floatImage",UploadFileType2))(UploadFileType||{});const UploadFileMenu=__name(props=>{const{type}=props,commandService=core.useDependency(core.ICommandService),univerInstanceService=core.useDependency(core.IUniverInstanceService),focused=ui.useObservable(univerInstanceService.focused$),fileInputRef=React.useRef(null),handleButtonClick=__name(()=>{var _a2;(_a2=fileInputRef.current)==null||_a2.click()},"handleButtonClick"),imageAccept=drawing.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(image=>`.${image.replace("image/","")}`).join(","),handleFileChange=__name(event=>{const fileList=event.target.files;if(fileList==null)return;const files=Array.from(fileList);type===UploadFileType.floatImage&&commandService.executeCommand(InsertSlideFloatImageOperation.id,{files,unitId:focused}),fileInputRef.current&&(fileInputRef.current.value="")},"handleFileChange");return jsxRuntimeExports.jsx("div",{onClick:handleButtonClick,className:styles$2.uploadFileMenu,children:jsxRuntimeExports.jsx("input",{type:"file",className:styles$2.uploadFileMenuInput,ref:fileInputRef,onChange:handleFileChange,accept:imageAccept,multiple:!0})})},"UploadFileMenu"),_SlideEditorManagerService=class _SlideEditorManagerService{constructor(){__publicField(this,"_state",null);__publicField(this,"_rect",null);__publicField(this,"_state$",new rxjs.BehaviorSubject(null));__publicField(this,"state$",this._state$.asObservable());__publicField(this,"_rect$",new rxjs.BehaviorSubject(null));__publicField(this,"rect$",this._rect$.asObservable());__publicField(this,"_focus",!1);__publicField(this,"_focus$",new rxjs.BehaviorSubject(this._focus));__publicField(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(param){this._state=param,this._refresh(param)}getRect(){return this._rect}setRect(param){this._rect=param,this._rect$.next(param)}getState(){return this._state}setFocus(param=!1){this._focus=param,this._focus$.next(param)}_refresh(param){this._state$.next(param)}};__name(_SlideEditorManagerService,"SlideEditorManagerService");let SlideEditorManagerService=_SlideEditorManagerService;const ISlideEditorManagerService=core.createIdentifier("univer.slide-editor-manager.service"),SLIDE_EDITOR_ID=core.createInternalEditorID("SLIDE_EDITOR"),styles$1={slideEditorContainer:"univer-slide-editor-container",editorInput:"univer-editor-input"},HIDDEN_EDITOR_POSITION$1=-1e3,EDITOR_DEFAULT_POSITION={width:0,height:0,top:HIDDEN_EDITOR_POSITION$1,left:HIDDEN_EDITOR_POSITION$1},SlideEditorContainer=__name(()=>{const[state,setState]=React.useState({...EDITOR_DEFAULT_POSITION}),slideEditorManagerService=core.useDependency(ISlideEditorManagerService),editorService=core.useDependency(ui.IEditorService),contextService=core.useDependency(core.IContextService),disableAutoFocus=ui.useObservable(()=>contextService.subscribeContextValue$(ui.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[contextService,ui.DISABLE_AUTO_FOCUS_KEY]),snapshot={id:SLIDE_EDITOR_ID,body:{dataStream:`${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{documentFlavor:core.DocumentFlavor.MODERN}};return React.useEffect(()=>{slideEditorManagerService.state$.subscribe(param=>{if(param==null)return;const{startX=HIDDEN_EDITOR_POSITION$1,startY=HIDDEN_EDITOR_POSITION$1,endX=0,endY=0,show=!1}=param;if(!show)setState({...EDITOR_DEFAULT_POSITION});else{setState({width:endX-startX-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,height:endY-startY-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,left:startX+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,top:startY+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET});const editor=editorService.getEditor(SLIDE_EDITOR_ID);if(editor==null)return;const{left,top,width,height}=editor.getBoundingClientRect();slideEditorManagerService.setRect({left,top,width,height})}})},[]),React.useEffect(()=>{disableAutoFocus||slideEditorManagerService.setFocus(!0)},[disableAutoFocus,state]),jsxRuntimeExports.jsx("div",{className:styles$1.slideEditorContainer,style:{left:state.left,top:state.top,width:state.width,height:state.height},children:jsxRuntimeExports.jsx(ui.TextEditor,{id:SLIDE_EDITOR_ID,className:styles$1.editorInput,snapshot,cancelDefaultResizeListener:!1,isSheetEditor:!1,isSingle:!1})})},"SlideEditorContainer"),AppendSlideOperation={id:"slide.operation.append-slide",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const unitId=params.unitId;return accessor.get(core.IUniverInstanceService).getUnit(unitId)?(accessor.get(exports2.CanvasView).appendPage(unitId),!0):!1},"handler")},styles={slideBar:"univer-slide-bar",slideBarContent:"univer-slide-bar-content",slideBarContentHeader:"univer-slide-bar-content-header",slideBarItem:"univer-slide-bar-item",slideBarBox:"univer-slide-bar-box",slideBarItemActive:"univer-slide-bar-item-active",slideAddButton:"univer-slide-add-button"};function SlideSideBar(){var _a2,_b2;const univerInstanceService=core.useDependency(core.IUniverInstanceService),commandService=core.useDependency(core.ICommandService),renderManagerService=core.useDependency(engineRender.IRenderManagerService),localeService=core.useDependency(core.LocaleService),slideBarRef=React.useRef(null),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=currentSlide==null?void 0:currentSlide.getPages(),pageOrder=currentSlide==null?void 0:currentSlide.getPageOrder();if(!pages||!pageOrder)return null;const slideList=pageOrder.map(id=>pages[id]),[divRefs,setDivRefs]=React.useState([]),[activatePageId,setActivatePageId]=React.useState((_b2=(_a2=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a2.id)!=null?_b2:null);React.useEffect(()=>{setDivRefs(slideList.map(_=>React.createRef()))},[slideList.length]),React.useEffect(()=>{const subscriber=currentSlide==null?void 0:currentSlide.activePage$.subscribe(page=>{var _a3;const id=(_a3=page==null?void 0:page.id)!=null?_a3:null;id&&setActivatePageId(id)});return()=>{subscriber==null||subscriber.unsubscribe()}},[]),React.useEffect(()=>{divRefs.forEach((ref,index)=>{var _a3;if(ref.current){const slide=slideList[index];(_a3=renderManagerService.getRenderById(slide.id))==null||_a3.engine.setContainer(ref.current)}}),divRefs.length>0&&commandService.syncExecuteCommand(SetSlidePageThumbOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[divRefs,slideList,renderManagerService,commandService,currentSlide]);const activatePage=React.useCallback(page=>{commandService.syncExecuteCommand(ActivateSlidePageOperation.id,{id:page,unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]),handleAppendSlide=React.useCallback(()=>{commandService.syncExecuteCommand(AppendSlideOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]);return jsxRuntimeExports.jsx("aside",{className:styles.slideBar,ref:slideBarRef,children:jsxRuntimeExports.jsx(design.Scrollbar,{children:jsxRuntimeExports.jsxs("div",{className:styles.slideBarContent,children:[jsxRuntimeExports.jsx("header",{className:styles.slideBarContentHeader,children:jsxRuntimeExports.jsx("a",{onClick:handleAppendSlide,children:localeService.t("slide.append")})}),slideList.map((item,index)=>jsxRuntimeExports.jsxs("div",{className:clsx(styles.slideBarItem,{[styles.slideBarItemActive]:item.id===activatePageId}),onClick:__name(()=>activatePage(item.id),"onClick"),children:[jsxRuntimeExports.jsx("span",{children:index+1}),jsxRuntimeExports.jsx("div",{ref:divRefs[index],className:styles.slideBarBox})]},item.id))]})})})}__name(SlideSideBar,"SlideSideBar");const IMAGE_UPLOAD_ICON="addition-and-subtraction-single",IMAGE_MENU_ID="slide.menu.image";function SlideImageMenuFactory(accessor){return{id:IMAGE_MENU_ID,type:ui.MenuItemType.SUBITEMS,positions:[ui.MenuPosition.TOOLBAR_START],group:ui.MenuGroup.TOOLBAR_FORMULAS_INSERT,icon:IMAGE_UPLOAD_ICON,tooltip:"slide.image.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideImageMenuFactory,"SlideImageMenuFactory");function UploadSlideFloatImageMenuFactory(_accessor){return{id:InsertSlideFloatImageOperation.id,title:"slide.image.insert.float",type:ui.MenuItemType.SELECTOR,label:{name:COMPONENT_UPLOAD_FILE_MENU,props:{type:UploadFileType.floatImage}},positions:[IMAGE_MENU_ID],hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatImageMenuFactory,"UploadSlideFloatImageMenuFactory");const GRAPH_SINGLE_ICON="graph-single",SHAPE_MENU_ID="slide.menu.shape";function SlideShapeMenuFactory(accessor){return{id:SHAPE_MENU_ID,type:ui.MenuItemType.SUBITEMS,positions:[ui.MenuPosition.TOOLBAR_START],group:ui.MenuGroup.TOOLBAR_FORMULAS_INSERT,icon:GRAPH_SINGLE_ICON,tooltip:"slide.shape.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideShapeMenuFactory,"SlideShapeMenuFactory");function UploadSlideFloatShapeMenuFactory(_accessor){return{id:InsertSlideShapeRectangleCommand.id,title:"slide.shape.insert.rectangle",type:ui.MenuItemType.BUTTON,positions:[SHAPE_MENU_ID],hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatShapeMenuFactory,"UploadSlideFloatShapeMenuFactory");function whenEditorActivated(contextService){return contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)&&contextService.getContextValue(core.EDITOR_ACTIVATED)}__name(whenEditorActivated,"whenEditorActivated");function whenFormulaEditorFocused(contextService){return contextService.getContextValue(core.FORMULA_EDITOR_ACTIVATED)&&contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)}__name(whenFormulaEditorFocused,"whenFormulaEditorFocused");const ARROW_SELECTION_KEYCODE_LIST=[ui.KeyCode.ARROW_DOWN,ui.KeyCode.ARROW_UP,ui.KeyCode.ARROW_LEFT,ui.KeyCode.ARROW_RIGHT];[ui.KeyCode.ENTER,ui.KeyCode.TAB,...ARROW_SELECTION_KEYCODE_LIST];function generateArrowSelectionShortCutItem(){const shortcutList=[];for(const keycode of ARROW_SELECTION_KEYCODE_LIST)shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!1}}),shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode|ui.MetaKeys.SHIFT,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!0}});return shortcutList}__name(generateArrowSelectionShortCutItem,"generateArrowSelectionShortCutItem");const EditorDeleteLeftShortcut={id:docs.DeleteLeftCommand.id,preconditions:__name(contextService=>whenEditorActivated(contextService)||whenFormulaEditorFocused(contextService),"preconditions"),binding:ui.KeyCode.BACKSPACE},TEXT_ICON_ID="text-single";function SlideAddTextMenuItemFactory(_accessor){return{id:SlideAddTextCommand.id,group:ui.MenuGroup.TOOLBAR_FORMULAS_INSERT,type:ui.MenuItemType.BUTTON,icon:TEXT_ICON_ID,tooltip:"slide.text.insert.title",positions:[ui.MenuPosition.TOOLBAR_START],hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideAddTextMenuItemFactory,"SlideAddTextMenuItemFactory");var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$7");exports2.SlidesUIController=(_c=class extends core.Disposable{constructor(_config,_injector,_menuService,_componentManager,_uiPartsService,_commandService,_shortcutService){super(),this._config=_config,this._injector=_injector,this._menuService=_menuService,this._componentManager=_componentManager,this._uiPartsService=_uiPartsService,this._commandService=_commandService,this._shortcutService=_shortcutService,this._initCommands(),this._initCustomComponents(),this._initUIComponents(),this._initMenus(),this._initShortcuts()}_initMenus(){const{menu={}}=this._config||{};[SlideAddTextMenuItemFactory,SlideImageMenuFactory,UploadSlideFloatImageMenuFactory,SlideShapeMenuFactory,UploadSlideFloatShapeMenuFactory].forEach(menuFactory=>{this._menuService.addMenuItem(menuFactory(this._injector),menu)})}_initCustomComponents(){const componentManager=this._componentManager;this.disposeWithMe(componentManager.register(IMAGE_UPLOAD_ICON,AddImageSingle)),this.disposeWithMe(componentManager.register(TEXT_ICON_ID,TextSingle)),this.disposeWithMe(componentManager.register(GRAPH_SINGLE_ICON,GraphSingle)),this.disposeWithMe(componentManager.register(COMPONENT_UPLOAD_FILE_MENU,UploadFileMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_IMAGE_POPUP_MENU,SlideImagePopupMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_SIDEBAR,RectSidebar))}_initCommands(){[AppendSlideOperation,ActivateSlidePageOperation,SetSlidePageThumbOperation,InsertSlideFloatImageOperation,SlideAddTextOperation,SlideAddTextCommand,InsertSlideShapeRectangleOperation,InsertSlideShapeRectangleCommand,ToggleSlideEditSidebarOperation,DeleteSlideElementOperation,UpdateSlideElementOperation,SetTextEditArrowOperation].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_initUIComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.LEFT_SIDEBAR,()=>core.connectInjector(SlideSideBar,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.CONTENT,()=>core.connectInjector(SlideEditorContainer,this._injector)))}_initShortcuts(){[EditorDeleteLeftShortcut,...generateArrowSelectionShortCutItem()].forEach(item=>{this.disposeWithMe(this._shortcutService.registerShortcut(item))})}},__name(_c,"SlidesUIController"),_c),exports2.SlidesUIController=__decorateClass$7([core.OnLifecycle(core.LifecycleStages.Ready,exports2.SlidesUIController),__decorateParam$7(1,core.Inject(core.Injector)),__decorateParam$7(2,ui.IMenuService),__decorateParam$7(3,core.Inject(ui.ComponentManager)),__decorateParam$7(4,ui.IUIPartsService),__decorateParam$7(5,core.ICommandService),__decorateParam$7(6,ui.IShortcutService)],exports2.SlidesUIController);var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");function transformBound2OffsetBound(originBound,scene){const topLeft=transformPosition2Offset(originBound.left,originBound.top,scene),bottomRight=transformPosition2Offset(originBound.right,originBound.bottom,scene);return{left:topLeft.x,top:topLeft.y,right:bottomRight.x,bottom:bottomRight.y}}__name(transformBound2OffsetBound,"transformBound2OffsetBound");function transformPosition2Offset(x,y,scene){const{scaleX,scaleY}=scene.getAncestorScale(),viewMain=scene.getViewport(slides.SLIDE_KEY.VIEW);if(!viewMain)return{x,y};const{viewportScrollX:actualScrollX,viewportScrollY:actualScrollY}=viewMain,offsetX=(x-actualScrollX)*scaleX,offsetY=(y-actualScrollY)*scaleY;return{x:offsetX,y:offsetY}}__name(transformPosition2Offset,"transformPosition2Offset"),exports2.SlideCanvasPopMangerService=(_d=class extends core.Disposable{constructor(_globalPopupManagerService,_renderManagerService,_univerInstanceService,_commandService){super(),this._globalPopupManagerService=_globalPopupManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService}_createObjectPositionObserver(targetObject,currentRender){const position=__name(()=>{var _a2,_b2,_c2,_d2;const{scene,engine}=currentRender,{left,top,width,height}=targetObject,horizontalOffset=(scene.width-((_b2=(_a2=currentRender.mainComponent)==null?void 0:_a2.width)!=null?_b2:0))/2,verticalOffset=(scene.height-((_d2=(_c2=currentRender.mainComponent)==null?void 0:_c2.height)!=null?_d2:0))/2,bound={left,right:left+width,top,bottom:top+height},canvasElement=engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=engineRender.pxToNum(canvasElement.style.width),{scaleX,scaleY}=scene.getAncestorScale(),offsetBound=transformBound2OffsetBound(bound,scene),{top:topOffset,left:leftOffset,width:domWidth}=canvasClientRect,scaleAdjust=domWidth/widthOfCanvas;return{left:offsetBound.left*scaleAdjust*scaleX+leftOffset+horizontalOffset,right:offsetBound.right*scaleAdjust*scaleX+leftOffset+horizontalOffset,top:offsetBound.top*scaleAdjust*scaleY+topOffset+verticalOffset,bottom:offsetBound.bottom*scaleAdjust*scaleY+topOffset+verticalOffset}},"calc")(),position$=new rxjs.BehaviorSubject(position),disposable=new core.DisposableCollection;return{position,position$,disposable}}attachPopupToObject(targetObject,popup){const unitId=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getUnitId(),currentRender=this._renderManagerService.getRenderById(unitId);if(!currentRender)return{dispose:__name(()=>{},"dispose")};const{position,position$,disposable}=this._createObjectPositionObserver(targetObject,currentRender),id=this._globalPopupManagerService.addPopup({...popup,unitId,subUnitId:"default",anchorRect:position,anchorRect$:position$,canvasElement:currentRender.engine.getCanvasElement()});return{dispose:__name(()=>{this._globalPopupManagerService.removePopup(id),position$.complete(),disposable.dispose()},"dispose")}}},__name(_d,"SlideCanvasPopMangerService"),_d),exports2.SlideCanvasPopMangerService=__decorateClass$6([__decorateParam$6(0,core.Inject(ui.ICanvasPopupService)),__decorateParam$6(1,engineRender.IRenderManagerService),__decorateParam$6(2,core.IUniverInstanceService),__decorateParam$6(3,core.ICommandService)],exports2.SlideCanvasPopMangerService);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");let SlidePopupMenuController=(_e=class extends core.RxDisposable{constructor(_canvasPopManagerService,_renderManagerService,_univerInstanceService,_contextService,_canvasView,_sidebarService,_commandService){super();__publicField(this,"_initImagePopupMenu",new Set);this._canvasPopManagerService=_canvasPopManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._contextService=_contextService,this._canvasView=_canvasView,this._sidebarService=_sidebarService,this._commandService=_commandService,this._init()}_init(){this._univerInstanceService.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slide=>this._create(slide))}_dispose(workbook){}_create(slide){if(!slide)return;const unitId=slide.getUnitId();this._renderManagerService.has(unitId)&&!this._initImagePopupMenu.has(unitId)&&(this._popupMenuListener(unitId),this._initImagePopupMenu.add(unitId))}_hasCropObject(scene){}_popupMenuListener(unitId){var _a2;const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=(_a2=model==null?void 0:model.getPages())!=null?_a2:{};Object.keys(pages).forEach(pageId=>{var _a3;const transformer=(_a3=this._canvasView.getRenderUnitByPageId(pageId,unitId).scene)==null?void 0:_a3.getTransformer();if(!transformer)return;let singletonPopupDisposer;this.disposeWithMe(core.toDisposable(transformer.createControl$.subscribe(()=>{const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;if(!object)return;const oKey=object.oKey;singletonPopupDisposer==null||singletonPopupDisposer.dispose(),singletonPopupDisposer=this.disposeWithMe(this._canvasPopManagerService.attachPopupToObject(object,{componentKey:COMPONENT_SLIDE_IMAGE_POPUP_MENU,direction:"horizontal",offset:[2,0],extraProps:{menuItems:this._getMenuItemsByObjectType(object.objectType,oKey,unitId)}})),this._sidebarService.visible&&this._commandService.executeCommand(ToggleSlideEditSidebarOperation.id,{visible:!0,objectType:object.objectType})}))),this.disposeWithMe(transformer.clearControl$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose(),this._contextService.setContextValue(core.FOCUSING_COMMON_DRAWINGS,!1)})),this.disposeWithMe(transformer.changing$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose();const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;object&&this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object.oKey,props:{width:object.width,height:object.height,left:object.left,top:object.top}})}))})}_getMenuItemsByObjectType(objectType,oKey,unitId){return[{label:"slide.popup.edit",index:0,commandId:ToggleSlideEditSidebarOperation.id,commandParams:{visible:!0,objectType},disable:!1},{label:"slide.popup.delete",index:5,commandId:DeleteSlideElementOperation.id,commandParams:{id:oKey,unitId},disable:!1}]}},__name(_e,"SlidePopupMenuController"),_e);SlidePopupMenuController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Steady,SlidePopupMenuController),__decorateParam$5(0,core.Inject(exports2.SlideCanvasPopMangerService)),__decorateParam$5(1,engineRender.IRenderManagerService),__decorateParam$5(2,core.IUniverInstanceService),__decorateParam$5(3,core.IContextService),__decorateParam$5(4,core.Inject(exports2.CanvasView)),__decorateParam$5(5,ui.ISidebarService),__decorateParam$5(6,core.ICommandService)],SlidePopupMenuController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");const ISlideEditorBridgeService=core.createIdentifier("univer.slide-editor-bridge.service");let SlideEditorBridgeService=(_f=class extends core.Disposable{constructor(_editorService,_contextService,_renderManagerService){super();__publicField(this,"_editorUnitId",SLIDE_EDITOR_ID);__publicField(this,"_isForceKeepVisible",!1);__publicField(this,"_editorIsDirty",!1);__publicField(this,"_currentEditRectState",null);__publicField(this,"_currentEditRectState$",new rxjs.BehaviorSubject(null));__publicField(this,"currentEditRectState$",this._currentEditRectState$.asObservable());__publicField(this,"_visibleParam",{visible:!1,eventType:engineRender.DeviceInputEventType.Dblclick,unitId:""});__publicField(this,"_visible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"visible$",this._visible$.asObservable());__publicField(this,"_afterVisible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"afterVisible$",this._afterVisible$.asObservable());__publicField(this,"endEditing$",new rxjs.Subject);__publicField(this,"_currentEditRectInfo");this._editorService=_editorService,this._contextService=_contextService,this._renderManagerService=_renderManagerService}dispose(){super.dispose()}getEditorRect(){return this._currentEditRectInfo}setEditorRect(editorInfo){this._currentEditRectInfo=editorInfo,this._editorService.getFocusEditor()||(this._editorService.focus(SLIDE_EDITOR_ID),this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(core.FOCUSING_EDITOR_STANDALONE,!1),this._contextService.setContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE,!1));const editRectState=this.getEditRectState();this._currentEditRectState=editRectState,this._currentEditRectState$.next(editRectState)}changeVisible(param){this._visibleParam=param,param.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visibleParam),this._afterVisible$.next(this._visibleParam)}getEditRectState(){const editorUnitId=SLIDE_EDITOR_ID,editorRectInfo=this._currentEditRectInfo,unitId=editorRectInfo.unitId,docData=editorRectInfo.richTextObj.documentData;docData.id=editorUnitId,docData.documentStyle={...docData.documentStyle,pageSize:{width:editorRectInfo.richTextObj.width,height:1/0}};const documentLayoutObject={documentModel:new core.DocumentDataModel(docData),fontString:"document",textRotation:{a:0,v:0},wrapStrategy:0,verticalAlign:core.VerticalAlign.TOP,horizontalAlign:core.HorizontalAlign.LEFT,paddingData:{t:0,b:1,l:2,r:2}},editorWidth=editorRectInfo.richTextObj.width,editorHeight=editorRectInfo.richTextObj.height,left=editorRectInfo.richTextObj.left,top=editorRectInfo.richTextObj.top,canvasOffset={left:0,top:0},renderUnit=this._renderManagerService.getRenderById(unitId),mainScene=renderUnit==null?void 0:renderUnit.scene,mainViewport=mainScene==null?void 0:mainScene.getViewport(slides.SLIDE_KEY.VIEW),slideMainRect=mainScene==null?void 0:mainScene.getObject(slides.SLIDE_KEY.COMPONENT),slidePos={x:(slideMainRect==null?void 0:slideMainRect.left)||0,y:(slideMainRect==null?void 0:slideMainRect.top)||0},scrollX=(mainViewport==null?void 0:mainViewport.viewportScrollX)||0,scrollY=(mainViewport==null?void 0:mainViewport.viewportScrollY)||0;return canvasOffset.left=slidePos.x-scrollX,canvasOffset.top=slidePos.y-scrollY,{position:{startX:left,startY:top,endX:left+editorWidth,endY:top+editorHeight},scaleX:1,scaleY:1,slideCardOffset:canvasOffset,unitId,editorUnitId,documentLayoutObject}}changeEditorDirty(dirtyStatus){this._editorIsDirty=dirtyStatus}isVisible(){return this._visibleParam.visible}getEditorDirty(){return this._editorIsDirty}getCurrentEditorId(){return this._editorUnitId}genDocData(target){const editorUnitId=this.getCurrentEditorId(),content=target.text,fontSize=target.fs;return{id:editorUnitId,body:{dataStream:`${content}\r
10
- `,textRuns:[{st:0,ed:content.length}],paragraphs:[{paragraphStyle:{},startIndex:content.length+1}],sectionBreaks:[{startIndex:content.length+2}]},documentStyle:{marginBottom:0,marginLeft:0,marginRight:0,marginTop:0,pageSize:{width:1/0,height:1/0},textStyle:{fs:fontSize},renderConfig:{verticalAlign:core.VerticalAlign.MIDDLE,centerAngle:0,vertexAngle:0,wrapStrategy:0}},drawings:{},drawingsOrder:[],settings:{zoomRatio:1}}}},__name(_f,"SlideEditorBridgeService"),_f);SlideEditorBridgeService=__decorateClass$4([__decorateParam$4(0,ui.IEditorService),__decorateParam$4(1,core.IContextService),__decorateParam$4(2,engineRender.IRenderManagerService)],SlideEditorBridgeService);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");let SlideEditorBridgeRenderController=(_g=class extends core.RxDisposable{constructor(_renderContext,_instanceSrv,_commandService,_editorBridgeService){super();__publicField(this,"setSlideTextEditor$",new rxjs.Subject);__publicField(this,"_curRichText",null);__publicField(this,"_d");this._renderContext=_renderContext,this._instanceSrv=_instanceSrv,this._commandService=_commandService,this._editorBridgeService=_editorBridgeService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){const d=new core.DisposableCollection;return this._initEventListener(d),d}_disposeCurrent(){var _a2;(_a2=this._d)==null||_a2.dispose(),this._d=null}_setEditorRect(pageId,targetObject){this._curRichText=targetObject;const{scene,engine}=this._renderContext,unitId=this._renderContext.unitId,setEditorRect={scene,engine,unitId,pageId,richTextObj:targetObject};this._editorBridgeService.setEditorRect(setEditorRect)}_initEventListener(d){const listenersForPageScene=__name(scene=>{const transformer=scene.getTransformer();transformer&&(d.add(transformer.clearControl$.subscribe(()=>{this.setEditorVisible(!1),this.pickOtherObjects()})),d.add(transformer.createControl$.subscribe(()=>{this.setEditorVisible(!1)})),d.add(scene.onDblclick$.subscribeEvent(()=>{transformer.clearControls();const object=transformer.getSelectedObjectMap().values().next().value;object&&(object.objectType!==engineRender.ObjectType.RICH_TEXT?this.pickOtherObjects():this.startEditing(scene.sceneKey,object))})),d.add(this._instanceSrv.focused$.subscribe(fc=>{this.endEditing()})))},"listenersForPageScene"),{mainComponent}=this._renderContext;mainComponent.subSceneChanged$.subscribeEvent(pageScene=>{listenersForPageScene(pageScene)});const pageSceneList=Array.from(mainComponent.getSubScenes().values());for(let i=0;i<pageSceneList.length;i++){const pageScene=pageSceneList[i];listenersForPageScene(pageScene)}}pickOtherObjects(){this.endEditing()}endEditing(){var _a2;if(!this._curRichText)return;this.setEditorVisible(!1);const curRichText=this._curRichText;if(!this._instanceSrv.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE))return!1;curRichText.refreshDocumentByDocData(),curRichText.resizeToContentSize(),this._editorBridgeService.endEditing$.next(curRichText);const richText={bl:1,fs:curRichText.fs,text:curRichText.text},textRuns=(_a2=curRichText.documentData.body)==null?void 0:_a2.textRuns;if(textRuns&&textRuns.length){const ts=textRuns[0].ts;richText.cl=ts==null?void 0:ts.cl}this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId:this._renderContext.unitId,oKey:curRichText==null?void 0:curRichText.oKey,props:{richText}}),this._curRichText=null}startEditing(pageId,target){this._setEditorRect(pageId,target),this.setEditorVisible(!0)}setEditorVisible(visible){var _a2,_b2;visible?(_a2=this._curRichText)==null||_a2.hide():(_b2=this._curRichText)==null||_b2.show();const{unitId}=this._renderContext;this._editorBridgeService.changeVisible({visible,eventType:engineRender.DeviceInputEventType.PointerDown,unitId})}},__name(_g,"SlideEditorBridgeRenderController"),_g);SlideEditorBridgeRenderController=__decorateClass$3([__decorateParam$3(1,core.IUniverInstanceService),__decorateParam$3(2,core.ICommandService),__decorateParam$3(3,ISlideEditorBridgeService)],SlideEditorBridgeRenderController);var CursorChange=(_CursorChange=>(_CursorChange[_CursorChange.InitialState=0]="InitialState",_CursorChange[_CursorChange.StartEditor=1]="StartEditor",_CursorChange[_CursorChange.CursorChange=2]="CursorChange",_CursorChange))(CursorChange||{}),__defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const HIDDEN_EDITOR_POSITION=-1e3,EDITOR_INPUT_SELF_EXTEND_GAP=5,EDITOR_BORDER_SIZE=2;let SlideEditingRenderController=(_h=class extends core.Disposable{constructor(_renderContext,_layoutService,_undoRedoService,_contextService,_instanceSrv,_renderManagerService,_editorBridgeService,_cellEditorManagerService,_textSelectionRenderManager,_textSelectionManagerService,_commandService,_localService,_editorService){super();__publicField(this,"_cursorChange",CursorChange.InitialState);__publicField(this,"_isUnitEditing",!1);__publicField(this,"_d");this._renderContext=_renderContext,this._layoutService=_layoutService,this._undoRedoService=_undoRedoService,this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,this._editorBridgeService=_editorBridgeService,this._cellEditorManagerService=_cellEditorManagerService,this._textSelectionRenderManager=_textSelectionRenderManager,this._textSelectionManagerService=_textSelectionManagerService,this._commandService=_commandService,this._localService=_localService,this._editorService=_editorService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():(this._disposeCurrent(),this._isUnitEditing&&(this._handleEditorInvisible({visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode:ui.KeyCode.ESC,unitId:this._renderContext.unitId}),this._isUnitEditing=!1))})),this._initEditorVisibilityListener()}dispose(){super.dispose(),this._disposeCurrent()}_disposeCurrent(){var _a2;(_a2=this._d)==null||_a2.dispose(),this._d=null}_init(){const d=new core.DisposableCollection;return this._subscribeToCurrentCell(d),this._initialKeyboardListener(d),this._initialCursorSync(d),this._listenEditorFocus(d),this._commandExecutedListener(d),setTimeout(()=>{this._cursorStateListener(d)},1e3),d}_initEditorVisibilityListener(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(param=>{param.visible?(this._isUnitEditing=!0,this._handleEditorVisible(param)):this._isUnitEditing&&(this._handleEditorInvisible(param),this._isUnitEditing=!1)}))}_listenEditorFocus(d){const renderConfig=this._getEditorObject();renderConfig&&d.add(renderConfig.document.onPointerDown$.subscribeEvent(()=>{}))}_getEditorSkeleton(editorId){var _a2;return(_a2=this._renderManagerService.getRenderById(editorId))==null?void 0:_a2.with(docs.DocSkeletonManagerService).getSkeleton()}_getEditorViewModel(editorId){var _a2;return(_a2=this._renderManagerService.getRenderById(editorId))==null?void 0:_a2.with(docs.DocSkeletonManagerService).getViewModel()}_initialCursorSync(d){d.add(this._cellEditorManagerService.focus$.pipe(rxjs.filter(f2=>!!f2)).subscribe(()=>{this._textSelectionRenderManager.sync()}))}_subscribeToCurrentCell(d){d.add(this._editorBridgeService.currentEditRectState$.subscribe(editCellState=>{if(editCellState==null||this._contextService.getContextValue(core.FOCUSING_EDITOR_STANDALONE)||this._contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE))return;const{position:{startX,endX},documentLayoutObject:{textRotation,wrapStrategy,documentModel},scaleX,editorUnitId}=editCellState,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation);documentModel.updateDocumentId(editorUnitId),wrapStrategy===core.WrapStrategy.WRAP&&angle===0&&documentModel.updateDocumentDataPageSize((endX-startX)/scaleX),this._instanceSrv.changeDoc(editorUnitId,documentModel),this._contextService.setContextValue(core.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}]),this._textSelectionRenderManager.activate(HIDDEN_EDITOR_POSITION,HIDDEN_EDITOR_POSITION)}))}_fitTextSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,startY,endX,endY}=positionFromEditRectState,documentDataModel=documentLayoutObject.documentModel;if(documentDataModel==null)return;const{actualWidth,actualHeight}=this._predictingSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX,scaleY),{verticalAlign,paddingData,fill}=documentLayoutObject;let editorWidth=endX-startX,editorHeight=endY-startY;if(editorWidth<actualWidth&&(editorWidth=actualWidth),editorHeight<actualHeight)editorHeight=actualHeight,documentDataModel.updateDocumentDataMargin(paddingData);else{let offsetTop=0;verticalAlign===core.VerticalAlign.MIDDLE?offsetTop=(editorHeight-actualHeight)/2/scaleY:verticalAlign===core.VerticalAlign.TOP?offsetTop=paddingData.t||0:offsetTop=(editorHeight-actualHeight)/scaleY-(paddingData.b||0),offsetTop=offsetTop<(paddingData.t||0)?paddingData.t||0:offsetTop,documentDataModel.updateDocumentDataMargin({t:offsetTop})}documentSkeleton.calculate(),this._editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX,scaleY)}_predictingSize(actualRangeWithCoord,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,endX}=actualRangeWithCoord,{textRotation,wrapStrategy}=documentLayoutObject,documentDataModel=documentLayoutObject.documentModel,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation),clientWidth=document.body.clientWidth;if(wrapStrategy===core.WrapStrategy.WRAP&&angle===0){const{actualWidth,actualHeight}=documentSkeleton.getActualSize();return{actualWidth:actualWidth*scaleX,actualHeight:actualHeight*scaleY}}documentDataModel==null||documentDataModel.updateDocumentDataPageSize((clientWidth-startX-canvasOffset.left)/scaleX),documentSkeleton.calculate();const size=documentSkeleton.getActualSize();let editorWidth=endX-startX;return editorWidth<size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX&&(editorWidth=size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX),documentDataModel==null||documentDataModel.updateDocumentDataPageSize(editorWidth/scaleX),documentDataModel==null||documentDataModel.updateDocumentRenderConfig({horizontalAlign:core.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:editorWidth,actualHeight:size.actualHeight*scaleY}}_editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX=1,scaleY=1){var _a2;const editorObject=this._getEditorObject();if(editorObject==null)return;function pxToNum(width2){return Number.parseInt(width2.replace("px",""))}__name(pxToNum,"pxToNum");const canvasElement=this._renderContext.engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=pxToNum(canvasElement.style.width),{top,left,width}=canvasClientRect,scaleAdjust=width/widthOfCanvas;let{startX,startY}=positionFromEditRectState;startX+=canvasOffset.left,startY+=canvasOffset.top;const{document:documentComponent,scene:editorScene,engine:docEngine}=editorObject,viewportMain=editorScene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN),clientHeight=document.body.clientHeight-startY-canvasOffset.top-EDITOR_BORDER_SIZE*2,clientWidth=document.body.clientWidth-startX-canvasOffset.left;let physicHeight=editorHeight,scrollBar=viewportMain==null?void 0:viewportMain.getScrollBar();physicHeight>clientHeight?(physicHeight=clientHeight,scrollBar==null?viewportMain&&new engineRender.ScrollBar(viewportMain,{enableHorizontal:!1,barSize:8}):viewportMain==null||viewportMain.resetCanvasSizeAndUpdateScroll()):(scrollBar=null,(_a2=viewportMain==null?void 0:viewportMain.getScrollBar())==null||_a2.dispose()),editorWidth+=(scrollBar==null?void 0:scrollBar.barSize)||0,editorWidth=Math.min(editorWidth,clientWidth),startX-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,startY-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,this._addBackground(editorScene,editorWidth/scaleX,editorHeight/scaleY,fill);const{scaleX:precisionScaleX,scaleY:precisionScaleY}=editorScene.getPrecisionScale();editorScene.transformByState({width:editorWidth*scaleAdjust/scaleX,height:editorHeight*scaleAdjust/scaleY,scaleX:scaleX*scaleAdjust,scaleY:scaleY*scaleAdjust}),documentComponent.resize(editorWidth/scaleX,editorHeight/scaleY),setTimeout(()=>{docEngine.resizeBySize(engineRender.fixLineWidthByScale(editorWidth,precisionScaleX),engineRender.fixLineWidthByScale(physicHeight,precisionScaleY))},0);const contentBoundingRect=this._layoutService.getContentElement().getBoundingClientRect(),canvasBoundingRect=canvasElement.getBoundingClientRect();startX=startX*scaleAdjust+(canvasBoundingRect.left-contentBoundingRect.left),startY=startY*scaleAdjust+(canvasBoundingRect.top-contentBoundingRect.top),this._cellEditorManagerService.setState({startX,startY,endX:editorWidth*scaleAdjust+startX,endY:physicHeight*scaleAdjust+startY,show:!0})}_addBackground(scene,editorWidth,editorHeight,fill){const fillRectKey="_backgroundRectHelperColor_",rect=scene.getObject(fillRectKey);rect==null&&fill==null||(rect==null?scene.addObjects([new engineRender.Rect(fillRectKey,{width:editorWidth,height:editorHeight,fill,evented:!1})],docs.DOCS_COMPONENT_MAIN_LAYER_INDEX):fill==null?rect.dispose():(rect.setProps({fill}),rect.transformByState({width:editorWidth,height:editorHeight})))}_handleEditorVisible(param){var _a2,_b2;const{eventType}=param;this._cursorChange=[engineRender.DeviceInputEventType.PointerDown,engineRender.DeviceInputEventType.Dblclick].includes(eventType)?CursorChange.CursorChange:CursorChange.StartEditor;const editCellState=this._editorBridgeService.getEditRectState();if(editCellState==null)return;const{position,documentLayoutObject,slideCardOffset:canvasOffset,scaleX,scaleY,editorUnitId,unitId}=editCellState,editorObject=this._getEditorObject();if(editorObject==null)return;const{scene}=editorObject;this._contextService.setContextValue(core.EDITOR_ACTIVATED,!0);const{documentModel:documentDataModel}=documentLayoutObject,skeleton=this._getEditorSkeleton(editorUnitId);if(!skeleton||!documentDataModel)return;this._fitTextSize(position,canvasOffset,skeleton,documentLayoutObject,scaleX,scaleY);const cursor=documentDataModel.getBody().dataStream.length-2||0;(_a2=scene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN))==null||_a2.scrollToViewportPos({viewportScrollX:Number.POSITIVE_INFINITY}),this._textSelectionManagerService.replaceTextRanges([{startOffset:cursor,endOffset:cursor}]),(_b2=this._renderManagerService.getRenderById(unitId))==null||_b2.scene.resetCursor()}_resetBodyStyle(body,removeStyle=!1){body.dataStream=core.DEFAULT_EMPTY_DOCUMENT_VALUE,body.textRuns!=null&&(body.textRuns.length===1&&!removeStyle?(body.textRuns[0].st=0,body.textRuns[0].ed=1):body.textRuns=void 0),body.paragraphs!=null&&(body.paragraphs.length===1?body.paragraphs[0].startIndex=0:body.paragraphs=[{startIndex:0}]),body.sectionBreaks!=null&&(body.sectionBreaks=void 0),body.tables!=null&&(body.tables=void 0),body.customRanges!=null&&(body.customRanges=void 0),body.customBlocks!=null&&(body.customBlocks=void 0)}_initialKeyboardListener(d){d.add(this._textSelectionRenderManager.onInputBefore$.subscribe(config=>{}))}_showEditorByKeyboard(config){}_commandExecutedListener(d){const moveCursorOP=[SetTextEditArrowOperation.id],editedMutations=[docs.RichTextEditingMutation.id];d.add(this._commandService.onCommandExecuted(command=>{this._editorService.getFocusId()===SLIDE_EDITOR_ID&&(moveCursorOP.includes(command.id)&&this._moveCursorCmdHandler(command),editedMutations.includes(command.id)&&this._editorBridgeService.isVisible()&&this._editingChangedHandler())}))}_moveCursorCmdHandler(command){const params=command.params,{keycode,isShift}=params;keycode!=null&&this._cursorChange===CursorChange.CursorChange?this._moveInEditor(keycode,isShift):this._editorBridgeService.changeVisible(params)}_editingChangedHandler(){const editRect=this._editorBridgeService.getEditorRect();if(!editRect)return;const editingRichText=editRect.richTextObj;editingRichText.refreshDocumentByDocData(),editingRichText.resizeToContentSize();const{unitId}=this._renderContext;this._handleEditorVisible({visible:!0,eventType:3,unitId})}_setOpenForCurrent(unitId,subUnitId){const editors=this._editorService.getAllEditor();for(const[_,ed]of editors)ed.setOpenForSheetUnitId(unitId),ed.setOpenForSheetSubUnitId(subUnitId)}_getEditorObject(){return getEditorObject(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}async _handleEditorInvisible(param){const{keycode}=param;if(this._setOpenForCurrent(null,null),this._cursorChange=CursorChange.InitialState,this._exitInput(param),this._editorBridgeService.getEditRectState()==null)return;if(this._editorBridgeService.getEditorDirty()===!1){this._moveCursor(keycode);return}this._moveCursor(keycode)}_exitInput(param){this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._cellEditorManagerService.setState({show:param.visible});const editorUnitId=this._editorBridgeService.getCurrentEditorId();editorUnitId!=null&&this._undoRedoService.clearUndoRedo(editorUnitId)}_moveCursor(keycode){if(keycode!=null)switch(core.Direction.LEFT,keycode){case ui.KeyCode.ENTER:core.Direction.DOWN;break;case ui.KeyCode.TAB:core.Direction.RIGHT;break;case ui.KeyCode.ARROW_DOWN:core.Direction.DOWN;break;case ui.KeyCode.ARROW_UP:core.Direction.UP;break;case ui.KeyCode.ARROW_LEFT:core.Direction.LEFT;break;case ui.KeyCode.ARROW_RIGHT:core.Direction.RIGHT;break}}_cursorStateListener(d){const editorObject=this._getEditorObject(),{document:documentComponent}=editorObject;d.add(core.toDisposable(documentComponent.onPointerDown$.subscribeEvent(()=>{this._cursorChange===CursorChange.StartEditor&&(this._cursorChange=CursorChange.CursorChange)})))}_moveInEditor(keycode,isShift){let direction=core.Direction.LEFT;keycode===ui.KeyCode.ARROW_DOWN?direction=core.Direction.DOWN:keycode===ui.KeyCode.ARROW_UP?direction=core.Direction.UP:keycode===ui.KeyCode.ARROW_RIGHT&&(direction=core.Direction.RIGHT),isShift?this._commandService.executeCommand(docs.MoveSelectionOperation.id,{direction}):this._commandService.executeCommand(docs.MoveCursorOperation.id,{direction})}},__name(_h,"SlideEditingRenderController"),_h);SlideEditingRenderController=__decorateClass$2([__decorateParam$2(1,ui.ILayoutService),__decorateParam$2(2,core.IUndoRedoService),__decorateParam$2(3,core.IContextService),__decorateParam$2(4,core.IUniverInstanceService),__decorateParam$2(5,engineRender.IRenderManagerService),__decorateParam$2(6,ISlideEditorBridgeService),__decorateParam$2(7,ISlideEditorManagerService),__decorateParam$2(8,engineRender.ITextSelectionRenderManager),__decorateParam$2(9,core.Inject(docs.TextSelectionManagerService)),__decorateParam$2(10,core.ICommandService),__decorateParam$2(11,core.Inject(core.LocaleService)),__decorateParam$2(12,ui.IEditorService)],SlideEditingRenderController);function getEditorObject(unitId,renderManagerService){if(unitId==null)return;const currentRender=renderManagerService.getRenderById(unitId);if(currentRender==null)return;const{mainComponent,scene,engine,components}=currentRender,document2=mainComponent,docBackground=components.get(docs.DOCS_VIEW_KEY.BACKGROUND);return{document:document2,docBackground,scene,engine}}__name(getEditorObject,"getEditorObject");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");let SlideRenderService=(_i=class extends core.RxDisposable{constructor(_contextService,_instanceSrv,_renderManagerService){super(),this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,Promise.resolve().then(()=>this._init())}_init(){this._initSlideDataListener(),this._initContextListener()}_initSlideDataListener(){this._instanceSrv.getTypeOfUnitAdded$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(slideModel=>{this._createRenderer(slideModel==null?void 0:slideModel.getUnitId())}),this._instanceSrv.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slideModel=>{this._createRenderer(slideModel.getUnitId())}),this._instanceSrv.getTypeOfUnitDisposed$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(workbook=>this._disposeRenderer(workbook))}_createRenderer(unitId){unitId==null||this._instanceSrv.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE)==null||(this._renderManagerService.createRender(unitId),this._renderManagerService.setCurrent(unitId))}_disposeRenderer(workbook){const unitId=workbook.getUnitId();this._renderManagerService.removeRender(unitId)}_initContextListener(){}},__name(_i,"SlideRenderService"),_i);SlideRenderService=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SlideRenderService),__decorateParam$1(0,core.IContextService),__decorateParam$1(1,core.IUniverInstanceService),__decorateParam$1(2,engineRender.IRenderManagerService)],SlideRenderService);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const SLIDE_UI_PLUGIN_NAME="SLIDE_UI";exports2.UniverSlidesUIPlugin=(_j=class extends core.Plugin{constructor(_config={},_injector,_renderManagerService,_univerInstanceService){super(),this._config=_config,this._injector=_injector,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService}onStarting(){core.mergeOverrideWithDependencies([[SlideRenderService],[ISlideEditorBridgeService,{useClass:SlideEditorBridgeService}],[ISlideEditorManagerService,{useClass:SlideEditorManagerService}],[exports2.SlideCanvasPopMangerService]],this._config.override).forEach(d=>this._injector.add(d))}onReady(){[[SlideRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),core.mergeOverrideWithDependencies([[exports2.CanvasView],[exports2.SlidesUIController,{useFactory:__name(()=>this._injector.createInstance(exports2.SlidesUIController,this._config),"useFactory")}],[SlideRenderController],[SlidePopupMenuController]],this._config.override).forEach(m2=>{this._injector.add(m2)}),this._injector.get(exports2.CanvasView)}onRendered(){[[SlideEditorBridgeRenderController],[SlideEditingRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),this._markSlideAsFocused()}_markSlideAsFocused(){const currentService=this._univerInstanceService;try{const slideDataModel=currentService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);currentService.focusUnit(slideDataModel.getUnitId())}catch{}}},__name(_j,"UniverSlidesUIPlugin"),__publicField(_j,"pluginName",SLIDE_UI_PLUGIN_NAME),__publicField(_j,"type",core.UniverInstanceType.UNIVER_SLIDE),_j),exports2.UniverSlidesUIPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService),__decorateParam(3,core.IUniverInstanceService)],exports2.UniverSlidesUIPlugin),exports2.ActivateSlidePageOperation=ActivateSlidePageOperation,exports2.AppendSlideOperation=AppendSlideOperation,exports2.DeleteSlideElementOperation=DeleteSlideElementOperation,exports2.IMAGE_MENU_ID=IMAGE_MENU_ID,exports2.ISlideEditorBridgeService=ISlideEditorBridgeService,exports2.InsertSlideFloatImageOperation=InsertSlideFloatImageOperation,exports2.InsertSlideShapeRectangleCommand=InsertSlideShapeRectangleCommand,exports2.InsertSlideShapeRectangleOperation=InsertSlideShapeRectangleOperation,exports2.SHAPE_MENU_ID=SHAPE_MENU_ID,exports2.SLIDE_EDITOR_ID=SLIDE_EDITOR_ID,exports2.SetSlidePageThumbOperation=SetSlidePageThumbOperation,exports2.SlideAddTextCommand=SlideAddTextCommand,exports2.SlideAddTextOperation=SlideAddTextOperation,exports2.SlideEditorContainer=SlideEditorContainer,exports2.SlideSideBar=SlideSideBar,exports2.UpdateSlideElementOperation=UpdateSlideElementOperation,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
9
+ */var f=React,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q"),reactJsxRuntime_production_min.Fragment=l,reactJsxRuntime_production_min.jsx=q,reactJsxRuntime_production_min.jsxs=q,jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;const UpdateSlideElementOperation={id:"slide.operation.update-element",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const{oKey,props}=params,univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params==null?void 0:params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage();return activePage.pageElements[oKey]=core.Tools.deepMerge(activePage.pageElements[oKey],props),slideData.updatePage(activePage.id,activePage),!0},"handler")},styles$5={imageCommonPanel:"univer-image-common-panel",imageCommonPanelGrid:"univer-image-common-panel-grid",imageCommonPanelBorder:"univer-image-common-panel-border",imageCommonPanelTitle:"univer-image-common-panel-title",imageCommonPanelSubtitle:"univer-image-common-panel-subtitle",imageCommonPanelRow:"univer-image-common-panel-row",imageCommonPanelRowVertical:"univer-image-common-panel-row-vertical",imageCommonPanelColumn:"univer-image-common-panel-column",imageCommonPanelColumnCenter:"univer-image-common-panel-column-center",imageCommonPanelInline:"univer-image-common-panel-inline",imageCommonPanelSpan2:"univer-image-common-panel-span2",imageCommonPanelSpan3:"univer-image-common-panel-span3",imageCommonPanelInput:"univer-image-common-panel-input",slidePanelColorPicker:"univer-slide-panel-color-picker"};function ArrangePanel$1(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports2.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const onArrangeBtnClick=__name(arrangeType=>{const allObjects=scene.getAllObjects(),[minZIndex,maxZIndex]=allObjects.reduce(([min,max],obj)=>{const zIndex2=obj.zIndex,minZIndex2=zIndex2<min?zIndex2:min,maxZIndex2=zIndex2>max?zIndex2:max;return[minZIndex2,maxZIndex2]},[0,0]);let zIndex=object.zIndex;arrangeType===3?zIndex=minZIndex-1:arrangeType===2?zIndex=maxZIndex+1:arrangeType===0?zIndex=object.zIndex+1:arrangeType===1&&(zIndex=object.zIndex-1),object.setProps({zIndex}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{zIndex}})},"onArrangeBtnClick");return jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.arrange.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(0)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveUpSingle,{}),localeService.t("image-panel.arrange.forward")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(1)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(MoveDownSingle,{}),localeService.t("image-panel.arrange.backward")]})})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(2)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(TopmostSingle,{}),localeService.t("image-panel.arrange.front")]})})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Button,{size:"small",onClick:__name(()=>{onArrangeBtnClick(3)},"onClick"),children:jsxRuntimeExports.jsxs("span",{className:styles$5.imageCommonPanelInline,children:[jsxRuntimeExports.jsx(BottomSingle,{}),localeService.t("image-panel.arrange.back")]})})})]})]})}__name(ArrangePanel$1,"ArrangePanel$1");function TransformPanel(props){const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports2.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const{width:originWidth=0,height:originHeight=0,left:originX=0,top:originY=0,angle:originRotation=0}=object,[width,setWidth]=React.useState(originWidth),[height,setHeight]=React.useState(originHeight),[xPosition,setXPosition]=React.useState(originX),[yPosition,setYPosition]=React.useState(originY),[rotation,setRotation]=React.useState(originRotation),changeObs=__name(state=>{const{objects}=state,object2=objects.values().next().value,{width:originWidth2=0,height:originHeight2=0,left:originX2=0,top:originY2=0,angle:originRotation2=0}=object2;setWidth(originWidth2),setHeight(originHeight2),setXPosition(originX2),setYPosition(originY2),setRotation(originRotation2)},"changeObs");React.useEffect(()=>{const changeStartSub=transformer.changeStart$.subscribe(state=>{changeObs(state)}),changingSub=transformer.changing$.subscribe(state=>{changeObs(state)});return()=>{changingSub.unsubscribe(),changeStartSub.unsubscribe()}},[]);function handleWidthChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{width:val}}),object==null||object.resize(val,object.height),setWidth(val),transformer==null||transformer.refreshControls())}__name(handleWidthChange,"handleWidthChange");function handleHeightChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{height:val}}),object==null||object.resize(object.width,val),setHeight(val),transformer==null||transformer.refreshControls())}__name(handleHeightChange,"handleHeightChange");function handleXChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{left:val}}),object==null||object.translate(val,object.top),setXPosition(val),transformer==null||transformer.refreshControls())}__name(handleXChange,"handleXChange");function handleYChange(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{right:val}}),object==null||object.translate(object.left,val),setYPosition(val),transformer==null||transformer.refreshControls())}__name(handleYChange,"handleYChange");function handleChangeRotation(val){!val||!object||(commandService.executeCommand(UpdateSlideElementOperation.id,{pageId,oKey:object.oKey,props:{angle:val}}),object==null||object.transformByState({angle:val}),setRotation(val),transformer==null||transformer.refreshControls())}return __name(handleChangeRotation,"handleChangeRotation"),jsxRuntimeExports.jsxs("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("image-panel.transform.title")})})}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.width")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:width,onChange:__name(val=>{handleWidthChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.height")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,min:1,value:height,onChange:__name(val=>{handleHeightChange(val)},"onChange")})})})]})})]}),jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelRow,children:[jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.x")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:xPosition,onChange:__name(val=>{handleXChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.y")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,min:0,value:yPosition,onChange:__name(val=>{handleYChange(val)},"onChange")})})})]})}),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan3),children:jsxRuntimeExports.jsxs("label",{children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:localeService.t("image-panel.transform.rotate")})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelColumn,children:jsxRuntimeExports.jsx(design.InputNumber,{className:styles$5.imageCommonPanelInput,precision:1,value:rotation,onChange:handleChangeRotation})})})]})})]})]})}__name(TransformPanel,"TransformPanel");function ArrangePanel(props){var _a2,_b2;const{pageId,unitId}=props,localeService=core.useDependency(core.LocaleService),canvasView=core.useDependency(exports2.CanvasView),commandService=core.useDependency(core.ICommandService),page=canvasView.getRenderUnitByPageId(pageId,unitId),scene=page==null?void 0:page.scene;if(!scene)return null;const transformer=scene.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const[color,setColor]=React.useState((_b2=(_a2=object.fill)==null?void 0:_a2.toString())!=null?_b2:"");function handleChangeColor(color2){object==null||object.setProps({fill:color2}),commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object==null?void 0:object.oKey,props:{shape:{shapeProperties:{shapeBackgroundFill:{rgb:color2}}}}}),setColor(color2)}return __name(handleChangeColor,"handleChangeColor"),jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelGrid,styles$5.imageCommonPanelBorder),children:jsxRuntimeExports.jsxs("div",{className:styles$5.imageCommonPanelGrid,children:[jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelTitle),children:jsxRuntimeExports.jsx("div",{children:localeService.t("slide.panel.fill.title")})})}),jsxRuntimeExports.jsx("div",{className:styles$5.imageCommonPanelRow,children:jsxRuntimeExports.jsx("div",{className:clsx(styles$5.imageCommonPanelColumn,styles$5.imageCommonPanelSpan2),children:jsxRuntimeExports.jsx(design.Dropdown,{align:{offset:[0,18]},overlay:jsxRuntimeExports.jsx("section",{className:styles$5.slidePanelColorPicker,children:jsxRuntimeExports.jsx(design.ColorPicker,{color:"#fff",onChange:handleChangeColor})}),children:jsxRuntimeExports.jsxs("a",{className:styles$5.uiPluginSheetsBorderPanelButton,children:[jsxRuntimeExports.jsx(PaintBucket,{extend:{colorChannel1:color!=null?color:"rgb(var(--primary-color))"}}),jsxRuntimeExports.jsx("span",{className:styles$5.uiPluginSheetsBorderPanelMoreIcon,children:jsxRuntimeExports.jsx(MoreDownSingle,{})})]})})})})]})})}__name(ArrangePanel,"ArrangePanel");const styles$4={imageCommonPanel:"univer-image-common-panel",imageCommonPanelGrid:"univer-image-common-panel-grid",imageCommonPanelBorder:"univer-image-common-panel-border",imageCommonPanelTitle:"univer-image-common-panel-title",imageCommonPanelSubtitle:"univer-image-common-panel-subtitle",imageCommonPanelRow:"univer-image-common-panel-row",imageCommonPanelRowVertical:"univer-image-common-panel-row-vertical",imageCommonPanelColumn:"univer-image-common-panel-column",imageCommonPanelColumnCenter:"univer-image-common-panel-column-center",imageCommonPanelInline:"univer-image-common-panel-inline",imageCommonPanelSpan2:"univer-image-common-panel-span2",imageCommonPanelSpan3:"univer-image-common-panel-span3",imageCommonPanelInput:"univer-image-common-panel-input"},COMPONENT_SLIDE_SIDEBAR="COMPONENT_SLIDE_SIDEBAR";function RectSidebar(){var _a2,_b2,_c2;const univerInstanceService=core.useDependency(core.IUniverInstanceService),canvasView=core.useDependency(exports2.CanvasView),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pageId=(_a2=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a2.id;if(!pageId)return null;const transformer=(_b2=canvasView.getRenderUnitByPageId(pageId,pageId).scene)==null?void 0:_b2.getTransformer();if(!transformer)return null;const object=transformer.getSelectedObjectMap().values().next().value;if(!object)return null;const unitId=((_c2=univerInstanceService.getFocusedUnit())==null?void 0:_c2.getUnitId())||"";return jsxRuntimeExports.jsxs("section",{className:styles$4.imageCommonPanel,children:[jsxRuntimeExports.jsx(ArrangePanel$1,{pageId,unitId}),jsxRuntimeExports.jsx(TransformPanel,{pageId,unitId}),object.objectType===engineRender.ObjectType.RECT&&jsxRuntimeExports.jsx(ArrangePanel,{pageId,unitId})]})}__name(RectSidebar,"RectSidebar");const InsertSlideShapeRectangleCommand={id:"slide.command.insert-float-shape",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a2;const commandService=accessor.get(core.ICommandService),unitId=(_a2=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a2.getUnitId();return commandService.executeCommand(InsertSlideShapeRectangleOperation.id,{unitId})},"handler")},InsertSlideShapeRectangleOperation={id:"slide.operation.insert-float-shape",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const id=core.generateRandomId(6),univerInstanceService=accessor.get(core.IUniverInstanceService),unitId=params.unitId,slideData=univerInstanceService.getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):20,data={id,zIndex:maxIndex+1,left:378,top:142,width:250,height:250,title:id,description:"",type:core.PageElementType.SHAPE,shape:{shapeType:core.BasicShapes.Rect,text:"",shapeProperties:{shapeBackgroundFill:{rgb:"rgb(0,0,255)"}}}};activePage.pageElements[id]=data,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports2.CanvasView),sceneObject=canvasview.createObjectToPage(data,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},ToggleSlideEditSidebarOperation={id:"sidebar.operation.slide-shape",type:core.CommandType.COMMAND,handler:__name(async(accessor,params)=>{const{visible,objectType}=params,sidebarService=accessor.get(ui.ISidebarService),localeService=accessor.get(core.LocaleService);let title="",children="";return objectType===engineRender.ObjectType.RECT?(title="slide.sidebar.shape",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.IMAGE?(title="slide.sidebar.image",children=COMPONENT_SLIDE_SIDEBAR):objectType===engineRender.ObjectType.RICH_TEXT&&(title="slide.sidebar.text",children=COMPONENT_SLIDE_SIDEBAR),visible?sidebarService.open({header:{title:localeService.t(title)},children:{label:children},onClose:__name(()=>{},"onClose"),width:360}):sidebarService.close(),!0},"handler")},SlideAddTextCommand={id:"slide.command.add-text",type:core.CommandType.COMMAND,handler:__name(async accessor=>{var _a2;const commandService=accessor.get(core.ICommandService),unitId=(_a2=accessor.get(core.IUniverInstanceService).getFocusedUnit())==null?void 0:_a2.getUnitId();return await commandService.executeCommand(SlideAddTextOperation.id,{unitId})},"handler")},SlideAddTextOperation={id:"slide.operation.add-text",type:core.CommandType.OPERATION,handler:__name(async(accessor,params)=>{const unitId=params.unitId,elementId=core.generateRandomId(6),defaultWidth=220,defaultheight=40,left=230,top=142,textContent=(params==null?void 0:params.text)||"A New Text",slideData=accessor.get(core.IUniverInstanceService).getUnit(unitId);if(!slideData)return!1;const activePage=slideData.getActivePage(),elements=Object.values(activePage.pageElements),maxIndex=elements!=null&&elements.length?Math.max(...elements.map(element2=>element2.zIndex)):21,elementData={id:elementId,zIndex:maxIndex+1,left,top,width:defaultWidth,height:defaultheight,title:"text",description:"",type:core.PageElementType.TEXT,richText:{text:textContent,fs:30,cl:{rgb:"rgb(51, 51, 51)"},bl:1}};activePage.pageElements[elementId]=elementData,slideData.updatePage(activePage.id,activePage);const canvasview=accessor.get(exports2.CanvasView),sceneObject=canvasview.createObjectToPage(elementData,activePage.id,unitId);return sceneObject&&canvasview.setObjectActiveByPage(sceneObject,activePage.id,unitId),!0},"handler")},SetSlidePageThumbOperation={id:"slide.operation.set-slide-page-thumb",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>(accessor.get(exports2.CanvasView).createThumbs(params.unitId),!0),"handler")},SetTextEditArrowOperation={id:"slide.operation.edit-arrow",type:core.CommandType.OPERATION,handler:__name(()=>!0,"handler")},styles$3={imagePopupMenu:"univer-image-popup-menu",imagePopupMenuItem:"univer-image-popup-menu-item",imagePopupMenuItemIcon:"univer-image-popup-menu-item-icon",imagePopupMenuItemTitle:"univer-image-popup-menu-item-title",imagePopupMenuItemHide:"univer-image-popup-menu-item-hide",btnContainer:"univer-btn-container",btnContainerExpand:"univer-btn-container-expand"},SlideImagePopupMenu=__name(props=>{var _a2,_b2;const menuItems=(_b2=(_a2=props.popup)==null?void 0:_a2.extraProps)==null?void 0:_b2.menuItems;if(!menuItems)return null;const commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),[visible,setVisible]=React.useState(!1),[isHovered,setHovered]=React.useState(!1),handleMouseEnter=__name(()=>{setHovered(!0)},"handleMouseEnter"),handleMouseLeave=__name(()=>{setHovered(!1)},"handleMouseLeave"),onVisibleChange=__name(visible2=>{setVisible(visible2)},"onVisibleChange"),handleClick=__name(item=>{commandService.executeCommand(item.commandId,item.commandParams),setVisible(!1)},"handleClick"),showMore=visible||isHovered,availableMenu=menuItems.filter(item=>!item.disable);return jsxRuntimeExports.jsx("div",{onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,children:jsxRuntimeExports.jsx(design.Dropdown,{placement:"bottomLeft",trigger:["click"],overlay:jsxRuntimeExports.jsx("ul",{className:styles$3.imagePopupMenu,children:availableMenu.map(item=>jsxRuntimeExports.jsx("li",{onClick:__name(()=>handleClick(item),"onClick"),className:styles$3.imagePopupMenuItem,children:jsxRuntimeExports.jsx("span",{className:styles$3.imagePopupMenuItemTitle,children:localeService.t(item.label)})},item.index))}),visible,onVisibleChange,children:jsxRuntimeExports.jsxs("div",{className:clsx(styles$3.btnContainer,{[styles$3.btnContainerExpand]:visible}),children:[jsxRuntimeExports.jsx(Autofill,{style:{color:"#35322B"},extend:{colorChannel1:"rgb(var(--green-700, #409f11))"}}),showMore&&jsxRuntimeExports.jsx(MoreDownSingle,{style:{color:"#CCCCCC",fontSize:"8px",marginLeft:"8px"}})]})})})},"SlideImagePopupMenu"),COMPONENT_SLIDE_IMAGE_POPUP_MENU="COMPONENT_SLIDE_IMAGE_POPUP_MENU",styles$2={uploadFileMenu:"univer-upload-file-menu",uploadFileMenuInput:"univer-upload-file-menu-input"},COMPONENT_UPLOAD_FILE_MENU="SLIDE_COMPONENT_UPLOAD_FILE_MENU";var UploadFileType=(UploadFileType2=>(UploadFileType2[UploadFileType2.cellImage=0]="cellImage",UploadFileType2[UploadFileType2.floatImage=1]="floatImage",UploadFileType2))(UploadFileType||{});const UploadFileMenu=__name(props=>{const{type}=props,commandService=core.useDependency(core.ICommandService),univerInstanceService=core.useDependency(core.IUniverInstanceService),focused=ui.useObservable(univerInstanceService.focused$),fileInputRef=React.useRef(null),handleButtonClick=__name(()=>{var _a2;(_a2=fileInputRef.current)==null||_a2.click()},"handleButtonClick"),imageAccept=drawing.DRAWING_IMAGE_ALLOW_IMAGE_LIST.map(image=>`.${image.replace("image/","")}`).join(","),handleFileChange=__name(event=>{const fileList=event.target.files;if(fileList==null)return;const files=Array.from(fileList);type===UploadFileType.floatImage&&commandService.executeCommand(InsertSlideFloatImageOperation.id,{files,unitId:focused}),fileInputRef.current&&(fileInputRef.current.value="")},"handleFileChange");return jsxRuntimeExports.jsx("div",{onClick:handleButtonClick,className:styles$2.uploadFileMenu,children:jsxRuntimeExports.jsx("input",{type:"file",className:styles$2.uploadFileMenuInput,ref:fileInputRef,onChange:handleFileChange,accept:imageAccept,multiple:!0})})},"UploadFileMenu"),_SlideEditorManagerService=class _SlideEditorManagerService{constructor(){__publicField(this,"_state",null);__publicField(this,"_rect",null);__publicField(this,"_state$",new rxjs.BehaviorSubject(null));__publicField(this,"state$",this._state$.asObservable());__publicField(this,"_rect$",new rxjs.BehaviorSubject(null));__publicField(this,"rect$",this._rect$.asObservable());__publicField(this,"_focus",!1);__publicField(this,"_focus$",new rxjs.BehaviorSubject(this._focus));__publicField(this,"focus$",this._focus$.asObservable())}dispose(){this._state$.complete(),this._state=null,this._rect$.complete(),this._rect=null}setState(param){this._state=param,this._refresh(param)}getRect(){return this._rect}setRect(param){this._rect=param,this._rect$.next(param)}getState(){return this._state}setFocus(param=!1){this._focus=param,this._focus$.next(param)}_refresh(param){this._state$.next(param)}};__name(_SlideEditorManagerService,"SlideEditorManagerService");let SlideEditorManagerService=_SlideEditorManagerService;const ISlideEditorManagerService=core.createIdentifier("univer.slide-editor-manager.service"),SLIDE_EDITOR_ID=core.createInternalEditorID("SLIDE_EDITOR"),styles$1={slideEditorContainer:"univer-slide-editor-container",editorInput:"univer-editor-input"},HIDDEN_EDITOR_POSITION$1=-1e3,EDITOR_DEFAULT_POSITION={width:0,height:0,top:HIDDEN_EDITOR_POSITION$1,left:HIDDEN_EDITOR_POSITION$1},SlideEditorContainer=__name(()=>{const[state,setState]=React.useState({...EDITOR_DEFAULT_POSITION}),slideEditorManagerService=core.useDependency(ISlideEditorManagerService),editorService=core.useDependency(ui.IEditorService),contextService=core.useDependency(core.IContextService),disableAutoFocus=ui.useObservable(()=>contextService.subscribeContextValue$(ui.DISABLE_AUTO_FOCUS_KEY),!1,void 0,[contextService,ui.DISABLE_AUTO_FOCUS_KEY]),snapshot={id:SLIDE_EDITOR_ID,body:{dataStream:`${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{documentFlavor:core.DocumentFlavor.MODERN}};return React.useEffect(()=>{slideEditorManagerService.state$.subscribe(param=>{if(param==null)return;const{startX=HIDDEN_EDITOR_POSITION$1,startY=HIDDEN_EDITOR_POSITION$1,endX=0,endY=0,show=!1}=param;if(!show)setState({...EDITOR_DEFAULT_POSITION});else{setState({width:endX-startX-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,height:endY-startY-engineRender.FIX_ONE_PIXEL_BLUR_OFFSET+2,left:startX+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,top:startY+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET});const editor=editorService.getEditor(SLIDE_EDITOR_ID);if(editor==null)return;const{left,top,width,height}=editor.getBoundingClientRect();slideEditorManagerService.setRect({left,top,width,height})}})},[]),React.useEffect(()=>{disableAutoFocus||slideEditorManagerService.setFocus(!0)},[disableAutoFocus,state]),jsxRuntimeExports.jsx("div",{className:styles$1.slideEditorContainer,style:{left:state.left,top:state.top,width:state.width,height:state.height},children:jsxRuntimeExports.jsx(ui.TextEditor,{id:SLIDE_EDITOR_ID,className:styles$1.editorInput,snapshot,cancelDefaultResizeListener:!1,isSheetEditor:!1,isSingle:!1})})},"SlideEditorContainer"),AppendSlideOperation={id:"slide.operation.append-slide",type:core.CommandType.OPERATION,handler:__name((accessor,params)=>{const unitId=params.unitId;return accessor.get(core.IUniverInstanceService).getUnit(unitId)?(accessor.get(exports2.CanvasView).appendPage(unitId),!0):!1},"handler")},styles={slideBar:"univer-slide-bar",slideBarContent:"univer-slide-bar-content",slideBarContentHeader:"univer-slide-bar-content-header",slideBarItem:"univer-slide-bar-item",slideBarBox:"univer-slide-bar-box",slideBarItemActive:"univer-slide-bar-item-active",slideAddButton:"univer-slide-add-button"};function SlideSideBar(){var _a2,_b2;const univerInstanceService=core.useDependency(core.IUniverInstanceService),commandService=core.useDependency(core.ICommandService),renderManagerService=core.useDependency(engineRender.IRenderManagerService),localeService=core.useDependency(core.LocaleService),slideBarRef=React.useRef(null),currentSlide=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=currentSlide==null?void 0:currentSlide.getPages(),pageOrder=currentSlide==null?void 0:currentSlide.getPageOrder();if(!pages||!pageOrder)return null;const slideList=pageOrder.map(id=>pages[id]),[divRefs,setDivRefs]=React.useState([]),[activatePageId,setActivatePageId]=React.useState((_b2=(_a2=currentSlide==null?void 0:currentSlide.getActivePage())==null?void 0:_a2.id)!=null?_b2:null);React.useEffect(()=>{setDivRefs(slideList.map(_=>React.createRef()))},[slideList.length]),React.useEffect(()=>{const subscriber=currentSlide==null?void 0:currentSlide.activePage$.subscribe(page=>{var _a3;const id=(_a3=page==null?void 0:page.id)!=null?_a3:null;id&&setActivatePageId(id)});return()=>{subscriber==null||subscriber.unsubscribe()}},[]),React.useEffect(()=>{divRefs.forEach((ref,index)=>{var _a3;if(ref.current){const slide=slideList[index];(_a3=renderManagerService.getRenderById(slide.id))==null||_a3.engine.setContainer(ref.current)}}),divRefs.length>0&&commandService.syncExecuteCommand(SetSlidePageThumbOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[divRefs,slideList,renderManagerService,commandService,currentSlide]);const activatePage=React.useCallback(page=>{commandService.syncExecuteCommand(ActivateSlidePageOperation.id,{id:page,unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]),handleAppendSlide=React.useCallback(()=>{commandService.syncExecuteCommand(AppendSlideOperation.id,{unitId:currentSlide==null?void 0:currentSlide.getUnitId()})},[commandService,currentSlide]);return jsxRuntimeExports.jsx("aside",{className:styles.slideBar,ref:slideBarRef,children:jsxRuntimeExports.jsx(design.Scrollbar,{children:jsxRuntimeExports.jsxs("div",{className:styles.slideBarContent,children:[jsxRuntimeExports.jsx("header",{className:styles.slideBarContentHeader,children:jsxRuntimeExports.jsx("a",{onClick:handleAppendSlide,children:localeService.t("slide.append")})}),slideList.map((item,index)=>jsxRuntimeExports.jsxs("div",{className:clsx(styles.slideBarItem,{[styles.slideBarItemActive]:item.id===activatePageId}),onClick:__name(()=>activatePage(item.id),"onClick"),children:[jsxRuntimeExports.jsx("span",{children:index+1}),jsxRuntimeExports.jsx("div",{ref:divRefs[index],className:styles.slideBarBox})]},item.id))]})})})}__name(SlideSideBar,"SlideSideBar");const IMAGE_UPLOAD_ICON="addition-and-subtraction-single",IMAGE_MENU_ID="slide.menu.image";function SlideImageMenuFactory(accessor){return{id:IMAGE_MENU_ID,type:ui.MenuItemType.SUBITEMS,icon:IMAGE_UPLOAD_ICON,tooltip:"slide.image.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideImageMenuFactory,"SlideImageMenuFactory");function UploadSlideFloatImageMenuFactory(_accessor){return{id:InsertSlideFloatImageOperation.id,title:"slide.image.insert.float",type:ui.MenuItemType.SELECTOR,label:{name:COMPONENT_UPLOAD_FILE_MENU,props:{type:UploadFileType.floatImage}},hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatImageMenuFactory,"UploadSlideFloatImageMenuFactory");const GRAPH_SINGLE_ICON="graph-single",SHAPE_MENU_ID="slide.menu.shape";function SlideShapeMenuFactory(accessor){return{id:SHAPE_MENU_ID,type:ui.MenuItemType.SUBITEMS,icon:GRAPH_SINGLE_ICON,tooltip:"slide.shape.insert.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideShapeMenuFactory,"SlideShapeMenuFactory");function UploadSlideFloatShapeMenuFactory(_accessor){return{id:InsertSlideShapeRectangleCommand.id,title:"slide.shape.insert.rectangle",type:ui.MenuItemType.BUTTON,hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(UploadSlideFloatShapeMenuFactory,"UploadSlideFloatShapeMenuFactory");function whenEditorActivated(contextService){return contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)&&contextService.getContextValue(core.EDITOR_ACTIVATED)}__name(whenEditorActivated,"whenEditorActivated");function whenFormulaEditorFocused(contextService){return contextService.getContextValue(core.FORMULA_EDITOR_ACTIVATED)&&contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR)}__name(whenFormulaEditorFocused,"whenFormulaEditorFocused");const ARROW_SELECTION_KEYCODE_LIST=[ui.KeyCode.ARROW_DOWN,ui.KeyCode.ARROW_UP,ui.KeyCode.ARROW_LEFT,ui.KeyCode.ARROW_RIGHT];[ui.KeyCode.ENTER,ui.KeyCode.TAB,...ARROW_SELECTION_KEYCODE_LIST];function generateArrowSelectionShortCutItem(){const shortcutList=[];for(const keycode of ARROW_SELECTION_KEYCODE_LIST)shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!1}}),shortcutList.push({id:SetTextEditArrowOperation.id,binding:keycode|ui.MetaKeys.SHIFT,preconditions:__name(contextService=>whenEditorActivated(contextService),"preconditions"),staticParameters:{visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode,isShift:!0}});return shortcutList}__name(generateArrowSelectionShortCutItem,"generateArrowSelectionShortCutItem");const EditorDeleteLeftShortcut={id:docs.DeleteLeftCommand.id,preconditions:__name(contextService=>whenEditorActivated(contextService)||whenFormulaEditorFocused(contextService),"preconditions"),binding:ui.KeyCode.BACKSPACE},TEXT_ICON_ID="text-single";function SlideAddTextMenuItemFactory(_accessor){return{id:SlideAddTextCommand.id,type:ui.MenuItemType.BUTTON,icon:TEXT_ICON_ID,tooltip:"slide.text.insert.title",hidden$:ui.getMenuHiddenObservable(_accessor,core.UniverInstanceType.UNIVER_SLIDE)}}__name(SlideAddTextMenuItemFactory,"SlideAddTextMenuItemFactory");const menuSchema={[ui.RibbonStartGroup.FORMAT]:{[SlideAddTextCommand.id]:{order:0,menuItemFactory:SlideAddTextMenuItemFactory},[IMAGE_MENU_ID]:{order:0,menuItemFactory:SlideImageMenuFactory,[InsertSlideFloatImageOperation.id]:{order:0,menuItemFactory:UploadSlideFloatImageMenuFactory}},[SHAPE_MENU_ID]:{order:0,menuItemFactory:SlideShapeMenuFactory,[InsertSlideShapeRectangleCommand.id]:{order:0,menuItemFactory:UploadSlideFloatShapeMenuFactory}}}};var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$7");exports2.SlidesUIController=(_c=class extends core.Disposable{constructor(_injector,_menuManagerService,_componentManager,_uiPartsService,_commandService,_shortcutService){super(),this._injector=_injector,this._menuManagerService=_menuManagerService,this._componentManager=_componentManager,this._uiPartsService=_uiPartsService,this._commandService=_commandService,this._shortcutService=_shortcutService,this._initCommands(),this._initCustomComponents(),this._initUIComponents(),this._initMenus(),this._initShortcuts()}_initMenus(){this._menuManagerService.mergeMenu(menuSchema)}_initCustomComponents(){const componentManager=this._componentManager;this.disposeWithMe(componentManager.register(IMAGE_UPLOAD_ICON,AddImageSingle)),this.disposeWithMe(componentManager.register(TEXT_ICON_ID,TextSingle)),this.disposeWithMe(componentManager.register(GRAPH_SINGLE_ICON,GraphSingle)),this.disposeWithMe(componentManager.register(COMPONENT_UPLOAD_FILE_MENU,UploadFileMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_IMAGE_POPUP_MENU,SlideImagePopupMenu)),this.disposeWithMe(componentManager.register(COMPONENT_SLIDE_SIDEBAR,RectSidebar))}_initCommands(){[AppendSlideOperation,ActivateSlidePageOperation,SetSlidePageThumbOperation,InsertSlideFloatImageOperation,SlideAddTextOperation,SlideAddTextCommand,InsertSlideShapeRectangleOperation,InsertSlideShapeRectangleCommand,ToggleSlideEditSidebarOperation,DeleteSlideElementOperation,UpdateSlideElementOperation,SetTextEditArrowOperation].forEach(command=>this.disposeWithMe(this._commandService.registerCommand(command)))}_initUIComponents(){this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.LEFT_SIDEBAR,()=>core.connectInjector(SlideSideBar,this._injector))),this.disposeWithMe(this._uiPartsService.registerComponent(ui.BuiltInUIPart.CONTENT,()=>core.connectInjector(SlideEditorContainer,this._injector)))}_initShortcuts(){[EditorDeleteLeftShortcut,...generateArrowSelectionShortCutItem()].forEach(item=>{this.disposeWithMe(this._shortcutService.registerShortcut(item))})}},__name(_c,"SlidesUIController"),_c),exports2.SlidesUIController=__decorateClass$7([core.OnLifecycle(core.LifecycleStages.Ready,exports2.SlidesUIController),__decorateParam$7(0,core.Inject(core.Injector)),__decorateParam$7(1,ui.IMenuManagerService),__decorateParam$7(2,core.Inject(ui.ComponentManager)),__decorateParam$7(3,ui.IUIPartsService),__decorateParam$7(4,core.ICommandService),__decorateParam$7(5,ui.IShortcutService)],exports2.SlidesUIController);var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");function transformBound2OffsetBound(originBound,scene){const topLeft=transformPosition2Offset(originBound.left,originBound.top,scene),bottomRight=transformPosition2Offset(originBound.right,originBound.bottom,scene);return{left:topLeft.x,top:topLeft.y,right:bottomRight.x,bottom:bottomRight.y}}__name(transformBound2OffsetBound,"transformBound2OffsetBound");function transformPosition2Offset(x,y,scene){const{scaleX,scaleY}=scene.getAncestorScale(),viewMain=scene.getViewport(slides.SLIDE_KEY.VIEW);if(!viewMain)return{x,y};const{viewportScrollX:actualScrollX,viewportScrollY:actualScrollY}=viewMain,offsetX=(x-actualScrollX)*scaleX,offsetY=(y-actualScrollY)*scaleY;return{x:offsetX,y:offsetY}}__name(transformPosition2Offset,"transformPosition2Offset"),exports2.SlideCanvasPopMangerService=(_d=class extends core.Disposable{constructor(_globalPopupManagerService,_renderManagerService,_univerInstanceService,_commandService){super(),this._globalPopupManagerService=_globalPopupManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService}_createObjectPositionObserver(targetObject,currentRender){const position=__name(()=>{var _a2,_b2,_c2,_d2;const{scene,engine}=currentRender,{left,top,width,height}=targetObject,horizontalOffset=(scene.width-((_b2=(_a2=currentRender.mainComponent)==null?void 0:_a2.width)!=null?_b2:0))/2,verticalOffset=(scene.height-((_d2=(_c2=currentRender.mainComponent)==null?void 0:_c2.height)!=null?_d2:0))/2,bound={left,right:left+width,top,bottom:top+height},canvasElement=engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=engineRender.pxToNum(canvasElement.style.width),{scaleX,scaleY}=scene.getAncestorScale(),offsetBound=transformBound2OffsetBound(bound,scene),{top:topOffset,left:leftOffset,width:domWidth}=canvasClientRect,scaleAdjust=domWidth/widthOfCanvas;return{left:offsetBound.left*scaleAdjust*scaleX+leftOffset+horizontalOffset,right:offsetBound.right*scaleAdjust*scaleX+leftOffset+horizontalOffset,top:offsetBound.top*scaleAdjust*scaleY+topOffset+verticalOffset,bottom:offsetBound.bottom*scaleAdjust*scaleY+topOffset+verticalOffset}},"calc")(),position$=new rxjs.BehaviorSubject(position),disposable=new core.DisposableCollection;return{position,position$,disposable}}attachPopupToObject(targetObject,popup){const unitId=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE).getUnitId(),currentRender=this._renderManagerService.getRenderById(unitId);if(!currentRender)return{dispose:__name(()=>{},"dispose")};const{position,position$,disposable}=this._createObjectPositionObserver(targetObject,currentRender),id=this._globalPopupManagerService.addPopup({...popup,unitId,subUnitId:"default",anchorRect:position,anchorRect$:position$,canvasElement:currentRender.engine.getCanvasElement()});return{dispose:__name(()=>{this._globalPopupManagerService.removePopup(id),position$.complete(),disposable.dispose()},"dispose")}}},__name(_d,"SlideCanvasPopMangerService"),_d),exports2.SlideCanvasPopMangerService=__decorateClass$6([__decorateParam$6(0,core.Inject(ui.ICanvasPopupService)),__decorateParam$6(1,engineRender.IRenderManagerService),__decorateParam$6(2,core.IUniverInstanceService),__decorateParam$6(3,core.ICommandService)],exports2.SlideCanvasPopMangerService);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");let SlidePopupMenuController=(_e=class extends core.RxDisposable{constructor(_canvasPopManagerService,_renderManagerService,_univerInstanceService,_contextService,_canvasView,_sidebarService,_commandService){super();__publicField(this,"_initImagePopupMenu",new Set);this._canvasPopManagerService=_canvasPopManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._contextService=_contextService,this._canvasView=_canvasView,this._sidebarService=_sidebarService,this._commandService=_commandService,this._init()}_init(){this._univerInstanceService.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slide=>this._create(slide))}_dispose(workbook){}_create(slide){if(!slide)return;const unitId=slide.getUnitId();this._renderManagerService.has(unitId)&&!this._initImagePopupMenu.has(unitId)&&(this._popupMenuListener(unitId),this._initImagePopupMenu.add(unitId))}_hasCropObject(scene){}_popupMenuListener(unitId){var _a2;const model=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE),pages=(_a2=model==null?void 0:model.getPages())!=null?_a2:{};Object.keys(pages).forEach(pageId=>{var _a3;const transformer=(_a3=this._canvasView.getRenderUnitByPageId(pageId,unitId).scene)==null?void 0:_a3.getTransformer();if(!transformer)return;let singletonPopupDisposer;this.disposeWithMe(core.toDisposable(transformer.createControl$.subscribe(()=>{const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;if(!object)return;const oKey=object.oKey;singletonPopupDisposer==null||singletonPopupDisposer.dispose(),singletonPopupDisposer=this.disposeWithMe(this._canvasPopManagerService.attachPopupToObject(object,{componentKey:COMPONENT_SLIDE_IMAGE_POPUP_MENU,direction:"horizontal",offset:[2,0],extraProps:{menuItems:this._getMenuItemsByObjectType(object.objectType,oKey,unitId)}})),this._sidebarService.visible&&this._commandService.executeCommand(ToggleSlideEditSidebarOperation.id,{visible:!0,objectType:object.objectType})}))),this.disposeWithMe(transformer.clearControl$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose(),this._contextService.setContextValue(core.FOCUSING_COMMON_DRAWINGS,!1)})),this.disposeWithMe(transformer.changing$.subscribe(()=>{singletonPopupDisposer==null||singletonPopupDisposer.dispose();const selectedObjects=transformer.getSelectedObjectMap();if(selectedObjects.size>1){singletonPopupDisposer==null||singletonPopupDisposer.dispose();return}const object=selectedObjects.values().next().value;object&&this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId,oKey:object.oKey,props:{width:object.width,height:object.height,left:object.left,top:object.top}})}))})}_getMenuItemsByObjectType(objectType,oKey,unitId){return[{label:"slide.popup.edit",index:0,commandId:ToggleSlideEditSidebarOperation.id,commandParams:{visible:!0,objectType},disable:!1},{label:"slide.popup.delete",index:5,commandId:DeleteSlideElementOperation.id,commandParams:{id:oKey,unitId},disable:!1}]}},__name(_e,"SlidePopupMenuController"),_e);SlidePopupMenuController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Steady,SlidePopupMenuController),__decorateParam$5(0,core.Inject(exports2.SlideCanvasPopMangerService)),__decorateParam$5(1,engineRender.IRenderManagerService),__decorateParam$5(2,core.IUniverInstanceService),__decorateParam$5(3,core.IContextService),__decorateParam$5(4,core.Inject(exports2.CanvasView)),__decorateParam$5(5,ui.ISidebarService),__decorateParam$5(6,core.ICommandService)],SlidePopupMenuController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");const ISlideEditorBridgeService=core.createIdentifier("univer.slide-editor-bridge.service");let SlideEditorBridgeService=(_f=class extends core.Disposable{constructor(_editorService,_contextService,_renderManagerService){super();__publicField(this,"_editorUnitId",SLIDE_EDITOR_ID);__publicField(this,"_isForceKeepVisible",!1);__publicField(this,"_editorIsDirty",!1);__publicField(this,"_currentEditRectState",null);__publicField(this,"_currentEditRectState$",new rxjs.BehaviorSubject(null));__publicField(this,"currentEditRectState$",this._currentEditRectState$.asObservable());__publicField(this,"_visibleParam",{visible:!1,eventType:engineRender.DeviceInputEventType.Dblclick,unitId:""});__publicField(this,"_visible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"visible$",this._visible$.asObservable());__publicField(this,"_afterVisible$",new rxjs.BehaviorSubject(this._visibleParam));__publicField(this,"afterVisible$",this._afterVisible$.asObservable());__publicField(this,"endEditing$",new rxjs.Subject);__publicField(this,"_currentEditRectInfo");this._editorService=_editorService,this._contextService=_contextService,this._renderManagerService=_renderManagerService}dispose(){super.dispose()}getEditorRect(){return this._currentEditRectInfo}setEditorRect(editorInfo){this._currentEditRectInfo=editorInfo,this._editorService.getFocusEditor()||(this._editorService.focus(SLIDE_EDITOR_ID),this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(core.FOCUSING_EDITOR_STANDALONE,!1),this._contextService.setContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE,!1));const editRectState=this.getEditRectState();this._currentEditRectState=editRectState,this._currentEditRectState$.next(editRectState)}changeVisible(param){this._visibleParam=param,param.visible&&(this._editorIsDirty=!1),this._visible$.next(this._visibleParam),this._afterVisible$.next(this._visibleParam)}getEditRectState(){const editorUnitId=SLIDE_EDITOR_ID,editorRectInfo=this._currentEditRectInfo,unitId=editorRectInfo.unitId,docData=editorRectInfo.richTextObj.documentData;docData.id=editorUnitId,docData.documentStyle={...docData.documentStyle,pageSize:{width:editorRectInfo.richTextObj.width,height:1/0}};const documentLayoutObject={documentModel:new core.DocumentDataModel(docData),fontString:"document",textRotation:{a:0,v:0},wrapStrategy:0,verticalAlign:core.VerticalAlign.TOP,horizontalAlign:core.HorizontalAlign.LEFT,paddingData:{t:0,b:1,l:2,r:2}},editorWidth=editorRectInfo.richTextObj.width,editorHeight=editorRectInfo.richTextObj.height,left=editorRectInfo.richTextObj.left,top=editorRectInfo.richTextObj.top,canvasOffset={left:0,top:0},renderUnit=this._renderManagerService.getRenderById(unitId),mainScene=renderUnit==null?void 0:renderUnit.scene,mainViewport=mainScene==null?void 0:mainScene.getViewport(slides.SLIDE_KEY.VIEW),slideMainRect=mainScene==null?void 0:mainScene.getObject(slides.SLIDE_KEY.COMPONENT),slidePos={x:(slideMainRect==null?void 0:slideMainRect.left)||0,y:(slideMainRect==null?void 0:slideMainRect.top)||0},scrollX=(mainViewport==null?void 0:mainViewport.viewportScrollX)||0,scrollY=(mainViewport==null?void 0:mainViewport.viewportScrollY)||0;return canvasOffset.left=slidePos.x-scrollX,canvasOffset.top=slidePos.y-scrollY,{position:{startX:left,startY:top,endX:left+editorWidth,endY:top+editorHeight},scaleX:1,scaleY:1,slideCardOffset:canvasOffset,unitId,editorUnitId,documentLayoutObject}}changeEditorDirty(dirtyStatus){this._editorIsDirty=dirtyStatus}isVisible(){return this._visibleParam.visible}getEditorDirty(){return this._editorIsDirty}getCurrentEditorId(){return this._editorUnitId}genDocData(target){const editorUnitId=this.getCurrentEditorId(),content=target.text,fontSize=target.fs;return{id:editorUnitId,body:{dataStream:`${content}\r
10
+ `,textRuns:[{st:0,ed:content.length}],paragraphs:[{paragraphStyle:{},startIndex:content.length+1}],sectionBreaks:[{startIndex:content.length+2}]},documentStyle:{marginBottom:0,marginLeft:0,marginRight:0,marginTop:0,pageSize:{width:1/0,height:1/0},textStyle:{fs:fontSize},renderConfig:{verticalAlign:core.VerticalAlign.MIDDLE,centerAngle:0,vertexAngle:0,wrapStrategy:0}},drawings:{},drawingsOrder:[],settings:{zoomRatio:1}}}},__name(_f,"SlideEditorBridgeService"),_f);SlideEditorBridgeService=__decorateClass$4([__decorateParam$4(0,ui.IEditorService),__decorateParam$4(1,core.IContextService),__decorateParam$4(2,engineRender.IRenderManagerService)],SlideEditorBridgeService);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");let SlideEditorBridgeRenderController=(_g=class extends core.RxDisposable{constructor(_renderContext,_instanceSrv,_commandService,_editorBridgeService){super();__publicField(this,"setSlideTextEditor$",new rxjs.Subject);__publicField(this,"_curRichText",null);__publicField(this,"_d");this._renderContext=_renderContext,this._instanceSrv=_instanceSrv,this._commandService=_commandService,this._editorBridgeService=_editorBridgeService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():this._disposeCurrent()}))}_init(){const d=new core.DisposableCollection;return this._initEventListener(d),d}_disposeCurrent(){var _a2;(_a2=this._d)==null||_a2.dispose(),this._d=null}_setEditorRect(pageId,targetObject){this._curRichText=targetObject;const{scene,engine}=this._renderContext,unitId=this._renderContext.unitId,setEditorRect={scene,engine,unitId,pageId,richTextObj:targetObject};this._editorBridgeService.setEditorRect(setEditorRect)}_initEventListener(d){const listenersForPageScene=__name(scene=>{const transformer=scene.getTransformer();transformer&&(d.add(transformer.clearControl$.subscribe(()=>{this.setEditorVisible(!1),this.pickOtherObjects()})),d.add(transformer.createControl$.subscribe(()=>{this.setEditorVisible(!1)})),d.add(scene.onDblclick$.subscribeEvent(()=>{transformer.clearControls();const object=transformer.getSelectedObjectMap().values().next().value;object&&(object.objectType!==engineRender.ObjectType.RICH_TEXT?this.pickOtherObjects():this.startEditing(scene.sceneKey,object))})),d.add(this._instanceSrv.focused$.subscribe(fc=>{this.endEditing()})))},"listenersForPageScene"),{mainComponent}=this._renderContext;mainComponent.subSceneChanged$.subscribeEvent(pageScene=>{listenersForPageScene(pageScene)});const pageSceneList=Array.from(mainComponent.getSubScenes().values());for(let i=0;i<pageSceneList.length;i++){const pageScene=pageSceneList[i];listenersForPageScene(pageScene)}}pickOtherObjects(){this.endEditing()}endEditing(){var _a2;if(!this._curRichText)return;this.setEditorVisible(!1);const curRichText=this._curRichText;if(!this._instanceSrv.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE))return!1;curRichText.refreshDocumentByDocData(),curRichText.resizeToContentSize(),this._editorBridgeService.endEditing$.next(curRichText);const richText={bl:1,fs:curRichText.fs,text:curRichText.text},textRuns=(_a2=curRichText.documentData.body)==null?void 0:_a2.textRuns;if(textRuns&&textRuns.length){const ts=textRuns[0].ts;richText.cl=ts==null?void 0:ts.cl}this._commandService.executeCommand(UpdateSlideElementOperation.id,{unitId:this._renderContext.unitId,oKey:curRichText==null?void 0:curRichText.oKey,props:{richText}}),this._curRichText=null}startEditing(pageId,target){this._setEditorRect(pageId,target),this.setEditorVisible(!0)}setEditorVisible(visible){var _a2,_b2;visible?(_a2=this._curRichText)==null||_a2.hide():(_b2=this._curRichText)==null||_b2.show();const{unitId}=this._renderContext;this._editorBridgeService.changeVisible({visible,eventType:engineRender.DeviceInputEventType.PointerDown,unitId})}},__name(_g,"SlideEditorBridgeRenderController"),_g);SlideEditorBridgeRenderController=__decorateClass$3([__decorateParam$3(1,core.IUniverInstanceService),__decorateParam$3(2,core.ICommandService),__decorateParam$3(3,ISlideEditorBridgeService)],SlideEditorBridgeRenderController);var CursorChange=(_CursorChange=>(_CursorChange[_CursorChange.InitialState=0]="InitialState",_CursorChange[_CursorChange.StartEditor=1]="StartEditor",_CursorChange[_CursorChange.CursorChange=2]="CursorChange",_CursorChange))(CursorChange||{}),__defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");const HIDDEN_EDITOR_POSITION=-1e3,EDITOR_INPUT_SELF_EXTEND_GAP=5,EDITOR_BORDER_SIZE=2;let SlideEditingRenderController=(_h=class extends core.Disposable{constructor(_renderContext,_layoutService,_undoRedoService,_contextService,_instanceSrv,_renderManagerService,_editorBridgeService,_cellEditorManagerService,_textSelectionRenderManager,_textSelectionManagerService,_commandService,_localService,_editorService){super();__publicField(this,"_cursorChange",CursorChange.InitialState);__publicField(this,"_isUnitEditing",!1);__publicField(this,"_d");this._renderContext=_renderContext,this._layoutService=_layoutService,this._undoRedoService=_undoRedoService,this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,this._editorBridgeService=_editorBridgeService,this._cellEditorManagerService=_cellEditorManagerService,this._textSelectionRenderManager=_textSelectionRenderManager,this._textSelectionManagerService=_textSelectionManagerService,this._commandService=_commandService,this._localService=_localService,this._editorService=_editorService,this.disposeWithMe(this._instanceSrv.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SLIDE).subscribe(slideDataModel=>{slideDataModel&&slideDataModel.getUnitId()===this._renderContext.unitId?this._d=this._init():(this._disposeCurrent(),this._isUnitEditing&&(this._handleEditorInvisible({visible:!1,eventType:engineRender.DeviceInputEventType.Keyboard,keycode:ui.KeyCode.ESC,unitId:this._renderContext.unitId}),this._isUnitEditing=!1))})),this._initEditorVisibilityListener()}dispose(){super.dispose(),this._disposeCurrent()}_disposeCurrent(){var _a2;(_a2=this._d)==null||_a2.dispose(),this._d=null}_init(){const d=new core.DisposableCollection;return this._subscribeToCurrentCell(d),this._initialKeyboardListener(d),this._initialCursorSync(d),this._listenEditorFocus(d),this._commandExecutedListener(d),setTimeout(()=>{this._cursorStateListener(d)},1e3),d}_initEditorVisibilityListener(){this.disposeWithMe(this._editorBridgeService.visible$.subscribe(param=>{param.visible?(this._isUnitEditing=!0,this._handleEditorVisible(param)):this._isUnitEditing&&(this._handleEditorInvisible(param),this._isUnitEditing=!1)}))}_listenEditorFocus(d){const renderConfig=this._getEditorObject();renderConfig&&d.add(renderConfig.document.onPointerDown$.subscribeEvent(()=>{}))}_getEditorSkeleton(editorId){var _a2;return(_a2=this._renderManagerService.getRenderById(editorId))==null?void 0:_a2.with(docs.DocSkeletonManagerService).getSkeleton()}_getEditorViewModel(editorId){var _a2;return(_a2=this._renderManagerService.getRenderById(editorId))==null?void 0:_a2.with(docs.DocSkeletonManagerService).getViewModel()}_initialCursorSync(d){d.add(this._cellEditorManagerService.focus$.pipe(rxjs.filter(f2=>!!f2)).subscribe(()=>{this._textSelectionRenderManager.sync()}))}_subscribeToCurrentCell(d){d.add(this._editorBridgeService.currentEditRectState$.subscribe(editCellState=>{if(editCellState==null||this._contextService.getContextValue(core.FOCUSING_EDITOR_STANDALONE)||this._contextService.getContextValue(core.FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE))return;const{position:{startX,endX},documentLayoutObject:{textRotation,wrapStrategy,documentModel},scaleX,editorUnitId}=editCellState,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation);documentModel.updateDocumentId(editorUnitId),wrapStrategy===core.WrapStrategy.WRAP&&angle===0&&documentModel.updateDocumentDataPageSize((endX-startX)/scaleX),this._instanceSrv.changeDoc(editorUnitId,documentModel),this._contextService.setContextValue(core.FOCUSING_EDITOR_BUT_HIDDEN,!0),this._textSelectionManagerService.replaceTextRanges([{startOffset:0,endOffset:0}]),this._textSelectionRenderManager.activate(HIDDEN_EDITOR_POSITION,HIDDEN_EDITOR_POSITION)}))}_fitTextSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,startY,endX,endY}=positionFromEditRectState,documentDataModel=documentLayoutObject.documentModel;if(documentDataModel==null)return;const{actualWidth,actualHeight}=this._predictingSize(positionFromEditRectState,canvasOffset,documentSkeleton,documentLayoutObject,scaleX,scaleY),{verticalAlign,paddingData,fill}=documentLayoutObject;let editorWidth=endX-startX,editorHeight=endY-startY;if(editorWidth<actualWidth&&(editorWidth=actualWidth),editorHeight<actualHeight)editorHeight=actualHeight,documentDataModel.updateDocumentDataMargin(paddingData);else{let offsetTop=0;verticalAlign===core.VerticalAlign.MIDDLE?offsetTop=(editorHeight-actualHeight)/2/scaleY:verticalAlign===core.VerticalAlign.TOP?offsetTop=paddingData.t||0:offsetTop=(editorHeight-actualHeight)/scaleY-(paddingData.b||0),offsetTop=offsetTop<(paddingData.t||0)?paddingData.t||0:offsetTop,documentDataModel.updateDocumentDataMargin({t:offsetTop})}documentSkeleton.calculate(),this._editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX,scaleY)}_predictingSize(actualRangeWithCoord,canvasOffset,documentSkeleton,documentLayoutObject,scaleX=1,scaleY=1){const{startX,endX}=actualRangeWithCoord,{textRotation,wrapStrategy}=documentLayoutObject,documentDataModel=documentLayoutObject.documentModel,{vertexAngle:angle}=engineRender.convertTextRotation(textRotation),clientWidth=document.body.clientWidth;if(wrapStrategy===core.WrapStrategy.WRAP&&angle===0){const{actualWidth,actualHeight}=documentSkeleton.getActualSize();return{actualWidth:actualWidth*scaleX,actualHeight:actualHeight*scaleY}}documentDataModel==null||documentDataModel.updateDocumentDataPageSize((clientWidth-startX-canvasOffset.left)/scaleX),documentSkeleton.calculate();const size=documentSkeleton.getActualSize();let editorWidth=endX-startX;return editorWidth<size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX&&(editorWidth=size.actualWidth*scaleX+EDITOR_INPUT_SELF_EXTEND_GAP*scaleX),documentDataModel==null||documentDataModel.updateDocumentDataPageSize(editorWidth/scaleX),documentDataModel==null||documentDataModel.updateDocumentRenderConfig({horizontalAlign:core.HorizontalAlign.UNSPECIFIED,cellValueType:void 0}),{actualWidth:editorWidth,actualHeight:size.actualHeight*scaleY}}_editAreaProcessing(editorWidth,editorHeight,positionFromEditRectState,canvasOffset,fill,scaleX=1,scaleY=1){var _a2;const editorObject=this._getEditorObject();if(editorObject==null)return;function pxToNum(width2){return Number.parseInt(width2.replace("px",""))}__name(pxToNum,"pxToNum");const canvasElement=this._renderContext.engine.getCanvasElement(),canvasClientRect=canvasElement.getBoundingClientRect(),widthOfCanvas=pxToNum(canvasElement.style.width),{top,left,width}=canvasClientRect,scaleAdjust=width/widthOfCanvas;let{startX,startY}=positionFromEditRectState;startX+=canvasOffset.left,startY+=canvasOffset.top;const{document:documentComponent,scene:editorScene,engine:docEngine}=editorObject,viewportMain=editorScene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN),clientHeight=document.body.clientHeight-startY-canvasOffset.top-EDITOR_BORDER_SIZE*2,clientWidth=document.body.clientWidth-startX-canvasOffset.left;let physicHeight=editorHeight,scrollBar=viewportMain==null?void 0:viewportMain.getScrollBar();physicHeight>clientHeight?(physicHeight=clientHeight,scrollBar==null?viewportMain&&new engineRender.ScrollBar(viewportMain,{enableHorizontal:!1,barSize:8}):viewportMain==null||viewportMain.resetCanvasSizeAndUpdateScroll()):(scrollBar=null,(_a2=viewportMain==null?void 0:viewportMain.getScrollBar())==null||_a2.dispose()),editorWidth+=(scrollBar==null?void 0:scrollBar.barSize)||0,editorWidth=Math.min(editorWidth,clientWidth),startX-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,startY-=engineRender.FIX_ONE_PIXEL_BLUR_OFFSET,this._addBackground(editorScene,editorWidth/scaleX,editorHeight/scaleY,fill);const{scaleX:precisionScaleX,scaleY:precisionScaleY}=editorScene.getPrecisionScale();editorScene.transformByState({width:editorWidth*scaleAdjust/scaleX,height:editorHeight*scaleAdjust/scaleY,scaleX:scaleX*scaleAdjust,scaleY:scaleY*scaleAdjust}),documentComponent.resize(editorWidth/scaleX,editorHeight/scaleY),setTimeout(()=>{docEngine.resizeBySize(engineRender.fixLineWidthByScale(editorWidth,precisionScaleX),engineRender.fixLineWidthByScale(physicHeight,precisionScaleY))},0);const contentBoundingRect=this._layoutService.getContentElement().getBoundingClientRect(),canvasBoundingRect=canvasElement.getBoundingClientRect();startX=startX*scaleAdjust+(canvasBoundingRect.left-contentBoundingRect.left),startY=startY*scaleAdjust+(canvasBoundingRect.top-contentBoundingRect.top),this._cellEditorManagerService.setState({startX,startY,endX:editorWidth*scaleAdjust+startX,endY:physicHeight*scaleAdjust+startY,show:!0})}_addBackground(scene,editorWidth,editorHeight,fill){const fillRectKey="_backgroundRectHelperColor_",rect=scene.getObject(fillRectKey);rect==null&&fill==null||(rect==null?scene.addObjects([new engineRender.Rect(fillRectKey,{width:editorWidth,height:editorHeight,fill,evented:!1})],docs.DOCS_COMPONENT_MAIN_LAYER_INDEX):fill==null?rect.dispose():(rect.setProps({fill}),rect.transformByState({width:editorWidth,height:editorHeight})))}_handleEditorVisible(param){var _a2,_b2;const{eventType}=param;this._cursorChange=[engineRender.DeviceInputEventType.PointerDown,engineRender.DeviceInputEventType.Dblclick].includes(eventType)?CursorChange.CursorChange:CursorChange.StartEditor;const editCellState=this._editorBridgeService.getEditRectState();if(editCellState==null)return;const{position,documentLayoutObject,slideCardOffset:canvasOffset,scaleX,scaleY,editorUnitId,unitId}=editCellState,editorObject=this._getEditorObject();if(editorObject==null)return;const{scene}=editorObject;this._contextService.setContextValue(core.EDITOR_ACTIVATED,!0);const{documentModel:documentDataModel}=documentLayoutObject,skeleton=this._getEditorSkeleton(editorUnitId);if(!skeleton||!documentDataModel)return;this._fitTextSize(position,canvasOffset,skeleton,documentLayoutObject,scaleX,scaleY);const cursor=documentDataModel.getBody().dataStream.length-2||0;(_a2=scene.getViewport(docs.VIEWPORT_KEY.VIEW_MAIN))==null||_a2.scrollToViewportPos({viewportScrollX:Number.POSITIVE_INFINITY}),this._textSelectionManagerService.replaceTextRanges([{startOffset:cursor,endOffset:cursor}]),(_b2=this._renderManagerService.getRenderById(unitId))==null||_b2.scene.resetCursor()}_resetBodyStyle(body,removeStyle=!1){body.dataStream=core.DEFAULT_EMPTY_DOCUMENT_VALUE,body.textRuns!=null&&(body.textRuns.length===1&&!removeStyle?(body.textRuns[0].st=0,body.textRuns[0].ed=1):body.textRuns=void 0),body.paragraphs!=null&&(body.paragraphs.length===1?body.paragraphs[0].startIndex=0:body.paragraphs=[{startIndex:0}]),body.sectionBreaks!=null&&(body.sectionBreaks=void 0),body.tables!=null&&(body.tables=void 0),body.customRanges!=null&&(body.customRanges=void 0),body.customBlocks!=null&&(body.customBlocks=void 0)}_initialKeyboardListener(d){d.add(this._textSelectionRenderManager.onInputBefore$.subscribe(config=>{}))}_showEditorByKeyboard(config){}_commandExecutedListener(d){const moveCursorOP=[SetTextEditArrowOperation.id],editedMutations=[docs.RichTextEditingMutation.id];d.add(this._commandService.onCommandExecuted(command=>{this._editorService.getFocusId()===SLIDE_EDITOR_ID&&(moveCursorOP.includes(command.id)&&this._moveCursorCmdHandler(command),editedMutations.includes(command.id)&&this._editorBridgeService.isVisible()&&this._editingChangedHandler())}))}_moveCursorCmdHandler(command){const params=command.params,{keycode,isShift}=params;keycode!=null&&this._cursorChange===CursorChange.CursorChange?this._moveInEditor(keycode,isShift):this._editorBridgeService.changeVisible(params)}_editingChangedHandler(){const editRect=this._editorBridgeService.getEditorRect();if(!editRect)return;const editingRichText=editRect.richTextObj;editingRichText.refreshDocumentByDocData(),editingRichText.resizeToContentSize();const{unitId}=this._renderContext;this._handleEditorVisible({visible:!0,eventType:3,unitId})}_setOpenForCurrent(unitId,subUnitId){const editors=this._editorService.getAllEditor();for(const[_,ed]of editors)ed.setOpenForSheetUnitId(unitId),ed.setOpenForSheetSubUnitId(subUnitId)}_getEditorObject(){return getEditorObject(this._editorBridgeService.getCurrentEditorId(),this._renderManagerService)}async _handleEditorInvisible(param){const{keycode}=param;if(this._setOpenForCurrent(null,null),this._cursorChange=CursorChange.InitialState,this._exitInput(param),this._editorBridgeService.getEditRectState()==null)return;if(this._editorBridgeService.getEditorDirty()===!1){this._moveCursor(keycode);return}this._moveCursor(keycode)}_exitInput(param){this._contextService.setContextValue(core.EDITOR_ACTIVATED,!1),this._cellEditorManagerService.setState({show:param.visible});const editorUnitId=this._editorBridgeService.getCurrentEditorId();editorUnitId!=null&&this._undoRedoService.clearUndoRedo(editorUnitId)}_moveCursor(keycode){if(keycode!=null)switch(core.Direction.LEFT,keycode){case ui.KeyCode.ENTER:core.Direction.DOWN;break;case ui.KeyCode.TAB:core.Direction.RIGHT;break;case ui.KeyCode.ARROW_DOWN:core.Direction.DOWN;break;case ui.KeyCode.ARROW_UP:core.Direction.UP;break;case ui.KeyCode.ARROW_LEFT:core.Direction.LEFT;break;case ui.KeyCode.ARROW_RIGHT:core.Direction.RIGHT;break}}_cursorStateListener(d){const editorObject=this._getEditorObject(),{document:documentComponent}=editorObject;d.add(core.toDisposable(documentComponent.onPointerDown$.subscribeEvent(()=>{this._cursorChange===CursorChange.StartEditor&&(this._cursorChange=CursorChange.CursorChange)})))}_moveInEditor(keycode,isShift){let direction=core.Direction.LEFT;keycode===ui.KeyCode.ARROW_DOWN?direction=core.Direction.DOWN:keycode===ui.KeyCode.ARROW_UP?direction=core.Direction.UP:keycode===ui.KeyCode.ARROW_RIGHT&&(direction=core.Direction.RIGHT),isShift?this._commandService.executeCommand(docs.MoveSelectionOperation.id,{direction}):this._commandService.executeCommand(docs.MoveCursorOperation.id,{direction})}},__name(_h,"SlideEditingRenderController"),_h);SlideEditingRenderController=__decorateClass$2([__decorateParam$2(1,ui.ILayoutService),__decorateParam$2(2,core.IUndoRedoService),__decorateParam$2(3,core.IContextService),__decorateParam$2(4,core.IUniverInstanceService),__decorateParam$2(5,engineRender.IRenderManagerService),__decorateParam$2(6,ISlideEditorBridgeService),__decorateParam$2(7,ISlideEditorManagerService),__decorateParam$2(8,engineRender.ITextSelectionRenderManager),__decorateParam$2(9,core.Inject(docs.TextSelectionManagerService)),__decorateParam$2(10,core.ICommandService),__decorateParam$2(11,core.Inject(core.LocaleService)),__decorateParam$2(12,ui.IEditorService)],SlideEditingRenderController);function getEditorObject(unitId,renderManagerService){if(unitId==null)return;const currentRender=renderManagerService.getRenderById(unitId);if(currentRender==null)return;const{mainComponent,scene,engine,components}=currentRender,document2=mainComponent,docBackground=components.get(docs.DOCS_VIEW_KEY.BACKGROUND);return{document:document2,docBackground,scene,engine}}__name(getEditorObject,"getEditorObject");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");let SlideRenderService=(_i=class extends core.RxDisposable{constructor(_contextService,_instanceSrv,_renderManagerService){super(),this._contextService=_contextService,this._instanceSrv=_instanceSrv,this._renderManagerService=_renderManagerService,Promise.resolve().then(()=>this._init())}_init(){this._initSlideDataListener(),this._initContextListener()}_initSlideDataListener(){this._instanceSrv.getTypeOfUnitAdded$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(slideModel=>{this._createRenderer(slideModel==null?void 0:slideModel.getUnitId())}),this._instanceSrv.getAllUnitsForType(core.UniverInstanceType.UNIVER_SLIDE).forEach(slideModel=>{this._createRenderer(slideModel.getUnitId())}),this._instanceSrv.getTypeOfUnitDisposed$(core.UniverInstanceType.UNIVER_SLIDE).pipe(rxjs.takeUntil(this.dispose$)).subscribe(workbook=>this._disposeRenderer(workbook))}_createRenderer(unitId){unitId==null||this._instanceSrv.getUnit(unitId,core.UniverInstanceType.UNIVER_SLIDE)==null||(this._renderManagerService.createRender(unitId),this._renderManagerService.setCurrent(unitId))}_disposeRenderer(workbook){const unitId=workbook.getUnitId();this._renderManagerService.removeRender(unitId)}_initContextListener(){}},__name(_i,"SlideRenderService"),_i);SlideRenderService=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SlideRenderService),__decorateParam$1(0,core.IContextService),__decorateParam$1(1,core.IUniverInstanceService),__decorateParam$1(2,engineRender.IRenderManagerService)],SlideRenderService);const PLUGIN_CONFIG_KEY="slides-ui.config",defaultPluginConfig={};var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");const SLIDE_UI_PLUGIN_NAME="SLIDE_UI";exports2.UniverSlidesUIPlugin=(_j=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_renderManagerService,_univerInstanceService,_configService){super(),this._config=_config,this._injector=_injector,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._configService=_configService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){core.mergeOverrideWithDependencies([[SlideRenderService],[ISlideEditorBridgeService,{useClass:SlideEditorBridgeService}],[ISlideEditorManagerService,{useClass:SlideEditorManagerService}],[exports2.SlideCanvasPopMangerService]],this._config.override).forEach(d=>this._injector.add(d))}onReady(){[[SlideRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),core.mergeOverrideWithDependencies([[exports2.CanvasView],[exports2.SlidesUIController],[SlideRenderController],[SlidePopupMenuController]],this._config.override).forEach(m2=>{this._injector.add(m2)}),this._injector.get(exports2.CanvasView)}onRendered(){[[SlideEditorBridgeRenderController],[SlideEditingRenderController]].forEach(m2=>{this.disposeWithMe(this._renderManagerService.registerRenderModule(core.UniverInstanceType.UNIVER_SLIDE,m2))}),this._markSlideAsFocused()}_markSlideAsFocused(){const currentService=this._univerInstanceService;try{const slideDataModel=currentService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SLIDE);currentService.focusUnit(slideDataModel.getUnitId())}catch{}}},__name(_j,"UniverSlidesUIPlugin"),__publicField(_j,"pluginName",SLIDE_UI_PLUGIN_NAME),__publicField(_j,"type",core.UniverInstanceType.UNIVER_SLIDE),_j),exports2.UniverSlidesUIPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService),__decorateParam(3,core.IUniverInstanceService),__decorateParam(4,core.IConfigService)],exports2.UniverSlidesUIPlugin),exports2.ActivateSlidePageOperation=ActivateSlidePageOperation,exports2.AppendSlideOperation=AppendSlideOperation,exports2.DeleteSlideElementOperation=DeleteSlideElementOperation,exports2.IMAGE_MENU_ID=IMAGE_MENU_ID,exports2.ISlideEditorBridgeService=ISlideEditorBridgeService,exports2.InsertSlideFloatImageOperation=InsertSlideFloatImageOperation,exports2.InsertSlideShapeRectangleCommand=InsertSlideShapeRectangleCommand,exports2.InsertSlideShapeRectangleOperation=InsertSlideShapeRectangleOperation,exports2.SHAPE_MENU_ID=SHAPE_MENU_ID,exports2.SLIDE_EDITOR_ID=SLIDE_EDITOR_ID,exports2.SetSlidePageThumbOperation=SetSlidePageThumbOperation,exports2.SlideAddTextCommand=SlideAddTextCommand,exports2.SlideAddTextOperation=SlideAddTextOperation,exports2.SlideEditorContainer=SlideEditorContainer,exports2.SlideSideBar=SlideSideBar,exports2.UpdateSlideElementOperation=UpdateSlideElementOperation,exports2.menuSchema=menuSchema,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/slides-ui",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "private": false,
5
5
  "description": "Univer normal ui-plugin-slides",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -53,19 +53,19 @@
53
53
  "clsx": ">=2.0.0",
54
54
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0",
55
55
  "rxjs": ">=7.0.0",
56
- "@univerjs/core": "0.2.10",
57
- "@univerjs/design": "0.2.10",
58
- "@univerjs/docs": "0.2.10",
59
- "@univerjs/drawing": "0.2.10",
60
- "@univerjs/engine-render": "0.2.10",
61
- "@univerjs/slides": "0.2.10",
62
- "@univerjs/ui": "0.2.10"
56
+ "@univerjs/core": "0.2.12",
57
+ "@univerjs/design": "0.2.12",
58
+ "@univerjs/docs": "0.2.12",
59
+ "@univerjs/engine-render": "0.2.12",
60
+ "@univerjs/slides": "0.2.12",
61
+ "@univerjs/ui": "0.2.12",
62
+ "@univerjs/drawing": "0.2.12"
63
63
  },
64
64
  "dependencies": {
65
65
  "@univerjs/icons": "^0.1.77"
66
66
  },
67
67
  "devDependencies": {
68
- "@types/react": "^18.3.4",
68
+ "@types/react": "^18.3.5",
69
69
  "clsx": "^2.1.1",
70
70
  "less": "^4.2.0",
71
71
  "react": "18.3.1",
@@ -73,14 +73,14 @@
73
73
  "typescript": "^5.5.4",
74
74
  "vite": "^5.4.2",
75
75
  "vitest": "^2.0.5",
76
- "@univerjs/core": "0.2.10",
77
- "@univerjs/drawing": "0.2.10",
78
- "@univerjs/docs": "0.2.10",
79
- "@univerjs/design": "0.2.10",
80
- "@univerjs/engine-render": "0.2.10",
81
- "@univerjs/slides": "0.2.10",
82
- "@univerjs/ui": "0.2.10",
83
- "@univerjs/shared": "0.2.10"
76
+ "@univerjs/design": "0.2.12",
77
+ "@univerjs/docs": "0.2.12",
78
+ "@univerjs/core": "0.2.12",
79
+ "@univerjs/drawing": "0.2.12",
80
+ "@univerjs/engine-render": "0.2.12",
81
+ "@univerjs/shared": "0.2.12",
82
+ "@univerjs/slides": "0.2.12",
83
+ "@univerjs/ui": "0.2.12"
84
84
  },
85
85
  "univerSpace": {
86
86
  ".": {