@univerjs/sheets-zen-editor 0.20.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/cjs/facade.js +160 -1
  2. package/lib/cjs/index.js +526 -1
  3. package/lib/cjs/locale/ca-ES.js +12 -1
  4. package/lib/cjs/locale/en-US.js +27 -1
  5. package/lib/cjs/locale/es-ES.js +12 -1
  6. package/lib/cjs/locale/fa-IR.js +12 -1
  7. package/lib/cjs/locale/fr-FR.js +12 -1
  8. package/lib/cjs/locale/ja-JP.js +12 -1
  9. package/lib/cjs/locale/ko-KR.js +12 -1
  10. package/lib/cjs/locale/ru-RU.js +12 -1
  11. package/lib/cjs/locale/sk-SK.js +12 -1
  12. package/lib/cjs/locale/vi-VN.js +12 -1
  13. package/lib/cjs/locale/zh-CN.js +12 -1
  14. package/lib/cjs/locale/zh-TW.js +12 -1
  15. package/lib/es/facade.js +161 -1
  16. package/lib/es/index.js +517 -1
  17. package/lib/es/locale/ca-ES.js +11 -1
  18. package/lib/es/locale/en-US.js +26 -1
  19. package/lib/es/locale/es-ES.js +11 -1
  20. package/lib/es/locale/fa-IR.js +11 -1
  21. package/lib/es/locale/fr-FR.js +11 -1
  22. package/lib/es/locale/ja-JP.js +11 -1
  23. package/lib/es/locale/ko-KR.js +11 -1
  24. package/lib/es/locale/ru-RU.js +11 -1
  25. package/lib/es/locale/sk-SK.js +11 -1
  26. package/lib/es/locale/vi-VN.js +11 -1
  27. package/lib/es/locale/zh-CN.js +11 -1
  28. package/lib/es/locale/zh-TW.js +11 -1
  29. package/lib/facade.js +161 -1
  30. package/lib/index.js +517 -1
  31. package/lib/locale/ca-ES.js +11 -1
  32. package/lib/locale/en-US.js +26 -1
  33. package/lib/locale/es-ES.js +11 -1
  34. package/lib/locale/fa-IR.js +11 -1
  35. package/lib/locale/fr-FR.js +11 -1
  36. package/lib/locale/ja-JP.js +11 -1
  37. package/lib/locale/ko-KR.js +11 -1
  38. package/lib/locale/ru-RU.js +11 -1
  39. package/lib/locale/sk-SK.js +11 -1
  40. package/lib/locale/vi-VN.js +11 -1
  41. package/lib/locale/zh-CN.js +11 -1
  42. package/lib/locale/zh-TW.js +11 -1
  43. package/lib/umd/index.js +1 -1
  44. package/package.json +12 -12
@@ -1 +1,11 @@
1
- const e={rightClick:{zenEditor:`Chế độ chỉnh sửa Zen`},shortcut:{sheet:{"zen-edit-cancel":`Hủy chỉnh sửa (trạng thái Zen mode)`,"zen-edit-confirm":`Bỏ chỉnh sửa (trạng thái Zen mode)`}}};export{e as default};
1
+ //#region src/locale/vi-VN.ts
2
+ const locale = {
3
+ rightClick: { zenEditor: "Chế độ chỉnh sửa Zen" },
4
+ shortcut: { sheet: {
5
+ "zen-edit-cancel": "Hủy chỉnh sửa (trạng thái Zen mode)",
6
+ "zen-edit-confirm": "Bỏ chỉnh sửa (trạng thái Zen mode)"
7
+ } }
8
+ };
9
+
10
+ //#endregion
11
+ export { locale as default };
@@ -1 +1,11 @@
1
- const e={rightClick:{zenEditor:`禅模式编辑`},shortcut:{sheet:{"zen-edit-cancel":`取消编辑(禅模式状态)`,"zen-edit-confirm":`放弃编辑(禅模式状态)`}}};export{e as default};
1
+ //#region src/locale/zh-CN.ts
2
+ const locale = {
3
+ rightClick: { zenEditor: "禅模式编辑" },
4
+ shortcut: { sheet: {
5
+ "zen-edit-cancel": "取消编辑(禅模式状态)",
6
+ "zen-edit-confirm": "放弃编辑(禅模式状态)"
7
+ } }
8
+ };
9
+
10
+ //#endregion
11
+ export { locale as default };
@@ -1 +1,11 @@
1
- const e={rightClick:{zenEditor:`禪模式編輯`},shortcut:{sheet:{"zen-edit-cancel":`取消編輯(禪模式狀態)`,"zen-edit-confirm":`放棄編輯(禪模式狀態)`}}};export{e as default};
1
+ //#region src/locale/zh-TW.ts
2
+ const locale = {
3
+ rightClick: { zenEditor: "禪模式編輯" },
4
+ shortcut: { sheet: {
5
+ "zen-edit-cancel": "取消編輯(禪模式狀態)",
6
+ "zen-edit-confirm": "放棄編輯(禪模式狀態)"
7
+ } }
8
+ };
9
+
10
+ //#endregion
11
+ export { locale as default };
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/docs-ui`),require(`@univerjs/engine-render`),require(`@univerjs/sheets-ui`),require(`@univerjs/ui`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/design`),require(`react`),require(`react/jsx-runtime`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs-ui`,`@univerjs/engine-render`,`@univerjs/sheets-ui`,`@univerjs/ui`,`@univerjs/sheets`,`rxjs`,`@univerjs/design`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsZenEditor={},e.UniverCore,e.UniverDocsUi,e.UniverEngineRender,e.UniverSheetsUi,e.UniverUi,e.UniverSheets,e.rxjs,e.UniverDesign,e.React,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let d={id:`zen-editor.command.open-zen-editor`,type:t.CommandType.COMMAND,handler:async e=>{var r;let o=e.get(a.IZenZoneService),s=e.get(n.IEditorService),c=e.get(i.IEditorBridgeService),l=e.get(t.IUniverInstanceService),u=e.get(a.ISidebarService);u.visible&&(u.close(),await(0,t.delayAnimationFrame)()),o.open();let d=s.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);if(d==null)return!1;let f=c.getLatestEditCellState();if(f==null)return!1;let p=(r=f.documentLayoutObject.documentModel)==null?void 0:r.getSnapshot();if(p==null)return!1;l.focusUnit(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);let{body:m,drawings:h,drawingsOrder:g,tableSource:_,settings:v}=t.Tools.deepClone(p),y={...d.getDocumentData(),body:m,drawings:h,drawingsOrder:g,tableSource:_,settings:v};return d.focus(),d.setDocumentData(y,[{startOffset:0,endOffset:0,collapsed:!0}]),d.clearUndoRedoHistory(),!0}},f={id:`zen-editor.command.cancel-zen-edit`,type:t.CommandType.COMMAND,handler:async e=>{let n=e.get(a.IZenZoneService),r=e.get(i.IEditorBridgeService),o=e.get(t.IUniverInstanceService),s=e.get(a.ISidebarService);s.visible&&(s.close(),await(0,t.delayAnimationFrame)()),n.close();let c=o.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);return c?(o.focusUnit(c.getUnitId()),r.refreshEditCellState(),!0):!1}},p={id:`zen-editor.command.confirm-zen-edit`,type:t.CommandType.COMMAND,handler:async e=>{let o=e.get(a.IZenZoneService),s=e.get(i.IEditorBridgeService),c=e.get(t.IUniverInstanceService),l=e.get(n.IEditorService),u=e.get(a.ISidebarService);u.visible&&(u.close(),await(0,t.delayAnimationFrame)()),o.close();let d=l.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);if(d==null)return!1;let f=e.get(r.IRenderManagerService),p=c.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(p){var m;let e=p.getUnitId(),n=(m=f.getRenderById(e))==null?void 0:m.with(i.EditingRenderController);if(n){let e=t.Tools.deepClone(d.getDocumentData());e.documentStyle.documentFlavor=t.DocumentFlavor.UNSPECIFIED,n.submitCellData(new t.DocumentDataModel(e))}return c.focusUnit(p.getUnitId()),s.refreshEditCellState(),!0}return!1}};var m=`@univerjs/sheets-zen-editor`,h=`0.20.1`;let g=`sheets-zen-editor.config`;Symbol(g);let _={};function v(e){let t=e.get(i.IEditorBridgeService);return{id:d.id,type:a.MenuItemType.BUTTON,title:`rightClick.zenEditor`,icon:`AmplifyIcon`,hidden$:(0,i.getCurrentExclusiveRangeInterest$)(e),disabled$:t.currentEditCell$.pipe((0,s.switchMap)(t=>(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[o.WorkbookEditablePermission],worksheetTypes:[o.WorksheetEditPermission,o.WorksheetSetCellValuePermission,o.WorksheetSetCellStylePermission],rangeTypes:[o.RangeProtectionPermissionEditPoint]}).pipe((0,s.map)(e=>{var n,r;return e||((n=t==null||(r=t.documentLayoutObject.documentModel)==null||(r=r.getBody())==null||(r=r.customBlocks)==null?void 0:r.length)==null?0:n)>0}))))}}let y={[a.ContextMenuPosition.MAIN_AREA]:{[a.ContextMenuGroup.OTHERS]:{[d.id]:{order:2,menuItemFactory:v}}}};function b({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,l.useRef)(`_${w()}`);return x(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function x(e,t,n,r,i){return(0,l.createElement)(e.tag,{key:t,...S(e,n,i),...r},(C(e,n).children||[]).map((r,a)=>x(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function S(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function C(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function w(){return Math.random().toString(36).substring(2,8)}b.displayName=`UniverIcon`;let T={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},E=(0,l.forwardRef)(function(e,t){return(0,l.createElement)(b,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:T}))});E.displayName=`CheckMarkIcon`;let D={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},O=(0,l.forwardRef)(function(e,t){return(0,l.createElement)(b,Object.assign({},e,{id:`close-icon`,ref:t,icon:D}))});O.displayName=`CloseIcon`;function k(e){"@babel/helpers - typeof";return k=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},k(e)}function A(e,t){if(k(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(k(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function j(e){var t=A(e,`string`);return k(t)==`symbol`?t:t+``}function M(e,t,n){return(t=j(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var N=class{constructor(){M(this,`_position`,null),M(this,`_position$`,new s.BehaviorSubject(null)),M(this,`position$`,this._position$.asObservable())}dispose(){this._position$.complete(),this._position=null}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}_refresh(e){this._position$.next(e)}};let P=(0,t.createIdentifier)(`univer.sheet-zen-editor-manager.service`),F={id:t.DOCS_ZEN_EDITOR_UNIT_ID_KEY,body:{dataStream:`${t.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],tables:[],customBlocks:[],paragraphs:[{startIndex:0}],sectionBreaks:[{startIndex:1}]},tableSource:{},documentStyle:{pageSize:{width:595,height:1/0},documentFlavor:t.DocumentFlavor.MODERN,marginTop:0,marginBottom:0,marginRight:0,marginLeft:0,renderConfig:{vertexAngle:0,centerAngle:0}},drawings:{},drawingsOrder:[]};function I(){let e=(0,l.useRef)(null),r=(0,a.useDependency)(P),i=(0,a.useDependency)(n.IEditorService),o=(0,a.useDependency)(t.ICommandService);(0,l.useEffect)(()=>{let n=e.current;if(!n)return;let a=i.register({editorUnitId:t.DOCS_ZEN_EDITOR_UNIT_ID_KEY,initialSnapshot:F,scrollBar:!0,backScrollOffset:100},n),o=new ResizeObserver(()=>{r.setPosition(n.getBoundingClientRect())});return o.observe(n),()=>{a.dispose(),o.unobserve(n)}},[]);function s(){let e=i.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);e==null||e.blur(),o.executeCommand(f.id)}function d(){let e=i.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);e==null||e.blur(),o.executeCommand(p.id)}let m=`univer-flex univer-w-7 univer-cursor-pointer univer-items-center univer-justify-center univer-transition-colors`;return(0,u.jsxs)(`div`,{className:`univer-absolute univer-inset-0 univer-size-full univer-bg-white dark:!univer-bg-gray-800`,children:[(0,u.jsxs)(`div`,{className:`univer-absolute univer-right-6 univer-top-2 univer-z-10 univer-flex univer-items-center univer-justify-center`,children:[(0,u.jsx)(`span`,{className:(0,c.clsx)(m,`univer-text-red-500 hover:univer-text-red-600`),onClick:s,children:(0,u.jsx)(O,{className:`univer-size-5`})}),(0,u.jsx)(`span`,{className:(0,c.clsx)(m,`univer-text-green-500 hover:univer-text-green-600`),onClick:d,children:(0,u.jsx)(E,{className:`univer-size-5`})})]}),(0,u.jsx)(`div`,{ref:e,className:`univer-absolute univer-inset-0 univer-size-full`})]})}let L={id:p.id,description:`shortcut.sheet.zen-edit-confirm`,group:`4_sheet-edit`,preconditions:e=>z(e),binding:a.KeyCode.ENTER|a.MetaKeys.ALT},R={id:f.id,description:`shortcut.sheet.zen-edit-cancel`,group:`4_sheet-edit`,preconditions:e=>z(e),binding:a.KeyCode.ESC};function z(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(t.EDITOR_ACTIVATED)&&!e.getContextValue(t.FOCUSING_EDITOR_STANDALONE)}function B(e,t){return function(n,r){t(n,r,e)}}function V(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let H=class extends t.Disposable{constructor(e,t,n,r){super(),this._zenZoneService=e,this._commandService=t,this._menuManagerService=n,this._shortcutService=r,this._initialize()}_initialize(){this._initCustomComponents(),this._initCommands(),this._initMenus(),this._initShortcuts()}_initCustomComponents(){this.disposeWithMe(this._zenZoneService.set(`ZEN_EDITOR_PLUGIN_ZEN_EDITOR_COMPONENT`,I))}_initCommands(){[d,f,p].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(y)}_initShortcuts(){[L,R].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}};H=V([B(0,a.IZenZoneService),B(1,t.ICommandService),B(2,a.IMenuManagerService),B(3,a.IShortcutService)],H);let U=class extends t.RxDisposable{constructor(e,t){super(),this._zenEditorManagerService=e,this._renderManagerService=t,this._initialize()}_initialize(){this._syncZenEditorSize()}_syncZenEditorSize(){this._zenEditorManagerService.position$.pipe((0,s.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let{width:n,height:r}=e,a=(0,i.getEditorObject)(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY,this._renderManagerService);a!=null&&requestIdleCallback(()=>{a.engine.resizeBySize(n,r),this._calculatePagePosition(a),this._scrollToTop()})})}_calculatePagePosition(e){let{document:t,scene:r,docBackground:i}=e,a=r==null?void 0:r.getParent(),{width:o,height:s,pageMarginLeft:c,pageMarginTop:l}=t;if(a==null||o===1/0||s===1/0)return;let{width:u,height:d}=a,f=0,p=l,m=0,h=0,g=1/0,{scaleX:_,scaleY:v}=r.getAncestorScale();u>(o+c*2)*_?(f=u/2-o*_/2,f/=_,m=(u-c*2)/_,g=0):(f=c,m=o+c*2,g=(m-u/_)/2),h=d>s?(d-l*2)/v:s+l*2,r.resize(m,h),t.translate(f,p),i.translate(f,p);let y=r.getViewport(n.VIEWPORT_KEY.VIEW_MAIN);if(g!==1/0&&y!=null){let e=y.transScroll2ViewportScrollValue(g,0).x;y.scrollToBarPos({x:e})}return this}_scrollToTop(){var e;let r=(e=this._renderManagerService.getRenderById(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:e.with(n.DocBackScrollRenderController);r&&r.scrollToRange({startOffset:0,endOffset:0})}};U=V([B(0,P),B(1,r.IRenderManagerService)],U);let W=class extends t.Plugin{constructor(e=_,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},_,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(g,a),this._initializeDependencies(this._injector)}_initializeDependencies(e){[[H],[U],[P,{useClass:N}]].forEach(t=>e.add(t))}onReady(){this._injector.get(H)}onSteady(){this._injector.get(U)}};M(W,`pluginName`,`SHEET_ZEN_EDITOR_PLUGIN`),M(W,`packageName`,m),M(W,`version`,h),M(W,`type`,t.UniverInstanceType.UNIVER_SHEET),W=V([B(1,(0,t.Inject)(t.Injector)),B(2,t.IConfigService)],W),e.CancelZenEditCommand=f,e.ConfirmZenEditCommand=p,e.OpenZenEditorCommand=d,Object.defineProperty(e,`UniverSheetsZenEditorPlugin`,{enumerable:!0,get:function(){return W}})});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/docs-ui`),require(`@univerjs/engine-render`),require(`@univerjs/sheets-ui`),require(`@univerjs/ui`),require(`@univerjs/sheets`),require(`rxjs`),require(`@univerjs/design`),require(`react`),require(`react/jsx-runtime`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/docs-ui`,`@univerjs/engine-render`,`@univerjs/sheets-ui`,`@univerjs/ui`,`@univerjs/sheets`,`rxjs`,`@univerjs/design`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsZenEditor={},e.UniverCore,e.UniverDocsUi,e.UniverEngineRender,e.UniverSheetsUi,e.UniverUi,e.UniverSheets,e.rxjs,e.UniverDesign,e.React,e.React))})(this,function(e,t,n,r,i,a,o,s,c,l,u){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let d={id:`zen-editor.command.open-zen-editor`,type:t.CommandType.COMMAND,handler:async e=>{var r;let o=e.get(a.IZenZoneService),s=e.get(n.IEditorService),c=e.get(i.IEditorBridgeService),l=e.get(t.IUniverInstanceService),u=e.get(a.ISidebarService);u.visible&&(u.close(),await(0,t.delayAnimationFrame)()),o.open();let d=s.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);if(d==null)return!1;let f=c.getLatestEditCellState();if(f==null)return!1;let p=(r=f.documentLayoutObject.documentModel)==null?void 0:r.getSnapshot();if(p==null)return!1;l.focusUnit(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);let{body:m,drawings:h,drawingsOrder:g,tableSource:_,settings:v}=t.Tools.deepClone(p),y={...d.getDocumentData(),body:m,drawings:h,drawingsOrder:g,tableSource:_,settings:v};return d.focus(),d.setDocumentData(y,[{startOffset:0,endOffset:0,collapsed:!0}]),d.clearUndoRedoHistory(),!0}},f={id:`zen-editor.command.cancel-zen-edit`,type:t.CommandType.COMMAND,handler:async e=>{let n=e.get(a.IZenZoneService),r=e.get(i.IEditorBridgeService),o=e.get(t.IUniverInstanceService),s=e.get(a.ISidebarService);s.visible&&(s.close(),await(0,t.delayAnimationFrame)()),n.close();let c=o.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);return c?(o.focusUnit(c.getUnitId()),r.refreshEditCellState(),!0):!1}},p={id:`zen-editor.command.confirm-zen-edit`,type:t.CommandType.COMMAND,handler:async e=>{let o=e.get(a.IZenZoneService),s=e.get(i.IEditorBridgeService),c=e.get(t.IUniverInstanceService),l=e.get(n.IEditorService),u=e.get(a.ISidebarService);u.visible&&(u.close(),await(0,t.delayAnimationFrame)()),o.close();let d=l.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);if(d==null)return!1;let f=e.get(r.IRenderManagerService),p=c.getCurrentUnitForType(t.UniverInstanceType.UNIVER_SHEET);if(p){var m;let e=p.getUnitId(),n=(m=f.getRenderById(e))==null?void 0:m.with(i.EditingRenderController);if(n){let e=t.Tools.deepClone(d.getDocumentData());e.documentStyle.documentFlavor=t.DocumentFlavor.UNSPECIFIED,n.submitCellData(new t.DocumentDataModel(e))}return c.focusUnit(p.getUnitId()),s.refreshEditCellState(),!0}return!1}};var m=`@univerjs/sheets-zen-editor`,h=`0.21.0`;let g=`sheets-zen-editor.config`;Symbol(g);let _={};function v(e){let t=e.get(i.IEditorBridgeService);return{id:d.id,type:a.MenuItemType.BUTTON,title:`rightClick.zenEditor`,icon:`AmplifyIcon`,hidden$:(0,i.getCurrentExclusiveRangeInterest$)(e),disabled$:t.currentEditCell$.pipe((0,s.switchMap)(t=>(0,i.getCurrentRangeDisable$)(e,{workbookTypes:[o.WorkbookEditablePermission],worksheetTypes:[o.WorksheetEditPermission,o.WorksheetSetCellValuePermission,o.WorksheetSetCellStylePermission],rangeTypes:[o.RangeProtectionPermissionEditPoint]}).pipe((0,s.map)(e=>{var n,r;return e||((n=t==null||(r=t.documentLayoutObject.documentModel)==null||(r=r.getBody())==null||(r=r.customBlocks)==null?void 0:r.length)==null?0:n)>0}))))}}let y={[a.ContextMenuPosition.MAIN_AREA]:{[a.ContextMenuGroup.OTHERS]:{[d.id]:{order:2,menuItemFactory:v}}}};function b({ref:e,...t}){let{icon:n,id:r,className:i,extend:a,...o}=t,s=`univerjs-icon univerjs-icon-${r} ${i||``}`.trim(),c=(0,l.useRef)(`_${w()}`);return x(n,`${r}`,{defIds:n.defIds,idSuffix:c.current},{ref:e,className:s,...o},a)}function x(e,t,n,r,i){return(0,l.createElement)(e.tag,{key:t,...S(e,n,i),...r},(C(e,n).children||[]).map((r,a)=>x(r,`${t}-${e.tag}-${a}`,n,void 0,i)))}function S(e,t,n){let r={...e.attrs};n!=null&&n.colorChannel1&&r.fill===`colorChannel1`&&(r.fill=n.colorChannel1),e.tag===`mask`&&r.id&&(r.id+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{e===`mask`&&typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))});let{defIds:i}=t;return!i||i.length===0?r:(e.tag===`use`&&r[`xlink:href`]&&(r[`xlink:href`]+=t.idSuffix),Object.entries(r).forEach(([e,n])=>{typeof n==`string`&&(r[e]=n.replace(/url\(#(.*)\)/,`url(#$1${t.idSuffix})`))}),r)}function C(e,t){var n;let{defIds:r}=t;return!r||r.length===0?e:e.tag===`defs`&&(n=e.children)!=null&&n.length?{...e,children:e.children.map(e=>typeof e.attrs.id==`string`&&r&&r.includes(e.attrs.id)?{...e,attrs:{...e.attrs,id:e.attrs.id+t.idSuffix}}:e)}:e}function w(){return Math.random().toString(36).substring(2,8)}b.displayName=`UniverIcon`;let T={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z`,fillRule:`evenodd`,clipRule:`evenodd`}}]},E=(0,l.forwardRef)(function(e,t){return(0,l.createElement)(b,Object.assign({},e,{id:`check-mark-icon`,ref:t,icon:T}))});E.displayName=`CheckMarkIcon`;let D={tag:`svg`,attrs:{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 16 16`,width:`1em`,height:`1em`},children:[{tag:`path`,attrs:{fill:`currentColor`,d:`M3.71274 2.86421C3.47843 2.6299 3.09853 2.6299 2.86421 2.86421C2.6299 3.09853 2.6299 3.47843 2.86421 3.71274L7.15154 8.00007L2.86421 12.2874C2.6299 12.5217 2.6299 12.9016 2.86421 13.1359C3.09853 13.3702 3.47843 13.3702 3.71274 13.1359L8.00007 8.84859L12.2874 13.1359C12.5217 13.3702 12.9016 13.3702 13.1359 13.1359C13.3702 12.9016 13.3702 12.5217 13.1359 12.2874L8.84859 8.00007L13.1359 3.71274C13.3702 3.47843 13.3702 3.09853 13.1359 2.86421C12.9016 2.6299 12.5217 2.6299 12.2874 2.86421L8.00007 7.15154L3.71274 2.86421Z`}}]},O=(0,l.forwardRef)(function(e,t){return(0,l.createElement)(b,Object.assign({},e,{id:`close-icon`,ref:t,icon:D}))});O.displayName=`CloseIcon`;function k(e){"@babel/helpers - typeof";return k=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},k(e)}function A(e,t){if(k(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(k(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function j(e){var t=A(e,`string`);return k(t)==`symbol`?t:t+``}function M(e,t,n){return(t=j(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var N=class{constructor(){M(this,`_position`,null),M(this,`_position$`,new s.BehaviorSubject(null)),M(this,`position$`,this._position$.asObservable())}dispose(){this._position$.complete(),this._position=null}setPosition(e){this._position=e,this._refresh(e)}getPosition(){return this._position}_refresh(e){this._position$.next(e)}};let P=(0,t.createIdentifier)(`univer.sheet-zen-editor-manager.service`),F={id:t.DOCS_ZEN_EDITOR_UNIT_ID_KEY,body:{dataStream:`${t.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],tables:[],customBlocks:[],paragraphs:[{startIndex:0}],sectionBreaks:[{startIndex:1}]},tableSource:{},documentStyle:{pageSize:{width:595,height:1/0},documentFlavor:t.DocumentFlavor.MODERN,marginTop:0,marginBottom:0,marginRight:0,marginLeft:0,renderConfig:{vertexAngle:0,centerAngle:0}},drawings:{},drawingsOrder:[]};function I(){let e=(0,l.useRef)(null),r=(0,a.useDependency)(P),i=(0,a.useDependency)(n.IEditorService),o=(0,a.useDependency)(t.ICommandService);(0,l.useEffect)(()=>{let n=e.current;if(!n)return;let a=i.register({editorUnitId:t.DOCS_ZEN_EDITOR_UNIT_ID_KEY,initialSnapshot:F,scrollBar:!0,backScrollOffset:100},n),o=new ResizeObserver(()=>{r.setPosition(n.getBoundingClientRect())});return o.observe(n),()=>{a.dispose(),o.unobserve(n)}},[]);function s(){let e=i.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);e==null||e.blur(),o.executeCommand(f.id)}function d(){let e=i.getEditor(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY);e==null||e.blur(),o.executeCommand(p.id)}let m=`univer-flex univer-w-7 univer-cursor-pointer univer-items-center univer-justify-center univer-transition-colors`;return(0,u.jsxs)(`div`,{className:`univer-absolute univer-inset-0 univer-size-full univer-bg-white dark:!univer-bg-gray-800`,children:[(0,u.jsxs)(`div`,{className:`univer-absolute univer-right-6 univer-top-2 univer-z-10 univer-flex univer-items-center univer-justify-center`,children:[(0,u.jsx)(`span`,{className:(0,c.clsx)(m,`univer-text-red-500 hover:univer-text-red-600`),onClick:s,children:(0,u.jsx)(O,{className:`univer-size-5`})}),(0,u.jsx)(`span`,{className:(0,c.clsx)(m,`univer-text-green-500 hover:univer-text-green-600`),onClick:d,children:(0,u.jsx)(E,{className:`univer-size-5`})})]}),(0,u.jsx)(`div`,{ref:e,className:`univer-absolute univer-inset-0 univer-size-full`})]})}let L={id:p.id,description:`shortcut.sheet.zen-edit-confirm`,group:`4_sheet-edit`,preconditions:e=>z(e),binding:a.KeyCode.ENTER|a.MetaKeys.ALT},R={id:f.id,description:`shortcut.sheet.zen-edit-cancel`,group:`4_sheet-edit`,preconditions:e=>z(e),binding:a.KeyCode.ESC};function z(e){return e.getContextValue(t.FOCUSING_DOC)&&e.getContextValue(t.FOCUSING_UNIVER_EDITOR)&&e.getContextValue(t.EDITOR_ACTIVATED)&&!e.getContextValue(t.FOCUSING_EDITOR_STANDALONE)}function B(e,t){return function(n,r){t(n,r,e)}}function V(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let H=class extends t.Disposable{constructor(e,t,n,r){super(),this._zenZoneService=e,this._commandService=t,this._menuManagerService=n,this._shortcutService=r,this._initialize()}_initialize(){this._initCustomComponents(),this._initCommands(),this._initMenus(),this._initShortcuts()}_initCustomComponents(){this.disposeWithMe(this._zenZoneService.set(`ZEN_EDITOR_PLUGIN_ZEN_EDITOR_COMPONENT`,I))}_initCommands(){[d,f,p].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(y)}_initShortcuts(){[L,R].forEach(e=>{this.disposeWithMe(this._shortcutService.registerShortcut(e))})}};H=V([B(0,a.IZenZoneService),B(1,t.ICommandService),B(2,a.IMenuManagerService),B(3,a.IShortcutService)],H);let U=class extends t.RxDisposable{constructor(e,t){super(),this._zenEditorManagerService=e,this._renderManagerService=t,this._initialize()}_initialize(){this._syncZenEditorSize()}_syncZenEditorSize(){this._zenEditorManagerService.position$.pipe((0,s.takeUntil)(this.dispose$)).subscribe(e=>{if(e==null)return;let{width:n,height:r}=e,a=(0,i.getEditorObject)(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY,this._renderManagerService);a!=null&&requestIdleCallback(()=>{a.engine.resizeBySize(n,r),this._calculatePagePosition(a),this._scrollToTop()})})}_calculatePagePosition(e){let{document:t,scene:r,docBackground:i}=e,a=r==null?void 0:r.getParent(),{width:o,height:s,pageMarginLeft:c,pageMarginTop:l}=t;if(a==null||o===1/0||s===1/0)return;let{width:u,height:d}=a,f=0,p=l,m=0,h=0,g=1/0,{scaleX:_,scaleY:v}=r.getAncestorScale();u>(o+c*2)*_?(f=u/2-o*_/2,f/=_,m=(u-c*2)/_,g=0):(f=c,m=o+c*2,g=(m-u/_)/2),h=d>s?(d-l*2)/v:s+l*2,r.resize(m,h),t.translate(f,p),i.translate(f,p);let y=r.getViewport(n.VIEWPORT_KEY.VIEW_MAIN);if(g!==1/0&&y!=null){let e=y.transScroll2ViewportScrollValue(g,0).x;y.scrollToBarPos({x:e})}return this}_scrollToTop(){var e;let r=(e=this._renderManagerService.getRenderById(t.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:e.with(n.DocBackScrollRenderController);r&&r.scrollToRange({startOffset:0,endOffset:0})}};U=V([B(0,P),B(1,r.IRenderManagerService)],U);let W=class extends t.Plugin{constructor(e=_,n,r){super(),this._config=e,this._injector=n,this._configService=r;let{menu:i,...a}=(0,t.merge)({},_,this._config);i&&this._configService.setConfig(`menu`,i,{merge:!0}),this._configService.setConfig(g,a),this._initializeDependencies(this._injector)}_initializeDependencies(e){[[H],[U],[P,{useClass:N}]].forEach(t=>e.add(t))}onReady(){this._injector.get(H)}onSteady(){this._injector.get(U)}};M(W,`pluginName`,`SHEET_ZEN_EDITOR_PLUGIN`),M(W,`packageName`,m),M(W,`version`,h),M(W,`type`,t.UniverInstanceType.UNIVER_SHEET),W=V([B(1,(0,t.Inject)(t.Injector)),B(2,t.IConfigService)],W),e.CancelZenEditCommand=f,e.ConfirmZenEditCommand=p,e.OpenZenEditorCommand=d,Object.defineProperty(e,`UniverSheetsZenEditorPlugin`,{enumerable:!0,get:function(){return W}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-zen-editor",
3
- "version": "0.20.1",
3
+ "version": "0.21.0",
4
4
  "private": false,
5
5
  "description": "Zen Editor plugin for Univer Sheets.",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -65,23 +65,23 @@
65
65
  },
66
66
  "dependencies": {
67
67
  "@univerjs/icons": "^1.1.1",
68
- "@univerjs/docs": "0.20.1",
69
- "@univerjs/core": "0.20.1",
70
- "@univerjs/design": "0.20.1",
71
- "@univerjs/docs-ui": "0.20.1",
72
- "@univerjs/sheets": "0.20.1",
73
- "@univerjs/sheets-ui": "0.20.1",
74
- "@univerjs/ui": "0.20.1",
75
- "@univerjs/engine-render": "0.20.1"
68
+ "@univerjs/core": "0.21.0",
69
+ "@univerjs/design": "0.21.0",
70
+ "@univerjs/docs": "0.21.0",
71
+ "@univerjs/docs-ui": "0.21.0",
72
+ "@univerjs/engine-render": "0.21.0",
73
+ "@univerjs/sheets-ui": "0.21.0",
74
+ "@univerjs/sheets": "0.21.0",
75
+ "@univerjs/ui": "0.21.0"
76
76
  },
77
77
  "devDependencies": {
78
- "postcss": "^8.5.8",
78
+ "postcss": "^8.5.10",
79
79
  "react": "18.3.1",
80
80
  "rxjs": "^7.8.2",
81
81
  "tailwindcss": "3.4.18",
82
82
  "typescript": "^6.0.2",
83
- "vitest": "^4.1.1",
84
- "@univerjs-infra/shared": "0.20.1"
83
+ "vitest": "^4.1.4",
84
+ "@univerjs-infra/shared": "0.21.0"
85
85
  },
86
86
  "scripts": {
87
87
  "test": "vitest run",