@univerjs/docs-hyper-link-ui 0.2.4-alpha.0 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +26 -24
- package/lib/types/commands/operations/popup.operation.d.ts +2 -1
- package/lib/types/controllers/menu.d.ts +1 -1
- package/lib/types/controllers/ui.controller.d.ts +2 -1
- package/lib/types/plugin.d.ts +2 -1
- package/lib/types/services/hyper-link-popup.service.d.ts +2 -1
- package/lib/umd/index.js +1 -1
- package/package.json +18 -16
package/lib/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var pe=Object.defineProperty;var fe=(n,e,i)=>e in n?pe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i;var M=(n,e,i)=>fe(n,typeof e!="symbol"?e+"":e,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),E=require("@univerjs/docs-hyper-link"),P=require("@univerjs/engine-render"),m=require("@univerjs/ui"),_=require("@univerjs/design"),a=require("react"),L=require("@univerjs/docs"),F=require("@univerjs/docs-ui"),j=require("rxjs"),X=require("clsx"),ve="DOC_HYPER_LINK_UI_PLUGIN";var h=function(){return h=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},h.apply(this,arguments)},ge=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},D=a.forwardRef(function(n,e){var i=n.icon,t=n.id,r=n.className,c=n.extend,s=ge(n,["icon","id","className","extend"]),d="univerjs-icon univerjs-icon-".concat(t," ").concat(r||"").trim(),l=a.useRef("_".concat(Le()));return ee(i,"".concat(t),{defIds:i.defIds,idSuffix:l.current},h({ref:e,className:d},s),c)});function ee(n,e,i,t,r){return a.createElement(n.tag,h(h({key:e},he(n,i,r)),t),(me(n,i).children||[]).map(function(c,s){return ee(c,"".concat(e,"-").concat(n.tag,"-").concat(s),i,void 0,r)}))}function he(n,e,i){var t=h({},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(c){var s=c[0],d=c[1];typeof d=="string"&&(t[s]=d.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),t}function me(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)?h(h({},n),{children:n.children.map(function(r){return typeof r.attrs.id=="string"&&t&&t.indexOf(r.attrs.id)>-1?h(h({},r),{attrs:h(h({},r.attrs),{id:r.attrs.id+e.idSuffix})}):r})}):n}function Le(){return Math.random().toString(36).substring(2,8)}D.displayName="UniverIcon";var Ie={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"}}]},ne=a.forwardRef(function(n,e){return a.createElement(D,Object.assign({},n,{id:"close-single",ref:e,icon:Ie}))});ne.displayName="CloseSingle";var ye={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"}}]},te=a.forwardRef(function(n,e){return a.createElement(D,Object.assign({},n,{id:"copy-single",ref:e,icon:ye}))});te.displayName="CopySingle";var Ce={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"}}]},q=a.forwardRef(function(n,e){return a.createElement(D,Object.assign({},n,{id:"link-single",ref:e,icon:Ce}))});q.displayName="LinkSingle";var _e={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"}}]},ie=a.forwardRef(function(n,e){return a.createElement(D,Object.assign({},n,{id:"unlink-single",ref:e,icon:_e}))});ie.displayName="UnlinkSingle";var ke={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"}}]},re=a.forwardRef(function(n,e){return a.createElement(D,Object.assign({},n,{id:"write-single",ref:e,icon:ke}))});re.displayName="WriteSingle";const oe={type:o.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(o.ICommandService);if(!n.get(E.DocHyperLinkModel).getLink(i,t))return!1;const d=L.deleteCustomRangeFactory(n,{unitId:i,rangeId:t});return d?await r.syncExecuteCommand(d.id,d.params):!1}},ce=n=>{var p;const e=n.get(L.TextSelectionManagerService),i=n.get(o.IUniverInstanceService),t=e.getActiveRange(),c=n.get(P.IRenderManagerService).getCurrent(),s=c==null?void 0:c.with(L.DocSkeletonManagerService).getSkeleton(),d=s==null?void 0:s.getViewModel().getEditArea();if(d===P.DocumentEditArea.FOOTER||d===P.DocumentEditArea.HEADER)return!0;const l=i.getCurrentUnitForType(o.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 g=f[v];if(t.startOffset<=g.startIndex&&t.endOffset>g.startIndex)return!0;if(g.startIndex>t.endOffset)break}return!1},K={type:o.CommandType.OPERATION,id:"docs.operation.show-hyper-link-edit-popup",handler(n,e){const i=e==null?void 0:e.link;return ce(n)&&!i?!1:(n.get(O).showEditPopup(i),!0)}},Se="univer-doc-link",Oe="univer-doc-link-type",Ee="univer-doc-link-content",Me="univer-doc-link-content-error",Pe="univer-doc-link-url",Re="univer-doc-link-operations",De="univer-doc-link-operation",xe="univer-doc-link-operation-error",S={docLink:Se,docLinkType:Oe,docLinkContent:Ee,docLinkContentError:Me,docLinkUrl:Pe,docLinkOperations:Re,docLinkOperation:De,docLinkOperationError:xe},A=()=>{const n=o.useDependency(O),e=o.useDependency(E.DocHyperLinkModel),i=o.useDependency(o.ICommandService),t=o.useDependency(m.IMessageService),r=o.useDependency(o.LocaleService),c=m.useObservable(n.showingLink$);if(!c)return null;const{unitId:s,linkId:d}=c,l=e.getLink(s,d);return l?a.createElement("div",{className:S.docLink,onClick:()=>{n.hideInfoPopup()}},a.createElement("div",{className:X(S.docLinkContent),onClick:()=>window.open(l.payload)},a.createElement("div",{className:S.docLinkType},a.createElement(q,null)),a.createElement(_.Tooltip,{showIfEllipsis:!0,title:l.payload},a.createElement("span",{className:S.docLinkUrl},l.payload))),a.createElement("div",{className:S.docLinkOperations},a.createElement("div",{className:X(S.docLinkOperation),onClick:()=>{navigator.clipboard.writeText(l.payload),t.show({content:r.t("docLink.info.coped"),type:_.MessageType.Info})}},a.createElement(_.Tooltip,{placement:"bottom",title:r.t("docLink.info.copy")},a.createElement(te,null))),a.createElement("div",{className:S.docLinkOperation,onClick:()=>{i.executeCommand(K.id,{link:c})}},a.createElement(_.Tooltip,{placement:"bottom",title:r.t("docLink.info.edit")},a.createElement(re,null))),a.createElement("div",{className:S.docLinkOperation,onClick:()=>{i.executeCommand(oe.id,{unitId:s,linkId:l.id})}},a.createElement(_.Tooltip,{placement:"bottom",title:r.t("docLink.info.cancel")},a.createElement(ie,null))))):null};A.componentKey="univer.doc.link-info-popup";var be=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,we=(n,e,i,t)=>{for(var r=t>1?void 0:t?Ue(e,i):e,c=n.length-1,s;c>=0;c--)(s=n[c])&&(r=(t?s(e,i,r):s(r))||r);return t&&r&&be(e,i,r),r},b=(n,e)=>(i,t)=>e(i,t,n);let O=class extends o.Disposable{constructor(e,i,t,r,c){super();M(this,"_editingLink$",new j.BehaviorSubject(null));M(this,"_showingLink$",new j.BehaviorSubject(null));M(this,"editingLink$",this._editingLink$.asObservable());M(this,"showingLink$",this._showingLink$.asObservable());M(this,"_editPopup",null);M(this,"_infoPopup",null);this._docCanvasPopupManagerService=e,this._textSelectionManagerService=i,this._docHyperLinkModel=t,this._univerInstanceService=r,this._commandService=c,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:c,rangeIndex:s}=e,d=this._univerInstanceService.getUnit(c,o.UniverInstanceType.UNIVER_DOC),l=(r=(t=d==null?void 0:d.getBody())==null?void 0:t.customRanges)==null?void 0:r[s];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:B.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 c=this._docHyperLinkModel.getLink(t,i),s=this._univerInstanceService.getUnit(t,o.UniverInstanceType.UNIVER_DOC);if(!s||!c)return;const d=(v=(p=s.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:A.componentKey,direction:"top",closeOnSelfTarget:!0,onClickOutside:()=>{this.hideInfoPopup()}}),this._infoPopup}hideInfoPopup(){var e;this._showingLink$.next(null),(e=this._infoPopup)==null||e.dispose()}};O=we([b(0,o.Inject(F.DocCanvasPopManagerService)),b(1,o.Inject(L.TextSelectionManagerService)),b(2,o.Inject(E.DocHyperLinkModel)),b(3,o.IUniverInstanceService),b(4,o.ICommandService)],O);const se={type:o.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(o.ICommandService),c=o.generateRandomId(),s=L.addCustomRangeBySelectionFactory(n,{rangeId:c,rangeType:o.CustomRangeType.HYPERLINK});if(s){const d={id:E.AddDocHyperLinkMutation.id,params:{unitId:t,link:{payload:i,id:c}}};return(await o.sequenceExecuteAsync([d,s],r)).result}return!1}},ae={id:"docs.command.update-hyper-link",type:o.CommandType.COMMAND,handler(n,e){return e?n.get(o.ICommandService).syncExecuteCommand(E.UpdateDocHyperLinkMutation.id,e):!1}},Te="univer-docs-link-edit",Ne="univer-docs-link-edit-title",He="univer-docs-link-edit-close",$e="univer-docs-link-edit-buttons",je="univer-docs-link-edit-button",R={docsLinkEdit:Te,docsLinkEditTitle:Ne,docsLinkEditClose:He,docsLinkEditButtons:$e,docsLinkEditButton:je};function Ae(n){return/^[a-zA-Z]+:\/\//.test(n)}function Be(n){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(n)}function Ke(n){return Ae(n)?n:Be(n)?`mailto://${n}`:`https://${n}`}const B=()=>{const n=o.useDependency(O),e=o.useDependency(o.LocaleService),i=o.useDependency(E.DocHyperLinkModel),t=o.useObservable(n.editingLink$),r=o.useDependency(o.ICommandService),c=o.useDependency(o.IUniverInstanceService),s=o.useDependency(P.ITextSelectionRenderManager),d=o.useDependency(L.TextSelectionManagerService),[l,f]=a.useState(""),[p,v]=a.useState(!1),u=o.Tools.isLegalUrl(l),g=t?c.getUnit(t.unitId,o.UniverInstanceType.UNIVER_DOC):c.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);a.useEffect(()=>{var Z,W,z,G;if(t){const C=t?i.getLink(t.unitId,t.linkId):null;f((Z=C==null?void 0:C.payload)!=null?Z:"");return}const I=d.getActiveRange();if(!I)return;const x=c.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),Y=(z=(W=x==null?void 0:x.getBody())==null?void 0:W.customRanges)==null?void 0:z.find(C=>Math.max(I.startOffset,C.startIndex)<=Math.min(I.endOffset-1,C.endIndex));if(x&&Y){const C=i.getLink(x.getUnitId(),Y.rangeId);f((G=C==null?void 0:C.payload)!=null?G:"")}},[t,i,d,c]),a.useEffect(()=>(s.blur(),()=>{s.focus()}),[s]);const y=()=>{n.hideEditPopup()},k=()=>{if(v(!0),!u||!g)return;const I=Ke(l);t?r.executeCommand(ae.id,{unitId:g.getUnitId(),payload:I,linkId:t.linkId}):r.executeCommand(se.id,{unitId:g.getUnitId(),payload:I}),n.hideEditPopup()};if(g)return a.createElement("div",{className:R.docsLinkEdit},a.createElement("div",{className:R.docsLinkEditTitle},a.createElement("span",null,e.t("docLink.edit.title")),a.createElement(ne,{className:R.docsLinkEditClose,onClick:y})),a.createElement("div",null,a.createElement(_.FormLayout,{label:e.t("docLink.edit.address"),error:p&&!u?e.t("docLink.edit.addressError"):""},a.createElement(_.Input,{value:l,onChange:f,autoFocus:!0}))),a.createElement("div",{className:R.docsLinkEditButtons},a.createElement(_.Button,{className:R.docsLinkEditButton,onClick:y},e.t("docLink.edit.cancel")),a.createElement(_.Button,{disabled:!l,className:R.docsLinkEditButton,type:"primary",onClick:k},e.t("docLink.edit.confirm"))))};B.componentKey="docs-hyper-link-edit";const de="doc-hyper-link-icon";function Ve(n){return{id:K.id,group:m.MenuGroup.TOOLBAR_LAYOUT,type:m.MenuItemType.BUTTON,icon:de,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",positions:[m.MenuPosition.TOOLBAR_START,m.MenuPosition.CONTEXT_MENU],hidden$:m.getMenuHiddenObservable(n,o.UniverInstanceType.UNIVER_DOC),disabled$:new j.Observable(function(e){const t=n.get(L.TextSelectionManagerService).textSelection$.pipe(j.debounceTime(16)).subscribe(()=>{e.next(ce(n))});return()=>{t.unsubscribe()}})}}const Fe={id:K.id,binding:m.MetaKeys.CTRL_COMMAND|m.KeyCode.K,description:"docLink.menu.tooltip",preconditions:F.whenDocAndEditorFocused};var qe=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Ze=(n,e,i,t)=>{for(var r=t>1?void 0:t?Ye(e,i):e,c=n.length-1,s;c>=0;c--)(s=n[c])&&(r=(t?s(e,i,r):s(r))||r);return t&&r&&qe(e,i,r),r},U=(n,e)=>(i,t)=>e(i,t,n);let w=class extends o.Disposable{constructor(n,e,i,t,r,c){super(),this._config=n,this._componentManager=e,this._commandService=i,this._menuService=t,this._injector=r,this._shortcutService=c,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[B,B.componentKey],[A,A.componentKey],[q,de]].forEach(([n,e])=>{this._componentManager.register(e,n)})}_initCommands(){[se,ae,oe,K].forEach(n=>{this._commandService.registerCommand(n)})}_initShortcut(){[Fe].forEach(n=>{this._shortcutService.registerShortcut(n)})}_initMenus(){[Ve].forEach(n=>{this.disposeWithMe(this._menuService.addMenuItem(n(this._injector),{}))})}};w=Ze([o.OnLifecycle(o.LifecycleStages.Starting,w),U(1,o.Inject(m.ComponentManager)),U(2,o.ICommandService),U(3,m.IMenuService),U(4,o.Inject(o.Injector)),U(5,m.IShortcutService)],w);var We=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,Ge=(n,e,i,t)=>{for(var r=t>1?void 0:t?ze(e,i):e,c=n.length-1,s;c>=0;c--)(s=n[c])&&(r=(t?s(e,i,r):s(r))||r);return t&&r&&We(e,i,r),r},T=(n,e)=>(i,t)=>e(i,t,n);let H=class extends o.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===L.SetTextSelectionsOperation.id){const t=n.params,{unitId:r,ranges:c}=t,s=this._renderMangerService.getRenderById(r),d=s==null?void 0:s.with(L.DocSkeletonManagerService).getSkeleton();if((d==null?void 0:d.getViewModel().getEditArea())!==P.DocumentEditArea.BODY){this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup();return}const f=this._univerInstanceService.getUnit(r,o.UniverInstanceType.UNIVER_DOC),p=c[0];if(p&&f){const{startOffset:v,endOffset:u,collapsed:g}=p,y=(e=f.getBody())==null?void 0:e.customRanges;if(g){const k=(i=y==null?void 0:y.findIndex(I=>I.startIndex<v&&I.endIndex>u-1))!=null?i:-1;if(k>-1){const I=y[k];this._docHyperLinkService.showInfoPopup({unitId:r,linkId:I.rangeId,rangeIndex:k});return}}else if(y!=null&&y.find(k=>k.startIndex<=v&&k.endIndex>=u-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}};H=Ge([o.OnLifecycle(o.LifecycleStages.Ready,H),T(0,o.ICommandService),T(1,o.IUniverInstanceService),T(2,o.Inject(O)),T(3,P.IRenderManagerService)],H);var Xe=Object.defineProperty,Je=Object.getOwnPropertyDescriptor,Qe=(n,e,i,t)=>{for(var r=t>1?void 0:t?Je(e,i):e,c=n.length-1,s;c>=0;c--)(s=n[c])&&(r=(t?s(e,i,r):s(r))||r);return t&&r&&Xe(e,i,r),r},J=(n,e)=>(i,t)=>e(i,t,n);let V=class extends o.Disposable{constructor(n,e,i){super(),this._context=n,this._docInterceptorService=e,this._hyperLinkService=i,this._init()}_init(){this._docInterceptorService.intercept(L.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:(n,e,i)=>{if(!n)return i(n);const{unitId:t}=e,r=this._hyperLinkService.showing,{linkId:c,unitId:s}=r||{},d=s===t&&n.rangeId===c;return i({...n,active:d})}})}};V=Qe([J(1,o.Inject(L.DocInterceptorService)),J(2,o.Inject(O))],V);var en=Object.defineProperty,nn=Object.getOwnPropertyDescriptor,tn=(n,e,i,t)=>{for(var r=t>1?void 0:t?nn(e,i):e,c=n.length-1,s;c>=0;c--)(s=n[c])&&(r=(t?s(e,i,r):s(r))||r);return t&&r&&en(e,i,r),r},N=(n,e)=>(i,t)=>e(i,t,n);let $=class extends o.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 c,s;const e=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);if(!e)return n;const i=this._textSelectionManagerService.getActiveRange(),t=(c=e.getBody())==null?void 0:c.customRanges;if(i?t==null?void 0:t.find(d=>d.rangeType===o.CustomRangeType.HYPERLINK&&d.startIndex<=i.startOffset&&d.endIndex>=i.endOffset-1):null){const{customRanges:d=[],...l}=n,p=d.filter(u=>u.rangeType===o.CustomRangeType.HYPERLINK).map(u=>[u.startIndex,u.endIndex]).flat().sort((u,g)=>u-g),v={...l,customRanges:d.filter(u=>u.rangeType!==o.CustomRangeType.HYPERLINK)};for(let u=0;u<p.length;u++)o.updateAttributeByDelete(v,1,p[u]-u);return v}else{const d=new Set(t==null?void 0:t.map(l=>l.rangeType===o.CustomRangeType.HYPERLINK&&l.rangeId));(s=n.customRanges)==null||s.forEach(l=>{var f;if(l.rangeType===o.CustomRangeType.HYPERLINK){if(d.has(l.rangeId)){const p=this._hyperLinkModel.getLink(e.getUnitId(),l.rangeId);if(p){const v=o.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}}))}};$=tn([o.OnLifecycle(o.LifecycleStages.Ready,$),N(0,o.Inject(F.IDocClipboardService)),N(1,o.IUniverInstanceService),N(2,o.Inject(E.DocHyperLinkModel)),N(3,o.Inject(L.TextSelectionManagerService))],$);var le=Object.defineProperty,rn=Object.getOwnPropertyDescriptor,on=(n,e,i)=>e in n?le(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i,cn=(n,e,i,t)=>{for(var r=t>1?void 0:t?rn(e,i):e,c=n.length-1,s;c>=0;c--)(s=n[c])&&(r=(t?s(e,i,r):s(r))||r);return t&&r&&le(e,i,r),r},Q=(n,e)=>(i,t)=>e(i,t,n),ue=(n,e,i)=>on(n,typeof e!="symbol"?e+"":e,i);exports.UniverDocsHyperLinkUIPlugin=class extends o.Plugin{constructor(e={menu:{}},i,t){super(),this._config=e,this._injector=i,this._renderManagerSrv=t}onStarting(e){[[O],[w,{useFactory:()=>this._injector.createInstance(w,this._config)}],[H],[$]].forEach(t=>{e.add(t)})}onRendered(){this._initRenderModule()}_initRenderModule(){[V].forEach(e=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,e)})}};ue(exports.UniverDocsHyperLinkUIPlugin,"pluginName",ve);ue(exports.UniverDocsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC);exports.UniverDocsHyperLinkUIPlugin=cn([o.DependentOn(E.UniverDocsHyperLinkPlugin),Q(1,o.Inject(o.Injector)),Q(2,P.IRenderManagerService)],exports.UniverDocsHyperLinkUIPlugin);
|
|
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);
|
package/lib/es/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
var be = Object.defineProperty;
|
|
2
2
|
var we = (e, t, i) => t in e ? be(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
|
|
3
3
|
var E = (e, t, i) => we(e, typeof t != "symbol" ? t + "" : t, i);
|
|
4
|
-
import { CommandType as z, ICommandService as O, IUniverInstanceService as $, UniverInstanceType as _,
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
4
|
+
import { CommandType as z, ICommandService as O, IUniverInstanceService as $, UniverInstanceType as _, LocaleService as ge, Disposable as T, generateRandomId as De, CustomRangeType as P, sequenceExecuteAsync as Ne, Tools as ve, OnLifecycle as J, LifecycleStages as Q, updateAttributeByDelete as Ue, DependentOn as $e, Plugin as Te } from "@univerjs/core";
|
|
5
|
+
import { Inject as m, Injector as me } from "@wendellhu/redi";
|
|
6
|
+
import { DocHyperLinkModel as H, AddDocHyperLinkMutation as He, UpdateDocHyperLinkMutation as Ae, UniverDocsHyperLinkPlugin as je } from "@univerjs/docs-hyper-link";
|
|
7
|
+
import { IRenderManagerService as ee, DocumentEditArea as q, ITextSelectionRenderManager as Be } from "@univerjs/engine-render";
|
|
8
|
+
import { IMessageService as Ke, useObservable as Ve, MetaKeys as Fe, KeyCode as Ye, MenuGroup as Ze, MenuItemType as We, MenuPosition as se, getMenuHiddenObservable as ze, ComponentManager as Ge, IMenuService as qe, IShortcutService as Xe } from "@univerjs/ui";
|
|
9
|
+
import { Tooltip as j, MessageType as Je, FormLayout as Qe, Input as et, Button as ae } from "@univerjs/design";
|
|
10
|
+
import d, { forwardRef as x, useRef as tt, createElement as R, useState as de, useEffect as le } from "react";
|
|
11
|
+
import { useDependency as g, useObservable as nt } from "@wendellhu/redi/react-bindings";
|
|
10
12
|
import { deleteCustomRangeFactory as it, TextSelectionManagerService as A, DocSkeletonManagerService as Le, addCustomRangeBySelectionFactory as rt, SetTextSelectionsOperation as ot, DocInterceptorService as ct, DOC_INTERCEPTOR_POINT as st } from "@univerjs/docs";
|
|
11
13
|
import { DocCanvasPopManagerService as at, whenDocAndEditorFocused as dt, IDocClipboardService as lt } from "@univerjs/docs-ui";
|
|
12
14
|
import { BehaviorSubject as ue, Observable as ut, debounceTime as pt } from "rxjs";
|
|
@@ -28,7 +30,7 @@ var v = function() {
|
|
|
28
30
|
t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (i[n[r]] = e[n[r]]);
|
|
29
31
|
return i;
|
|
30
32
|
}, b = x(function(e, t) {
|
|
31
|
-
var i = e.icon, n = e.id, r = e.className, o = e.extend, c = ht(e, ["icon", "id", "className", "extend"]), s = "univerjs-icon univerjs-icon-".concat(n, " ").concat(r || "").trim(), a =
|
|
33
|
+
var i = e.icon, n = e.id, r = e.className, o = e.extend, c = ht(e, ["icon", "id", "className", "extend"]), s = "univerjs-icon univerjs-icon-".concat(n, " ").concat(r || "").trim(), a = tt("_".concat(mt()));
|
|
32
34
|
return _e(i, "".concat(n), { defIds: i.defIds, idSuffix: a.current }, v({ ref: t, className: s }, c), o);
|
|
33
35
|
});
|
|
34
36
|
function _e(e, t, i, n, r) {
|
|
@@ -143,7 +145,7 @@ const Se = {
|
|
|
143
145
|
docLinkOperation: xt,
|
|
144
146
|
docLinkOperationError: Rt
|
|
145
147
|
}, Y = () => {
|
|
146
|
-
const e = g(S), t = g(H), i = g(O), n = g(
|
|
148
|
+
const e = g(S), t = g(H), i = g(O), n = g(Ke), r = g(ge), o = Ve(e.showingLink$);
|
|
147
149
|
if (!o)
|
|
148
150
|
return null;
|
|
149
151
|
const { unitId: c, linkId: s } = o, a = t.getLink(c, s);
|
|
@@ -163,7 +165,7 @@ const Se = {
|
|
|
163
165
|
onClick: () => {
|
|
164
166
|
navigator.clipboard.writeText(a.payload), n.show({
|
|
165
167
|
content: r.t("docLink.info.coped"),
|
|
166
|
-
type:
|
|
168
|
+
type: Je.Info
|
|
167
169
|
});
|
|
168
170
|
}
|
|
169
171
|
},
|
|
@@ -300,7 +302,7 @@ const Ee = {
|
|
|
300
302
|
);
|
|
301
303
|
if (c) {
|
|
302
304
|
const s = {
|
|
303
|
-
id:
|
|
305
|
+
id: He.id,
|
|
304
306
|
params: { unitId: n, link: { payload: i, id: o } }
|
|
305
307
|
};
|
|
306
308
|
return (await Ne([s, c], r)).result;
|
|
@@ -311,7 +313,7 @@ const Ee = {
|
|
|
311
313
|
id: "docs.command.update-hyper-link",
|
|
312
314
|
type: z.COMMAND,
|
|
313
315
|
handler(e, t) {
|
|
314
|
-
return t ? e.get(O).syncExecuteCommand(
|
|
316
|
+
return t ? e.get(O).syncExecuteCommand(Ae.id, t) : !1;
|
|
315
317
|
}
|
|
316
318
|
}, Nt = "univer-docs-link-edit", Ut = "univer-docs-link-edit-title", $t = "univer-docs-link-edit-close", Tt = "univer-docs-link-edit-buttons", Ht = "univer-docs-link-edit-button", M = {
|
|
317
319
|
docsLinkEdit: Nt,
|
|
@@ -330,7 +332,7 @@ function Bt(e) {
|
|
|
330
332
|
return At(e) ? e : jt(e) ? `mailto://${e}` : `https://${e}`;
|
|
331
333
|
}
|
|
332
334
|
const Z = () => {
|
|
333
|
-
const e = g(S), t = g(ge), i = g(H), n =
|
|
335
|
+
const e = g(S), t = g(ge), i = g(H), n = nt(e.editingLink$), r = g(O), o = g($), c = g(Be), s = g(A), [a, p] = de(""), [u, f] = de(!1), l = ve.isLegalUrl(a), h = n ? o.getUnit(n.unitId, _.UNIVER_DOC) : o.getCurrentUnitForType(_.UNIVER_DOC);
|
|
334
336
|
le(() => {
|
|
335
337
|
var ie, re, oe, ce;
|
|
336
338
|
if (n) {
|
|
@@ -366,12 +368,12 @@ const Z = () => {
|
|
|
366
368
|
};
|
|
367
369
|
if (h)
|
|
368
370
|
return /* @__PURE__ */ d.createElement("div", { className: M.docsLinkEdit }, /* @__PURE__ */ d.createElement("div", { className: M.docsLinkEditTitle }, /* @__PURE__ */ d.createElement("span", null, t.t("docLink.edit.title")), /* @__PURE__ */ d.createElement(Ce, { className: M.docsLinkEditClose, onClick: C })), /* @__PURE__ */ d.createElement("div", null, /* @__PURE__ */ d.createElement(
|
|
369
|
-
|
|
371
|
+
Qe,
|
|
370
372
|
{
|
|
371
373
|
label: t.t("docLink.edit.address"),
|
|
372
374
|
error: u && !l ? t.t("docLink.edit.addressError") : ""
|
|
373
375
|
},
|
|
374
|
-
/* @__PURE__ */ d.createElement(
|
|
376
|
+
/* @__PURE__ */ d.createElement(et, { value: a, onChange: p, autoFocus: !0 })
|
|
375
377
|
)), /* @__PURE__ */ d.createElement("div", { className: M.docsLinkEditButtons }, /* @__PURE__ */ d.createElement(
|
|
376
378
|
ae,
|
|
377
379
|
{
|
|
@@ -395,13 +397,13 @@ const Pe = "doc-hyper-link-icon";
|
|
|
395
397
|
function Kt(e) {
|
|
396
398
|
return {
|
|
397
399
|
id: G.id,
|
|
398
|
-
group:
|
|
399
|
-
type:
|
|
400
|
+
group: Ze.TOOLBAR_LAYOUT,
|
|
401
|
+
type: We.BUTTON,
|
|
400
402
|
icon: Pe,
|
|
401
403
|
title: "docLink.menu.tooltip",
|
|
402
404
|
tooltip: "docLink.menu.tooltip",
|
|
403
405
|
positions: [se.TOOLBAR_START, se.CONTEXT_MENU],
|
|
404
|
-
hidden$:
|
|
406
|
+
hidden$: ze(e, _.UNIVER_DOC),
|
|
405
407
|
disabled$: new ut(function(t) {
|
|
406
408
|
const n = e.get(A).textSelection$.pipe(pt(16)).subscribe(() => {
|
|
407
409
|
t.next(Oe(e));
|
|
@@ -414,7 +416,7 @@ function Kt(e) {
|
|
|
414
416
|
}
|
|
415
417
|
const Vt = {
|
|
416
418
|
id: G.id,
|
|
417
|
-
binding:
|
|
419
|
+
binding: Fe.CTRL_COMMAND | Ye.K,
|
|
418
420
|
description: "docLink.menu.tooltip",
|
|
419
421
|
preconditions: dt
|
|
420
422
|
};
|
|
@@ -459,11 +461,11 @@ let U = class extends T {
|
|
|
459
461
|
};
|
|
460
462
|
U = Zt([
|
|
461
463
|
J(Q.Starting, U),
|
|
462
|
-
N(1, m(
|
|
464
|
+
N(1, m(Ge)),
|
|
463
465
|
N(2, O),
|
|
464
|
-
N(3,
|
|
466
|
+
N(3, qe),
|
|
465
467
|
N(4, m(me)),
|
|
466
|
-
N(5,
|
|
468
|
+
N(5, Xe)
|
|
467
469
|
], U);
|
|
468
470
|
var Wt = Object.defineProperty, zt = Object.getOwnPropertyDescriptor, Gt = (e, t, i, n) => {
|
|
469
471
|
for (var r = n > 1 ? void 0 : n ? zt(t, i) : t, o = e.length - 1, c; o >= 0; o--)
|
|
@@ -562,7 +564,7 @@ let F = class extends T {
|
|
|
562
564
|
customRanges: s.filter((l) => l.rangeType !== P.HYPERLINK)
|
|
563
565
|
};
|
|
564
566
|
for (let l = 0; l < u.length; l++)
|
|
565
|
-
|
|
567
|
+
Ue(f, 1, u[l] - l);
|
|
566
568
|
return f;
|
|
567
569
|
} else {
|
|
568
570
|
const s = new Set(n == null ? void 0 : n.map((a) => a.rangeType === P.HYPERLINK && a.rangeId));
|
|
@@ -605,7 +607,7 @@ var xe = Object.defineProperty, nn = Object.getOwnPropertyDescriptor, rn = (e, t
|
|
|
605
607
|
(c = e[o]) && (r = (n ? c(t, i, r) : c(r)) || r);
|
|
606
608
|
return n && r && xe(t, i, r), r;
|
|
607
609
|
}, he = (e, t) => (i, n) => t(i, n, e), Re = (e, t, i) => rn(e, typeof t != "symbol" ? t + "" : t, i);
|
|
608
|
-
let W = class extends
|
|
610
|
+
let W = class extends Te {
|
|
609
611
|
constructor(e = { menu: {} }, t, i) {
|
|
610
612
|
super(), this._config = e, this._injector = t, this._renderManagerSrv = i;
|
|
611
613
|
}
|
|
@@ -636,7 +638,7 @@ let W = class extends He {
|
|
|
636
638
|
Re(W, "pluginName", ft);
|
|
637
639
|
Re(W, "type", _.UNIVER_DOC);
|
|
638
640
|
W = on([
|
|
639
|
-
|
|
641
|
+
$e(je),
|
|
640
642
|
he(1, m(me)),
|
|
641
643
|
he(2, ee)
|
|
642
644
|
], W);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ICommand } from '@univerjs/core';
|
|
2
|
+
import { IAccessor } from '@wendellhu/redi';
|
|
2
3
|
|
|
3
4
|
export declare const shouldDisableAddLink: (accessor: IAccessor) => boolean | undefined;
|
|
4
5
|
export interface IShowDocHyperLinkEditPopupOperationParams {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Disposable, ICommandService
|
|
1
|
+
import { Disposable, ICommandService } from '@univerjs/core';
|
|
2
2
|
import { MenuConfig, ComponentManager, IMenuService, IShortcutService } from '@univerjs/ui';
|
|
3
|
+
import { Injector } from '@wendellhu/redi';
|
|
3
4
|
|
|
4
5
|
export interface IDocHyperLinkUIConfig {
|
|
5
6
|
menu: MenuConfig;
|
package/lib/types/plugin.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Plugin, UniverInstanceType } from '@univerjs/core';
|
|
2
|
+
import { Injector } from '@wendellhu/redi';
|
|
2
3
|
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
3
4
|
import { IDocHyperLinkUIConfig } from './controllers/ui.controller';
|
|
4
5
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Nullable, Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
|
|
2
2
|
import { TextSelectionManagerService } from '@univerjs/docs';
|
|
3
3
|
import { DocCanvasPopManagerService } from '@univerjs/docs-ui';
|
|
4
|
+
import { IDisposable } from '@wendellhu/redi';
|
|
4
5
|
import { DocHyperLinkModel } from '@univerjs/docs-hyper-link';
|
|
5
6
|
|
|
6
7
|
export interface ILinkInfo {
|
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(u,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/docs-hyper-link"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("@univerjs/design"),require("react"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("rxjs"),require("clsx")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/docs-hyper-link","@univerjs/engine-render","@univerjs/ui","@univerjs/design","react","@univerjs/docs","@univerjs/docs-ui","rxjs","clsx"],o):(u=typeof globalThis<"u"?globalThis:u||self,o(u.UniverDocsHyperLinkUi={},u.UniverCore,u.UniverDocsHyperLink,u.UniverEngineRender,u.UniverUi,u.UniverDesign,u.React,u.UniverDocs,u.UniverDocsUi,u.rxjs,u.clsx))})(this,function(u,o,g,P,m,S,a,L,F,N,Z){"use strict";var Ye=Object.defineProperty;var Ze=(u,o,g)=>o in u?Ye(u,o,{enumerable:!0,configurable:!0,writable:!0,value:g}):u[o]=g;var D=(u,o,g)=>Ze(u,typeof o!="symbol"?o+"":o,g);const ve="DOC_HYPER_LINK_UI_PLUGIN";var I=function(){return I=Object.assign||function(e){for(var n,i=1,t=arguments.length;i<t;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},I.apply(this,arguments)},fe=function(e,n){var i={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(i[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(e);r<t.length;r++)n.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(i[t[r]]=e[t[r]]);return i},U=a.forwardRef(function(e,n){var i=e.icon,t=e.id,r=e.className,s=e.extend,c=fe(e,["icon","id","className","extend"]),d="univerjs-icon univerjs-icon-".concat(t," ").concat(r||"").trim(),l=a.useRef("_".concat(me()));return W(i,"".concat(t),{defIds:i.defIds,idSuffix:l.current},I({ref:n,className:d},c),s)});function W(e,n,i,t,r){return a.createElement(e.tag,I(I({key:n},he(e,i,r)),t),(ge(e,i).children||[]).map(function(s,c){return W(s,"".concat(n,"-").concat(e.tag,"-").concat(c),i,void 0,r)}))}function he(e,n,i){var t=I({},e.attrs);i!=null&&i.colorChannel1&&t.fill==="colorChannel1"&&(t.fill=i.colorChannel1);var r=n.defIds;return!r||r.length===0||(e.tag==="use"&&t["xlink:href"]&&(t["xlink:href"]=t["xlink:href"]+n.idSuffix),Object.entries(t).forEach(function(s){var c=s[0],d=s[1];typeof d=="string"&&(t[c]=d.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))})),t}function ge(e,n){var i,t=n.defIds;return!t||t.length===0?e:e.tag==="defs"&&(!((i=e.children)===null||i===void 0)&&i.length)?I(I({},e),{children:e.children.map(function(r){return typeof r.attrs.id=="string"&&t&&t.indexOf(r.attrs.id)>-1?I(I({},r),{attrs:I(I({},r.attrs),{id:r.attrs.id+n.idSuffix})}):r})}):e}function me(){return Math.random().toString(36).substring(2,8)}U.displayName="UniverIcon";var Le={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"}}]},z=a.forwardRef(function(e,n){return a.createElement(U,Object.assign({},e,{id:"close-single",ref:n,icon:Le}))});z.displayName="CloseSingle";var Ie={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"}}]},G=a.forwardRef(function(e,n){return a.createElement(U,Object.assign({},e,{id:"copy-single",ref:n,icon:Ie}))});G.displayName="CopySingle";var Ce={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"}}]},q=a.forwardRef(function(e,n){return a.createElement(U,Object.assign({},e,{id:"link-single",ref:n,icon:Ce}))});q.displayName="LinkSingle";var ye={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"}}]},X=a.forwardRef(function(e,n){return a.createElement(U,Object.assign({},e,{id:"unlink-single",ref:n,icon:ye}))});X.displayName="UnlinkSingle";var _e={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"}}]},J=a.forwardRef(function(e,n){return a.createElement(U,Object.assign({},e,{id:"write-single",ref:n,icon:_e}))});J.displayName="WriteSingle";const Q={type:o.CommandType.COMMAND,id:"docs.command.delete-hyper-link",async handler(e,n){if(!n)return!1;const{unitId:i,linkId:t}=n,r=e.get(o.ICommandService);if(!e.get(g.DocHyperLinkModel).getLink(i,t))return!1;const d=L.deleteCustomRangeFactory(e,{unitId:i,rangeId:t});return d?await r.syncExecuteCommand(d.id,d.params):!1}},ee=e=>{var v;const n=e.get(L.TextSelectionManagerService),i=e.get(o.IUniverInstanceService),t=n.getActiveRange(),s=e.get(P.IRenderManagerService).getCurrent(),c=s==null?void 0:s.with(L.DocSkeletonManagerService).getSkeleton(),d=c==null?void 0:c.getViewModel().getEditArea();if(d===P.DocumentEditArea.FOOTER||d===P.DocumentEditArea.HEADER)return!0;const l=i.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);if(!l||!t||t.collapsed)return!0;const f=(v=l.getBody())==null?void 0:v.paragraphs;if(!f)return!0;for(let h=0,p=f.length;h<p;h++){const C=f[h];if(t.startOffset<=C.startIndex&&t.endOffset>C.startIndex)return!0;if(C.startIndex>t.endOffset)break}return!1},$={type:o.CommandType.OPERATION,id:"docs.operation.show-hyper-link-edit-popup",handler(e,n){const i=n==null?void 0:n.link;return ee(e)&&!i?!1:(e.get(O).showEditPopup(i),!0)}},E={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"},H=()=>{const e=o.useDependency(O),n=o.useDependency(g.DocHyperLinkModel),i=o.useDependency(o.ICommandService),t=o.useDependency(m.IMessageService),r=o.useDependency(o.LocaleService),s=m.useObservable(e.showingLink$);if(!s)return null;const{unitId:c,linkId:d}=s,l=n.getLink(c,d);return l?a.createElement("div",{className:E.docLink,onClick:()=>{e.hideInfoPopup()}},a.createElement("div",{className:Z(E.docLinkContent),onClick:()=>window.open(l.payload)},a.createElement("div",{className:E.docLinkType},a.createElement(q,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:Z(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(G,null))),a.createElement("div",{className:E.docLinkOperation,onClick:()=>{i.executeCommand($.id,{link:s})}},a.createElement(S.Tooltip,{placement:"bottom",title:r.t("docLink.info.edit")},a.createElement(J,null))),a.createElement("div",{className:E.docLinkOperation,onClick:()=>{i.executeCommand(Q.id,{unitId:c,linkId:l.id})}},a.createElement(S.Tooltip,{placement:"bottom",title:r.t("docLink.info.cancel")},a.createElement(X,null))))):null};H.componentKey="univer.doc.link-info-popup";var ke=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ee=(e,n,i,t)=>{for(var r=t>1?void 0:t?Se(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&ke(n,i,r),r},T=(e,n)=>(i,t)=>n(i,t,e);let O=class extends o.Disposable{constructor(n,i,t,r,s){super();D(this,"_editingLink$",new N.BehaviorSubject(null));D(this,"_showingLink$",new N.BehaviorSubject(null));D(this,"editingLink$",this._editingLink$.asObservable());D(this,"showingLink$",this._showingLink$.asObservable());D(this,"_editPopup",null);D(this,"_infoPopup",null);this._docCanvasPopupManagerService=n,this._textSelectionManagerService=i,this._docHyperLinkModel=t,this._univerInstanceService=r,this._commandService=s,this.disposeWithMe(()=>{this._editingLink$.complete(),this._showingLink$.complete()})}get editing(){return this._editingLink$.value}get showing(){return this._showingLink$.value}showEditPopup(n){var t,r;this._editPopup&&this._editPopup.dispose(),this._editingLink$.next(n);let i=this._textSelectionManagerService.getActiveRange();if(n){const{unitId:s,rangeIndex:c}=n,d=this._univerInstanceService.getUnit(s,o.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:R.componentKey,direction:"bottom"}),this._editPopup):null}hideEditPopup(){var n;this._editingLink$.next(null),(n=this._editPopup)==null||n.dispose()}showInfoPopup(n){var l,f,v,h;const{linkId:i,unitId:t,rangeIndex:r}=n;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 s=this._docHyperLinkModel.getLink(t,i),c=this._univerInstanceService.getUnit(t,o.UniverInstanceType.UNIVER_DOC);if(!c||!s)return;const d=(h=(v=c.getBody())==null?void 0:v.customRanges)==null?void 0:h[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:H.componentKey,direction:"top",closeOnSelfTarget:!0,onClickOutside:()=>{this.hideInfoPopup()}}),this._infoPopup}hideInfoPopup(){var n;this._showingLink$.next(null),(n=this._infoPopup)==null||n.dispose()}};O=Ee([T(0,o.Inject(F.DocCanvasPopManagerService)),T(1,o.Inject(L.TextSelectionManagerService)),T(2,o.Inject(g.DocHyperLinkModel)),T(3,o.IUniverInstanceService),T(4,o.ICommandService)],O);const ne={type:o.CommandType.COMMAND,id:"docs.command.add-hyper-link",async handler(e,n){if(!n)return!1;const{payload:i,unitId:t}=n,r=e.get(o.ICommandService),s=o.generateRandomId(),c=L.addCustomRangeBySelectionFactory(e,{rangeId:s,rangeType:o.CustomRangeType.HYPERLINK});if(c){const d={id:g.AddDocHyperLinkMutation.id,params:{unitId:t,link:{payload:i,id:s}}};return(await o.sequenceExecuteAsync([d,c],r)).result}return!1}},te={id:"docs.command.update-hyper-link",type:o.CommandType.COMMAND,handler(e,n){return n?e.get(o.ICommandService).syncExecuteCommand(g.UpdateDocHyperLinkMutation.id,n):!1}},x={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"};function Oe(e){return/^[a-zA-Z]+:\/\//.test(e)}function Me(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function Pe(e){return Oe(e)?e:Me(e)?`mailto://${e}`:`https://${e}`}const R=()=>{const e=o.useDependency(O),n=o.useDependency(o.LocaleService),i=o.useDependency(g.DocHyperLinkModel),t=o.useObservable(e.editingLink$),r=o.useDependency(o.ICommandService),s=o.useDependency(o.IUniverInstanceService),c=o.useDependency(P.ITextSelectionRenderManager),d=o.useDependency(L.TextSelectionManagerService),[l,f]=a.useState(""),[v,h]=a.useState(!1),p=o.Tools.isLegalUrl(l),C=t?s.getUnit(t.unitId,o.UniverInstanceType.UNIVER_DOC):s.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);a.useEffect(()=>{var de,le,ue,pe;if(t){const k=t?i.getLink(t.unitId,t.linkId):null;f((de=k==null?void 0:k.payload)!=null?de:"");return}const y=d.getActiveRange();if(!y)return;const j=s.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),ae=(ue=(le=j==null?void 0:j.getBody())==null?void 0:le.customRanges)==null?void 0:ue.find(k=>Math.max(y.startOffset,k.startIndex)<=Math.min(y.endOffset-1,k.endIndex));if(j&&ae){const k=i.getLink(j.getUnitId(),ae.rangeId);f((pe=k==null?void 0:k.payload)!=null?pe:"")}},[t,i,d,s]),a.useEffect(()=>(c.blur(),()=>{c.focus()}),[c]);const _=()=>{e.hideEditPopup()},M=()=>{if(h(!0),!p||!C)return;const y=Pe(l);t?r.executeCommand(te.id,{unitId:C.getUnitId(),payload:y,linkId:t.linkId}):r.executeCommand(ne.id,{unitId:C.getUnitId(),payload:y}),e.hideEditPopup()};if(C)return a.createElement("div",{className:x.docsLinkEdit},a.createElement("div",{className:x.docsLinkEditTitle},a.createElement("span",null,n.t("docLink.edit.title")),a.createElement(z,{className:x.docsLinkEditClose,onClick:_})),a.createElement("div",null,a.createElement(S.FormLayout,{label:n.t("docLink.edit.address"),error:v&&!p?n.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:_},n.t("docLink.edit.cancel")),a.createElement(S.Button,{disabled:!l,className:x.docsLinkEditButton,type:"primary",onClick:M},n.t("docLink.edit.confirm"))))};R.componentKey="docs-hyper-link-edit";const ie="doc-hyper-link-icon";function De(e){return{id:$.id,group:m.MenuGroup.TOOLBAR_LAYOUT,type:m.MenuItemType.BUTTON,icon:ie,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",positions:[m.MenuPosition.TOOLBAR_START,m.MenuPosition.CONTEXT_MENU],hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC),disabled$:new N.Observable(function(n){const t=e.get(L.TextSelectionManagerService).textSelection$.pipe(N.debounceTime(16)).subscribe(()=>{n.next(ee(e))});return()=>{t.unsubscribe()}})}}const Ue={id:$.id,binding:m.MetaKeys.CTRL_COMMAND|m.KeyCode.K,description:"docLink.menu.tooltip",preconditions:F.whenDocAndEditorFocused};var xe=Object.defineProperty,Te=Object.getOwnPropertyDescriptor,we=(e,n,i,t)=>{for(var r=t>1?void 0:t?Te(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&xe(n,i,r),r},w=(e,n)=>(i,t)=>n(i,t,e);let b=class extends o.Disposable{constructor(e,n,i,t,r,s){super(),this._config=e,this._componentManager=n,this._commandService=i,this._menuService=t,this._injector=r,this._shortcutService=s,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[R,R.componentKey],[H,H.componentKey],[q,ie]].forEach(([e,n])=>{this._componentManager.register(n,e)})}_initCommands(){[ne,te,Q,$].forEach(e=>{this._commandService.registerCommand(e)})}_initShortcut(){[Ue].forEach(e=>{this._shortcutService.registerShortcut(e)})}_initMenus(){[De].forEach(e=>{this.disposeWithMe(this._menuService.addMenuItem(e(this._injector),{}))})}};b=we([o.OnLifecycle(o.LifecycleStages.Starting,b),w(1,o.Inject(m.ComponentManager)),w(2,o.ICommandService),w(3,m.IMenuService),w(4,o.Inject(o.Injector)),w(5,m.IShortcutService)],b);var be=Object.defineProperty,je=Object.getOwnPropertyDescriptor,Ne=(e,n,i,t)=>{for(var r=t>1?void 0:t?je(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&be(n,i,r),r},A=(e,n)=>(i,t)=>n(i,t,e);let B=class extends o.Disposable{constructor(e,n,i,t){super(),this._commandService=e,this._univerInstanceService=n,this._docHyperLinkService=i,this._renderMangerService=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n,i;if(e.id===L.SetTextSelectionsOperation.id){const t=e.params,{unitId:r,ranges:s}=t,c=this._renderMangerService.getRenderById(r),d=c==null?void 0:c.with(L.DocSkeletonManagerService).getSkeleton();if((d==null?void 0:d.getViewModel().getEditArea())!==P.DocumentEditArea.BODY){this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup();return}const f=this._univerInstanceService.getUnit(r,o.UniverInstanceType.UNIVER_DOC),v=s[0];if(v&&f){const{startOffset:h,endOffset:p,collapsed:C}=v,_=(n=f.getBody())==null?void 0:n.customRanges;if(C){const M=(i=_==null?void 0:_.findIndex(y=>y.startIndex<h&&y.endIndex>p-1))!=null?i:-1;if(M>-1){const y=_[M];this._docHyperLinkService.showInfoPopup({unitId:r,linkId:y.rangeId,rangeIndex:M});return}}else if(_!=null&&_.find(M=>M.startIndex<=h&&M.endIndex>=p-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}};B=Ne([o.OnLifecycle(o.LifecycleStages.Ready,B),A(0,o.ICommandService),A(1,o.IUniverInstanceService),A(2,o.Inject(O)),A(3,P.IRenderManagerService)],B);var $e=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Re=(e,n,i,t)=>{for(var r=t>1?void 0:t?He(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&$e(n,i,r),r},re=(e,n)=>(i,t)=>n(i,t,e);let Y=class extends o.Disposable{constructor(e,n,i){super(),this._context=e,this._docInterceptorService=n,this._hyperLinkService=i,this._init()}_init(){this._docInterceptorService.intercept(L.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:(e,n,i)=>{if(!e)return i(e);const{unitId:t}=n,r=this._hyperLinkService.showing,{linkId:s,unitId:c}=r||{},d=c===t&&e.rangeId===s;return i({...e,active:d})}})}};Y=Re([re(1,o.Inject(L.DocInterceptorService)),re(2,o.Inject(O))],Y);var Ae=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Ke=(e,n,i,t)=>{for(var r=t>1?void 0:t?Be(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&Ae(n,i,r),r},K=(e,n)=>(i,t)=>n(i,t,e);let V=class extends o.Disposable{constructor(e,n,i,t){super(),this._docClipboardService=e,this._univerInstanceService=n,this._hyperLinkModel=i,this._textSelectionManagerService=t,this._initClipboard()}_initClipboard(){this.disposeWithMe(this._docClipboardService.addClipboardHook({onBeforePaste:e=>{var s,c;const n=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);if(!n)return e;const i=this._textSelectionManagerService.getActiveRange(),t=(s=n.getBody())==null?void 0:s.customRanges;if(i?t==null?void 0:t.find(d=>d.rangeType===o.CustomRangeType.HYPERLINK&&d.startIndex<=i.startOffset&&d.endIndex>=i.endOffset-1):null){const{customRanges:d=[],...l}=e,v=d.filter(p=>p.rangeType===o.CustomRangeType.HYPERLINK).map(p=>[p.startIndex,p.endIndex]).flat().sort((p,C)=>p-C),h={...l,customRanges:d.filter(p=>p.rangeType!==o.CustomRangeType.HYPERLINK)};for(let p=0;p<v.length;p++)o.updateAttributeByDelete(h,1,v[p]-p);return h}else{const d=new Set(t==null?void 0:t.map(l=>l.rangeType===o.CustomRangeType.HYPERLINK&&l.rangeId));(c=e.customRanges)==null||c.forEach(l=>{var f;if(l.rangeType===o.CustomRangeType.HYPERLINK){if(d.has(l.rangeId)){const v=this._hyperLinkModel.getLink(n.getUnitId(),l.rangeId);if(v){const h=o.Tools.generateRandomId();this._hyperLinkModel.addLink(n.getUnitId(),{payload:v.payload,id:h}),l.rangeId=h}}else if((f=e.payloads)!=null&&f[l.rangeId]){const v=e.payloads[l.rangeId];this._hyperLinkModel.addLink(n.getUnitId(),{payload:v,id:l.rangeId})}}})}return e}}))}};V=Ke([o.OnLifecycle(o.LifecycleStages.Ready,V),K(0,o.Inject(F.IDocClipboardService)),K(1,o.IUniverInstanceService),K(2,o.Inject(g.DocHyperLinkModel)),K(3,o.Inject(L.TextSelectionManagerService))],V);var oe=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Fe=(e,n,i)=>n in e?oe(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i,qe=(e,n,i,t)=>{for(var r=t>1?void 0:t?Ve(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&oe(n,i,r),r},se=(e,n)=>(i,t)=>n(i,t,e),ce=(e,n,i)=>Fe(e,typeof n!="symbol"?n+"":n,i);u.UniverDocsHyperLinkUIPlugin=class extends o.Plugin{constructor(n={menu:{}},i,t){super(),this._config=n,this._injector=i,this._renderManagerSrv=t}onStarting(n){[[O],[b,{useFactory:()=>this._injector.createInstance(b,this._config)}],[B],[V]].forEach(t=>{n.add(t)})}onRendered(){this._initRenderModule()}_initRenderModule(){[Y].forEach(n=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,n)})}},ce(u.UniverDocsHyperLinkUIPlugin,"pluginName",ve),ce(u.UniverDocsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC),u.UniverDocsHyperLinkUIPlugin=qe([o.DependentOn(g.UniverDocsHyperLinkPlugin),se(1,o.Inject(o.Injector)),se(2,P.IRenderManagerService)],u.UniverDocsHyperLinkUIPlugin),Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(u,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("@univerjs/docs-hyper-link"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("@univerjs/design"),require("react"),require("@wendellhu/redi/react-bindings"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("rxjs"),require("clsx")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","@univerjs/docs-hyper-link","@univerjs/engine-render","@univerjs/ui","@univerjs/design","react","@wendellhu/redi/react-bindings","@univerjs/docs","@univerjs/docs-ui","rxjs","clsx"],o):(u=typeof globalThis<"u"?globalThis:u||self,o(u.UniverDocsHyperLinkUi={},u.UniverCore,u["@wendellhu/redi"],u.UniverDocsHyperLink,u.UniverEngineRender,u.UniverUi,u.UniverDesign,u.React,u["@wendellhu/redi/react-bindings"],u.UniverDocs,u.UniverDocsUi,u.rxjs,u.clsx))})(this,function(u,o,v,O,U,L,E,a,g,I,Y,H,z){"use strict";var We=Object.defineProperty;var ze=(u,o,v)=>o in u?We(u,o,{enumerable:!0,configurable:!0,writable:!0,value:v}):u[o]=v;var x=(u,o,v)=>ze(u,typeof o!="symbol"?o+"":o,v);const he="DOC_HYPER_LINK_UI_PLUGIN";var C=function(){return C=Object.assign||function(e){for(var n,i=1,t=arguments.length;i<t;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)},me=function(e,n){var i={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(i[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,t=Object.getOwnPropertySymbols(e);r<t.length;r++)n.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(i[t[r]]=e[t[r]]);return i},w=a.forwardRef(function(e,n){var i=e.icon,t=e.id,r=e.className,s=e.extend,c=me(e,["icon","id","className","extend"]),d="univerjs-icon univerjs-icon-".concat(t," ").concat(r||"").trim(),l=a.useRef("_".concat(Ie()));return G(i,"".concat(t),{defIds:i.defIds,idSuffix:l.current},C({ref:n,className:d},c),s)});function G(e,n,i,t,r){return a.createElement(e.tag,C(C({key:n},ge(e,i,r)),t),(Le(e,i).children||[]).map(function(s,c){return G(s,"".concat(n,"-").concat(e.tag,"-").concat(c),i,void 0,r)}))}function ge(e,n,i){var t=C({},e.attrs);i!=null&&i.colorChannel1&&t.fill==="colorChannel1"&&(t.fill=i.colorChannel1);var r=n.defIds;return!r||r.length===0||(e.tag==="use"&&t["xlink:href"]&&(t["xlink:href"]=t["xlink:href"]+n.idSuffix),Object.entries(t).forEach(function(s){var c=s[0],d=s[1];typeof d=="string"&&(t[c]=d.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))})),t}function Le(e,n){var i,t=n.defIds;return!t||t.length===0?e:e.tag==="defs"&&(!((i=e.children)===null||i===void 0)&&i.length)?C(C({},e),{children:e.children.map(function(r){return typeof r.attrs.id=="string"&&t&&t.indexOf(r.attrs.id)>-1?C(C({},r),{attrs:C(C({},r.attrs),{id:r.attrs.id+n.idSuffix})}):r})}):e}function Ie(){return Math.random().toString(36).substring(2,8)}w.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"}}]},X=a.forwardRef(function(e,n){return a.createElement(w,Object.assign({},e,{id:"close-single",ref:n,icon:Ce}))});X.displayName="CloseSingle";var ye={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"}}]},J=a.forwardRef(function(e,n){return a.createElement(w,Object.assign({},e,{id:"copy-single",ref:n,icon:ye}))});J.displayName="CopySingle";var _e={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(e,n){return a.createElement(w,Object.assign({},e,{id:"link-single",ref:n,icon:_e}))});Z.displayName="LinkSingle";var ke={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"}}]},Q=a.forwardRef(function(e,n){return a.createElement(w,Object.assign({},e,{id:"unlink-single",ref:n,icon:ke}))});Q.displayName="UnlinkSingle";var Se={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"}}]},ee=a.forwardRef(function(e,n){return a.createElement(w,Object.assign({},e,{id:"write-single",ref:n,icon:Se}))});ee.displayName="WriteSingle";const ne={type:o.CommandType.COMMAND,id:"docs.command.delete-hyper-link",async handler(e,n){if(!n)return!1;const{unitId:i,linkId:t}=n,r=e.get(o.ICommandService);if(!e.get(O.DocHyperLinkModel).getLink(i,t))return!1;const d=I.deleteCustomRangeFactory(e,{unitId:i,rangeId:t});return d?await r.syncExecuteCommand(d.id,d.params):!1}},te=e=>{var f;const n=e.get(I.TextSelectionManagerService),i=e.get(o.IUniverInstanceService),t=n.getActiveRange(),s=e.get(U.IRenderManagerService).getCurrent(),c=s==null?void 0:s.with(I.DocSkeletonManagerService).getSkeleton(),d=c==null?void 0:c.getViewModel().getEditArea();if(d===U.DocumentEditArea.FOOTER||d===U.DocumentEditArea.HEADER)return!0;const l=i.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);if(!l||!t||t.collapsed)return!0;const h=(f=l.getBody())==null?void 0:f.paragraphs;if(!h)return!0;for(let m=0,p=h.length;m<p;m++){const y=h[m];if(t.startOffset<=y.startIndex&&t.endOffset>y.startIndex)return!0;if(y.startIndex>t.endOffset)break}return!1},R={type:o.CommandType.OPERATION,id:"docs.operation.show-hyper-link-edit-popup",handler(e,n){const i=n==null?void 0:n.link;return te(e)&&!i?!1:(e.get(P).showEditPopup(i),!0)}},M={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"},A=()=>{const e=g.useDependency(P),n=g.useDependency(O.DocHyperLinkModel),i=g.useDependency(o.ICommandService),t=g.useDependency(L.IMessageService),r=g.useDependency(o.LocaleService),s=L.useObservable(e.showingLink$);if(!s)return null;const{unitId:c,linkId:d}=s,l=n.getLink(c,d);return l?a.createElement("div",{className:M.docLink,onClick:()=>{e.hideInfoPopup()}},a.createElement("div",{className:z(M.docLinkContent),onClick:()=>window.open(l.payload)},a.createElement("div",{className:M.docLinkType},a.createElement(Z,null)),a.createElement(E.Tooltip,{showIfEllipsis:!0,title:l.payload},a.createElement("span",{className:M.docLinkUrl},l.payload))),a.createElement("div",{className:M.docLinkOperations},a.createElement("div",{className:z(M.docLinkOperation),onClick:()=>{navigator.clipboard.writeText(l.payload),t.show({content:r.t("docLink.info.coped"),type:E.MessageType.Info})}},a.createElement(E.Tooltip,{placement:"bottom",title:r.t("docLink.info.copy")},a.createElement(J,null))),a.createElement("div",{className:M.docLinkOperation,onClick:()=>{i.executeCommand(R.id,{link:s})}},a.createElement(E.Tooltip,{placement:"bottom",title:r.t("docLink.info.edit")},a.createElement(ee,null))),a.createElement("div",{className:M.docLinkOperation,onClick:()=>{i.executeCommand(ne.id,{unitId:c,linkId:l.id})}},a.createElement(E.Tooltip,{placement:"bottom",title:r.t("docLink.info.cancel")},a.createElement(Q,null))))):null};A.componentKey="univer.doc.link-info-popup";var Ee=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,Me=(e,n,i,t)=>{for(var r=t>1?void 0:t?Oe(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&Ee(n,i,r),r},b=(e,n)=>(i,t)=>n(i,t,e);let P=class extends o.Disposable{constructor(n,i,t,r,s){super();x(this,"_editingLink$",new H.BehaviorSubject(null));x(this,"_showingLink$",new H.BehaviorSubject(null));x(this,"editingLink$",this._editingLink$.asObservable());x(this,"showingLink$",this._showingLink$.asObservable());x(this,"_editPopup",null);x(this,"_infoPopup",null);this._docCanvasPopupManagerService=n,this._textSelectionManagerService=i,this._docHyperLinkModel=t,this._univerInstanceService=r,this._commandService=s,this.disposeWithMe(()=>{this._editingLink$.complete(),this._showingLink$.complete()})}get editing(){return this._editingLink$.value}get showing(){return this._showingLink$.value}showEditPopup(n){var t,r;this._editPopup&&this._editPopup.dispose(),this._editingLink$.next(n);let i=this._textSelectionManagerService.getActiveRange();if(n){const{unitId:s,rangeIndex:c}=n,d=this._univerInstanceService.getUnit(s,o.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:B.componentKey,direction:"bottom"}),this._editPopup):null}hideEditPopup(){var n;this._editingLink$.next(null),(n=this._editPopup)==null||n.dispose()}showInfoPopup(n){var l,h,f,m;const{linkId:i,unitId:t,rangeIndex:r}=n;if(((l=this.showing)==null?void 0:l.linkId)===i&&((h=this.showing)==null?void 0:h.unitId)===t&&this.showing.rangeIndex===r)return;this._infoPopup&&this._infoPopup.dispose();const s=this._docHyperLinkModel.getLink(t,i),c=this._univerInstanceService.getUnit(t,o.UniverInstanceType.UNIVER_DOC);if(!c||!s)return;const d=(m=(f=c.getBody())==null?void 0:f.customRanges)==null?void 0:m[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:A.componentKey,direction:"top",closeOnSelfTarget:!0,onClickOutside:()=>{this.hideInfoPopup()}}),this._infoPopup}hideInfoPopup(){var n;this._showingLink$.next(null),(n=this._infoPopup)==null||n.dispose()}};P=Me([b(0,v.Inject(Y.DocCanvasPopManagerService)),b(1,v.Inject(I.TextSelectionManagerService)),b(2,v.Inject(O.DocHyperLinkModel)),b(3,o.IUniverInstanceService),b(4,o.ICommandService)],P);const ie={type:o.CommandType.COMMAND,id:"docs.command.add-hyper-link",async handler(e,n){if(!n)return!1;const{payload:i,unitId:t}=n,r=e.get(o.ICommandService),s=o.generateRandomId(),c=I.addCustomRangeBySelectionFactory(e,{rangeId:s,rangeType:o.CustomRangeType.HYPERLINK});if(c){const d={id:O.AddDocHyperLinkMutation.id,params:{unitId:t,link:{payload:i,id:s}}};return(await o.sequenceExecuteAsync([d,c],r)).result}return!1}},re={id:"docs.command.update-hyper-link",type:o.CommandType.COMMAND,handler(e,n){return n?e.get(o.ICommandService).syncExecuteCommand(O.UpdateDocHyperLinkMutation.id,n):!1}},T={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"};function Pe(e){return/^[a-zA-Z]+:\/\//.test(e)}function De(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function Ue(e){return Pe(e)?e:De(e)?`mailto://${e}`:`https://${e}`}const B=()=>{const e=g.useDependency(P),n=g.useDependency(o.LocaleService),i=g.useDependency(O.DocHyperLinkModel),t=g.useObservable(e.editingLink$),r=g.useDependency(o.ICommandService),s=g.useDependency(o.IUniverInstanceService),c=g.useDependency(U.ITextSelectionRenderManager),d=g.useDependency(I.TextSelectionManagerService),[l,h]=a.useState(""),[f,m]=a.useState(!1),p=o.Tools.isLegalUrl(l),y=t?s.getUnit(t.unitId,o.UniverInstanceType.UNIVER_DOC):s.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);a.useEffect(()=>{var ue,pe,ve,fe;if(t){const S=t?i.getLink(t.unitId,t.linkId):null;h((ue=S==null?void 0:S.payload)!=null?ue:"");return}const _=d.getActiveRange();if(!_)return;const $=s.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),le=(ve=(pe=$==null?void 0:$.getBody())==null?void 0:pe.customRanges)==null?void 0:ve.find(S=>Math.max(_.startOffset,S.startIndex)<=Math.min(_.endOffset-1,S.endIndex));if($&&le){const S=i.getLink($.getUnitId(),le.rangeId);h((fe=S==null?void 0:S.payload)!=null?fe:"")}},[t,i,d,s]),a.useEffect(()=>(c.blur(),()=>{c.focus()}),[c]);const k=()=>{e.hideEditPopup()},D=()=>{if(m(!0),!p||!y)return;const _=Ue(l);t?r.executeCommand(re.id,{unitId:y.getUnitId(),payload:_,linkId:t.linkId}):r.executeCommand(ie.id,{unitId:y.getUnitId(),payload:_}),e.hideEditPopup()};if(y)return a.createElement("div",{className:T.docsLinkEdit},a.createElement("div",{className:T.docsLinkEditTitle},a.createElement("span",null,n.t("docLink.edit.title")),a.createElement(X,{className:T.docsLinkEditClose,onClick:k})),a.createElement("div",null,a.createElement(E.FormLayout,{label:n.t("docLink.edit.address"),error:f&&!p?n.t("docLink.edit.addressError"):""},a.createElement(E.Input,{value:l,onChange:h,autoFocus:!0}))),a.createElement("div",{className:T.docsLinkEditButtons},a.createElement(E.Button,{className:T.docsLinkEditButton,onClick:k},n.t("docLink.edit.cancel")),a.createElement(E.Button,{disabled:!l,className:T.docsLinkEditButton,type:"primary",onClick:D},n.t("docLink.edit.confirm"))))};B.componentKey="docs-hyper-link-edit";const oe="doc-hyper-link-icon";function xe(e){return{id:R.id,group:L.MenuGroup.TOOLBAR_LAYOUT,type:L.MenuItemType.BUTTON,icon:oe,title:"docLink.menu.tooltip",tooltip:"docLink.menu.tooltip",positions:[L.MenuPosition.TOOLBAR_START,L.MenuPosition.CONTEXT_MENU],hidden$:L.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC),disabled$:new H.Observable(function(n){const t=e.get(I.TextSelectionManagerService).textSelection$.pipe(H.debounceTime(16)).subscribe(()=>{n.next(te(e))});return()=>{t.unsubscribe()}})}}const we={id:R.id,binding:L.MetaKeys.CTRL_COMMAND|L.KeyCode.K,description:"docLink.menu.tooltip",preconditions:Y.whenDocAndEditorFocused};var Te=Object.defineProperty,be=Object.getOwnPropertyDescriptor,je=(e,n,i,t)=>{for(var r=t>1?void 0:t?be(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&Te(n,i,r),r},j=(e,n)=>(i,t)=>n(i,t,e);let N=class extends o.Disposable{constructor(e,n,i,t,r,s){super(),this._config=e,this._componentManager=n,this._commandService=i,this._menuService=t,this._injector=r,this._shortcutService=s,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortcut()}_initComponents(){[[B,B.componentKey],[A,A.componentKey],[Z,oe]].forEach(([e,n])=>{this._componentManager.register(n,e)})}_initCommands(){[ie,re,ne,R].forEach(e=>{this._commandService.registerCommand(e)})}_initShortcut(){[we].forEach(e=>{this._shortcutService.registerShortcut(e)})}_initMenus(){[xe].forEach(e=>{this.disposeWithMe(this._menuService.addMenuItem(e(this._injector),{}))})}};N=je([o.OnLifecycle(o.LifecycleStages.Starting,N),j(1,v.Inject(L.ComponentManager)),j(2,o.ICommandService),j(3,L.IMenuService),j(4,v.Inject(v.Injector)),j(5,L.IShortcutService)],N);var Ne=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,He=(e,n,i,t)=>{for(var r=t>1?void 0:t?$e(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&Ne(n,i,r),r},K=(e,n)=>(i,t)=>n(i,t,e);let V=class extends o.Disposable{constructor(e,n,i,t){super(),this._commandService=e,this._univerInstanceService=n,this._docHyperLinkService=i,this._renderMangerService=t,this._initSelectionChange()}_initSelectionChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n,i;if(e.id===I.SetTextSelectionsOperation.id){const t=e.params,{unitId:r,ranges:s}=t,c=this._renderMangerService.getRenderById(r),d=c==null?void 0:c.with(I.DocSkeletonManagerService).getSkeleton();if((d==null?void 0:d.getViewModel().getEditArea())!==U.DocumentEditArea.BODY){this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup();return}const h=this._univerInstanceService.getUnit(r,o.UniverInstanceType.UNIVER_DOC),f=s[0];if(f&&h){const{startOffset:m,endOffset:p,collapsed:y}=f,k=(n=h.getBody())==null?void 0:n.customRanges;if(y){const D=(i=k==null?void 0:k.findIndex(_=>_.startIndex<m&&_.endIndex>p-1))!=null?i:-1;if(D>-1){const _=k[D];this._docHyperLinkService.showInfoPopup({unitId:r,linkId:_.rangeId,rangeIndex:D});return}}else if(k!=null&&k.find(D=>D.startIndex<=m&&D.endIndex>=p-1))return}this._docHyperLinkService.hideInfoPopup(),this._docHyperLinkService.hideEditPopup()}}))}};V=He([o.OnLifecycle(o.LifecycleStages.Ready,V),K(0,o.ICommandService),K(1,o.IUniverInstanceService),K(2,v.Inject(P)),K(3,U.IRenderManagerService)],V);var Re=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,Be=(e,n,i,t)=>{for(var r=t>1?void 0:t?Ae(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&Re(n,i,r),r},se=(e,n)=>(i,t)=>n(i,t,e);let W=class extends o.Disposable{constructor(e,n,i){super(),this._context=e,this._docInterceptorService=n,this._hyperLinkService=i,this._init()}_init(){this._docInterceptorService.intercept(I.DOC_INTERCEPTOR_POINT.CUSTOM_RANGE,{handler:(e,n,i)=>{if(!e)return i(e);const{unitId:t}=n,r=this._hyperLinkService.showing,{linkId:s,unitId:c}=r||{},d=c===t&&e.rangeId===s;return i({...e,active:d})}})}};W=Be([se(1,v.Inject(I.DocInterceptorService)),se(2,v.Inject(P))],W);var Ke=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Fe=(e,n,i,t)=>{for(var r=t>1?void 0:t?Ve(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&Ke(n,i,r),r},F=(e,n)=>(i,t)=>n(i,t,e);let q=class extends o.Disposable{constructor(e,n,i,t){super(),this._docClipboardService=e,this._univerInstanceService=n,this._hyperLinkModel=i,this._textSelectionManagerService=t,this._initClipboard()}_initClipboard(){this.disposeWithMe(this._docClipboardService.addClipboardHook({onBeforePaste:e=>{var s,c;const n=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);if(!n)return e;const i=this._textSelectionManagerService.getActiveRange(),t=(s=n.getBody())==null?void 0:s.customRanges;if(i?t==null?void 0:t.find(d=>d.rangeType===o.CustomRangeType.HYPERLINK&&d.startIndex<=i.startOffset&&d.endIndex>=i.endOffset-1):null){const{customRanges:d=[],...l}=e,f=d.filter(p=>p.rangeType===o.CustomRangeType.HYPERLINK).map(p=>[p.startIndex,p.endIndex]).flat().sort((p,y)=>p-y),m={...l,customRanges:d.filter(p=>p.rangeType!==o.CustomRangeType.HYPERLINK)};for(let p=0;p<f.length;p++)o.updateAttributeByDelete(m,1,f[p]-p);return m}else{const d=new Set(t==null?void 0:t.map(l=>l.rangeType===o.CustomRangeType.HYPERLINK&&l.rangeId));(c=e.customRanges)==null||c.forEach(l=>{var h;if(l.rangeType===o.CustomRangeType.HYPERLINK){if(d.has(l.rangeId)){const f=this._hyperLinkModel.getLink(n.getUnitId(),l.rangeId);if(f){const m=o.Tools.generateRandomId();this._hyperLinkModel.addLink(n.getUnitId(),{payload:f.payload,id:m}),l.rangeId=m}}else if((h=e.payloads)!=null&&h[l.rangeId]){const f=e.payloads[l.rangeId];this._hyperLinkModel.addLink(n.getUnitId(),{payload:f,id:l.rangeId})}}})}return e}}))}};q=Fe([o.OnLifecycle(o.LifecycleStages.Ready,q),F(0,v.Inject(Y.IDocClipboardService)),F(1,o.IUniverInstanceService),F(2,v.Inject(O.DocHyperLinkModel)),F(3,v.Inject(I.TextSelectionManagerService))],q);var ce=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Ye=(e,n,i)=>n in e?ce(e,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[n]=i,Ze=(e,n,i,t)=>{for(var r=t>1?void 0:t?qe(n,i):n,s=e.length-1,c;s>=0;s--)(c=e[s])&&(r=(t?c(n,i,r):c(r))||r);return t&&r&&ce(n,i,r),r},ae=(e,n)=>(i,t)=>n(i,t,e),de=(e,n,i)=>Ye(e,typeof n!="symbol"?n+"":n,i);u.UniverDocsHyperLinkUIPlugin=class extends o.Plugin{constructor(n={menu:{}},i,t){super(),this._config=n,this._injector=i,this._renderManagerSrv=t}onStarting(n){[[P],[N,{useFactory:()=>this._injector.createInstance(N,this._config)}],[V],[q]].forEach(t=>{n.add(t)})}onRendered(){this._initRenderModule()}_initRenderModule(){[W].forEach(n=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,n)})}},de(u.UniverDocsHyperLinkUIPlugin,"pluginName",he),de(u.UniverDocsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC),u.UniverDocsHyperLinkUIPlugin=Ze([o.DependentOn(O.UniverDocsHyperLinkPlugin),ae(1,v.Inject(v.Injector)),ae(2,U.IRenderManagerService)],u.UniverDocsHyperLinkUIPlugin),Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/docs-hyper-link-ui",
|
|
3
|
-
"version": "0.2.4
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Univer thread comment plugin",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -45,34 +45,36 @@
|
|
|
45
45
|
"lib"
|
|
46
46
|
],
|
|
47
47
|
"peerDependencies": {
|
|
48
|
+
"@wendellhu/redi": "0.16.0",
|
|
48
49
|
"clsx": ">=2.0.0",
|
|
49
50
|
"react": "^16.9.0 || ^17.0.0 || ^18.0.0",
|
|
50
51
|
"rxjs": ">=7.0.0",
|
|
51
|
-
"@univerjs/
|
|
52
|
-
"@univerjs/
|
|
53
|
-
"@univerjs/docs
|
|
54
|
-
"@univerjs/
|
|
55
|
-
"@univerjs/
|
|
56
|
-
"@univerjs/
|
|
57
|
-
"@univerjs/ui": "0.2.4
|
|
52
|
+
"@univerjs/design": "0.2.4",
|
|
53
|
+
"@univerjs/core": "0.2.4",
|
|
54
|
+
"@univerjs/docs": "0.2.4",
|
|
55
|
+
"@univerjs/docs-hyper-link": "0.2.4",
|
|
56
|
+
"@univerjs/engine-render": "0.2.4",
|
|
57
|
+
"@univerjs/ui": "0.2.4",
|
|
58
|
+
"@univerjs/docs-ui": "0.2.4"
|
|
58
59
|
},
|
|
59
60
|
"dependencies": {
|
|
60
|
-
"@univerjs/icons": "^0.1.
|
|
61
|
+
"@univerjs/icons": "^0.1.65"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
64
|
+
"@wendellhu/redi": "0.16.0",
|
|
63
65
|
"clsx": "^2.1.1",
|
|
64
66
|
"react": "18.3.1",
|
|
65
67
|
"rxjs": "^7.8.1",
|
|
66
68
|
"typescript": "^5.5.3",
|
|
67
69
|
"vite": "^5.3.4",
|
|
68
70
|
"vitest": "^2.0.3",
|
|
69
|
-
"@univerjs/
|
|
70
|
-
"@univerjs/
|
|
71
|
-
"@univerjs/docs": "0.2.4
|
|
72
|
-
"@univerjs/docs-hyper-link": "0.2.4
|
|
73
|
-
"@univerjs/
|
|
74
|
-
"@univerjs/
|
|
75
|
-
"@univerjs/ui": "0.2.4
|
|
71
|
+
"@univerjs/design": "0.2.4",
|
|
72
|
+
"@univerjs/core": "0.2.4",
|
|
73
|
+
"@univerjs/docs": "0.2.4",
|
|
74
|
+
"@univerjs/docs-hyper-link": "0.2.4",
|
|
75
|
+
"@univerjs/engine-render": "0.2.4",
|
|
76
|
+
"@univerjs/shared": "0.2.4",
|
|
77
|
+
"@univerjs/ui": "0.2.4"
|
|
76
78
|
},
|
|
77
79
|
"univerSpace": {
|
|
78
80
|
".": {
|