@univerjs/docs-hyper-link-ui 0.2.4 → 0.2.6

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
@@ -1 +1 @@
1
- "use strict";var ve=Object.defineProperty;var ge=(n,e,i)=>e in n?ve(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i;var R=(n,e,i)=>ge(n,typeof e!="symbol"?e+"":e,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),g=require("@wendellhu/redi"),P=require("@univerjs/docs-hyper-link"),D=require("@univerjs/engine-render"),I=require("@univerjs/ui"),S=require("@univerjs/design"),a=require("react"),h=require("@wendellhu/redi/react-bindings"),y=require("@univerjs/docs"),Y=require("@univerjs/docs-ui"),B=require("rxjs"),Q=require("clsx"),he="DOC_HYPER_LINK_UI_PLUGIN";var L=function(){return L=Object.assign||function(n){for(var e,i=1,t=arguments.length;i<t;i++){e=arguments[i];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n},L.apply(this,arguments)},me=function(n,e){var i={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&e.indexOf(t)<0&&(i[t]=n[t]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(n);r<t.length;r++)e.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(n,t[r])&&(i[t[r]]=n[t[r]]);return i},b=a.forwardRef(function(n,e){var i=n.icon,t=n.id,r=n.className,o=n.extend,c=me(n,["icon","id","className","extend"]),d="univerjs-icon univerjs-icon-".concat(t," ").concat(r||"").trim(),l=a.useRef("_".concat(ye()));return te(i,"".concat(t),{defIds:i.defIds,idSuffix:l.current},L({ref:e,className:d},c),o)});function te(n,e,i,t,r){return a.createElement(n.tag,L(L({key:e},Le(n,i,r)),t),(Ie(n,i).children||[]).map(function(o,c){return te(o,"".concat(e,"-").concat(n.tag,"-").concat(c),i,void 0,r)}))}function Le(n,e,i){var t=L({},n.attrs);i!=null&&i.colorChannel1&&t.fill==="colorChannel1"&&(t.fill=i.colorChannel1);var r=e.defIds;return!r||r.length===0||(n.tag==="use"&&t["xlink:href"]&&(t["xlink:href"]=t["xlink:href"]+e.idSuffix),Object.entries(t).forEach(function(o){var c=o[0],d=o[1];typeof d=="string"&&(t[c]=d.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),t}function Ie(n,e){var i,t=e.defIds;return!t||t.length===0?n:n.tag==="defs"&&(!((i=n.children)===null||i===void 0)&&i.length)?L(L({},n),{children:n.children.map(function(r){return typeof r.attrs.id=="string"&&t&&t.indexOf(r.attrs.id)>-1?L(L({},r),{attrs:L(L({},r.attrs),{id:r.attrs.id+e.idSuffix})}):r})}):n}function ye(){return Math.random().toString(36).substring(2,8)}b.displayName="UniverIcon";var Ce={tag:"svg",attrs:{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"}}]},ie=a.forwardRef(function(n,e){return a.createElement(b,Object.assign({},n,{id:"close-single",ref:e,icon:Ce}))});ie.displayName="CloseSingle";var _e={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.02547 12.4251C5.15328 13.7417 6.26305 14.7708 7.61318 14.7708H12.6132C14.0491 14.7708 15.2132 13.6067 15.2132 12.1708V6.1708C15.2132 4.78586 14.1303 3.65383 12.7651 3.57517C12.6373 2.25858 11.5275 1.22949 10.1774 1.22949H5.17739C3.74145 1.22949 2.57739 2.39355 2.57739 3.82949V9.82949C2.57739 11.2144 3.66024 12.3465 5.02547 12.4251ZM11.5535 3.5708H7.61318C6.17724 3.5708 5.01318 4.73486 5.01318 6.1708V11.22C4.31736 11.1387 3.77739 10.5471 3.77739 9.82949V3.82949C3.77739 3.05629 4.40419 2.42949 5.17739 2.42949H10.1774C10.8622 2.42949 11.4322 2.92119 11.5535 3.5708ZM14.0132 6.1708C14.0132 5.3976 13.3864 4.7708 12.6132 4.7708H7.61318C6.83998 4.7708 6.21318 5.3976 6.21318 6.1708V12.1708C6.21318 12.944 6.83998 13.5708 7.61318 13.5708H12.6132C13.3864 13.5708 14.0132 12.944 14.0132 12.1708V6.1708Z",fillRule:"evenodd",clipRule:"evenodd"}}]},re=a.forwardRef(function(n,e){return a.createElement(b,Object.assign({},n,{id:"copy-single",ref:e,icon:_e}))});re.displayName="CopySingle";var ke={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.9564 2.91332C4.91407 1.87102 3.22413 1.87101 2.18182 2.91333L2.18182 2.91333C1.13953 3.95567 1.13952 5.6456 2.18182 6.68791L8.27777 12.7838C9.72408 14.2302 12.069 14.2302 13.5154 12.7839L13.0911 12.3596L13.5154 12.7839C14.9617 11.3375 14.9617 8.99257 13.5154 7.54626L8.39476 2.42566C8.16044 2.19134 7.78054 2.19134 7.54623 2.42566C7.31191 2.65997 7.31191 3.03987 7.54623 3.27419L12.6668 8.39479L13.0911 7.97052L12.6668 8.39479C13.6445 9.37247 13.6445 10.9576 12.6668 11.9353L13.0399 12.3084L12.6668 11.9353C11.6891 12.913 10.104 12.913 9.1263 11.9353L3.03035 5.83938C2.45668 5.26571 2.45667 4.33556 3.03036 3.76184C3.60403 3.18818 4.53416 3.18817 5.10788 3.76185C5.10788 3.76186 5.10788 3.76186 5.10789 3.76186L11.2038 9.8578L11.601 9.46061L11.2038 9.8578C11.3735 10.0275 11.3735 10.3026 11.2038 10.4723L11.2038 10.4723C11.0341 10.642 10.759 10.642 10.5893 10.4723L5.46874 5.35171C5.23442 5.1174 4.85452 5.1174 4.62021 5.35171C4.38589 5.58602 4.38589 5.96592 4.62021 6.20024L9.74078 11.3208C10.3791 11.9591 11.414 11.9591 12.0523 11.3208C12.0523 11.3208 12.0523 11.3208 12.0523 11.3208M12.0523 11.3208C12.6907 10.6825 12.6906 9.64757 12.0523 9.00927L5.95641 2.91333L5.9564 2.91332",fillRule:"evenodd",clipRule:"evenodd"}}]},Z=a.forwardRef(function(n,e){return a.createElement(b,Object.assign({},n,{id:"link-single",ref:e,icon:ke}))});Z.displayName="LinkSingle";var Se={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.5935 3.47302C11.6354 2.51492 10.082 2.51492 9.12388 3.47302L7.83534 4.76157C7.60102 4.99588 7.22112 4.99588 6.98681 4.76157 6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449 14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797 11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302zM3.40637 12.6606C2.44827 11.7025 2.44827 10.1491 3.40637 9.19102L4.69492 7.90248C4.92923 7.66816 4.92923 7.28826 4.69492 7.05395 4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092 3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721 8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606zM3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332 2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302 13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332z"}}]},oe=a.forwardRef(function(n,e){return a.createElement(b,Object.assign({},n,{id:"unlink-single",ref:e,icon:Se}))});oe.displayName="UnlinkSingle";var Oe={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z"}}]},ce=a.forwardRef(function(n,e){return a.createElement(b,Object.assign({},n,{id:"write-single",ref:e,icon:Oe}))});ce.displayName="WriteSingle";const se={type:s.CommandType.COMMAND,id:"docs.command.delete-hyper-link",async handler(n,e){if(!e)return!1;const{unitId:i,linkId:t}=e,r=n.get(s.ICommandService);if(!n.get(P.DocHyperLinkModel).getLink(i,t))return!1;const d=y.deleteCustomRangeFactory(n,{unitId:i,rangeId:t});return d?await r.syncExecuteCommand(d.id,d.params):!1}},ae=n=>{var p;const e=n.get(y.TextSelectionManagerService),i=n.get(s.IUniverInstanceService),t=e.getActiveRange(),o=n.get(D.IRenderManagerService).getCurrent(),c=o==null?void 0:o.with(y.DocSkeletonManagerService).getSkeleton(),d=c==null?void 0:c.getViewModel().getEditArea();if(d===D.DocumentEditArea.FOOTER||d===D.DocumentEditArea.HEADER)return!0;const l=i.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);if(!l||!t||t.collapsed)return!0;const f=(p=l.getBody())==null?void 0:p.paragraphs;if(!f)return!0;for(let v=0,u=f.length;v<u;v++){const m=f[v];if(t.startOffset<=m.startIndex&&t.endOffset>m.startIndex)return!0;if(m.startIndex>t.endOffset)break}return!1},F={type:s.CommandType.OPERATION,id:"docs.operation.show-hyper-link-edit-popup",handler(n,e){const i=e==null?void 0:e.link;return ae(n)&&!i?!1:(n.get(M).showEditPopup(i),!0)}},Ee="univer-doc-link",Me="univer-doc-link-type",Pe="univer-doc-link-content",Re="univer-doc-link-content-error",De="univer-doc-link-url",xe="univer-doc-link-operations",be="univer-doc-link-operation",Ue="univer-doc-link-operation-error",E={docLink:Ee,docLinkType:Me,docLinkContent:Pe,docLinkContentError:Re,docLinkUrl:De,docLinkOperations:xe,docLinkOperation:be,docLinkOperationError:Ue},K=()=>{const n=h.useDependency(M),e=h.useDependency(P.DocHyperLinkModel),i=h.useDependency(s.ICommandService),t=h.useDependency(I.IMessageService),r=h.useDependency(s.LocaleService),o=I.useObservable(n.showingLink$);if(!o)return null;const{unitId:c,linkId:d}=o,l=e.getLink(c,d);return l?a.createElement("div",{className:E.docLink,onClick:()=>{n.hideInfoPopup()}},a.createElement("div",{className:Q(E.docLinkContent),onClick:()=>window.open(l.payload)},a.createElement("div",{className:E.docLinkType},a.createElement(Z,null)),a.createElement(S.Tooltip,{showIfEllipsis:!0,title:l.payload},a.createElement("span",{className:E.docLinkUrl},l.payload))),a.createElement("div",{className:E.docLinkOperations},a.createElement("div",{className:Q(E.docLinkOperation),onClick:()=>{navigator.clipboard.writeText(l.payload),t.show({content:r.t("docLink.info.coped"),type:S.MessageType.Info})}},a.createElement(S.Tooltip,{placement:"bottom",title:r.t("docLink.info.copy")},a.createElement(re,null))),a.createElement("div",{className:E.docLinkOperation,onClick:()=>{i.executeCommand(F.id,{link:o})}},a.createElement(S.Tooltip,{placement:"bottom",title:r.t("docLink.info.edit")},a.createElement(ce,null))),a.createElement("div",{className:E.docLinkOperation,onClick:()=>{i.executeCommand(se.id,{unitId:c,linkId:l.id})}},a.createElement(S.Tooltip,{placement:"bottom",title:r.t("docLink.info.cancel")},a.createElement(oe,null))))):null};K.componentKey="univer.doc.link-info-popup";var we=Object.defineProperty,Te=Object.getOwnPropertyDescriptor,Ne=(n,e,i,t)=>{for(var r=t>1?void 0:t?Te(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(r=(t?c(e,i,r):c(r))||r);return t&&r&&we(e,i,r),r},w=(n,e)=>(i,t)=>e(i,t,n);let M=class extends s.Disposable{constructor(e,i,t,r,o){super();R(this,"_editingLink$",new B.BehaviorSubject(null));R(this,"_showingLink$",new B.BehaviorSubject(null));R(this,"editingLink$",this._editingLink$.asObservable());R(this,"showingLink$",this._showingLink$.asObservable());R(this,"_editPopup",null);R(this,"_infoPopup",null);this._docCanvasPopupManagerService=e,this._textSelectionManagerService=i,this._docHyperLinkModel=t,this._univerInstanceService=r,this._commandService=o,this.disposeWithMe(()=>{this._editingLink$.complete(),this._showingLink$.complete()})}get editing(){return this._editingLink$.value}get showing(){return this._showingLink$.value}showEditPopup(e){var t,r;this._editPopup&&this._editPopup.dispose(),this._editingLink$.next(e);let i=this._textSelectionManagerService.getActiveRange();if(e){const{unitId:o,rangeIndex:c}=e,d=this._univerInstanceService.getUnit(o,s.UniverInstanceType.UNIVER_DOC),l=(r=(t=d==null?void 0:d.getBody())==null?void 0:t.customRanges)==null?void 0:r[c];l&&(i={collapsed:!1,startOffset:l.startIndex,endOffset:l.endIndex+1},this._textSelectionManagerService.replaceTextRanges([{startOffset:l.startIndex,endOffset:l.endIndex+1}]))}return i?(this._editPopup=this._docCanvasPopupManagerService.attachPopupToRange(i,{componentKey:V.componentKey,direction:"bottom"}),this._editPopup):null}hideEditPopup(){var e;this._editingLink$.next(null),(e=this._editPopup)==null||e.dispose()}showInfoPopup(e){var l,f,p,v;const{linkId:i,unitId:t,rangeIndex:r}=e;if(((l=this.showing)==null?void 0:l.linkId)===i&&((f=this.showing)==null?void 0:f.unitId)===t&&this.showing.rangeIndex===r)return;this._infoPopup&&this._infoPopup.dispose();const o=this._docHyperLinkModel.getLink(t,i),c=this._univerInstanceService.getUnit(t,s.UniverInstanceType.UNIVER_DOC);if(!c||!o)return;const d=(v=(p=c.getBody())==null?void 0:p.customRanges)==null?void 0:v[r];if(this._showingLink$.next({unitId:t,linkId:i,rangeIndex:r}),!!d)return this._infoPopup=this._docCanvasPopupManagerService.attachPopupToRange({collapsed:!1,startOffset:d.startIndex,endOffset:d.endIndex+1},{componentKey:K.componentKey,direction:"top",closeOnSelfTarget:!0,onClickOutside:()=>{this.hideInfoPopup()}}),this._infoPopup}hideInfoPopup(){var e;this._showingLink$.next(null),(e=this._infoPopup)==null||e.dispose()}};M=Ne([w(0,g.Inject(Y.DocCanvasPopManagerService)),w(1,g.Inject(y.TextSelectionManagerService)),w(2,g.Inject(P.DocHyperLinkModel)),w(3,s.IUniverInstanceService),w(4,s.ICommandService)],M);const de={type:s.CommandType.COMMAND,id:"docs.command.add-hyper-link",async handler(n,e){if(!e)return!1;const{payload:i,unitId:t}=e,r=n.get(s.ICommandService),o=s.generateRandomId(),c=y.addCustomRangeBySelectionFactory(n,{rangeId:o,rangeType:s.CustomRangeType.HYPERLINK});if(c){const d={id:P.AddDocHyperLinkMutation.id,params:{unitId:t,link:{payload:i,id:o}}};return(await s.sequenceExecuteAsync([d,c],r)).result}return!1}},le={id:"docs.command.update-hyper-link",type:s.CommandType.COMMAND,handler(n,e){return e?n.get(s.ICommandService).syncExecuteCommand(P.UpdateDocHyperLinkMutation.id,e):!1}},He="univer-docs-link-edit",$e="univer-docs-link-edit-title",je="univer-docs-link-edit-close",Ae="univer-docs-link-edit-buttons",Be="univer-docs-link-edit-button",x={docsLinkEdit:He,docsLinkEditTitle:$e,docsLinkEditClose:je,docsLinkEditButtons:Ae,docsLinkEditButton:Be};function Ke(n){return/^[a-zA-Z]+:\/\//.test(n)}function Ve(n){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(n)}function Fe(n){return Ke(n)?n:Ve(n)?`mailto://${n}`:`https://${n}`}const V=()=>{const n=h.useDependency(M),e=h.useDependency(s.LocaleService),i=h.useDependency(P.DocHyperLinkModel),t=h.useObservable(n.editingLink$),r=h.useDependency(s.ICommandService),o=h.useDependency(s.IUniverInstanceService),c=h.useDependency(D.ITextSelectionRenderManager),d=h.useDependency(y.TextSelectionManagerService),[l,f]=a.useState(""),[p,v]=a.useState(!1),u=s.Tools.isLegalUrl(l),m=t?o.getUnit(t.unitId,s.UniverInstanceType.UNIVER_DOC):o.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);a.useEffect(()=>{var z,G,X,J;if(t){const k=t?i.getLink(t.unitId,t.linkId):null;f((z=k==null?void 0:k.payload)!=null?z:"");return}const C=d.getActiveRange();if(!C)return;const U=o.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC),W=(X=(G=U==null?void 0:U.getBody())==null?void 0:G.customRanges)==null?void 0:X.find(k=>Math.max(C.startOffset,k.startIndex)<=Math.min(C.endOffset-1,k.endIndex));if(U&&W){const k=i.getLink(U.getUnitId(),W.rangeId);f((J=k==null?void 0:k.payload)!=null?J:"")}},[t,i,d,o]),a.useEffect(()=>(c.blur(),()=>{c.focus()}),[c]);const _=()=>{n.hideEditPopup()},O=()=>{if(v(!0),!u||!m)return;const C=Fe(l);t?r.executeCommand(le.id,{unitId:m.getUnitId(),payload:C,linkId:t.linkId}):r.executeCommand(de.id,{unitId:m.getUnitId(),payload:C}),n.hideEditPopup()};if(m)return a.createElement("div",{className:x.docsLinkEdit},a.createElement("div",{className:x.docsLinkEditTitle},a.createElement("span",null,e.t("docLink.edit.title")),a.createElement(ie,{className:x.docsLinkEditClose,onClick:_})),a.createElement("div",null,a.createElement(S.FormLayout,{label:e.t("docLink.edit.address"),error:p&&!u?e.t("docLink.edit.addressError"):""},a.createElement(S.Input,{value:l,onChange:f,autoFocus:!0}))),a.createElement("div",{className:x.docsLinkEditButtons},a.createElement(S.Button,{className:x.docsLinkEditButton,onClick:_},e.t("docLink.edit.cancel")),a.createElement(S.Button,{disabled:!l,className:x.docsLinkEditButton,type:"primary",onClick:O},e.t("docLink.edit.confirm"))))};V.componentKey="docs-hyper-link-edit";const ue="doc-hyper-link-icon";function qe(n){return{id:F.id,group:I.MenuGroup.TOOLBAR_LAYOUT,type:I.MenuItemType.BUTTON,icon:ue,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",positions:[I.MenuPosition.TOOLBAR_START,I.MenuPosition.CONTEXT_MENU],hidden$:I.getMenuHiddenObservable(n,s.UniverInstanceType.UNIVER_DOC),disabled$:new B.Observable(function(e){const t=n.get(y.TextSelectionManagerService).textSelection$.pipe(B.debounceTime(16)).subscribe(()=>{e.next(ae(n))});return()=>{t.unsubscribe()}})}}const Ye={id:F.id,binding:I.MetaKeys.CTRL_COMMAND|I.KeyCode.K,description:"docLink.menu.tooltip",preconditions:Y.whenDocAndEditorFocused};var Ze=Object.defineProperty,We=Object.getOwnPropertyDescriptor,ze=(n,e,i,t)=>{for(var r=t>1?void 0:t?We(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(r=(t?c(e,i,r):c(r))||r);return t&&r&&Ze(e,i,r),r},T=(n,e)=>(i,t)=>e(i,t,n);let N=class extends s.Disposable{constructor(n,e,i,t,r,o){super(),this._config=n,this._componentManager=e,this._commandService=i,this._menuService=t,this._injector=r,this._shortcutService=o,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[V,V.componentKey],[K,K.componentKey],[Z,ue]].forEach(([n,e])=>{this._componentManager.register(e,n)})}_initCommands(){[de,le,se,F].forEach(n=>{this._commandService.registerCommand(n)})}_initShortcut(){[Ye].forEach(n=>{this._shortcutService.registerShortcut(n)})}_initMenus(){[qe].forEach(n=>{this.disposeWithMe(this._menuService.addMenuItem(n(this._injector),{}))})}};N=ze([s.OnLifecycle(s.LifecycleStages.Starting,N),T(1,g.Inject(I.ComponentManager)),T(2,s.ICommandService),T(3,I.IMenuService),T(4,g.Inject(g.Injector)),T(5,I.IShortcutService)],N);var Ge=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,Je=(n,e,i,t)=>{for(var r=t>1?void 0:t?Xe(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(r=(t?c(e,i,r):c(r))||r);return t&&r&&Ge(e,i,r),r},H=(n,e)=>(i,t)=>e(i,t,n);let j=class extends s.Disposable{constructor(n,e,i,t){super(),this._commandService=n,this._univerInstanceService=e,this._docHyperLinkService=i,this._renderMangerService=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{var e,i;if(n.id===y.SetTextSelectionsOperation.id){const t=n.params,{unitId:r,ranges:o}=t,c=this._renderMangerService.getRenderById(r),d=c==null?void 0:c.with(y.DocSkeletonManagerService).getSkeleton();if((d==null?void 0:d.getViewModel().getEditArea())!==D.DocumentEditArea.BODY){this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup();return}const f=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_DOC),p=o[0];if(p&&f){const{startOffset:v,endOffset:u,collapsed:m}=p,_=(e=f.getBody())==null?void 0:e.customRanges;if(m){const O=(i=_==null?void 0:_.findIndex(C=>C.startIndex<v&&C.endIndex>u-1))!=null?i:-1;if(O>-1){const C=_[O];this._docHyperLinkService.showInfoPopup({unitId:r,linkId:C.rangeId,rangeIndex:O});return}}else if(_!=null&&_.find(O=>O.startIndex<=v&&O.endIndex>=u-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}};j=Je([s.OnLifecycle(s.LifecycleStages.Ready,j),H(0,s.ICommandService),H(1,s.IUniverInstanceService),H(2,g.Inject(M)),H(3,D.IRenderManagerService)],j);var Qe=Object.defineProperty,en=Object.getOwnPropertyDescriptor,nn=(n,e,i,t)=>{for(var r=t>1?void 0:t?en(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(r=(t?c(e,i,r):c(r))||r);return t&&r&&Qe(e,i,r),r},ee=(n,e)=>(i,t)=>e(i,t,n);let q=class extends s.Disposable{constructor(n,e,i){super(),this._context=n,this._docInterceptorService=e,this._hyperLinkService=i,this._init()}_init(){this._docInterceptorService.intercept(y.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:(n,e,i)=>{if(!n)return i(n);const{unitId:t}=e,r=this._hyperLinkService.showing,{linkId:o,unitId:c}=r||{},d=c===t&&n.rangeId===o;return i({...n,active:d})}})}};q=nn([ee(1,g.Inject(y.DocInterceptorService)),ee(2,g.Inject(M))],q);var tn=Object.defineProperty,rn=Object.getOwnPropertyDescriptor,on=(n,e,i,t)=>{for(var r=t>1?void 0:t?rn(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(r=(t?c(e,i,r):c(r))||r);return t&&r&&tn(e,i,r),r},$=(n,e)=>(i,t)=>e(i,t,n);let A=class extends s.Disposable{constructor(n,e,i,t){super(),this._docClipboardService=n,this._univerInstanceService=e,this._hyperLinkModel=i,this._textSelectionManagerService=t,this._initClipboard()}_initClipboard(){this.disposeWithMe(this._docClipboardService.addClipboardHook({onBeforePaste:n=>{var o,c;const e=this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);if(!e)return n;const i=this._textSelectionManagerService.getActiveRange(),t=(o=e.getBody())==null?void 0:o.customRanges;if(i?t==null?void 0:t.find(d=>d.rangeType===s.CustomRangeType.HYPERLINK&&d.startIndex<=i.startOffset&&d.endIndex>=i.endOffset-1):null){const{customRanges:d=[],...l}=n,p=d.filter(u=>u.rangeType===s.CustomRangeType.HYPERLINK).map(u=>[u.startIndex,u.endIndex]).flat().sort((u,m)=>u-m),v={...l,customRanges:d.filter(u=>u.rangeType!==s.CustomRangeType.HYPERLINK)};for(let u=0;u<p.length;u++)s.updateAttributeByDelete(v,1,p[u]-u);return v}else{const d=new Set(t==null?void 0:t.map(l=>l.rangeType===s.CustomRangeType.HYPERLINK&&l.rangeId));(c=n.customRanges)==null||c.forEach(l=>{var f;if(l.rangeType===s.CustomRangeType.HYPERLINK){if(d.has(l.rangeId)){const p=this._hyperLinkModel.getLink(e.getUnitId(),l.rangeId);if(p){const v=s.Tools.generateRandomId();this._hyperLinkModel.addLink(e.getUnitId(),{payload:p.payload,id:v}),l.rangeId=v}}else if((f=n.payloads)!=null&&f[l.rangeId]){const p=n.payloads[l.rangeId];this._hyperLinkModel.addLink(e.getUnitId(),{payload:p,id:l.rangeId})}}})}return n}}))}};A=on([s.OnLifecycle(s.LifecycleStages.Ready,A),$(0,g.Inject(Y.IDocClipboardService)),$(1,s.IUniverInstanceService),$(2,g.Inject(P.DocHyperLinkModel)),$(3,g.Inject(y.TextSelectionManagerService))],A);var pe=Object.defineProperty,cn=Object.getOwnPropertyDescriptor,sn=(n,e,i)=>e in n?pe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i,an=(n,e,i,t)=>{for(var r=t>1?void 0:t?cn(e,i):e,o=n.length-1,c;o>=0;o--)(c=n[o])&&(r=(t?c(e,i,r):c(r))||r);return t&&r&&pe(e,i,r),r},ne=(n,e)=>(i,t)=>e(i,t,n),fe=(n,e,i)=>sn(n,typeof e!="symbol"?e+"":e,i);exports.UniverDocsHyperLinkUIPlugin=class extends s.Plugin{constructor(e={menu:{}},i,t){super(),this._config=e,this._injector=i,this._renderManagerSrv=t}onStarting(e){[[M],[N,{useFactory:()=>this._injector.createInstance(N,this._config)}],[j],[A]].forEach(t=>{e.add(t)})}onRendered(){this._initRenderModule()}_initRenderModule(){[q].forEach(e=>{this._renderManagerSrv.registerRenderModule(s.UniverInstanceType.UNIVER_DOC,e)})}};fe(exports.UniverDocsHyperLinkUIPlugin,"pluginName",he);fe(exports.UniverDocsHyperLinkUIPlugin,"type",s.UniverInstanceType.UNIVER_DOC);exports.UniverDocsHyperLinkUIPlugin=an([s.DependentOn(P.UniverDocsHyperLinkPlugin),ne(1,g.Inject(g.Injector)),ne(2,D.IRenderManagerService)],exports.UniverDocsHyperLinkUIPlugin);
1
+ "use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),docsHyperLink=require("@univerjs/docs-hyper-link"),engineRender=require("@univerjs/engine-render"),ui=require("@univerjs/ui"),design=require("@univerjs/design"),React=require("react"),docs=require("@univerjs/docs"),docsUi=require("@univerjs/docs-ui"),rxjs=require("rxjs"),cs=require("clsx"),DOC_HYPER_LINK_UI_PLUGIN="DOC_HYPER_LINK_UI_PLUGIN";var __assign=function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},__assign.apply(this,arguments)},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++)e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i])&&(t[p[i]]=s[p[i]]);return t},IconBase=React.forwardRef(function(props,ref){var icon=props.icon,id=props.id,className=props.className,extend=props.extend,restProps=__rest(props,["icon","id","className","extend"]),cls="univerjs-icon univerjs-icon-".concat(id," ").concat(className||"").trim(),idSuffix=React.useRef("_".concat(generateShortUuid()));return render(icon,"".concat(id),{defIds:icon.defIds,idSuffix:idSuffix.current},__assign({ref,className:cls},restProps),extend)});function render(node,id,runtimeProps,rootProps,extend){return React.createElement(node.tag,__assign(__assign({key:id},replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend)),rootProps),(replaceRuntimeIdsInDefs(node,runtimeProps).children||[]).map(function(child,index){return render(child,"".concat(id,"-").concat(node.tag,"-").concat(index),runtimeProps,void 0,extend)}))}__name(render,"render");function replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend){var attrs=__assign({},node.attrs);extend!=null&&extend.colorChannel1&&attrs.fill==="colorChannel1"&&(attrs.fill=extend.colorChannel1);var defIds=runtimeProps.defIds;return!defIds||defIds.length===0||(node.tag==="use"&&attrs["xlink:href"]&&(attrs["xlink:href"]=attrs["xlink:href"]+runtimeProps.idSuffix),Object.entries(attrs).forEach(function(_a8){var key=_a8[0],value=_a8[1];typeof value=="string"&&(attrs[key]=value.replace(/url\(#(.*)\)/,"url(#$1".concat(runtimeProps.idSuffix,")")))})),attrs}__name(replaceRuntimeIdsAndExtInAttrs,"replaceRuntimeIdsAndExtInAttrs");function replaceRuntimeIdsInDefs(node,runtimeProps){var _a8,defIds=runtimeProps.defIds;return!defIds||defIds.length===0?node:node.tag==="defs"&&(!((_a8=node.children)===null||_a8===void 0)&&_a8.length)?__assign(__assign({},node),{children:node.children.map(function(child){return typeof child.attrs.id=="string"&&defIds&&defIds.indexOf(child.attrs.id)>-1?__assign(__assign({},child),{attrs:__assign(__assign({},child.attrs),{id:child.attrs.id+runtimeProps.idSuffix})}):child})}):node}__name(replaceRuntimeIdsInDefs,"replaceRuntimeIdsInDefs");function generateShortUuid(){return Math.random().toString(36).substring(2,8)}__name(generateShortUuid,"generateShortUuid");IconBase.displayName="UniverIcon";var element$4={tag:"svg",attrs:{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"}}]},CloseSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"close-single",ref,icon:element$4}))});CloseSingle.displayName="CloseSingle";var element$3={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z",fillRule:"evenodd",clipRule:"evenodd"}}]},CopySingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"copy-single",ref,icon:element$3}))});CopySingle.displayName="CopySingle";var element$2={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.9564 2.91332C4.91407 1.87102 3.22413 1.87101 2.18182 2.91333L2.18182 2.91333C1.13953 3.95567 1.13952 5.6456 2.18182 6.68791L8.27777 12.7838C9.72408 14.2302 12.069 14.2302 13.5154 12.7839L13.0911 12.3596L13.5154 12.7839C14.9617 11.3375 14.9617 8.99257 13.5154 7.54626L8.39476 2.42566C8.16044 2.19134 7.78054 2.19134 7.54623 2.42566C7.31191 2.65997 7.31191 3.03987 7.54623 3.27419L12.6668 8.39479L13.0911 7.97052L12.6668 8.39479C13.6445 9.37247 13.6445 10.9576 12.6668 11.9353L13.0399 12.3084L12.6668 11.9353C11.6891 12.913 10.104 12.913 9.1263 11.9353L3.03035 5.83938C2.45668 5.26571 2.45667 4.33556 3.03036 3.76184C3.60403 3.18818 4.53416 3.18817 5.10788 3.76185C5.10788 3.76186 5.10788 3.76186 5.10789 3.76186L11.2038 9.8578L11.601 9.46061L11.2038 9.8578C11.3735 10.0275 11.3735 10.3026 11.2038 10.4723L11.2038 10.4723C11.0341 10.642 10.759 10.642 10.5893 10.4723L5.46874 5.35171C5.23442 5.1174 4.85452 5.1174 4.62021 5.35171C4.38589 5.58602 4.38589 5.96592 4.62021 6.20024L9.74078 11.3208C10.3791 11.9591 11.414 11.9591 12.0523 11.3208C12.0523 11.3208 12.0523 11.3208 12.0523 11.3208M12.0523 11.3208C12.6907 10.6825 12.6906 9.64757 12.0523 9.00927L5.95641 2.91333L5.9564 2.91332",fillRule:"evenodd",clipRule:"evenodd"}}]},LinkSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"link-single",ref,icon:element$2}))});LinkSingle.displayName="LinkSingle";var element$1={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.5935 3.47302C11.6354 2.51492 10.082 2.51492 9.12388 3.47302L7.83534 4.76157C7.60102 4.99588 7.22112 4.99588 6.98681 4.76157 6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449 14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797 11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302zM3.40637 12.6606C2.44827 11.7025 2.44827 10.1491 3.40637 9.19102L4.69492 7.90248C4.92923 7.66816 4.92923 7.28826 4.69492 7.05395 4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092 3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721 8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606zM3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332 2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302 13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332z"}}]},UnlinkSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"unlink-single",ref,icon:element$1}))});UnlinkSingle.displayName="UnlinkSingle";var element={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M12.6551 1.98906C11.7476 1.08113 10.2757 1.08149 9.3686 1.98987L4.82542 6.53955C4.75087 6.61421 4.69336 6.70411 4.65682 6.80309L3.2461 10.625C3.16506 10.8446 3.21909 11.0912 3.3845 11.2568C3.54991 11.4224 3.79651 11.4767 4.01616 11.3959L7.85031 9.98517C7.94979 9.94856 8.04014 9.89077 8.11508 9.81579L12.6552 5.27327C13.5618 4.36621 13.5618 2.89607 12.6551 1.98906ZM10.2177 2.83779C10.6562 2.39869 11.3677 2.39851 11.8064 2.8374C12.2447 3.27584 12.2447 3.9865 11.8065 4.42497L7.3392 8.89457L4.82213 9.82068L5.74706 7.31487L10.2177 2.83779Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.79238 13.2999C1.46101 13.2999 1.19238 13.5685 1.19238 13.8999C1.19238 14.2313 1.46101 14.4999 1.79238 14.4999H14.4924C14.8238 14.4999 15.0924 14.2313 15.0924 13.8999C15.0924 13.5685 14.8238 13.2999 14.4924 13.2999H1.79238Z"}}]},WriteSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"write-single",ref,icon:element}))});WriteSingle.displayName="WriteSingle";const DeleteDocHyperLinkCommand={type:core.CommandType.COMMAND,id:"docs.command.delete-hyper-link",async handler(accessor,params){if(!params)return!1;const{unitId,linkId}=params,commandService=accessor.get(core.ICommandService);if(!accessor.get(docsHyperLink.DocHyperLinkModel).getLink(unitId,linkId))return!1;const doMutation=docs.deleteCustomRangeFactory(accessor,{unitId,rangeId:linkId});return doMutation?await commandService.syncExecuteCommand(doMutation.id,doMutation.params):!1}},shouldDisableAddLink=__name(accessor=>{var _a8;const textSelectionService=accessor.get(docs.TextSelectionManagerService),univerInstanceService=accessor.get(core.IUniverInstanceService),activeRange=textSelectionService.getActiveRange(),render2=accessor.get(engineRender.IRenderManagerService).getCurrent(),skeleton=render2==null?void 0:render2.with(docs.DocSkeletonManagerService).getSkeleton(),editArea=skeleton==null?void 0:skeleton.getViewModel().getEditArea();if(editArea===engineRender.DocumentEditArea.FOOTER||editArea===engineRender.DocumentEditArea.HEADER)return!0;const doc=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_DOC);if(!doc||!activeRange||activeRange.collapsed)return!0;const paragraphs=(_a8=doc.getBody())==null?void 0:_a8.paragraphs;if(!paragraphs)return!0;for(let i=0,len=paragraphs.length;i<len;i++){const p=paragraphs[i];if(activeRange.startOffset<=p.startIndex&&activeRange.endOffset>p.startIndex)return!0;if(p.startIndex>activeRange.endOffset)break}return!1},"shouldDisableAddLink"),ShowDocHyperLinkEditPopupOperation={type:core.CommandType.OPERATION,id:"docs.operation.show-hyper-link-edit-popup",handler(accessor,params){const linkInfo=params==null?void 0:params.link;return shouldDisableAddLink(accessor)&&!linkInfo?!1:(accessor.get(DocHyperLinkPopupService).showEditPopup(linkInfo),!0)}},docLink="univer-doc-link",docLinkType="univer-doc-link-type",docLinkContent="univer-doc-link-content",docLinkContentError="univer-doc-link-content-error",docLinkUrl="univer-doc-link-url",docLinkOperations="univer-doc-link-operations",docLinkOperation="univer-doc-link-operation",docLinkOperationError="univer-doc-link-operation-error",styles$1={docLink,docLinkType,docLinkContent,docLinkContentError,docLinkUrl,docLinkOperations,docLinkOperation,docLinkOperationError},DocLinkPopup=__name(()=>{const hyperLinkService=core.useDependency(DocHyperLinkPopupService),hyperLinkModel=core.useDependency(docsHyperLink.DocHyperLinkModel),commandService=core.useDependency(core.ICommandService),messageService=core.useDependency(ui.IMessageService),localeService=core.useDependency(core.LocaleService),currentPopup=ui.useObservable(hyperLinkService.showingLink$);if(!currentPopup)return null;const{unitId,linkId}=currentPopup,link=hyperLinkModel.getLink(unitId,linkId);return link?React.createElement("div",{className:styles$1.docLink,onClick:__name(()=>{hyperLinkService.hideInfoPopup()},"onClick")},React.createElement("div",{className:cs(styles$1.docLinkContent),onClick:__name(()=>window.open(link.payload),"onClick")},React.createElement("div",{className:styles$1.docLinkType},React.createElement(LinkSingle,null)),React.createElement(design.Tooltip,{showIfEllipsis:!0,title:link.payload},React.createElement("span",{className:styles$1.docLinkUrl},link.payload))),React.createElement("div",{className:styles$1.docLinkOperations},React.createElement("div",{className:cs(styles$1.docLinkOperation),onClick:__name(()=>{navigator.clipboard.writeText(link.payload),messageService.show({content:localeService.t("docLink.info.coped"),type:design.MessageType.Info})},"onClick")},React.createElement(design.Tooltip,{placement:"bottom",title:localeService.t("docLink.info.copy")},React.createElement(CopySingle,null))),React.createElement("div",{className:styles$1.docLinkOperation,onClick:__name(()=>{commandService.executeCommand(ShowDocHyperLinkEditPopupOperation.id,{link:currentPopup})},"onClick")},React.createElement(design.Tooltip,{placement:"bottom",title:localeService.t("docLink.info.edit")},React.createElement(WriteSingle,null))),React.createElement("div",{className:styles$1.docLinkOperation,onClick:__name(()=>{commandService.executeCommand(DeleteDocHyperLinkCommand.id,{unitId,linkId:link.id})},"onClick")},React.createElement(design.Tooltip,{placement:"bottom",title:localeService.t("docLink.info.cancel")},React.createElement(UnlinkSingle,null))))):null},"DocLinkPopup");DocLinkPopup.componentKey="univer.doc.link-info-popup";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"),_a;let DocHyperLinkPopupService=(_a=class extends core.Disposable{constructor(_docCanvasPopupManagerService,_textSelectionManagerService,_docHyperLinkModel,_univerInstanceService,_commandService){super();__publicField(this,"_editingLink$",new rxjs.BehaviorSubject(null));__publicField(this,"_showingLink$",new rxjs.BehaviorSubject(null));__publicField(this,"editingLink$",this._editingLink$.asObservable());__publicField(this,"showingLink$",this._showingLink$.asObservable());__publicField(this,"_editPopup",null);__publicField(this,"_infoPopup",null);this._docCanvasPopupManagerService=_docCanvasPopupManagerService,this._textSelectionManagerService=_textSelectionManagerService,this._docHyperLinkModel=_docHyperLinkModel,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService,this.disposeWithMe(()=>{this._editingLink$.complete(),this._showingLink$.complete()})}get editing(){return this._editingLink$.value}get showing(){return this._showingLink$.value}showEditPopup(linkInfo){var _a8,_b;this._editPopup&&this._editPopup.dispose(),this._editingLink$.next(linkInfo);let activeRange=this._textSelectionManagerService.getActiveRange();if(linkInfo){const{unitId,rangeIndex}=linkInfo,doc=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_DOC),range=(_b=(_a8=doc==null?void 0:doc.getBody())==null?void 0:_a8.customRanges)==null?void 0:_b[rangeIndex];range&&(activeRange={collapsed:!1,startOffset:range.startIndex,endOffset:range.endIndex+1},this._textSelectionManagerService.replaceTextRanges([{startOffset:range.startIndex,endOffset:range.endIndex+1}]))}return activeRange?(this._editPopup=this._docCanvasPopupManagerService.attachPopupToRange(activeRange,{componentKey:DocHyperLinkEdit.componentKey,direction:"bottom"}),this._editPopup):null}hideEditPopup(){var _a8;this._editingLink$.next(null),(_a8=this._editPopup)==null||_a8.dispose()}showInfoPopup(info){var _a8,_b,_c,_d;const{linkId,unitId,rangeIndex}=info;if(((_a8=this.showing)==null?void 0:_a8.linkId)===linkId&&((_b=this.showing)==null?void 0:_b.unitId)===unitId&&this.showing.rangeIndex===rangeIndex)return;this._infoPopup&&this._infoPopup.dispose();const link=this._docHyperLinkModel.getLink(unitId,linkId),doc=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_DOC);if(!doc||!link)return;const range=(_d=(_c=doc.getBody())==null?void 0:_c.customRanges)==null?void 0:_d[rangeIndex];if(this._showingLink$.next({unitId,linkId,rangeIndex}),!!range)return this._infoPopup=this._docCanvasPopupManagerService.attachPopupToRange({collapsed:!1,startOffset:range.startIndex,endOffset:range.endIndex+1},{componentKey:DocLinkPopup.componentKey,direction:"top",closeOnSelfTarget:!0,onClickOutside:__name(()=>{this.hideInfoPopup()},"onClickOutside")}),this._infoPopup}hideInfoPopup(){var _a8;this._showingLink$.next(null),(_a8=this._infoPopup)==null||_a8.dispose()}},__name(_a,"DocHyperLinkPopupService"),_a);DocHyperLinkPopupService=__decorateClass$6([__decorateParam$6(0,core.Inject(docsUi.DocCanvasPopManagerService)),__decorateParam$6(1,core.Inject(docs.TextSelectionManagerService)),__decorateParam$6(2,core.Inject(docsHyperLink.DocHyperLinkModel)),__decorateParam$6(3,core.IUniverInstanceService),__decorateParam$6(4,core.ICommandService)],DocHyperLinkPopupService);const AddDocHyperLinkCommand={type:core.CommandType.COMMAND,id:"docs.command.add-hyper-link",async handler(accessor,params){if(!params)return!1;const{payload,unitId}=params,commandService=accessor.get(core.ICommandService),id=core.generateRandomId(),doMutation=docs.addCustomRangeBySelectionFactory(accessor,{rangeId:id,rangeType:core.CustomRangeType.HYPERLINK});if(doMutation){const hyperLinkMutation={id:docsHyperLink.AddDocHyperLinkMutation.id,params:{unitId,link:{payload,id}}};return(await core.sequenceExecuteAsync([hyperLinkMutation,doMutation],commandService)).result}return!1}},UpdateDocHyperLinkCommand={id:"docs.command.update-hyper-link",type:core.CommandType.COMMAND,handler(accessor,params){return params?accessor.get(core.ICommandService).syncExecuteCommand(docsHyperLink.UpdateDocHyperLinkMutation.id,params):!1}},docsLinkEdit="univer-docs-link-edit",docsLinkEditTitle="univer-docs-link-edit-title",docsLinkEditClose="univer-docs-link-edit-close",docsLinkEditButtons="univer-docs-link-edit-buttons",docsLinkEditButton="univer-docs-link-edit-button",styles={docsLinkEdit,docsLinkEditTitle,docsLinkEditClose,docsLinkEditButtons,docsLinkEditButton};function hasProtocol(urlString){return/^[a-zA-Z]+:\/\//.test(urlString)}__name(hasProtocol,"hasProtocol");function isEmail(url){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(url)}__name(isEmail,"isEmail");function transformUrl(urlStr){return hasProtocol(urlStr)?urlStr:isEmail(urlStr)?`mailto://${urlStr}`:`https://${urlStr}`}__name(transformUrl,"transformUrl");const DocHyperLinkEdit=__name(()=>{const hyperLinkService=core.useDependency(DocHyperLinkPopupService),localeService=core.useDependency(core.LocaleService),hyperLinkModel=core.useDependency(docsHyperLink.DocHyperLinkModel),editingId=core.useObservable(hyperLinkService.editingLink$),commandService=core.useDependency(core.ICommandService),univerInstanceService=core.useDependency(core.IUniverInstanceService),textSelectionRenderManager=core.useDependency(engineRender.ITextSelectionRenderManager),textSelectionManagerService=core.useDependency(docs.TextSelectionManagerService),[link,setLink]=React.useState(""),[showError,setShowError]=React.useState(!1),isLegal=core.Tools.isLegalUrl(link),doc=editingId?univerInstanceService.getUnit(editingId.unitId,core.UniverInstanceType.UNIVER_DOC):univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_DOC);React.useEffect(()=>{var _a8,_b,_c,_d;if(editingId){const linkDetail=editingId?hyperLinkModel.getLink(editingId.unitId,editingId.linkId):null;setLink((_a8=linkDetail==null?void 0:linkDetail.payload)!=null?_a8:"");return}const activeRange=textSelectionManagerService.getActiveRange();if(!activeRange)return;const doc2=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_DOC),matchedRange=(_c=(_b=doc2==null?void 0:doc2.getBody())==null?void 0:_b.customRanges)==null?void 0:_c.find(i=>Math.max(activeRange.startOffset,i.startIndex)<=Math.min(activeRange.endOffset-1,i.endIndex));if(doc2&&matchedRange){const linkDetail=hyperLinkModel.getLink(doc2.getUnitId(),matchedRange.rangeId);setLink((_d=linkDetail==null?void 0:linkDetail.payload)!=null?_d:"")}},[editingId,hyperLinkModel,textSelectionManagerService,univerInstanceService]),React.useEffect(()=>(textSelectionRenderManager.blurEditor(),()=>{textSelectionRenderManager.focusEditor()}),[textSelectionRenderManager]);const handleCancel=__name(()=>{hyperLinkService.hideEditPopup()},"handleCancel"),handleConfirm=__name(()=>{if(setShowError(!0),!isLegal||!doc)return;const linkFinal=transformUrl(link);editingId?commandService.executeCommand(UpdateDocHyperLinkCommand.id,{unitId:doc.getUnitId(),payload:linkFinal,linkId:editingId.linkId}):commandService.executeCommand(AddDocHyperLinkCommand.id,{unitId:doc.getUnitId(),payload:linkFinal}),hyperLinkService.hideEditPopup()},"handleConfirm");if(doc)return React.createElement("div",{className:styles.docsLinkEdit},React.createElement("div",{className:styles.docsLinkEditTitle},React.createElement("span",null,localeService.t("docLink.edit.title")),React.createElement(CloseSingle,{className:styles.docsLinkEditClose,onClick:handleCancel})),React.createElement("div",null,React.createElement(design.FormLayout,{label:localeService.t("docLink.edit.address"),error:showError&&!isLegal?localeService.t("docLink.edit.addressError"):""},React.createElement(design.Input,{value:link,onChange:setLink,autoFocus:!0}))),React.createElement("div",{className:styles.docsLinkEditButtons},React.createElement(design.Button,{className:styles.docsLinkEditButton,onClick:handleCancel},localeService.t("docLink.edit.cancel")),React.createElement(design.Button,{disabled:!link,className:styles.docsLinkEditButton,type:"primary",onClick:handleConfirm},localeService.t("docLink.edit.confirm"))))},"DocHyperLinkEdit");DocHyperLinkEdit.componentKey="docs-hyper-link-edit";const DOC_LINK_ICON="doc-hyper-link-icon";function AddHyperLinkMenuItemFactory(accessor){return{id:ShowDocHyperLinkEditPopupOperation.id,group:ui.MenuGroup.CONTEXT_MENU_DATA,type:ui.MenuItemType.BUTTON,icon:DOC_LINK_ICON,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",positions:[ui.MenuPosition.TOOLBAR_START,ui.MenuPosition.CONTEXT_MENU],hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_DOC),disabled$:new rxjs.Observable(function(subscribe){const observer=accessor.get(docs.TextSelectionManagerService).textSelection$.pipe(rxjs.debounceTime(16)).subscribe(()=>{subscribe.next(shouldDisableAddLink(accessor))});return()=>{observer.unsubscribe()}})}}__name(AddHyperLinkMenuItemFactory,"AddHyperLinkMenuItemFactory");const addLinkShortcut={id:ShowDocHyperLinkEditPopupOperation.id,binding:ui.MetaKeys.CTRL_COMMAND|ui.KeyCode.K,description:"docLink.menu.tooltip",preconditions:docsUi.whenDocAndEditorFocused};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"),_a2;let DocHyperLinkUIController=(_a2=class extends core.Disposable{constructor(_config,_componentManager,_commandService,_menuService,_injector,_shortcutService){super(),this._config=_config,this._componentManager=_componentManager,this._commandService=_commandService,this._menuService=_menuService,this._injector=_injector,this._shortcutService=_shortcutService,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[DocHyperLinkEdit,DocHyperLinkEdit.componentKey],[DocLinkPopup,DocLinkPopup.componentKey],[LinkSingle,DOC_LINK_ICON]].forEach(([comp,key])=>{this._componentManager.register(key,comp)})}_initCommands(){[AddDocHyperLinkCommand,UpdateDocHyperLinkCommand,DeleteDocHyperLinkCommand,ShowDocHyperLinkEditPopupOperation].forEach(command=>{this._commandService.registerCommand(command)})}_initShortcut(){[addLinkShortcut].forEach(shortcut=>{this._shortcutService.registerShortcut(shortcut)})}_initMenus(){[AddHyperLinkMenuItemFactory].forEach(menuFactory=>{this.disposeWithMe(this._menuService.addMenuItem(menuFactory(this._injector),{}))})}},__name(_a2,"DocHyperLinkUIController"),_a2);DocHyperLinkUIController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Starting,DocHyperLinkUIController),__decorateParam$5(1,core.Inject(ui.ComponentManager)),__decorateParam$5(2,core.ICommandService),__decorateParam$5(3,ui.IMenuService),__decorateParam$5(4,core.Inject(core.Injector)),__decorateParam$5(5,ui.IShortcutService)],DocHyperLinkUIController);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"),_a3;let DocHyperLinkSelectionController=(_a3=class extends core.Disposable{constructor(_commandService,_univerInstanceService,_docHyperLinkService,_renderMangerService){super(),this._commandService=_commandService,this._univerInstanceService=_univerInstanceService,this._docHyperLinkService=_docHyperLinkService,this._renderMangerService=_renderMangerService,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(commandInfo=>{var _a8,_b;if(commandInfo.id===docs.SetTextSelectionsOperation.id){const params=commandInfo.params,{unitId,ranges}=params,render2=this._renderMangerService.getRenderById(unitId),skeleton=render2==null?void 0:render2.with(docs.DocSkeletonManagerService).getSkeleton();if((skeleton==null?void 0:skeleton.getViewModel().getEditArea())!==engineRender.DocumentEditArea.BODY){this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup();return}const doc=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_DOC),primary=ranges[0];if(primary&&doc){const{startOffset,endOffset,collapsed}=primary,customRanges=(_a8=doc.getBody())==null?void 0:_a8.customRanges;if(collapsed){const index=(_b=customRanges==null?void 0:customRanges.findIndex(value=>value.startIndex<startOffset&&value.endIndex>endOffset-1))!=null?_b:-1;if(index>-1){const customRange=customRanges[index];this._docHyperLinkService.showInfoPopup({unitId,linkId:customRange.rangeId,rangeIndex:index});return}}else if(customRanges!=null&&customRanges.find(value=>value.startIndex<=startOffset&&value.endIndex>=endOffset-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}},__name(_a3,"DocHyperLinkSelectionController"),_a3);DocHyperLinkSelectionController=__decorateClass$4([core.OnLifecycle(core.LifecycleStages.Ready,DocHyperLinkSelectionController),__decorateParam$4(0,core.ICommandService),__decorateParam$4(1,core.IUniverInstanceService),__decorateParam$4(2,core.Inject(DocHyperLinkPopupService)),__decorateParam$4(3,engineRender.IRenderManagerService)],DocHyperLinkSelectionController);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"),_a4;let DocHyperLinkRenderController=(_a4=class extends core.Disposable{constructor(_context,_docInterceptorService,_hyperLinkService){super(),this._context=_context,this._docInterceptorService=_docInterceptorService,this._hyperLinkService=_hyperLinkService,this._init()}_init(){this._docInterceptorService.intercept(docs.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:__name((data,pos,next)=>{if(!data)return next(data);const{unitId}=pos,activeLink=this._hyperLinkService.showing,{linkId,unitId:linkUnitId}=activeLink||{},isActive=linkUnitId===unitId&&data.rangeId===linkId;return next({...data,active:isActive})},"handler")})}},__name(_a4,"DocHyperLinkRenderController"),_a4);DocHyperLinkRenderController=__decorateClass$3([__decorateParam$3(1,core.Inject(docs.DocInterceptorService)),__decorateParam$3(2,core.Inject(DocHyperLinkPopupService))],DocHyperLinkRenderController);var __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"),_a5;let DocHyperLinkClipboardController=(_a5=class extends core.Disposable{constructor(_docClipboardService,_univerInstanceService,_hyperLinkModel,_textSelectionManagerService,_commandService){super(),this._docClipboardService=_docClipboardService,this._univerInstanceService=_univerInstanceService,this._hyperLinkModel=_hyperLinkModel,this._textSelectionManagerService=_textSelectionManagerService,this._commandService=_commandService,this._initClipboard()}_initClipboard(){this.disposeWithMe(this._docClipboardService.addClipboardHook({onBeforePaste:__name(body=>{var _a8,_b;const doc=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_DOC);if(!doc)return body;const activeRange=this._textSelectionManagerService.getActiveRange(),customRanges=(_a8=doc.getBody())==null?void 0:_a8.customRanges;if(activeRange?customRanges==null?void 0:customRanges.find(range=>range.rangeType===core.CustomRangeType.HYPERLINK&&range.startIndex<=activeRange.startOffset&&range.endIndex>=activeRange.endOffset-1):null){const{customRanges:customRanges2=[],...extBody}=body,deleteIndexes=customRanges2.filter(range=>range.rangeType===core.CustomRangeType.HYPERLINK).map(i=>[i.startIndex,i.endIndex]).flat().sort((pre,aft)=>pre-aft),bodyWithoutLink={...extBody,customRanges:customRanges2.filter(range=>range.rangeType!==core.CustomRangeType.HYPERLINK)};for(let i=0;i<deleteIndexes.length;i++)core.updateAttributeByDelete(bodyWithoutLink,1,deleteIndexes[i]-i);return bodyWithoutLink}else{const unitId=doc.getUnitId(),customRangeIds=new Set(customRanges==null?void 0:customRanges.map(i=>i.rangeType===core.CustomRangeType.HYPERLINK&&i.rangeId));(_b=body.customRanges)==null||_b.forEach(range=>{var _a9;if(range.rangeType===core.CustomRangeType.HYPERLINK){if(customRangeIds.has(range.rangeId)){const link=this._hyperLinkModel.getLink(unitId,range.rangeId);if(link){const newId=core.Tools.generateRandomId();this._commandService.executeCommand(docsHyperLink.AddDocHyperLinkMutation.id,{unitId,link:{id:newId,payload:link.payload}}),range.rangeId=newId}}else if((_a9=body.payloads)!=null&&_a9[range.rangeId]){const url=body.payloads[range.rangeId];this._commandService.executeCommand(docsHyperLink.AddDocHyperLinkMutation.id,{unitId,link:{id:range.rangeId,payload:url}})}}})}return body},"onBeforePaste")}))}},__name(_a5,"DocHyperLinkClipboardController"),_a5);DocHyperLinkClipboardController=__decorateClass$2([core.OnLifecycle(core.LifecycleStages.Ready,DocHyperLinkClipboardController),__decorateParam$2(0,core.Inject(docsUi.IDocClipboardService)),__decorateParam$2(1,core.IUniverInstanceService),__decorateParam$2(2,core.Inject(docsHyperLink.DocHyperLinkModel)),__decorateParam$2(3,core.Inject(docs.TextSelectionManagerService)),__decorateParam$2(4,core.ICommandService)],DocHyperLinkClipboardController);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"),_a6;let DocHyperLinkCustomRangeController=(_a6=class extends core.Disposable{constructor(_docCustomRangeService,_docHyperLinkModel,_commandService){super(),this._docCustomRangeService=_docCustomRangeService,this._docHyperLinkModel=_docHyperLinkModel,this._commandService=_commandService,this._initCustomRangeHooks()}_initCustomRangeHooks(){this.disposeWithMe(this._docCustomRangeService.addClipboardHook({onCopyCustomRange:__name((unitId,range)=>{const{rangeId,rangeType,data,...ext}=range;if(rangeType===core.CustomRangeType.HYPERLINK){if(data){const id=core.Tools.generateRandomId();return this._commandService.executeCommand(docsHyperLink.AddDocHyperLinkMutation.id,{unitId,link:{id,payload:data}}),{...range,rangeId:id}}const link=this._docHyperLinkModel.getLink(unitId,rangeId);if(!link)return range;const newId=core.Tools.generateRandomId();return this._commandService.executeCommand(docsHyperLink.AddDocHyperLinkMutation.id,{unitId,link:{id:newId,payload:link.payload}}),{...ext,rangeId:newId,rangeType}}return range},"onCopyCustomRange")}))}},__name(_a6,"DocHyperLinkCustomRangeController"),_a6);DocHyperLinkCustomRangeController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,DocHyperLinkCustomRangeController),__decorateParam$1(0,core.Inject(docs.DocCustomRangeService)),__decorateParam$1(1,core.Inject(docsHyperLink.DocHyperLinkModel)),__decorateParam$1(2,core.ICommandService)],DocHyperLinkCustomRangeController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__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"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField"),_a7;exports.UniverDocsHyperLinkUIPlugin=(_a7=class extends core.Plugin{constructor(_config={menu:{}},_injector,_renderManagerSrv){super(),this._config=_config,this._injector=_injector,this._renderManagerSrv=_renderManagerSrv}onStarting(){[[DocHyperLinkPopupService],[DocHyperLinkUIController,{useFactory:__name(()=>this._injector.createInstance(DocHyperLinkUIController,this._config),"useFactory")}],[DocHyperLinkSelectionController],[DocHyperLinkClipboardController],[DocHyperLinkCustomRangeController]].forEach(dep=>{this._injector.add(dep)})}onRendered(){this._initRenderModule()}_initRenderModule(){[DocHyperLinkRenderController].forEach(dep=>{this._renderManagerSrv.registerRenderModule(core.UniverInstanceType.UNIVER_DOC,dep)})}},__name(_a7,"UniverDocsHyperLinkUIPlugin"),_a7);__publicField2(exports.UniverDocsHyperLinkUIPlugin,"pluginName",DOC_HYPER_LINK_UI_PLUGIN);__publicField2(exports.UniverDocsHyperLinkUIPlugin,"type",core.UniverInstanceType.UNIVER_DOC);exports.UniverDocsHyperLinkUIPlugin=__decorateClass([core.DependentOn(docsHyperLink.UniverDocsHyperLinkPlugin),__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,engineRender.IRenderManagerService)],exports.UniverDocsHyperLinkUIPlugin);