@univerjs/sheets-hyper-link-ui 0.16.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var jt=Object.defineProperty;var At=(t,n,e)=>n in t?jt(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var V=(t,n,e)=>At(t,typeof n!="symbol"?n+"":n,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),_=require("@univerjs/sheets"),R=require("@univerjs/sheets-ui"),me=require("@univerjs/docs"),Q=require("@univerjs/docs-ui"),_e=require("@univerjs/engine-render"),S=require("@univerjs/ui"),D=require("rxjs"),y=require("react/jsx-runtime"),T=require("@univerjs/design"),z=require("@univerjs/engine-formula"),$t=require("@univerjs/sheets-formula-ui"),m=require("@univerjs/sheets-hyper-link"),C=require("react"),It=require("@univerjs/sheets-data-validation");var f=(t=>(t.EDITING="editing",t.VIEWING="viewing",t.ZEN_EDITOR="zen_mode",t))(f||{});function Le(t){return s.Tools.isLegalUrl(t)}function Bt(t){return/^[a-zA-Z]+:\/\//.test(t)}function Vt(t){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(t)}function Ft(t){if(Le(t)){const n=Bt(t)?t:Vt(t)?`mailto://${t}`:`http://${t}`;let e;try{e=new URL(n)}catch{return t}return e.hostname===location.hostname&&e.port===location.port&&e.protocol===location.protocol&&e.pathname===location.pathname&&e.hash&&!e.search?e.hash:n}return t}const Et="sheets-hyper-link-ui.config",mt={};var Zt=Object.getOwnPropertyDescriptor,Kt=(t,n,e,r)=>{for(var i=r>1?void 0:r?Zt(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},ue=(t,n)=>(e,r)=>n(e,r,t);function Wt(t,n){const e=n.getMergeData(),r=n.getMaxColumns()-1,i=n.getMaxRows()-1;if(r<t.endColumn&&(t.endColumn=r),i<t.endRow&&(t.endRow=i),t.rangeType===s.RANGE_TYPE.COLUMN||s.RANGE_TYPE.ROW)return t;const o=[];return e.forEach(a=>{s.Rectangle.intersects(t,a)&&o.push(a)}),s.Rectangle.realUnion(t,...o)}exports.SheetsHyperLinkResolverService=class{constructor(n,e,r,i,o,a){this._univerInstanceService=n,this._commandService=e,this._definedNamesService=r,this._messageService=i,this._localeService=o,this._configService=a}navigate(n){n.type===m.SheetHyperLinkType.URL?this.navigateToOtherWebsite(n.url):this._navigateToUniver(n.searchObj)}_navigateToUniver(n){const{gid:e,range:r,rangeid:i}=n,o=this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);if(!o)return;const a=o.getUnitId();if(i){const u=this._definedNamesService.getValueById(a,i);if(!u)return;const{formulaOrRefString:l}=u,h=this._definedNamesService.getWorksheetByRef(a,l);if(!h){this._messageService.show({content:this._localeService.t("hyperLink.message.refError"),type:T.MessageType.Error});return}if(h.isSheetHidden()){this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:T.MessageType.Error});return}this.navigateToDefineName(a,i)}if(e){if(r){const u=z.deserializeRangeWithSheet(r);s.isValidRange(u.range)&&r!==m.ERROR_RANGE&&this.navigateToRange(a,e,u.range);return}this.navigateToSheetById(a,e)}}async navigateToRange(n,e,r,i){const o=await this.navigateToSheetById(n,e);if(o){const a=Wt(r,o);await this._commandService.executeCommand(_.SetSelectionsOperation.id,{unitId:n,subUnitId:e,selections:[{range:a,primary:null}]}),await this._commandService.executeCommand(R.ScrollToRangeOperation.id,{range:a,forceTop:i})}}async navigateToSheetById(n,e){const r=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET);if(!r)return!1;const i=r.getActiveSheet();if(!i)return!1;if(i.getSheetId()===e)return i;const o=r.getSheetBySheetId(e);return o?r.getHiddenWorksheets().indexOf(e)>-1?(this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:T.MessageType.Error}),!1):await this._commandService.executeCommand(_.SetWorksheetActiveOperation.id,{unitId:n,subUnitId:e})?o:!1:(this._messageService.show({content:this._localeService.t("hyperLink.message.noSheet"),type:T.MessageType.Error}),!1)}async navigateToDefineName(n,e){return this._definedNamesService.focusRange(n,e),!0}async navigateToOtherWebsite(n){var r;const e=this._configService.getConfig(Et);if((r=e==null?void 0:e.urlHandler)!=null&&r.navigateToOtherWebsite)return e.urlHandler.navigateToOtherWebsite(n);window.open(n,"_blank","noopener noreferrer")}};exports.SheetsHyperLinkResolverService=Kt([ue(0,s.IUniverInstanceService),ue(1,s.ICommandService),ue(2,z.IDefinedNamesService),ue(3,S.IMessageService),ue(4,s.Inject(s.LocaleService)),ue(5,s.IConfigService)],exports.SheetsHyperLinkResolverService);class Ye extends s.Disposable{constructor(){super(...arguments);V(this,"_customHyperLinks",new Map)}isBuiltInLinkType(e){return e!==m.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:e})=>e)}findCustomHyperLink(e){return Array.from(this._customHyperLinks.values()).find(i=>i.match(e))}registerCustomHyperLink(e){this._customHyperLinks.set(e.type,e)}getCustomHyperLink(e){return this._customHyperLinks.get(e)}removeCustomHyperLink(e){const{_customHyperLinks:r}=this;r.delete(e)}dispose(){super.dispose(),this._customHyperLinks.clear()}}const Pe=()=>{var tt;const[t,n]=C.useState(""),[e,r]=C.useState(!1),[i,o]=C.useState(""),[a,u]=C.useState(!0),[l,h]=C.useState(m.SheetHyperLinkType.URL),[d,p]=C.useState(""),I=S.useDependency(s.LocaleService),v=S.useDependency(z.IDefinedNamesService),E=S.useDependency(R.IEditorBridgeService),P=S.useDependency(s.IUniverInstanceService),L=S.useDependency(exports.SheetsHyperLinkPopupService),c=S.useObservable(L.currentEditing$),k=S.useDependency(m.SheetsHyperLinkParserService),M=S.useDependency(exports.SheetsHyperLinkResolverService),N=S.useDependency(s.ICommandService),H=S.useDependency(Ye),$=C.useMemo(()=>H.getOptions(),[H]),A=S.useDependency(S.IZenZoneService),Y=S.useDependency(_e.IRenderManagerService),ee=S.useDependency(R.IMarkSelectionService),ye=S.useDependency(me.DocSelectionManagerService),te=S.useDependency(s.IContextService),le=S.useDependency(s.ThemeService),de=S.useDependency(me.DocSelectionManagerService),[pe,fe]=C.useState(!1),oe=S.useDependency(_.SheetsSelectionsService),Ot=C.useMemo(()=>oe.getCurrentSelections(),[]),Ce=C.useMemo(()=>{if(!H.isBuiltInLinkType(l))return H.getCustomHyperLink(l)},[H,l]),[ae,Nt]=C.useState(!1),[he,Qe]=C.useState(!1),B=C.useRef(!1),F=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),Ht=(F==null?void 0:F.getActiveSheet().getSheetId())||"",q=C.useCallback(g=>{o(g.replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))},[o]);C.useEffect(()=>{var g,w,b,O,x,Z,nt,rt,it,st,ot,at,ct,ut,lt,dt,pt;if((c==null?void 0:c.row)!==void 0&&c.col!==void 0){const{customRange:ne,row:Ve,col:Fe}=c;let{label:G}=c;typeof G=="number"&&(G=`${G}`);let K;if(ne)K={id:(g=ne==null?void 0:ne.rangeId)!=null?g:"",display:G!=null?G:"",payload:(b=(w=ne==null?void 0:ne.properties)==null?void 0:w.url)!=null?b:"",row:Ve,column:Fe};else if(c.type===f.VIEWING){const U=P.getUnit(c.unitId),J=U==null?void 0:U.getSheetBySheetId(c.subUnitId),j=J==null?void 0:J.getCellRaw(c.row,c.col),ce=(Z=(x=(O=j==null?void 0:j.p)==null?void 0:O.body)==null?void 0:x.customRanges)==null?void 0:Z.find(gt=>{var vt;return gt.rangeType===s.CustomRangeType.HYPERLINK&&((vt=gt.properties)==null?void 0:vt.url)}),ge=j==null?void 0:j.v;j&&(!s.BuildTextUtils.transform.isEmptyDocument((rt=(nt=j.p)==null?void 0:nt.body)==null?void 0:rt.dataStream)||s.Tools.isDefine(ge))&&u(!1),K={id:"",display:"",payload:(st=(it=ce==null?void 0:ce.properties)==null?void 0:it.url)!=null?st:"",row:Ve,column:Fe}}else{const U=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC),J=ye.getActiveTextRange(),j=U==null?void 0:U.getBody(),ce=J&&j?J:null,ge=ce&&((at=s.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(ce,(ot=j==null?void 0:j.customRanges)!=null?ot:[]))==null?void 0:at[0]);u(!1),K={id:"",display:G!=null?G:"",payload:(ut=(ct=ge==null?void 0:ge.properties)==null?void 0:ct.url)!=null?ut:"",row:Ve,column:Fe}}n(K.id);const ht=H.findCustomHyperLink(K);if(ht){const U=ht.convert(K);h(U.type),p(U.payload),q(U.display);return}q(K.display);const X=k.parseHyperLink(K.payload);switch(h(X.type===m.SheetHyperLinkType.INVALID?m.SheetHyperLinkType.RANGE:X.type),X.type){case m.SheetHyperLinkType.URL:{p(X.url),X.url===K.display&&(B.current=!0);break}case m.SheetHyperLinkType.RANGE:{const U=X.searchObj,J=U.gid&&(pt=(dt=(lt=P.getUnit(c.unitId))==null?void 0:lt.getSheetBySheetId(U.gid))==null?void 0:dt.getName())!=null?pt:"",j=z.serializeRangeWithSheet(J,z.deserializeRangeWithSheet(U.range).range);p(j),j===K.display&&(B.current=!0);break}case m.SheetHyperLinkType.SHEET:{const U=X.searchObj;p(U.gid);break}case m.SheetHyperLinkType.DEFINE_NAME:{const U=X.searchObj;p(U.rangeid);break}default:p("");break}}},[c,M,H,ye,P]),C.useEffect(()=>{let g=null;if(c&&!c.customRangeId&&c.type===f.VIEWING&&s.Tools.isDefine(c.row)&&s.Tools.isDefine(c.col)){const w=P.getUnit(c.unitId,s.UniverInstanceType.UNIVER_SHEET),b=w==null?void 0:w.getSheetBySheetId(c.subUnitId),O=b==null?void 0:b.getMergedCell(c.row,c.col),x=new s.ColorKit(le.getColorFromTheme("primary.600")).toRgb();g=ee.addShape({range:O!=null?O:{startColumn:c.col,endColumn:c.col,startRow:c.row,endRow:c.row},style:{fill:`rgb(${x.r}, ${x.g}, ${x.b}, 0.12)`,strokeWidth:1,stroke:"#FFBD37",widgets:{}},primary:null},[],-1)}return()=>{g&&ee.removeShape(g)}},[c,ee,le,P]),C.useEffect(()=>{Qe(l===m.SheetHyperLinkType.RANGE)},[l]),C.useEffect(()=>{const g=(c==null?void 0:c.type)===f.ZEN_EDITOR?Y.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY):Y.getRenderById(E.getCurrentEditorId()),w=new s.DisposableCollection;if(g){const b=g.with(Q.DocSelectionRenderService);b.setReserveRangesStatus(!0),w.add(()=>{b.setReserveRangesStatus(!1)})}return()=>{E.disableForceKeepVisible(),w.dispose()}},[c==null?void 0:c.type,E,Y]),C.useEffect(()=>(he&&L.setIsKeepVisible(he),L.setIsKeepVisible(pe),()=>{L.setIsKeepVisible(!1)}),[he,pe,L]),C.useEffect(()=>()=>{A.temporaryHidden&&(A.show(),te.setContextValue(s.FOCUSING_SHEET,!1))},[te,A]),C.useEffect(()=>{if(he)return E.enableForceKeepVisible(),()=>{E.disableForceKeepVisible()}},[he,E]);const Ut=[{label:I.t("hyperLink.form.link"),value:m.SheetHyperLinkType.URL},{label:I.t("hyperLink.form.range"),value:m.SheetHyperLinkType.RANGE},{label:I.t("hyperLink.form.worksheet"),value:m.SheetHyperLinkType.SHEET},{label:I.t("hyperLink.form.definedName"),value:m.SheetHyperLinkType.DEFINE_NAME},...$];if(!F)return;const xt=F.getHiddenWorksheets(),Ae=F.getSheets().map(g=>({label:g.getName(),value:g.getSheetId()})).filter(g=>xt.indexOf(g.value)===-1),$e=Object.values((tt=v.getDefinedNameMap(F.getUnitId()))!=null?tt:{}).map(g=>({label:g.name,value:g.id})),et=(g,w)=>{if(g===m.SheetHyperLinkType.URL)return Ft(w);if(g===m.SheetHyperLinkType.RANGE){const b=z.deserializeRangeWithSheet(w),O=F.getSheetBySheetName(b.sheetName);if(O)return`#gid=${O.getSheetId()}&range=${z.serializeRange(b.range)}`}return`#${g}=${w}`},Mt=S.useEvent(g=>{var x;const b=g.split(",").map(z.deserializeRangeWithSheet)[0];if(!b||!s.isValidRange(b.range))return;b.sheetName||(b.sheetName=((x=F.getActiveSheet())==null?void 0:x.getName())||"");const O=z.serializeRangeToRefString(b);p(O),O&&(B.current||!i)&&(q(O),B.current=!0)}),Be=async()=>{if(a&&!i||!d||l===m.SheetHyperLinkType.URL&&!Le(d)){Nt(!0);return}if(c)if(t){const g=c.type===f.ZEN_EDITOR||c.type===f.EDITING?m.UpdateRichHyperLinkCommand.id:m.UpdateHyperLinkCommand.id;await N.executeCommand(g,{id:t,unitId:c.unitId,subUnitId:c.subUnitId,payload:{display:a?i:"",payload:et(l,d)},row:c.row,column:c.col,documentId:c.type===f.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:E.getCurrentEditorId()})}else{const g=c.type===f.ZEN_EDITOR||c.type===f.EDITING?m.AddRichHyperLinkCommand.id:m.AddHyperLinkCommand.id;await N.executeCommand(g,{unitId:c.unitId,subUnitId:c.subUnitId,link:{id:s.generateRandomId(),row:c.row,column:c.col,payload:et(l,d),display:a?i:""},documentId:c.type===f.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:E.getCurrentEditorId()})}if((c==null?void 0:c.type)===f.VIEWING){await N.executeCommand(_.SetWorksheetActiveOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId});const g=1;await N.executeCommand(R.ScrollToRangeOperation.id,{range:{startRow:Math.max(c.row-g,0),endRow:c.row+g,startColumn:Math.max(c.col-g,0),endColumn:c.col+g}})}N.executeCommand(Se.id)};return c?y.jsxs("div",{className:T.clsx("univer-box-border univer-w-[296px] univer-rounded-xl univer-bg-white univer-p-4 univer-shadow-md dark:!univer-bg-gray-900",T.borderClassName),children:[a?y.jsx(T.FormLayout,{label:I.t("hyperLink.form.label"),error:ae&&!i?I.t("hyperLink.form.inputError"):"",children:y.jsx(T.Input,{value:i,onChange:g=>{q(g),B.current=!1},placeholder:I.t("hyperLink.form.labelPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&Be()}})}):null,y.jsx(T.FormLayout,{label:I.t("hyperLink.form.type"),children:y.jsx(T.Select,{className:"univer-w-full",options:Ut,value:l,onChange:g=>{h(g),p("")}})}),l===m.SheetHyperLinkType.URL&&y.jsx(T.FormLayout,{error:ae?d?Le(d)?"":I.t("hyperLink.form.linkError"):I.t("hyperLink.form.inputError"):"",children:y.jsx(T.Input,{value:d,onChange:g=>{p(g),g&&(B.current||!i||i===g)&&(q(g),B.current=!0)},placeholder:I.t("hyperLink.form.linkPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&Be()}})}),l===m.SheetHyperLinkType.RANGE&&y.jsx(T.FormLayout,{error:ae&&!d?I.t("hyperLink.form.inputError"):"",children:y.jsx($t.RangeSelector,{unitId:F.getUnitId(),subUnitId:Ht,maxRangeCount:1,supportAcrossSheet:!0,initialValue:d,resetRange:Ot,onChange:(g,w)=>Mt(w),onRangeSelectorDialogVisibleChange:async g=>{var w,b;if(fe(g),g)c.type===f.ZEN_EDITOR&&(A.hide(),te.setContextValue(s.FOCUSING_SHEET,!0)),c.type!==f.VIEWING&&E.enableForceKeepVisible(),r(!0);else{if(await M.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),c.type===f.ZEN_EDITOR){await N.executeCommand(_.SetSelectionsOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId,selections:[{range:{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col}}]}),A.show(),te.setContextValue(s.FOCUSING_SHEET,!1);const O=(w=Y.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:w.with(Q.DocBackScrollRenderController),x=(b=de.getTextRanges({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))==null?void 0:b[0];O&&x&&(O.scrollToRange(x),de.refreshSelection({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))}E.disableForceKeepVisible(),r(!1)}},onFocusChange:g=>Qe(g)})}),l===m.SheetHyperLinkType.SHEET&&y.jsx(T.FormLayout,{error:ae&&!d?I.t("hyperLink.form.selectError"):"",children:y.jsx(T.Select,{className:"univer-w-full",options:Ae,value:d,onChange:g=>{var O,x;p(g);const w=(O=Ae.find(Z=>Z.value===g))==null?void 0:O.label,b=(x=Ae.find(Z=>Z.value===d))==null?void 0:x.label;w&&(B.current||!i||i===b)&&(q(w),B.current=!0)}})}),l===m.SheetHyperLinkType.DEFINE_NAME&&y.jsx(T.FormLayout,{error:ae&&!d?I.t("hyperLink.form.selectError"):"",children:y.jsx(T.Select,{className:"univer-w-full",options:$e,value:d,onChange:g=>{var O,x;p(g);const w=(O=$e.find(Z=>Z.value===g))==null?void 0:O.label,b=(x=$e.find(Z=>Z.value===d))==null?void 0:x.label;w&&(B.current||!i||i===b)&&(q(w),B.current=!0)}})}),(Ce==null?void 0:Ce.Form)&&y.jsx(Ce.Form,{linkId:t,payload:d,display:i,showError:ae,setByPayload:B,setDisplay:g=>{q(g),B.current=!0},setPayload:p}),y.jsxs("div",{className:"univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[y.jsx(T.Button,{onClick:()=>{c&&M.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),N.executeCommand(Se.id)},children:I.t("hyperLink.form.cancel")}),y.jsx(T.Button,{variant:"primary",onClick:async()=>{Be()},children:I.t("hyperLink.form.ok")})]})]}):null};Pe.componentKey="univer.sheet.cell-link-edit";function se({ref:t,...n}){const{icon:e,id:r,className:i,extend:o,...a}=n,u=`univerjs-icon univerjs-icon-${r} ${i||""}`.trim(),l=C.useRef(`_${zt()}`);return Rt(e,`${r}`,{defIds:e.defIds,idSuffix:l.current},{ref:t,className:u,...a},o)}function Rt(t,n,e,r,i){return C.createElement(t.tag,{key:n,...Yt(t,e,i),...r},(Gt(t,e).children||[]).map((o,a)=>Rt(o,`${n}-${t.tag}-${a}`,e,void 0,i)))}function Yt(t,n,e){const r={...t.attrs};e!=null&&e.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=e.colorChannel1),t.tag==="mask"&&r.id&&(r.id=r.id+n.idSuffix),Object.entries(r).forEach(([o,a])=>{o==="mask"&&typeof a=="string"&&(r[o]=a.replace(/url\(#(.*)\)/,`url(#$1${n.idSuffix})`))});const{defIds:i}=n;return!i||i.length===0||(t.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+n.idSuffix),Object.entries(r).forEach(([o,a])=>{typeof a=="string"&&(r[o]=a.replace(/url\(#(.*)\)/,`url(#$1${n.idSuffix})`))})),r}function Gt(t,n){var r;const{defIds:e}=n;return!e||e.length===0?t:t.tag==="defs"&&((r=t.children)!=null&&r.length)?{...t,children:t.children.map(i=>typeof i.attrs.id=="string"&&e&&e.includes(i.attrs.id)?{...i,attrs:{...i.attrs,id:i.attrs.id+n.idSuffix}}:i)}:t}function zt(){return Math.random().toString(36).substring(2,8)}se.displayName="UniverIcon";const qt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.9999 1.12915C8.03875 1.12915 8.07673 1.13284 8.11352 1.13989H12.2599C13.6958 1.13989 14.8599 2.30395 14.8599 3.73989V7.88619C14.867 7.92301 14.8707 7.96102 14.8707 7.9999C14.8707 8.03878 14.867 8.0768 14.8599 8.11362V12.2599C14.8599 13.6958 13.6958 14.8599 12.2599 14.8599H8.11362C8.0768 14.867 8.03878 14.8707 7.9999 14.8707C7.96102 14.8707 7.92301 14.867 7.88619 14.8599H3.73989C2.30396 14.8599 1.13989 13.6958 1.13989 12.2599V8.11352C1.13284 8.07673 1.12915 8.03875 1.12915 7.9999C1.12915 7.96106 1.13284 7.92308 1.13989 7.88629V3.73989C1.13989 2.30396 2.30395 1.13989 3.73989 1.13989H7.88629C7.92308 1.13284 7.96106 1.12915 7.9999 1.12915ZM2.33989 8.5999V12.2599C2.33989 13.0331 2.9667 13.6599 3.73989 13.6599H7.3999V8.5999H2.33989ZM7.3999 7.3999H2.33989V3.73989C2.33989 2.9667 2.96669 2.33989 3.73989 2.33989H7.3999V7.3999ZM8.5999 8.5999V13.6599H12.2599C13.0331 13.6599 13.6599 13.0331 13.6599 12.2599V8.5999H8.5999ZM13.6599 7.3999H8.5999V2.33989H12.2599C13.0331 2.33989 13.6599 2.96669 13.6599 3.73989V7.3999Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Re=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"all-border-icon",ref:e,icon:qt}))});Re.displayName="AllBorderIcon";const Xt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Lt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"copy-icon",ref:e,icon:Xt}))});Lt.displayName="CopyIcon";const Jt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M9.8816 1.97978C11.0177 0.843607 12.862 0.884962 14.0004 2.02342C15.1389 3.16188 15.1803 5.00612 14.0441 6.14228L11.399 8.78737C11.1608 9.02559 10.7746 9.02559 10.5363 8.78737C10.2981 8.54915 10.2981 8.16292 10.5363 7.9247L13.1814 5.2796C13.8195 4.64155 13.8217 3.57006 13.1378 2.8861C12.4538 2.20211 11.3823 2.20438 10.7443 2.84245L7.6976 5.88911L7.69317 5.89349C7.05959 6.53211 7.05894 7.60014 7.74132 8.28252C7.97954 8.52074 7.97954 8.90697 7.74132 9.14519C7.5031 9.38341 7.11687 9.38341 6.87865 9.14519C5.74016 8.00671 5.69884 6.16251 6.83497 5.02633L6.84021 5.02116L9.8816 1.97978Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.61426 7.2364C4.85248 6.99818 5.23871 6.99818 5.47693 7.2364C5.71515 7.47462 5.71515 7.86085 5.47693 8.09907L2.83183 10.7442C2.19375 11.3823 2.1915 12.4537 2.87547 13.1377C3.55945 13.8217 4.6309 13.8194 5.26899 13.1813L8.31566 10.1347C8.32262 10.1277 8.32971 10.121 8.33691 10.1144C8.34408 10.1064 8.3515 10.0986 8.35916 10.091C8.99721 9.45291 8.99949 8.38145 8.3155 7.69746C8.07728 7.45924 8.07728 7.07301 8.3155 6.83479C8.55372 6.59657 8.93995 6.59657 9.17817 6.83479C10.3166 7.97327 10.358 9.81748 9.22183 10.9536C9.21487 10.9606 9.20779 10.9673 9.20058 10.9739C9.19341 10.9819 9.18599 10.9897 9.17833 10.9973L6.13166 14.044C4.99548 15.1802 3.15127 15.1389 2.01279 14.0004C0.874362 12.8619 0.83297 11.0177 1.96916 9.8815L4.61426 7.2364Z"}}]},Ge=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"link-icon",ref:e,icon:Jt}))});Ge.displayName="LinkIcon";const Qt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",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.76157C6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449C14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797C11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.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.05395C4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092C3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721C8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332C2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302C13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332Z"}}]},Pt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"unlink-icon",ref:e,icon:Qt}))});Pt.displayName="UnlinkIcon";const en={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",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"}}]},Tt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"write-icon",ref:e,icon:en}))});Tt.displayName="WriteIcon";const tn={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"#35BD4B",d:"M3.4535 1.12549C2.7002 1.12549 2.08954 1.73615 2.08954 2.48945V13.5104C2.08954 14.2637 2.7002 14.8744 3.4535 14.8744H12.5465C13.2998 14.8744 13.9105 14.2637 13.9105 13.5104V5.0992L10.0091 1.12549H3.4535Z"}},{tag:"path",attrs:{fill:"#32A846",d:"M10.0075 1.12549L13.9104 5.09842H10.6742C10.306 5.09842 10.0075 4.79994 10.0075 4.43175V1.12549Z"}},{tag:"path",attrs:{fill:"white",d:"M7.8088 10.2949L6.3764 12.403C6.26259 12.5705 6.03455 12.614 5.86705 12.5002C5.69955 12.3864 5.65603 12.1584 5.76984 11.9909L7.3655 9.64252L5.94042 7.54519C5.82661 7.37769 5.87013 7.14964 6.03763 7.03583C6.20512 6.92202 6.43317 6.96555 6.54698 7.13304L7.8088 8.9901L9.07062 7.13304C9.18443 6.96555 9.41248 6.92202 9.57997 7.03583C9.74747 7.14964 9.79099 7.37769 9.67718 7.54519L8.2521 9.64252L9.84776 11.9909C9.96157 12.1584 9.91805 12.3864 9.75055 12.5002C9.58305 12.614 9.35501 12.5705 9.2412 12.403L7.8088 10.2949Z",fillRule:"evenodd",clipRule:"evenodd"}}]},kt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"xlsx-multi-icon",ref:e,icon:tn}))});kt.displayName="XlsxMultiIcon";const nn={[m.SheetHyperLinkType.URL]:y.jsx(Ge,{}),[m.SheetHyperLinkType.SHEET]:y.jsx(kt,{className:"univer-text-green-500"}),[m.SheetHyperLinkType.RANGE]:y.jsx(Re,{}),[m.SheetHyperLinkType.DEFINE_NAME]:y.jsx(Re,{}),[m.SheetHyperLinkType.INVALID]:y.jsx(Re,{})},St=t=>{var M,N;const n=S.useDependency(exports.SheetsHyperLinkPopupService),e=S.useDependency(s.ICommandService),r=S.useDependency(S.IMessageService),i=S.useDependency(s.LocaleService),o=S.useDependency(exports.SheetsHyperLinkResolverService),a=S.useDependency(R.IEditorBridgeService),u=S.useDependency(m.SheetsHyperLinkParserService),l=S.useDependency(S.IZenZoneService),{customRange:h,row:d,col:p,unitId:I,subUnitId:v,editPermission:E,copyPermission:P,type:L}=t;if(!((M=h==null?void 0:h.properties)!=null&&M.url))return null;const c=u.parseHyperLink((N=h.properties.url)!=null?N:""),k=c.type===m.SheetHyperLinkType.INVALID;return y.jsxs("div",{className:T.clsx("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-3 univer-shadow-md dark:!univer-bg-gray-900",T.borderClassName),onClick:()=>n.hideCurrentPopup(),children:[y.jsxs("div",{className:T.clsx("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600",{"univer-text-red-500":k}),onClick:()=>{l.visible||k||o.navigate(c)},children:[y.jsx("div",{className:"univer-mr-2 univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:nn[c.type]}),y.jsx(T.Tooltip,{showIfEllipsis:!0,title:c.name,asChild:!0,children:y.jsx("span",{className:"univer-flex-1 univer-truncate",children:c.name})})]}),y.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",children:[P&&y.jsx("div",{className:T.clsx("univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-text-red-500":k}),onClick:()=>{if(!k){if(c.type!==m.SheetHyperLinkType.URL){const H=new URL(window.location.href);H.hash=c.url.slice(1),navigator.clipboard.writeText(H.href)}else navigator.clipboard.writeText(c.url);r.show({content:i.t("hyperLink.message.coped"),type:T.MessageType.Info})}},children:y.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.copy"),children:y.jsx(Lt,{className:"dark:!univer-text-white"})})}),E&&y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>{e.executeCommand(Me.id,{unitId:I,subUnitId:v,row:d,col:p,customRangeId:h.rangeId,type:L})},children:y.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.edit"),children:y.jsx(Tt,{className:"dark:!univer-text-white"})})}),y.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>{const H=L===f.EDITING||L===f.ZEN_EDITOR?m.CancelRichHyperLinkCommand.id:m.CancelHyperLinkCommand.id;e.syncExecuteCommand(H,{unitId:I,subUnitId:v,id:h.rangeId,row:d,column:p,documentId:L===f.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:a.getCurrentEditorId()})&&n.hideCurrentPopup(void 0,!0)},children:y.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.cancel"),children:y.jsx(Pt,{className:"dark:!univer-text-white"})})})]})]})]})},Te=()=>{var i,o;const t=S.useDependency(exports.SheetsHyperLinkPopupService),[n,e]=C.useState(null),r=S.useDependency(s.IUniverInstanceService);if(C.useEffect(()=>{e(t.currentPopup);const a=t.currentPopup$.subscribe(u=>{e(u)});return()=>{a.unsubscribe()}},[t.currentPopup,t.currentPopup$]),!n)return null;if(n.showAll){const a=r.getUnit(n.unitId,s.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(n.subUnitId),l=u==null?void 0:u.getCell(n.row,n.col),h=(o=(i=l==null?void 0:l.p)==null?void 0:i.body)==null?void 0:o.customRanges;return h!=null&&h.length?y.jsx("div",{children:h.map(d=>y.jsx(St,{...n,customRange:d},d.rangeId))}):null}return y.jsx(St,{...n})};Te.componentKey="univer.sheet.cell-link-popup";var rn=Object.getOwnPropertyDescriptor,sn=(t,n,e,r)=>{for(var i=r>1?void 0:r?rn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},re=(t,n)=>(e,r)=>n(e,r,t);const _t=(t,n)=>{var e,r;return t.unitId===n.unitId&&t.subUnitId===n.subUnitId&&t.row===n.row&&t.col===n.col&&((e=t.customRange)==null?void 0:e.rangeId)===((r=n.customRange)==null?void 0:r.rangeId)&&t.type===n.type};exports.SheetsHyperLinkPopupService=class extends s.Disposable{constructor(e,r,i,o,a,u,l){super();V(this,"_currentPopup",null);V(this,"_currentPopup$",new D.Subject);V(this,"currentPopup$",this._currentPopup$.asObservable());V(this,"_currentEditingPopup",null);V(this,"_currentEditing$",new D.BehaviorSubject(null));V(this,"currentEditing$",this._currentEditing$.asObservable());V(this,"_isKeepVisible",!1);this._sheetCanvasPopManagerService=e,this._injector=r,this._univerInstanceService=i,this._editorBridgeService=o,this._textSelectionManagerService=a,this._docCanvasPopManagerService=u,this._zenZoneService=l,this.disposeWithMe(()=>{this.hideCurrentPopup(),this.endEditing(),this._currentEditing$.complete(),this._currentPopup$.complete()})}get currentPopup(){return this._currentPopup}get currentEditing(){return this._currentEditing$.getValue()}setIsKeepVisible(e){this._isKeepVisible=e}getIsKeepVisible(){return this._isKeepVisible}showPopup(e){var I;if(this._currentPopup&&_t(e,this._currentPopup)||(this.hideCurrentPopup(void 0,!0),e.type!==f.ZEN_EDITOR&&this._zenZoneService.visible))return;const r=this._currentEditing$.getValue();if(r&&_t(e,r))return;const{unitId:i,subUnitId:o,row:a,col:u,customRangeRect:l,customRange:h}=e;let d;const p={componentKey:Te.componentKey,direction:"bottom",onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(e.type,!0)}};if(e.type===f.EDITING){if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l,p)}else if(e.type===f.ZEN_EDITOR){if(!h)return;d=this._docCanvasPopManagerService.attachPopupToRange({startOffset:h.startIndex,endOffset:h.endIndex+1,collapsed:!1},p,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(e.showAll)d=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,p,i,o);else{if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupByPosition(l,p,e)}d&&(this._currentPopup&&((I=this._currentPopup.disposable)==null||I.dispose()),this._currentPopup={unitId:i,subUnitId:o,disposable:d,row:a,col:u,editPermission:!!e.editPermission,copyPermission:!!e.copyPermission,customRange:h,type:e.type,showAll:e.showAll},this._currentPopup$.next(this._currentPopup))}hideCurrentPopup(e,r){var i,o;this._currentPopup&&((!e||e===this._currentPopup.type)&&this._currentPopup.disposable.canDispose()||r)&&((o=(i=this._currentPopup)==null?void 0:i.disposable)==null||o.dispose(),this._currentPopup=null,this._currentPopup$.next(null))}dispose(){super.dispose(),this.hideCurrentPopup(),this.endEditing(),this._currentPopup$.complete(),this._currentEditing$.complete()}_getEditingRange(){var i,o,a;const e=this._editorBridgeService.isVisible().visible,r=this._editorBridgeService.getEditCellState();if(e&&r){const u=this._textSelectionManagerService.getActiveTextRange(),l=(i=r.documentLayoutObject.documentModel)==null?void 0:i.getBody();if(!l)return null;if(!u||u.collapsed)return{startOffset:0,endOffset:l.dataStream.length-2,collapsed:l.dataStream.length-2===0,label:s.BuildTextUtils.transform.getPlainText(l.dataStream)};const h=s.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(u,(a=(o=l.customRanges)==null?void 0:o.filter(I=>I.rangeType===s.CustomRangeType.HYPERLINK))!=null?a:[]);let d=u.startOffset,p=u.endOffset;return h.forEach(I=>{d=Math.min(d,I.startIndex),p=Math.max(p,I.endIndex+1)}),{startOffset:d,endOffset:p,collapsed:d===p,label:s.BuildTextUtils.transform.getPlainText(l.dataStream.slice(d,p))}}return null}get _editPopup(){return{componentKey:Pe.componentKey,direction:"vertical",onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:"hide"}}startAddEditing(e){var a,u,l,h,d;const{unitId:r,subUnitId:i,type:o}=e;if(o===f.ZEN_EDITOR){const p=this._univerInstanceService.getUnit(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,s.UniverInstanceType.UNIVER_DOC);if(!p)return;const I=this._textSelectionManagerService.getActiveTextRange();if(!I)return;this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange(I,this._editPopup,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY);const v=(a=p.getBody())==null?void 0:a.dataStream.slice(I.startOffset,I.endOffset);this._currentEditing$.next({...e,label:v})}else if(o===f.EDITING){const p=this._getEditingRange();if(!p)return;this._textSelectionManagerService.replaceDocRanges([{...p}],{unitId:s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});const I=this._injector.get(_e.IRenderManagerService).getRenderById(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!I)return;const v=Q.calcDocRangePositions(p,I);if(!(v!=null&&v.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(v.pop(),this._editPopup,r,i),this._currentEditing$.next({...e,label:(u=p==null?void 0:p.label)!=null?u:""})}else{this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,r,i);const p=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_SHEET),I=p==null?void 0:p.getSheetBySheetId(i),v=I==null?void 0:I.getCellRaw(e.row,e.col);this._currentEditing$.next({...e,label:v!=null&&v.p?s.BuildTextUtils.transform.getPlainText((h=(l=v.p.body)==null?void 0:l.dataStream)!=null?h:""):((d=v==null?void 0:v.v)!=null?d:"").toString()})}}startEditing(e){var u,l,h,d,p,I;(u=this._currentEditingPopup)==null||u.dispose(),this.hideCurrentPopup(void 0,!0);const{unitId:r,subUnitId:i}=e;let o,a;if(e.type===f.ZEN_EDITOR){const v=this._univerInstanceService.getUnit(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,s.UniverInstanceType.UNIVER_DOC);if(o=(h=(l=v==null?void 0:v.getBody())==null?void 0:l.customRanges)==null?void 0:h.find(E=>E.rangeId===e.customRangeId),a=o?(d=v==null?void 0:v.getBody())==null?void 0:d.dataStream.slice(o.startIndex,o.endIndex+1):"",!o||!a)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:o.startIndex,endOffset:o.endIndex+1}]),this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange({startOffset:o.startIndex,endOffset:o.endIndex,collapsed:!1},this._editPopup,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(e.type===f.EDITING){const v=R.getEditingCustomRangePosition(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!v||!((p=v.rects)!=null&&p.length))return;o=v.customRange,a=v.label,this._textSelectionManagerService.replaceTextRanges([{startOffset:o.startIndex,endOffset:o.endIndex+1}]),this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(v.rects.pop(),this._editPopup,r,i)}else{const v=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_SHEET),E=v==null?void 0:v.getSheetBySheetId(i),P=E==null?void 0:E.getCellRaw(e.row,e.col),L=v==null?void 0:v.getStyles().getStyleByCell(P),c=L==null?void 0:L.tr,k=R.getCustomRangePosition(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!k||!((I=k.rects)!=null&&I.length))return;o=k.customRange,a=k.label,c?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,r,i):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(k.rects.pop(),this._editPopup,{unitId:r,subUnitId:i,row:e.row,col:e.col})}this._currentEditing$.next({...e,customRange:o,label:a})}endEditing(e){var i;if(this.getIsKeepVisible())return;const r=this._currentEditing$.getValue();r&&(!e||e===r.type)&&((i=this._currentEditingPopup)==null||i.dispose(),this._currentEditing$.next(null))}};exports.SheetsHyperLinkPopupService=sn([re(0,s.Inject(R.SheetCanvasPopManagerService)),re(1,s.Inject(s.Injector)),re(2,s.IUniverInstanceService),re(3,R.IEditorBridgeService),re(4,s.Inject(me.DocSelectionManagerService)),re(5,s.Inject(Q.DocCanvasPopManagerService)),re(6,S.IZenZoneService)],exports.SheetsHyperLinkPopupService);var Ie=(t=>(t[t.ALLOWED=0]="ALLOWED",t[t.DISABLED_BY_CELL=1]="DISABLED_BY_CELL",t[t.ALLOW_ON_EDITING=2]="ALLOW_ON_EDITING",t))(Ie||{});const on=new Set([s.DataValidationType.CHECKBOX,s.DataValidationType.LIST,s.DataValidationType.LIST_MULTIPLE]),ze=(t,n,e,r)=>{var u,l,h,d,p;const i=n.getCell(e,r);if(i!=null&&i.f||i!=null&&i.si||(h=(l=(u=i==null?void 0:i.p)==null?void 0:u.body)==null?void 0:l.customBlocks)!=null&&h.length)return 1;const o=t.has(It.SheetDataValidationModel)?t.get(It.SheetDataValidationModel):null,a=o==null?void 0:o.getRuleByLocation(n.getUnitId(),n.getSheetId(),e,r);return a&&on.has(a.type)?!0:(p=(d=i==null?void 0:i.p)==null?void 0:d.drawingsOrder)!=null&&p.length?2:0},an=t=>{const n=t.get(s.IUniverInstanceService).getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);if(!n)return!0;const e=n.getActiveSheet(),r=t.get(_.SheetsSelectionsService).getCurrentSelections();if(!r.length)return!0;const i=r[0].range.startRow,o=r[0].range.startColumn;return ze(t,e,i,o)===1},cn=t=>{const n=t.get(me.DocSelectionManagerService),e=t.get(s.IUniverInstanceService),r=n.getTextRanges();if(!(r!=null&&r.length))return!0;const i=e.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);return!!(!i||r.every(a=>a.collapsed)||!i.getSelfOrHeaderFooterModel(r[0].segmentId).getBody())},Me={type:s.CommandType.OPERATION,id:"sheet.operation.open-hyper-link-edit-panel",handler(t,n){if(!n)return!1;const e=t.get(exports.SheetsHyperLinkPopupService);return n.customRangeId?e.startEditing(n):e.startAddEditing(n),!0}},Se={type:s.CommandType.OPERATION,id:"sheet.operation.close-hyper-link-popup",handler(t){return t.get(exports.SheetsHyperLinkPopupService).endEditing(),!0}},je={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link",handler(t){var p;const n=t.get(s.IUniverInstanceService),e=_.getSheetCommandTarget(n),r=t.get(R.IEditorBridgeService);if(!e)return!1;const i=t.get(s.ICommandService),a=t.get(_.SheetsSelectionsService).getCurrentLastSelection();if(!a)return!1;const u=a.range.startRow,l=a.range.startColumn,h=r.isVisible(),d=((p=n.getFocusedUnit())==null?void 0:p.getUnitId())===s.DOCS_ZEN_EDITOR_UNIT_ID_KEY;return i.executeCommand(Me.id,{unitId:e.unitId,subUnitId:e.subUnitId,row:u,col:l,type:d?f.ZEN_EDITOR:h.visible?f.EDITING:f.VIEWING})}},ie={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link-toolbar",handler(t){if(an(t))return!1;const n=t.get(s.ICommandService);return t.get(exports.SheetsHyperLinkPopupService).currentEditing?n.executeCommand(Se.id):n.executeCommand(je.id)}},qe="SHEET_HYPER_LINK_UI_PLUGIN";var un=Object.getOwnPropertyDescriptor,ln=(t,n,e,r)=>{for(var i=r>1?void 0:r?un(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ee=(t,n)=>(e,r)=>n(e,r,t);exports.SheetsHyperLinkCopyPasteController=class extends s.Disposable{constructor(e,r,i,o){super();V(this,"_plainTextFilter",new Set);V(this,"_copyInfo");this._sheetClipboardService=e,this._hyperLinkModel=r,this._injector=i,this._resolverService=o,this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}registerPlainTextFilter(e){this._plainTextFilter.add(e)}removePlainTextFilter(e){this._plainTextFilter.delete(e)}_filterPlainText(e){return Array.from(this._plainTextFilter).every(r=>r(e))}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:qe,onBeforeCopy:(e,r,i)=>this._collect(e,r,i),onPasteCells:(e,r,i,o)=>{const{copyType:a=R.COPY_TYPE.COPY,pasteType:u}=o,{range:l}=e||{},{range:h,unitId:d,subUnitId:p}=r;return this._generateMutations(h,{copyType:a,pasteType:u,copyRange:l,unitId:d,subUnitId:p})},onPastePlainText:(e,r)=>{const i=this._filterPlainText(r);if(Le(r)&&i){const{range:o,unitId:a,subUnitId:u}=e,{ranges:[l],mapFunc:h}=R.virtualizeDiscreteRanges([o]),d=[],p=[];return s.Range.foreach(l,(I,v)=>{const{row:E,col:P}=h(I,v),L=this._hyperLinkModel.getHyperLinkByLocation(a,u,E,P);L&&d.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:a,subUnitId:u,id:L.id}}),L&&p.push({id:m.AddHyperLinkMutation.id,params:{unitId:a,subUnitId:u,link:L}})}),{redos:d,undos:p}}return{undos:[],redos:[]}},priority:99})}_collect(e,r,i){const o=new s.ObjectMatrix;this._copyInfo={unitId:e,subUnitId:r,matrix:o};const a=this._injector.invoke(h=>_.rangeToDiscreteRange(i,h,e,r));if(!a)return;const{rows:u,cols:l}=a;u.forEach((h,d)=>{l.forEach((p,I)=>{var E;const v=this._hyperLinkModel.getHyperLinkByLocation(e,r,h,p);o.setValue(d,I,(E=v==null?void 0:v.id)!=null?E:"")})})}_generateMutations(e,r){if(!this._copyInfo)return{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!r.copyRange)return{redos:[],undos:[]};if([R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_COL_WIDTH,R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE,R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA].includes(r.pasteType))return{redos:[],undos:[]};const{unitId:o,subUnitId:a}=this._copyInfo,u=[],l=[],{ranges:[h,d],mapFunc:p}=R.virtualizeDiscreteRanges([r.copyRange,e]);return R.getRepeatRange(h,d,!0).forEach(({startRange:v})=>{var E;(E=this._copyInfo)==null||E.matrix.forValue((P,L,c)=>{const k=s.Rectangle.getPositionRange({startRow:P,endRow:P,startColumn:L,endColumn:L},v),M=this._hyperLinkModel.getHyperLink(o,a,c),{row:N,col:H}=p(k.startRow,k.startColumn),$=this._hyperLinkModel.getHyperLinkByLocation(r.unitId,r.subUnitId,N,H),A=s.generateRandomId();$&&u.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:$.id}}),M&&(u.push({id:m.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:{...M,id:A,row:N,column:H}}}),l.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:A}})),$&&l.push({id:m.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:$}})})}),{redos:u,undos:l}}};exports.SheetsHyperLinkCopyPasteController=ln([Ee(0,R.ISheetClipboardService),Ee(1,s.Inject(m.HyperLinkModel)),Ee(2,s.Inject(s.Injector)),Ee(3,s.Inject(exports.SheetsHyperLinkResolverService))],exports.SheetsHyperLinkCopyPasteController);const Xe=(t,n=s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)=>{var i;const e=t.get(s.IUniverInstanceService),r=(i=t.get(_e.IRenderManagerService).getRenderById(n))==null?void 0:i.with(Q.DocSelectionRenderService);return r?r.textSelectionInner$.pipe(D.map(()=>{const a=t.get(R.IEditorBridgeService).getEditCellState();if(!a)return!0;const u=_.getSheetCommandTarget(e,{unitId:a.unitId,subUnitId:a.sheetId});return!(u!=null&&u.worksheet)||ze(t,u.worksheet,a.row,a.column)===1?!0:cn(t)})):D.of(!0)},wt=t=>{var i;const n=t.get(s.IUniverInstanceService),e=t.has(R.IEditorBridgeService)?t.get(R.IEditorBridgeService):null;return((i=e==null?void 0:e.currentEditCellState$.pipe(D.map(o=>{if(!o)return Ie.DISABLED_BY_CELL;const a=_.getSheetCommandTarget(n,{unitId:o.unitId,subUnitId:o.sheetId});return a?ze(t,a.worksheet,o.row,o.column):Ie.DISABLED_BY_CELL}),D.switchMap(o=>{if(o===Ie.DISABLED_BY_CELL)return D.of(!0);const a=e?e.visible$:D.of(null);return D.combineLatest([a,n.getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_DOC)]).pipe(D.switchMap(([u,l])=>u!=null&&u.visible?(l==null?void 0:l.getUnitId())===s.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?D.of(!0):Xe(t,s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY):D.of(o!==Ie.ALLOWED)))})))!=null?i:D.of(!0)).pipe(D.switchMap(o=>o?D.of(!0):R.getCurrentRangeDisable$(t,{workbookTypes:[_.WorkbookEditablePermission],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetSetCellValuePermission,_.WorksheetInsertHyperlinkPermission],rangeTypes:[_.RangeProtectionPermissionEditPoint]},!0)))},ke={commandId:je.id,type:S.MenuItemType.BUTTON,title:"hyperLink.menu.add",icon:"LinkIcon"},we=t=>`${t}-zen-editor`,dn=t=>({...ke,id:ke.commandId,hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:wt(t)}),pn=t=>({...ke,id:we(ke.commandId),hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Xe(t)}),be={tooltip:"hyperLink.form.addTitle",commandId:ie.id,type:S.MenuItemType.BUTTON,icon:"LinkIcon"},hn=t=>({...be,id:be.commandId,hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:wt(t)}),gn=t=>({...be,id:we(be.commandId),hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Xe(t)}),Je={id:ie.id,binding:S.KeyCode.K|S.MetaKeys.CTRL_COMMAND,preconditions:R.whenSheetEditorFocused};var vn=Object.getOwnPropertyDescriptor,In=(t,n,e,r)=>{for(var i=r>1?void 0:r?vn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},yt=(t,n)=>(e,r)=>n(e,r,t);let De=class extends s.Disposable{constructor(t,n){super(),this._autoFillService=t,this._hyperLinkModel=n,this._initAutoFill()}_initAutoFill(){const t=()=>({redos:[],undos:[]}),n=(r,i)=>{const{source:o,target:a,unitId:u,subUnitId:l}=r,h=R.virtualizeDiscreteRanges([o,a]),[d,p]=h.ranges,{mapFunc:I}=h,v={row:d.startRow,col:d.startColumn},E=_.AutoFillTools.getAutoFillRepeatRange(d,p),P=[],L=[];return E.forEach(c=>{const k=c.repeatStartCell,M=c.relativeRange,N={startRow:v.row,startColumn:v.col,endColumn:v.col,endRow:v.row},H={startRow:k.row,startColumn:k.col,endColumn:k.col,endRow:k.row};s.Range.foreach(M,($,A)=>{const Y=s.Rectangle.getPositionRange({startRow:$,startColumn:A,endColumn:A,endRow:$},N),{row:ee,col:ye}=I(Y.startRow,Y.startColumn),te=this._hyperLinkModel.getHyperLinkByLocation(u,l,ee,ye),le=s.Rectangle.getPositionRange({startRow:$,startColumn:A,endColumn:A,endRow:$},H),{row:de,col:pe}=I(le.startRow,le.startColumn),fe=s.generateRandomId(),oe=this._hyperLinkModel.getHyperLinkByLocation(u,l,de,pe);oe&&P.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:oe.id}}),(_.AUTO_FILL_APPLY_TYPE.COPY===i||_.AUTO_FILL_APPLY_TYPE.SERIES===i)&&te&&(P.push({id:m.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:{...te,id:fe,row:de,column:pe}}}),L.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:fe}})),oe&&L.push({id:m.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:oe}})})}),{undos:L,redos:P}},e={id:qe,onFillData:(r,i,o)=>o===_.AUTO_FILL_APPLY_TYPE.COPY||o===_.AUTO_FILL_APPLY_TYPE.ONLY_FORMAT||o===_.AUTO_FILL_APPLY_TYPE.SERIES?n(r,o):t()};this.disposeWithMe(this._autoFillService.addHook(e))}};De=In([yt(0,_.IAutoFillService),yt(1,s.Inject(m.HyperLinkModel))],De);var mn=Object.getOwnPropertyDescriptor,Sn=(t,n,e,r)=>{for(var i=r>1?void 0:r?mn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ze=(t,n)=>(e,r)=>n(e,r,t);let Oe=class extends s.Disposable{constructor(t,n,e){super(),this._localeService=t,this._commandService=n,this._sheetPermissionCheckController=e,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{t.id===Je.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[_.WorkbookEditablePermission],rangeTypes:[_.RangeProtectionPermissionEditPoint],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetSetCellValuePermission,_.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.hyperLinkErr")))}))}};Oe=Sn([Ze(0,s.Inject(s.LocaleService)),Ze(1,s.ICommandService),Ze(2,s.Inject(_.SheetPermissionCheckController))],Oe);var _n=Object.getOwnPropertyDescriptor,yn=(t,n,e,r)=>{for(var i=r>1?void 0:r?_n(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},W=(t,n)=>(e,r)=>n(e,r,t);let Ne=class extends s.Disposable{constructor(t,n,e,r,i,o,a,u,l,h){super(),this._hoverManagerService=t,this._sheetsHyperLinkPopupService=n,this._renderManagerService=e,this._permissionService=r,this._sheetPermissionCheckController=i,this._commandService=o,this._editorBridgeService=a,this._textSelectionManagerService=u,this._univerInstanceService=l,this._zenZoneService=h,this._initHoverListener(),this._initCommandListener(),this._initHoverEditingListener(),this._initTextSelectionListener(),this._initZenEditor()}_getLinkPermission(t){const{unitId:n,subUnitId:e,row:r,col:i}=t,o=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET),a=o==null?void 0:o.getSheetBySheetId(e);if(!a)return{viewPermission:!1,editPermission:!1,copyPermission:!1};const u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[_.WorkbookViewPermission],worksheetTypes:[_.WorksheetViewPermission],rangeTypes:[_.RangeProtectionPermissionViewPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}],n,e);let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[_.WorkbookEditablePermission],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetInsertHyperlinkPermission],rangeTypes:[_.RangeProtectionPermissionEditPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}],n,e);const h=a.getCellRaw(r,i);h!=null&&h.f&&h.f.startsWith("=HYPERLINK(")&&(l=!1);const d=this._permissionService.composePermission([new _.WorkbookCopyPermission(n).id,new _.WorksheetCopyPermission(n,e).id]).every(p=>p.value);return{viewPermission:u,editPermission:l,copyPermission:d}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe(D.debounceTime(200)).subscribe(t=>{var N,H,$;if(!t||((N=t.customRange)==null?void 0:N.rangeType)!==s.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const{unitId:n,subUnitId:e,row:r,col:i}=t,o=this._renderManagerService.getRenderById(n);if(!o)return;const a=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(e);if(!u)return;if(!o.with(R.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(f.VIEWING);return}const h=(H=o==null?void 0:o.with(R.SheetSkeletonManagerService).getSkeletonParam(e))==null?void 0:H.skeleton,d=i,p=r;let I=p,v=d;h&&h.overflowCache.forValue((A,Y,ee)=>{s.Rectangle.contains(ee,{startColumn:d,endColumn:d,startRow:p,endRow:p})&&(I=A,v=Y)});const{viewPermission:E,editPermission:P,copyPermission:L}=this._getLinkPermission(t);if(!E){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const c=u.getCellStyleOnly(I,v),k=a.getStyles().getStyleByCell(c),M=($=k==null?void 0:k.tr)==null?void 0:$.a;if(!M&&!t.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:I,col:v,editPermission:P,copyPermission:L,customRange:t.customRange,customRangeRect:t.rect,type:f.VIEWING,unitId:n,subUnitId:e,showAll:!!M})}))}_initHoverEditingListener(){let t=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe(D.switchMap(n=>this._editorBridgeService.visible$.pipe(D.map(e=>({visible:e,state:n}))))).subscribe(({visible:n,state:e})=>{if(!e||e.editorUnitId!==s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){t==null||t.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(f.EDITING),this._sheetsHyperLinkPopupService.endEditing(f.EDITING);return}const{editorUnitId:r,unitId:i,sheetId:o,row:a,column:u}=e,l=this._renderManagerService.getRenderById(r);if(!l)return;const{editPermission:h,viewPermission:d,copyPermission:p}=this._getLinkPermission({unitId:i,subUnitId:o,row:a,col:u}),I=l.with(Q.DocEventManagerService);d&&(t==null||t.unsubscribe(),t=I.hoverCustomRanges$.pipe(D.debounceTime(200)).subscribe(v=>{var k,M;const E=v.find(N=>N.range.rangeType===s.CustomRangeType.HYPERLINK);if(!E){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const P=E.rects[E.rects.length-1];if(!((M=(k=this._renderManagerService.getRenderById(i))==null?void 0:k.with(R.SheetSkeletonManagerService).getSkeletonParam(o))==null?void 0:M.skeleton)||!P)return;const c=l.engine.getCanvasElement().getBoundingClientRect();this._sheetsHyperLinkPopupService.showPopup({unitId:i,subUnitId:o,row:a,col:u,customRange:E.range,customRangeRect:{left:P.left+c.left,top:P.top+c.top,bottom:P.bottom+c.top,right:P.right+c.left},editPermission:h,copyPermission:p,type:f.EDITING})}))})),this.disposeWithMe(()=>{t==null||t.unsubscribe()})}_initZenEditor(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(t=>{t?(this._sheetsHyperLinkPopupService.hideCurrentPopup(f.VIEWING),this._sheetsHyperLinkPopupService.hideCurrentPopup(f.EDITING),this._sheetsHyperLinkPopupService.endEditing(f.EDITING),this._sheetsHyperLinkPopupService.hideCurrentPopup(f.VIEWING)):(this._sheetsHyperLinkPopupService.hideCurrentPopup(f.ZEN_EDITOR),this._sheetsHyperLinkPopupService.endEditing(f.ZEN_EDITOR))})),this.disposeWithMe(this._univerInstanceService.focused$.pipe(D.switchMap(t=>{const n=t===s.DOCS_ZEN_EDITOR_UNIT_ID_KEY?this._renderManagerService.getRenderById(t):null;return n?n.with(Q.DocEventManagerService).hoverCustomRanges$.pipe(D.debounceTime(200)):new D.Observable(e=>{e.next(null)})})).subscribe(t=>{const n=t==null?void 0:t.find(r=>r.range.rangeType===s.CustomRangeType.HYPERLINK),e=this._editorBridgeService.getEditCellState();if(n&&e){const{unitId:r,sheetId:i,row:o,column:a}=e,{editPermission:u,viewPermission:l,copyPermission:h}=this._getLinkPermission({unitId:r,subUnitId:i,row:o,col:a});l&&this._sheetsHyperLinkPopupService.showPopup({type:f.ZEN_EDITOR,unitId:r,subUnitId:i,row:o,col:a,customRange:n.range,editPermission:u,copyPermission:h})}else this._sheetsHyperLinkPopupService.hideCurrentPopup(f.ZEN_EDITOR)}))}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(t=>{t&&t.unitId===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(f.EDITING)}))}_initCommandListener(){const t=[_.ClearSelectionContentCommand.id,_.ClearSelectionAllCommand.id,_.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{t.includes(n.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};Ne=yn([W(0,s.Inject(R.HoverManagerService)),W(1,s.Inject(exports.SheetsHyperLinkPopupService)),W(2,s.Inject(_e.IRenderManagerService)),W(3,s.Inject(s.IPermissionService)),W(4,s.Inject(_.SheetPermissionCheckController)),W(5,s.ICommandService),W(6,R.IEditorBridgeService),W(7,s.Inject(me.DocSelectionManagerService)),W(8,s.IUniverInstanceService),W(9,S.IZenZoneService)],Ne);var fn=Object.getOwnPropertyDescriptor,bt=(t,n,e,r)=>{for(var i=r>1?void 0:r?fn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ke=(t,n)=>(e,r)=>n(e,r,t);let We=class extends s.Disposable{constructor(t,n){super(),this._context=t,this._hyperLinkModel=n,this._initSkeletonChange()}_initSkeletonChange(){const t=()=>{var n;(n=this._context.mainComponent)==null||n.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe(D.debounceTime(16)).subscribe(()=>{t()}))}};We=bt([Ke(1,s.Inject(m.HyperLinkModel))],We);let He=class extends s.Disposable{constructor(t,n){super(),this._sheetInterceptorService=t,this._hyperLinkModel=n,this._initViewModelIntercept()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(_.INTERCEPTOR_POINT.CELL_CONTENT,{effect:s.InterceptorEffectEnum.Value,priority:100,handler:(t,n,e)=>{const{row:r,col:i,unitId:o,subUnitId:a}=n,u=this._hyperLinkModel.getHyperLinkByLocation(o,a,r,i);return u&&t&&(t===n.rawData&&(t={...n.rawData}),t.linkUrl=u.payload,t.linkId=u.id),e(t)}}))}};He=bt([Ke(0,s.Inject(_.SheetInterceptorService)),Ke(1,s.Inject(m.HyperLinkModel))],He);const Cn={[S.RibbonInsertGroup.MEDIA]:{[ie.id]:{order:1,menuItemFactory:hn},[we(ie.id)]:{order:1,menuItemFactory:gn}},[S.ContextMenuPosition.MAIN_AREA]:{[S.ContextMenuGroup.OTHERS]:{order:1,[ie.id]:{order:0,menuItemFactory:dn},[we(ie.id)]:{order:0,menuItemFactory:pn}}}};var En=Object.getOwnPropertyDescriptor,Rn=(t,n,e,r)=>{for(var i=r>1?void 0:r?En(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},ve=(t,n)=>(e,r)=>n(e,r,t);let Ue=class extends s.Disposable{constructor(t,n,e,r,i){super(),this._componentManager=t,this._commandService=n,this._menuManagerService=e,this._injector=r,this._shortcutService=i,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortCut()}_initComponents(){[[Te.componentKey,Te],[Pe.componentKey,Pe],["LinkIcon",Ge]].forEach(([t,n])=>{this._componentManager.register(t,n)})}_initCommands(){[Me,Se,je,ie].forEach(t=>{this._commandService.registerCommand(t)})}_initMenus(){this._menuManagerService.mergeMenu(Cn)}_initShortCut(){this._shortcutService.registerShortcut(Je)}};Ue=Rn([ve(0,s.Inject(S.ComponentManager)),ve(1,s.ICommandService),ve(2,S.IMenuManagerService),ve(3,s.Inject(s.Injector)),ve(4,s.Inject(S.IShortcutService))],Ue);var Ln=Object.getOwnPropertyDescriptor,Pn=(t,n,e,r)=>{for(var i=r>1?void 0:r?Ln(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},ft=(t,n)=>(e,r)=>n(e,r,t);let xe=class extends s.Disposable{constructor(t,n){super(),this._parserService=t,this._resolverService=n,this._handleInitUrl()}_handleInitUrl(){const t=location.hash;if(t){const n=this._parserService.parseHyperLink(t);this._resolverService.navigate(n)}}};xe=Pn([ft(0,s.Inject(m.SheetsHyperLinkParserService)),ft(1,s.Inject(exports.SheetsHyperLinkResolverService))],xe);var Tn=Object.defineProperty,kn=Object.getOwnPropertyDescriptor,wn=(t,n,e)=>n in t?Tn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,bn=(t,n,e,r)=>{for(var i=r>1?void 0:r?kn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ct=(t,n)=>(e,r)=>n(e,r,t),Dt=(t,n,e)=>wn(t,typeof n!="symbol"?n+"":n,e);exports.UniverSheetsHyperLinkUIPlugin=class extends s.Plugin{constructor(n=mt,e,r){super(),this._config=n,this._injector=e,this._configService=r;const{menu:i,...o}=s.merge({},mt,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(Et,o)}onStarting(){[[exports.SheetsHyperLinkResolverService],[exports.SheetsHyperLinkPopupService],[Ye],[He],[Ne],[Ue],[De],[exports.SheetsHyperLinkCopyPasteController],[Oe],[xe]].forEach(e=>this._injector.add(e)),this._injector.get(He)}onReady(){this._injector.get(_e.IRenderManagerService).registerRenderModule(s.UniverInstanceType.UNIVER_SHEET,[We]),this._injector.get(De),this._injector.get(exports.SheetsHyperLinkCopyPasteController),this._injector.get(Ue)}onRendered(){this._injector.get(Oe),this._injector.get(xe),this._injector.get(Ne)}};Dt(exports.UniverSheetsHyperLinkUIPlugin,"pluginName",qe);Dt(exports.UniverSheetsHyperLinkUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsHyperLinkUIPlugin=bn([s.DependentOn(m.UniverSheetsHyperLinkPlugin,Q.UniverDocsUIPlugin),Ct(1,s.Inject(s.Injector)),Ct(2,s.IConfigService)],exports.UniverSheetsHyperLinkUIPlugin);exports.CloseHyperLinkPopupOperation=Se;exports.InsertHyperLinkOperation=je;exports.InsertLinkShortcut=Je;exports.OpenHyperLinkEditPanelOperation=Me;exports.SheetsHyperLinkSidePanelService=Ye;
1
+ "use strict";var At=Object.defineProperty;var $t=(t,n,e)=>n in t?At(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var V=(t,n,e)=>$t(t,typeof n!="symbol"?n+"":n,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),_=require("@univerjs/sheets"),R=require("@univerjs/sheets-ui"),me=require("@univerjs/docs"),Q=require("@univerjs/docs-ui"),_e=require("@univerjs/engine-render"),S=require("@univerjs/ui"),D=require("rxjs"),y=require("react/jsx-runtime"),T=require("@univerjs/design"),z=require("@univerjs/engine-formula"),Bt=require("@univerjs/sheets-formula-ui"),m=require("@univerjs/sheets-hyper-link"),C=require("react"),mt=require("@univerjs/sheets-data-validation");var f=(t=>(t.EDITING="editing",t.VIEWING="viewing",t.ZEN_EDITOR="zen_mode",t))(f||{});function Le(t){return s.Tools.isLegalUrl(t)}function Vt(t){return/^[a-zA-Z]+:\/\//.test(t)}function Ft(t){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(t)}function Zt(t){if(Le(t)){const n=Vt(t)?t:Ft(t)?`mailto://${t}`:`http://${t}`;let e;try{e=new URL(n)}catch{return t}return e.hostname===location.hostname&&e.port===location.port&&e.protocol===location.protocol&&e.pathname===location.pathname&&e.hash&&!e.search?e.hash:n}return t}const Rt="sheets-hyper-link-ui.config",St={};var Kt=Object.getOwnPropertyDescriptor,Wt=(t,n,e,r)=>{for(var i=r>1?void 0:r?Kt(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},ue=(t,n)=>(e,r)=>n(e,r,t);function Yt(t,n){const e=n.getMergeData(),r=n.getMaxColumns()-1,i=n.getMaxRows()-1;if(r<t.endColumn&&(t.endColumn=r),i<t.endRow&&(t.endRow=i),t.rangeType===s.RANGE_TYPE.COLUMN||s.RANGE_TYPE.ROW)return t;const o=[];return e.forEach(a=>{s.Rectangle.intersects(t,a)&&o.push(a)}),s.Rectangle.realUnion(t,...o)}exports.SheetsHyperLinkResolverService=class{constructor(n,e,r,i,o,a){this._univerInstanceService=n,this._commandService=e,this._definedNamesService=r,this._messageService=i,this._localeService=o,this._configService=a}navigate(n){n.type===m.SheetHyperLinkType.URL?this.navigateToOtherWebsite(n.url):this._navigateToUniver(n.searchObj)}_navigateToUniver(n){const{gid:e,range:r,rangeid:i}=n,o=this._univerInstanceService.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);if(!o)return;const a=o.getUnitId();if(i){const u=this._definedNamesService.getValueById(a,i);if(!u)return;const{formulaOrRefString:l}=u,h=this._definedNamesService.getWorksheetByRef(a,l);if(!h){this._messageService.show({content:this._localeService.t("hyperLink.message.refError"),type:T.MessageType.Error});return}if(h.isSheetHidden()){this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:T.MessageType.Error});return}this.navigateToDefineName(a,i)}if(e){if(r){const u=z.deserializeRangeWithSheet(r);s.isValidRange(u.range)&&r!==m.ERROR_RANGE&&this.navigateToRange(a,e,u.range);return}this.navigateToSheetById(a,e)}}async navigateToRange(n,e,r,i){const o=await this.navigateToSheetById(n,e);if(o){const a=Yt(r,o);await this._commandService.executeCommand(_.SetSelectionsOperation.id,{unitId:n,subUnitId:e,selections:[{range:a,primary:null}]}),await this._commandService.executeCommand(R.ScrollToRangeOperation.id,{range:a,forceTop:i})}}async navigateToSheetById(n,e){const r=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET);if(!r)return!1;const i=r.getActiveSheet();if(!i)return!1;if(i.getSheetId()===e)return i;const o=r.getSheetBySheetId(e);return o?r.getHiddenWorksheets().indexOf(e)>-1?(this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:T.MessageType.Error}),!1):await this._commandService.executeCommand(_.SetWorksheetActiveOperation.id,{unitId:n,subUnitId:e})?o:!1:(this._messageService.show({content:this._localeService.t("hyperLink.message.noSheet"),type:T.MessageType.Error}),!1)}async navigateToDefineName(n,e){return this._definedNamesService.focusRange(n,e),!0}async navigateToOtherWebsite(n){var r;const e=this._configService.getConfig(Rt);if((r=e==null?void 0:e.urlHandler)!=null&&r.navigateToOtherWebsite)return e.urlHandler.navigateToOtherWebsite(n);window.open(n,"_blank","noopener noreferrer")}};exports.SheetsHyperLinkResolverService=Wt([ue(0,s.IUniverInstanceService),ue(1,s.ICommandService),ue(2,z.IDefinedNamesService),ue(3,S.IMessageService),ue(4,s.Inject(s.LocaleService)),ue(5,s.IConfigService)],exports.SheetsHyperLinkResolverService);class Ge extends s.Disposable{constructor(){super(...arguments);V(this,"_customHyperLinks",new Map)}isBuiltInLinkType(e){return e!==m.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:e})=>e)}findCustomHyperLink(e){return Array.from(this._customHyperLinks.values()).find(i=>i.match(e))}registerCustomHyperLink(e){this._customHyperLinks.set(e.type,e)}getCustomHyperLink(e){return this._customHyperLinks.get(e)}removeCustomHyperLink(e){const{_customHyperLinks:r}=this;r.delete(e)}dispose(){super.dispose(),this._customHyperLinks.clear()}}const Pe=()=>{var nt;const[t,n]=C.useState(""),[e,r]=C.useState(!1),[i,o]=C.useState(""),[a,u]=C.useState(!0),[l,h]=C.useState(m.SheetHyperLinkType.URL),[d,p]=C.useState(""),I=S.useDependency(s.LocaleService),v=S.useDependency(z.IDefinedNamesService),E=S.useDependency(R.IEditorBridgeService),P=S.useDependency(s.IUniverInstanceService),L=S.useDependency(exports.SheetsHyperLinkPopupService),c=S.useObservable(L.currentEditing$),k=S.useDependency(m.SheetsHyperLinkParserService),M=S.useDependency(exports.SheetsHyperLinkResolverService),N=S.useDependency(s.ICommandService),H=S.useDependency(Ge),$=C.useMemo(()=>H.getOptions(),[H]),A=S.useDependency(S.IZenZoneService),Y=S.useDependency(_e.IRenderManagerService),ee=S.useDependency(R.IMarkSelectionService),ye=S.useDependency(me.DocSelectionManagerService),te=S.useDependency(s.IContextService),le=S.useDependency(s.ThemeService),de=S.useDependency(me.DocSelectionManagerService),[pe,fe]=C.useState(!1),oe=S.useDependency(_.SheetsSelectionsService),Nt=C.useMemo(()=>oe.getCurrentSelections(),[]),Ce=C.useMemo(()=>{if(!H.isBuiltInLinkType(l))return H.getCustomHyperLink(l)},[H,l]),[ae,Ht]=C.useState(!1),[he,et]=C.useState(!1),B=C.useRef(!1),F=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),Ut=(F==null?void 0:F.getActiveSheet().getSheetId())||"",q=C.useCallback(g=>{o(g.replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))},[o]);C.useEffect(()=>{var g,w,b,O,x,Z,rt,it,st,ot,at,ct,ut,lt,dt,pt,ht;if((c==null?void 0:c.row)!==void 0&&c.col!==void 0){const{customRange:ne,row:Fe,col:Ze}=c;let{label:G}=c;typeof G=="number"&&(G=`${G}`);let K;if(ne)K={id:(g=ne==null?void 0:ne.rangeId)!=null?g:"",display:G!=null?G:"",payload:(b=(w=ne==null?void 0:ne.properties)==null?void 0:w.url)!=null?b:"",row:Fe,column:Ze};else if(c.type===f.VIEWING){const U=P.getUnit(c.unitId),J=U==null?void 0:U.getSheetBySheetId(c.subUnitId),j=J==null?void 0:J.getCellRaw(c.row,c.col),ce=(Z=(x=(O=j==null?void 0:j.p)==null?void 0:O.body)==null?void 0:x.customRanges)==null?void 0:Z.find(vt=>{var It;return vt.rangeType===s.CustomRangeType.HYPERLINK&&((It=vt.properties)==null?void 0:It.url)}),ge=j==null?void 0:j.v;j&&(!s.BuildTextUtils.transform.isEmptyDocument((it=(rt=j.p)==null?void 0:rt.body)==null?void 0:it.dataStream)||s.Tools.isDefine(ge))&&u(!1),K={id:"",display:"",payload:(ot=(st=ce==null?void 0:ce.properties)==null?void 0:st.url)!=null?ot:"",row:Fe,column:Ze}}else{const U=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC),J=ye.getActiveTextRange(),j=U==null?void 0:U.getBody(),ce=J&&j?J:null,ge=ce&&((ct=s.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(ce,(at=j==null?void 0:j.customRanges)!=null?at:[]))==null?void 0:ct[0]);u(!1),K={id:"",display:G!=null?G:"",payload:(lt=(ut=ge==null?void 0:ge.properties)==null?void 0:ut.url)!=null?lt:"",row:Fe,column:Ze}}n(K.id);const gt=H.findCustomHyperLink(K);if(gt){const U=gt.convert(K);h(U.type),p(U.payload),q(U.display);return}q(K.display);const X=k.parseHyperLink(K.payload);switch(h(X.type===m.SheetHyperLinkType.INVALID?m.SheetHyperLinkType.RANGE:X.type),X.type){case m.SheetHyperLinkType.URL:{p(X.url),X.url===K.display&&(B.current=!0);break}case m.SheetHyperLinkType.RANGE:{const U=X.searchObj,J=U.gid&&(ht=(pt=(dt=P.getUnit(c.unitId))==null?void 0:dt.getSheetBySheetId(U.gid))==null?void 0:pt.getName())!=null?ht:"",j=z.serializeRangeWithSheet(J,z.deserializeRangeWithSheet(U.range).range);p(j),j===K.display&&(B.current=!0);break}case m.SheetHyperLinkType.SHEET:{const U=X.searchObj;p(U.gid);break}case m.SheetHyperLinkType.DEFINE_NAME:{const U=X.searchObj;p(U.rangeid);break}default:p("");break}}},[c,M,H,ye,P]),C.useEffect(()=>{let g=null;if(c&&!c.customRangeId&&c.type===f.VIEWING&&s.Tools.isDefine(c.row)&&s.Tools.isDefine(c.col)){const w=P.getUnit(c.unitId,s.UniverInstanceType.UNIVER_SHEET),b=w==null?void 0:w.getSheetBySheetId(c.subUnitId),O=b==null?void 0:b.getMergedCell(c.row,c.col),x=new s.ColorKit(le.getColorFromTheme("primary.600")).toRgb();g=ee.addShape({range:O!=null?O:{startColumn:c.col,endColumn:c.col,startRow:c.row,endRow:c.row},style:{fill:`rgb(${x.r}, ${x.g}, ${x.b}, 0.12)`,strokeWidth:1,stroke:"#FFBD37",widgets:{}},primary:null},[],-1)}return()=>{g&&ee.removeShape(g)}},[c,ee,le,P]),C.useEffect(()=>{et(l===m.SheetHyperLinkType.RANGE)},[l]),C.useEffect(()=>{const g=(c==null?void 0:c.type)===f.ZEN_EDITOR?Y.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY):Y.getRenderById(E.getCurrentEditorId()),w=new s.DisposableCollection;if(g){const b=g.with(Q.DocSelectionRenderService);b.setReserveRangesStatus(!0),w.add(()=>{b.setReserveRangesStatus(!1)})}return()=>{E.disableForceKeepVisible(),w.dispose()}},[c==null?void 0:c.type,E,Y]),C.useEffect(()=>(he&&L.setIsKeepVisible(he),L.setIsKeepVisible(pe),()=>{L.setIsKeepVisible(!1)}),[he,pe,L]),C.useEffect(()=>()=>{A.temporaryHidden&&(A.show(),te.setContextValue(s.FOCUSING_SHEET,!1))},[te,A]),C.useEffect(()=>{if(he)return E.enableForceKeepVisible(),()=>{E.disableForceKeepVisible()}},[he,E]);const xt=[{label:I.t("hyperLink.form.link"),value:m.SheetHyperLinkType.URL},{label:I.t("hyperLink.form.range"),value:m.SheetHyperLinkType.RANGE},{label:I.t("hyperLink.form.worksheet"),value:m.SheetHyperLinkType.SHEET},{label:I.t("hyperLink.form.definedName"),value:m.SheetHyperLinkType.DEFINE_NAME},...$];if(!F)return;const Mt=F.getHiddenWorksheets(),$e=F.getSheets().map(g=>({label:g.getName(),value:g.getSheetId()})).filter(g=>Mt.indexOf(g.value)===-1),Be=Object.values((nt=v.getDefinedNameMap(F.getUnitId()))!=null?nt:{}).map(g=>({label:g.name,value:g.id})),tt=(g,w)=>{if(g===m.SheetHyperLinkType.URL)return Zt(w);if(g===m.SheetHyperLinkType.RANGE){const b=z.deserializeRangeWithSheet(w),O=F.getSheetBySheetName(b.sheetName);if(O)return`#gid=${O.getSheetId()}&range=${z.serializeRange(b.range)}`}return`#${g}=${w}`},jt=S.useEvent(g=>{var x;const b=g.split(",").map(z.deserializeRangeWithSheet)[0];if(!b||!s.isValidRange(b.range))return;b.sheetName||(b.sheetName=((x=F.getActiveSheet())==null?void 0:x.getName())||"");const O=z.serializeRangeToRefString(b);p(O),O&&(B.current||!i)&&(q(O),B.current=!0)}),Ve=async()=>{if(a&&!i||!d||l===m.SheetHyperLinkType.URL&&!Le(d)){Ht(!0);return}if(c)if(t){const g=c.type===f.ZEN_EDITOR||c.type===f.EDITING?m.UpdateRichHyperLinkCommand.id:m.UpdateHyperLinkCommand.id;await N.executeCommand(g,{id:t,unitId:c.unitId,subUnitId:c.subUnitId,payload:{display:a?i:"",payload:tt(l,d)},row:c.row,column:c.col,documentId:c.type===f.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:E.getCurrentEditorId()})}else{const g=c.type===f.ZEN_EDITOR||c.type===f.EDITING?m.AddRichHyperLinkCommand.id:m.AddHyperLinkCommand.id;await N.executeCommand(g,{unitId:c.unitId,subUnitId:c.subUnitId,link:{id:s.generateRandomId(),row:c.row,column:c.col,payload:tt(l,d),display:a?i:""},documentId:c.type===f.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:E.getCurrentEditorId()})}if((c==null?void 0:c.type)===f.VIEWING){await N.executeCommand(_.SetWorksheetActiveOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId});const g=1;await N.executeCommand(R.ScrollToRangeOperation.id,{range:{startRow:Math.max(c.row-g,0),endRow:c.row+g,startColumn:Math.max(c.col-g,0),endColumn:c.col+g}})}N.executeCommand(Se.id)};return c?y.jsxs("div",{className:T.clsx("univer-box-border univer-w-[296px] univer-rounded-xl univer-bg-white univer-p-4 univer-shadow-md dark:!univer-bg-gray-900",T.borderClassName),children:[a?y.jsx(T.FormLayout,{label:I.t("hyperLink.form.label"),error:ae&&!i?I.t("hyperLink.form.inputError"):"",children:y.jsx(T.Input,{value:i,onChange:g=>{q(g),B.current=!1},placeholder:I.t("hyperLink.form.labelPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&Ve()}})}):null,y.jsx(T.FormLayout,{label:I.t("hyperLink.form.type"),children:y.jsx(T.Select,{className:"univer-w-full",options:xt,value:l,onChange:g=>{h(g),p("")}})}),l===m.SheetHyperLinkType.URL&&y.jsx(T.FormLayout,{error:ae?d?Le(d)?"":I.t("hyperLink.form.linkError"):I.t("hyperLink.form.inputError"):"",children:y.jsx(T.Input,{value:d,onChange:g=>{p(g),g&&(B.current||!i||i===g)&&(q(g),B.current=!0)},placeholder:I.t("hyperLink.form.linkPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&Ve()}})}),l===m.SheetHyperLinkType.RANGE&&y.jsx(T.FormLayout,{error:ae&&!d?I.t("hyperLink.form.inputError"):"",children:y.jsx(Bt.RangeSelector,{unitId:F.getUnitId(),subUnitId:Ut,maxRangeCount:1,supportAcrossSheet:!0,initialValue:d,resetRange:Nt,onChange:(g,w)=>jt(w),onRangeSelectorDialogVisibleChange:async g=>{var w,b;if(fe(g),g)c.type===f.ZEN_EDITOR&&(A.hide(),te.setContextValue(s.FOCUSING_SHEET,!0)),c.type!==f.VIEWING&&E.enableForceKeepVisible(),r(!0);else{if(await M.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),c.type===f.ZEN_EDITOR){await N.executeCommand(_.SetSelectionsOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId,selections:[{range:{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col}}]}),A.show(),te.setContextValue(s.FOCUSING_SHEET,!1);const O=(w=Y.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:w.with(Q.DocBackScrollRenderController),x=(b=de.getTextRanges({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))==null?void 0:b[0];O&&x&&(O.scrollToRange(x),de.refreshSelection({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))}E.disableForceKeepVisible(),r(!1)}},onFocusChange:g=>et(g)})}),l===m.SheetHyperLinkType.SHEET&&y.jsx(T.FormLayout,{error:ae&&!d?I.t("hyperLink.form.selectError"):"",children:y.jsx(T.Select,{className:"univer-w-full",options:$e,value:d,onChange:g=>{var O,x;p(g);const w=(O=$e.find(Z=>Z.value===g))==null?void 0:O.label,b=(x=$e.find(Z=>Z.value===d))==null?void 0:x.label;w&&(B.current||!i||i===b)&&(q(w),B.current=!0)}})}),l===m.SheetHyperLinkType.DEFINE_NAME&&y.jsx(T.FormLayout,{error:ae&&!d?I.t("hyperLink.form.selectError"):"",children:y.jsx(T.Select,{className:"univer-w-full",options:Be,value:d,onChange:g=>{var O,x;p(g);const w=(O=Be.find(Z=>Z.value===g))==null?void 0:O.label,b=(x=Be.find(Z=>Z.value===d))==null?void 0:x.label;w&&(B.current||!i||i===b)&&(q(w),B.current=!0)}})}),(Ce==null?void 0:Ce.Form)&&y.jsx(Ce.Form,{linkId:t,payload:d,display:i,showError:ae,setByPayload:B,setDisplay:g=>{q(g),B.current=!0},setPayload:p}),y.jsxs("div",{className:"univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[y.jsx(T.Button,{onClick:()=>{c&&M.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),N.executeCommand(Se.id)},children:I.t("hyperLink.form.cancel")}),y.jsx(T.Button,{variant:"primary",onClick:async()=>{Ve()},children:I.t("hyperLink.form.ok")})]})]}):null};Pe.componentKey="univer.sheet.cell-link-edit";function se({ref:t,...n}){const{icon:e,id:r,className:i,extend:o,...a}=n,u=`univerjs-icon univerjs-icon-${r} ${i||""}`.trim(),l=C.useRef(`_${qt()}`);return Lt(e,`${r}`,{defIds:e.defIds,idSuffix:l.current},{ref:t,className:u,...a},o)}function Lt(t,n,e,r,i){return C.createElement(t.tag,{key:n,...Gt(t,e,i),...r},(zt(t,e).children||[]).map((o,a)=>Lt(o,`${n}-${t.tag}-${a}`,e,void 0,i)))}function Gt(t,n,e){const r={...t.attrs};e!=null&&e.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=e.colorChannel1),t.tag==="mask"&&r.id&&(r.id=r.id+n.idSuffix),Object.entries(r).forEach(([o,a])=>{o==="mask"&&typeof a=="string"&&(r[o]=a.replace(/url\(#(.*)\)/,`url(#$1${n.idSuffix})`))});const{defIds:i}=n;return!i||i.length===0||(t.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+n.idSuffix),Object.entries(r).forEach(([o,a])=>{typeof a=="string"&&(r[o]=a.replace(/url\(#(.*)\)/,`url(#$1${n.idSuffix})`))})),r}function zt(t,n){var r;const{defIds:e}=n;return!e||e.length===0?t:t.tag==="defs"&&((r=t.children)!=null&&r.length)?{...t,children:t.children.map(i=>typeof i.attrs.id=="string"&&e&&e.includes(i.attrs.id)?{...i,attrs:{...i.attrs,id:i.attrs.id+n.idSuffix}}:i)}:t}function qt(){return Math.random().toString(36).substring(2,8)}se.displayName="UniverIcon";const Xt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M7.9999 1.12915C8.03875 1.12915 8.07673 1.13284 8.11352 1.13989H12.2599C13.6958 1.13989 14.8599 2.30395 14.8599 3.73989V7.88619C14.867 7.92301 14.8707 7.96102 14.8707 7.9999C14.8707 8.03878 14.867 8.0768 14.8599 8.11362V12.2599C14.8599 13.6958 13.6958 14.8599 12.2599 14.8599H8.11362C8.0768 14.867 8.03878 14.8707 7.9999 14.8707C7.96102 14.8707 7.92301 14.867 7.88619 14.8599H3.73989C2.30396 14.8599 1.13989 13.6958 1.13989 12.2599V8.11352C1.13284 8.07673 1.12915 8.03875 1.12915 7.9999C1.12915 7.96106 1.13284 7.92308 1.13989 7.88629V3.73989C1.13989 2.30396 2.30395 1.13989 3.73989 1.13989H7.88629C7.92308 1.13284 7.96106 1.12915 7.9999 1.12915ZM2.33989 8.5999V12.2599C2.33989 13.0331 2.9667 13.6599 3.73989 13.6599H7.3999V8.5999H2.33989ZM7.3999 7.3999H2.33989V3.73989C2.33989 2.9667 2.96669 2.33989 3.73989 2.33989H7.3999V7.3999ZM8.5999 8.5999V13.6599H12.2599C13.0331 13.6599 13.6599 13.0331 13.6599 12.2599V8.5999H8.5999ZM13.6599 7.3999H8.5999V2.33989H12.2599C13.0331 2.33989 13.6599 2.96669 13.6599 3.73989V7.3999Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Re=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"all-border-icon",ref:e,icon:Xt}))});Re.displayName="AllBorderIcon";const Jt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.1302 12.4251C4.25802 13.7417 5.36779 14.7708 6.71792 14.7708H11.7179C13.1539 14.7708 14.3179 13.6067 14.3179 12.1708V6.1708C14.3179 4.78586 13.2351 3.65383 11.8698 3.57517C11.742 2.25858 10.6323 1.22949 9.28213 1.22949H4.28213C2.84619 1.22949 1.68213 2.39355 1.68213 3.82949V9.82949C1.68213 11.2144 2.76497 12.3465 4.1302 12.4251ZM10.6583 3.5708H6.71792C5.28198 3.5708 4.11792 4.73486 4.11792 6.1708V11.22C3.4221 11.1387 2.88213 10.5471 2.88213 9.82949V3.82949C2.88213 3.05629 3.50893 2.42949 4.28213 2.42949H9.28213C9.96695 2.42949 10.5369 2.92119 10.6583 3.5708ZM13.1179 6.1708C13.1179 5.3976 12.4911 4.7708 11.7179 4.7708H6.71792C5.94472 4.7708 5.31792 5.3976 5.31792 6.1708V12.1708C5.31792 12.944 5.94472 13.5708 6.71792 13.5708H11.7179C12.4911 13.5708 13.1179 12.944 13.1179 12.1708V6.1708Z",fillRule:"evenodd",clipRule:"evenodd"}}]},Pt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"copy-icon",ref:e,icon:Jt}))});Pt.displayName="CopyIcon";const Qt={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M9.8816 1.97978C11.0177 0.843607 12.862 0.884962 14.0004 2.02342C15.1389 3.16188 15.1803 5.00612 14.0441 6.14228L11.399 8.78737C11.1608 9.02559 10.7746 9.02559 10.5363 8.78737C10.2981 8.54915 10.2981 8.16292 10.5363 7.9247L13.1814 5.2796C13.8195 4.64155 13.8217 3.57006 13.1378 2.8861C12.4538 2.20211 11.3823 2.20438 10.7443 2.84245L7.6976 5.88911L7.69317 5.89349C7.05959 6.53211 7.05894 7.60014 7.74132 8.28252C7.97954 8.52074 7.97954 8.90697 7.74132 9.14519C7.5031 9.38341 7.11687 9.38341 6.87865 9.14519C5.74016 8.00671 5.69884 6.16251 6.83497 5.02633L6.84021 5.02116L9.8816 1.97978Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.61426 7.2364C4.85248 6.99818 5.23871 6.99818 5.47693 7.2364C5.71515 7.47462 5.71515 7.86085 5.47693 8.09907L2.83183 10.7442C2.19375 11.3823 2.1915 12.4537 2.87547 13.1377C3.55945 13.8217 4.6309 13.8194 5.26899 13.1813L8.31566 10.1347C8.32262 10.1277 8.32971 10.121 8.33691 10.1144C8.34408 10.1064 8.3515 10.0986 8.35916 10.091C8.99721 9.45291 8.99949 8.38145 8.3155 7.69746C8.07728 7.45924 8.07728 7.07301 8.3155 6.83479C8.55372 6.59657 8.93995 6.59657 9.17817 6.83479C10.3166 7.97327 10.358 9.81748 9.22183 10.9536C9.21487 10.9606 9.20779 10.9673 9.20058 10.9739C9.19341 10.9819 9.18599 10.9897 9.17833 10.9973L6.13166 14.044C4.99548 15.1802 3.15127 15.1389 2.01279 14.0004C0.874362 12.8619 0.83297 11.0177 1.96916 9.8815L4.61426 7.2364Z"}}]},ze=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"link-icon",ref:e,icon:Qt}))});ze.displayName="LinkIcon";const en={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",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.76157C6.75249 4.52725 6.75249 4.14735 6.98681 3.91304L8.27535 2.62449C9.70209 1.19776 12.0153 1.19776 13.442 2.62449C14.8688 4.05123 14.8688 6.36442 13.442 7.79116L12.1535 9.0797C11.9192 9.31402 11.5393 9.31402 11.3049 9.0797C11.0706 8.84539 11.0706 8.46549 11.3049 8.23117L12.5935 6.94263C13.5516 5.98452 13.5516 4.43113 12.5935 3.47302Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.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.05395C4.4606 6.81963 4.0807 6.81963 3.84639 7.05395L2.55784 8.34249C1.13111 9.76923 1.13111 12.0824 2.55784 13.5092C3.98458 14.9359 6.29777 14.9359 7.72451 13.5092L9.01305 12.2206C9.24737 11.9863 9.24737 11.6064 9.01305 11.3721C8.77874 11.1378 8.39884 11.1378 8.16452 11.3721L6.87598 12.6606C5.91787 13.6187 4.36448 13.6187 3.40637 12.6606Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.5852 2.80332C3.35088 2.569 2.97098 2.569 2.73667 2.80332C2.50235 3.03763 2.50235 3.41753 2.73667 3.65185L12.4151 13.3302C12.6494 13.5646 13.0293 13.5646 13.2636 13.3302C13.4979 13.0959 13.4979 12.716 13.2636 12.4817L3.5852 2.80332Z"}}]},Tt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"unlink-icon",ref:e,icon:en}))});Tt.displayName="UnlinkIcon";const tn={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",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"}}]},kt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"write-icon",ref:e,icon:tn}))});kt.displayName="WriteIcon";const nn={tag:"svg",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"#35BD4B",d:"M3.4535 1.12549C2.7002 1.12549 2.08954 1.73615 2.08954 2.48945V13.5104C2.08954 14.2637 2.7002 14.8744 3.4535 14.8744H12.5465C13.2998 14.8744 13.9105 14.2637 13.9105 13.5104V5.0992L10.0091 1.12549H3.4535Z"}},{tag:"path",attrs:{fill:"#32A846",d:"M10.0075 1.12549L13.9104 5.09842H10.6742C10.306 5.09842 10.0075 4.79994 10.0075 4.43175V1.12549Z"}},{tag:"path",attrs:{fill:"white",d:"M7.8088 10.2949L6.3764 12.403C6.26259 12.5705 6.03455 12.614 5.86705 12.5002C5.69955 12.3864 5.65603 12.1584 5.76984 11.9909L7.3655 9.64252L5.94042 7.54519C5.82661 7.37769 5.87013 7.14964 6.03763 7.03583C6.20512 6.92202 6.43317 6.96555 6.54698 7.13304L7.8088 8.9901L9.07062 7.13304C9.18443 6.96555 9.41248 6.92202 9.57997 7.03583C9.74747 7.14964 9.79099 7.37769 9.67718 7.54519L8.2521 9.64252L9.84776 11.9909C9.96157 12.1584 9.91805 12.3864 9.75055 12.5002C9.58305 12.614 9.35501 12.5705 9.2412 12.403L7.8088 10.2949Z",fillRule:"evenodd",clipRule:"evenodd"}}]},wt=C.forwardRef(function(n,e){return C.createElement(se,Object.assign({},n,{id:"xlsx-multi-icon",ref:e,icon:nn}))});wt.displayName="XlsxMultiIcon";const rn={[m.SheetHyperLinkType.URL]:y.jsx(ze,{}),[m.SheetHyperLinkType.SHEET]:y.jsx(wt,{className:"univer-text-green-500"}),[m.SheetHyperLinkType.RANGE]:y.jsx(Re,{}),[m.SheetHyperLinkType.DEFINE_NAME]:y.jsx(Re,{}),[m.SheetHyperLinkType.INVALID]:y.jsx(Re,{})},_t=t=>{var M,N;const n=S.useDependency(exports.SheetsHyperLinkPopupService),e=S.useDependency(s.ICommandService),r=S.useDependency(S.IMessageService),i=S.useDependency(s.LocaleService),o=S.useDependency(exports.SheetsHyperLinkResolverService),a=S.useDependency(R.IEditorBridgeService),u=S.useDependency(m.SheetsHyperLinkParserService),l=S.useDependency(S.IZenZoneService),{customRange:h,row:d,col:p,unitId:I,subUnitId:v,editPermission:E,copyPermission:P,type:L}=t;if(!((M=h==null?void 0:h.properties)!=null&&M.url))return null;const c=u.parseHyperLink((N=h.properties.url)!=null?N:""),k=c.type===m.SheetHyperLinkType.INVALID;return y.jsxs("div",{className:T.clsx("univer-mb-1 univer-flex univer-max-w-80 univer-flex-row univer-items-center univer-justify-between univer-overflow-hidden univer-rounded-lg univer-bg-white univer-p-3 univer-shadow-md dark:!univer-bg-gray-900",T.borderClassName),onClick:()=>n.hideCurrentPopup(),children:[y.jsxs("div",{className:T.clsx("univer-flex univer-h-6 univer-flex-1 univer-cursor-pointer univer-flex-row univer-items-center univer-truncate univer-text-sm univer-leading-5 univer-text-primary-600",{"univer-text-red-500":k}),onClick:()=>{l.visible||k||o.navigate(c)},children:[y.jsx("div",{className:"univer-mr-2 univer-flex univer-size-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:rn[c.type]}),y.jsx(T.Tooltip,{showIfEllipsis:!0,title:c.name,asChild:!0,children:y.jsx("span",{className:"univer-flex-1 univer-truncate",children:c.name})})]}),y.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",children:[P&&y.jsx("div",{className:T.clsx("univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",{"univer-text-red-500":k}),onClick:()=>{if(!k){if(c.type!==m.SheetHyperLinkType.URL){const H=new URL(window.location.href);H.hash=c.url.slice(1),navigator.clipboard.writeText(H.href)}else navigator.clipboard.writeText(c.url);r.show({content:i.t("hyperLink.message.coped"),type:T.MessageType.Info})}},children:y.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.copy"),children:y.jsx(Pt,{className:"dark:!univer-text-white"})})}),E&&y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>{e.executeCommand(Me.id,{unitId:I,subUnitId:v,row:d,col:p,customRangeId:h.rangeId,type:L})},children:y.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.edit"),children:y.jsx(kt,{className:"dark:!univer-text-white"})})}),y.jsx("div",{className:"univer-ml-2 univer-flex univer-size-6 univer-cursor-pointer univer-flex-row univer-items-center univer-justify-center univer-rounded univer-text-base hover:univer-bg-gray-100 dark:hover:!univer-bg-gray-700",onClick:()=>{const H=L===f.EDITING||L===f.ZEN_EDITOR?m.CancelRichHyperLinkCommand.id:m.CancelHyperLinkCommand.id;e.syncExecuteCommand(H,{unitId:I,subUnitId:v,id:h.rangeId,row:d,column:p,documentId:L===f.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:a.getCurrentEditorId()})&&n.hideCurrentPopup(void 0,!0)},children:y.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.cancel"),children:y.jsx(Tt,{className:"dark:!univer-text-white"})})})]})]})]})},Te=()=>{var i,o;const t=S.useDependency(exports.SheetsHyperLinkPopupService),[n,e]=C.useState(null),r=S.useDependency(s.IUniverInstanceService);if(C.useEffect(()=>{e(t.currentPopup);const a=t.currentPopup$.subscribe(u=>{e(u)});return()=>{a.unsubscribe()}},[t.currentPopup,t.currentPopup$]),!n)return null;if(n.showAll){const a=r.getUnit(n.unitId,s.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(n.subUnitId),l=u==null?void 0:u.getCell(n.row,n.col),h=(o=(i=l==null?void 0:l.p)==null?void 0:i.body)==null?void 0:o.customRanges;return h!=null&&h.length?y.jsx("div",{children:h.map(d=>y.jsx(_t,{...n,customRange:d},d.rangeId))}):null}return y.jsx(_t,{...n})};Te.componentKey="univer.sheet.cell-link-popup";var sn=Object.getOwnPropertyDescriptor,on=(t,n,e,r)=>{for(var i=r>1?void 0:r?sn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},re=(t,n)=>(e,r)=>n(e,r,t);const yt=(t,n)=>{var e,r;return t.unitId===n.unitId&&t.subUnitId===n.subUnitId&&t.row===n.row&&t.col===n.col&&((e=t.customRange)==null?void 0:e.rangeId)===((r=n.customRange)==null?void 0:r.rangeId)&&t.type===n.type};exports.SheetsHyperLinkPopupService=class extends s.Disposable{constructor(e,r,i,o,a,u,l){super();V(this,"_currentPopup",null);V(this,"_currentPopup$",new D.Subject);V(this,"currentPopup$",this._currentPopup$.asObservable());V(this,"_currentEditingPopup",null);V(this,"_currentEditing$",new D.BehaviorSubject(null));V(this,"currentEditing$",this._currentEditing$.asObservable());V(this,"_isKeepVisible",!1);this._sheetCanvasPopManagerService=e,this._injector=r,this._univerInstanceService=i,this._editorBridgeService=o,this._textSelectionManagerService=a,this._docCanvasPopManagerService=u,this._zenZoneService=l,this.disposeWithMe(()=>{this.hideCurrentPopup(),this.endEditing(),this._currentEditing$.complete(),this._currentPopup$.complete()})}get currentPopup(){return this._currentPopup}get currentEditing(){return this._currentEditing$.getValue()}setIsKeepVisible(e){this._isKeepVisible=e}getIsKeepVisible(){return this._isKeepVisible}showPopup(e){var I;if(this._currentPopup&&yt(e,this._currentPopup)||(this.hideCurrentPopup(void 0,!0),e.type!==f.ZEN_EDITOR&&this._zenZoneService.visible))return;const r=this._currentEditing$.getValue();if(r&&yt(e,r))return;const{unitId:i,subUnitId:o,row:a,col:u,customRangeRect:l,customRange:h}=e;let d;const p={componentKey:Te.componentKey,direction:"bottom",onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(e.type,!0)}};if(e.type===f.EDITING){if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l,p)}else if(e.type===f.ZEN_EDITOR){if(!h)return;d=this._docCanvasPopManagerService.attachPopupToRange({startOffset:h.startIndex,endOffset:h.endIndex+1,collapsed:!1},p,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(e.showAll)d=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,p,i,o);else{if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupByPosition(l,p,e)}d&&(this._currentPopup&&((I=this._currentPopup.disposable)==null||I.dispose()),this._currentPopup={unitId:i,subUnitId:o,disposable:d,row:a,col:u,editPermission:!!e.editPermission,copyPermission:!!e.copyPermission,customRange:h,type:e.type,showAll:e.showAll},this._currentPopup$.next(this._currentPopup))}hideCurrentPopup(e,r){var i,o;this._currentPopup&&((!e||e===this._currentPopup.type)&&this._currentPopup.disposable.canDispose()||r)&&((o=(i=this._currentPopup)==null?void 0:i.disposable)==null||o.dispose(),this._currentPopup=null,this._currentPopup$.next(null))}dispose(){super.dispose(),this.hideCurrentPopup(),this.endEditing(),this._currentPopup$.complete(),this._currentEditing$.complete()}_getEditingRange(){var i,o,a;const e=this._editorBridgeService.isVisible().visible,r=this._editorBridgeService.getEditCellState();if(e&&r){const u=this._textSelectionManagerService.getActiveTextRange(),l=(i=r.documentLayoutObject.documentModel)==null?void 0:i.getBody();if(!l)return null;if(!u||u.collapsed)return{startOffset:0,endOffset:l.dataStream.length-2,collapsed:l.dataStream.length-2===0,label:s.BuildTextUtils.transform.getPlainText(l.dataStream)};const h=s.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(u,(a=(o=l.customRanges)==null?void 0:o.filter(I=>I.rangeType===s.CustomRangeType.HYPERLINK))!=null?a:[]);let d=u.startOffset,p=u.endOffset;return h.forEach(I=>{d=Math.min(d,I.startIndex),p=Math.max(p,I.endIndex+1)}),{startOffset:d,endOffset:p,collapsed:d===p,label:s.BuildTextUtils.transform.getPlainText(l.dataStream.slice(d,p))}}return null}get _editPopup(){return{componentKey:Pe.componentKey,direction:"vertical",onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:"hide"}}startAddEditing(e){var a,u,l,h,d;const{unitId:r,subUnitId:i,type:o}=e;if(o===f.ZEN_EDITOR){const p=this._univerInstanceService.getUnit(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,s.UniverInstanceType.UNIVER_DOC);if(!p)return;const I=this._textSelectionManagerService.getActiveTextRange();if(!I)return;this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange(I,this._editPopup,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY);const v=(a=p.getBody())==null?void 0:a.dataStream.slice(I.startOffset,I.endOffset);this._currentEditing$.next({...e,label:v})}else if(o===f.EDITING){const p=this._getEditingRange();if(!p)return;this._textSelectionManagerService.replaceDocRanges([{...p}],{unitId:s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});const I=this._injector.get(_e.IRenderManagerService).getRenderById(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!I)return;const v=Q.calcDocRangePositions(p,I);if(!(v!=null&&v.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(v.pop(),this._editPopup,r,i),this._currentEditing$.next({...e,label:(u=p==null?void 0:p.label)!=null?u:""})}else{this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,r,i);const p=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_SHEET),I=p==null?void 0:p.getSheetBySheetId(i),v=I==null?void 0:I.getCellRaw(e.row,e.col);this._currentEditing$.next({...e,label:v!=null&&v.p?s.BuildTextUtils.transform.getPlainText((h=(l=v.p.body)==null?void 0:l.dataStream)!=null?h:""):((d=v==null?void 0:v.v)!=null?d:"").toString()})}}startEditing(e){var u,l,h,d,p,I;(u=this._currentEditingPopup)==null||u.dispose(),this.hideCurrentPopup(void 0,!0);const{unitId:r,subUnitId:i}=e;let o,a;if(e.type===f.ZEN_EDITOR){const v=this._univerInstanceService.getUnit(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,s.UniverInstanceType.UNIVER_DOC);if(o=(h=(l=v==null?void 0:v.getBody())==null?void 0:l.customRanges)==null?void 0:h.find(E=>E.rangeId===e.customRangeId),a=o?(d=v==null?void 0:v.getBody())==null?void 0:d.dataStream.slice(o.startIndex,o.endIndex+1):"",!o||!a)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:o.startIndex,endOffset:o.endIndex+1}]),this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange({startOffset:o.startIndex,endOffset:o.endIndex,collapsed:!1},this._editPopup,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(e.type===f.EDITING){const v=R.getEditingCustomRangePosition(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!v||!((p=v.rects)!=null&&p.length))return;o=v.customRange,a=v.label,this._textSelectionManagerService.replaceTextRanges([{startOffset:o.startIndex,endOffset:o.endIndex+1}]),this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(v.rects.pop(),this._editPopup,r,i)}else{const v=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_SHEET),E=v==null?void 0:v.getSheetBySheetId(i),P=E==null?void 0:E.getCellRaw(e.row,e.col),L=v==null?void 0:v.getStyles().getStyleByCell(P),c=L==null?void 0:L.tr,k=R.getCustomRangePosition(this._injector,e.unitId,e.subUnitId,e.row,e.col,e.customRangeId);if(!k||!((I=k.rects)!=null&&I.length))return;o=k.customRange,a=k.label,c?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(e.row,e.col,this._editPopup,r,i):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(k.rects.pop(),this._editPopup,{unitId:r,subUnitId:i,row:e.row,col:e.col})}this._currentEditing$.next({...e,customRange:o,label:a})}endEditing(e){var i;if(this.getIsKeepVisible())return;const r=this._currentEditing$.getValue();r&&(!e||e===r.type)&&((i=this._currentEditingPopup)==null||i.dispose(),this._currentEditing$.next(null))}};exports.SheetsHyperLinkPopupService=on([re(0,s.Inject(R.SheetCanvasPopManagerService)),re(1,s.Inject(s.Injector)),re(2,s.IUniverInstanceService),re(3,R.IEditorBridgeService),re(4,s.Inject(me.DocSelectionManagerService)),re(5,s.Inject(Q.DocCanvasPopManagerService)),re(6,S.IZenZoneService)],exports.SheetsHyperLinkPopupService);var Ie=(t=>(t[t.ALLOWED=0]="ALLOWED",t[t.DISABLED_BY_CELL=1]="DISABLED_BY_CELL",t[t.ALLOW_ON_EDITING=2]="ALLOW_ON_EDITING",t))(Ie||{});const an=new Set([s.DataValidationType.CHECKBOX,s.DataValidationType.LIST,s.DataValidationType.LIST_MULTIPLE]),qe=(t,n,e,r)=>{var u,l,h,d,p;const i=n.getCell(e,r);if(i!=null&&i.f||i!=null&&i.si||(h=(l=(u=i==null?void 0:i.p)==null?void 0:u.body)==null?void 0:l.customBlocks)!=null&&h.length)return 1;const o=t.has(mt.SheetDataValidationModel)?t.get(mt.SheetDataValidationModel):null,a=o==null?void 0:o.getRuleByLocation(n.getUnitId(),n.getSheetId(),e,r);return a&&an.has(a.type)?!0:(p=(d=i==null?void 0:i.p)==null?void 0:d.drawingsOrder)!=null&&p.length?2:0},cn=t=>{const n=t.get(s.IUniverInstanceService).getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);if(!n)return!0;const e=n.getActiveSheet(),r=t.get(_.SheetsSelectionsService).getCurrentSelections();if(!r.length)return!0;const i=r[0].range.startRow,o=r[0].range.startColumn;return qe(t,e,i,o)===1},un=t=>{const n=t.get(me.DocSelectionManagerService),e=t.get(s.IUniverInstanceService),r=n.getTextRanges();if(!(r!=null&&r.length))return!0;const i=e.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);return!!(!i||r.every(a=>a.collapsed)||!i.getSelfOrHeaderFooterModel(r[0].segmentId).getBody())},Me={type:s.CommandType.OPERATION,id:"sheet.operation.open-hyper-link-edit-panel",handler(t,n){if(!n)return!1;const e=t.get(exports.SheetsHyperLinkPopupService);return n.customRangeId?e.startEditing(n):e.startAddEditing(n),!0}},Se={type:s.CommandType.OPERATION,id:"sheet.operation.close-hyper-link-popup",handler(t){return t.get(exports.SheetsHyperLinkPopupService).endEditing(),!0}},je={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link",handler(t){var p;const n=t.get(s.IUniverInstanceService),e=_.getSheetCommandTarget(n),r=t.get(R.IEditorBridgeService);if(!e)return!1;const i=t.get(s.ICommandService),a=t.get(_.SheetsSelectionsService).getCurrentLastSelection();if(!a)return!1;const u=a.range.startRow,l=a.range.startColumn,h=r.isVisible(),d=((p=n.getFocusedUnit())==null?void 0:p.getUnitId())===s.DOCS_ZEN_EDITOR_UNIT_ID_KEY;return i.executeCommand(Me.id,{unitId:e.unitId,subUnitId:e.subUnitId,row:u,col:l,type:d?f.ZEN_EDITOR:h.visible?f.EDITING:f.VIEWING})}},ie={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link-toolbar",handler(t){if(cn(t))return!1;const n=t.get(s.ICommandService);return t.get(exports.SheetsHyperLinkPopupService).currentEditing?n.executeCommand(Se.id):n.executeCommand(je.id)}},Xe="SHEET_HYPER_LINK_UI_PLUGIN";var ln=Object.getOwnPropertyDescriptor,dn=(t,n,e,r)=>{for(var i=r>1?void 0:r?ln(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ee=(t,n)=>(e,r)=>n(e,r,t);exports.SheetsHyperLinkCopyPasteController=class extends s.Disposable{constructor(e,r,i,o){super();V(this,"_plainTextFilter",new Set);V(this,"_copyInfo");this._sheetClipboardService=e,this._hyperLinkModel=r,this._injector=i,this._resolverService=o,this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}registerPlainTextFilter(e){this._plainTextFilter.add(e)}removePlainTextFilter(e){this._plainTextFilter.delete(e)}_filterPlainText(e){return Array.from(this._plainTextFilter).every(r=>r(e))}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:Xe,onBeforeCopy:(e,r,i)=>this._collect(e,r,i),onPasteCells:(e,r,i,o)=>{const{copyType:a=R.COPY_TYPE.COPY,pasteType:u}=o,{range:l}=e||{},{range:h,unitId:d,subUnitId:p}=r;return this._generateMutations(h,{copyType:a,pasteType:u,copyRange:l,unitId:d,subUnitId:p})},onPastePlainText:(e,r)=>{const i=this._filterPlainText(r);if(Le(r)&&i){const{range:o,unitId:a,subUnitId:u}=e,{ranges:[l],mapFunc:h}=R.virtualizeDiscreteRanges([o]),d=[],p=[];return s.Range.foreach(l,(I,v)=>{const{row:E,col:P}=h(I,v),L=this._hyperLinkModel.getHyperLinkByLocation(a,u,E,P);L&&d.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:a,subUnitId:u,id:L.id}}),L&&p.push({id:m.AddHyperLinkMutation.id,params:{unitId:a,subUnitId:u,link:L}})}),{redos:d,undos:p}}return{undos:[],redos:[]}},priority:99})}_collect(e,r,i){const o=new s.ObjectMatrix;this._copyInfo={unitId:e,subUnitId:r,matrix:o};const a=this._injector.invoke(h=>_.rangeToDiscreteRange(i,h,e,r));if(!a)return;const{rows:u,cols:l}=a;u.forEach((h,d)=>{l.forEach((p,I)=>{var E;const v=this._hyperLinkModel.getHyperLinkByLocation(e,r,h,p);o.setValue(d,I,(E=v==null?void 0:v.id)!=null?E:"")})})}_generateMutations(e,r){if(!this._copyInfo)return{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!r.copyRange)return{redos:[],undos:[]};if([R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_COL_WIDTH,R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_VALUE,R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMAT,R.PREDEFINED_HOOK_NAME_PASTE.SPECIAL_PASTE_FORMULA].includes(r.pasteType))return{redos:[],undos:[]};const{unitId:o,subUnitId:a}=this._copyInfo,u=[],l=[],{ranges:[h,d],mapFunc:p}=R.virtualizeDiscreteRanges([r.copyRange,e]);return R.getRepeatRange(h,d,!0).forEach(({startRange:v})=>{var E;(E=this._copyInfo)==null||E.matrix.forValue((P,L,c)=>{const k=s.Rectangle.getPositionRange({startRow:P,endRow:P,startColumn:L,endColumn:L},v),M=this._hyperLinkModel.getHyperLink(o,a,c),{row:N,col:H}=p(k.startRow,k.startColumn),$=this._hyperLinkModel.getHyperLinkByLocation(r.unitId,r.subUnitId,N,H),A=s.generateRandomId();$&&u.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:$.id}}),M&&(u.push({id:m.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:{...M,id:A,row:N,column:H}}}),l.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:A}})),$&&l.push({id:m.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:$}})})}),{redos:u,undos:l}}};exports.SheetsHyperLinkCopyPasteController=dn([Ee(0,R.ISheetClipboardService),Ee(1,s.Inject(m.HyperLinkModel)),Ee(2,s.Inject(s.Injector)),Ee(3,s.Inject(exports.SheetsHyperLinkResolverService))],exports.SheetsHyperLinkCopyPasteController);const Je=(t,n=s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)=>{var i;const e=t.get(s.IUniverInstanceService),r=(i=t.get(_e.IRenderManagerService).getRenderById(n))==null?void 0:i.with(Q.DocSelectionRenderService);return r?r.textSelectionInner$.pipe(D.map(()=>{const a=t.get(R.IEditorBridgeService).getEditCellState();if(!a)return!0;const u=_.getSheetCommandTarget(e,{unitId:a.unitId,subUnitId:a.sheetId});return!(u!=null&&u.worksheet)||qe(t,u.worksheet,a.row,a.column)===1?!0:un(t)})):D.of(!0)},bt=t=>{var i;const n=t.get(s.IUniverInstanceService),e=t.has(R.IEditorBridgeService)?t.get(R.IEditorBridgeService):null;return((i=e==null?void 0:e.currentEditCellState$.pipe(D.map(o=>{if(!o)return Ie.DISABLED_BY_CELL;const a=_.getSheetCommandTarget(n,{unitId:o.unitId,subUnitId:o.sheetId});return a?qe(t,a.worksheet,o.row,o.column):Ie.DISABLED_BY_CELL}),D.switchMap(o=>{if(o===Ie.DISABLED_BY_CELL)return D.of(!0);const a=e?e.visible$:D.of(null);return D.combineLatest([a,n.getCurrentTypeOfUnit$(s.UniverInstanceType.UNIVER_DOC)]).pipe(D.switchMap(([u,l])=>u!=null&&u.visible?(l==null?void 0:l.getUnitId())===s.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?D.of(!0):Je(t,s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY):D.of(o!==Ie.ALLOWED)))})))!=null?i:D.of(!0)).pipe(D.switchMap(o=>o?D.of(!0):R.getCurrentRangeDisable$(t,{workbookTypes:[_.WorkbookEditablePermission],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetSetCellValuePermission,_.WorksheetInsertHyperlinkPermission],rangeTypes:[_.RangeProtectionPermissionEditPoint]},!0)))},ke={commandId:je.id,type:S.MenuItemType.BUTTON,title:"hyperLink.menu.add",icon:"LinkIcon"},we=t=>`${t}-zen-editor`,pn=t=>({...ke,id:ke.commandId,hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:bt(t)}),hn=t=>({...ke,id:we(ke.commandId),hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Je(t)}),be={tooltip:"hyperLink.form.addTitle",commandId:ie.id,type:S.MenuItemType.BUTTON,icon:"LinkIcon"},gn=t=>({...be,id:be.commandId,hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_SHEET),disabled$:bt(t)}),vn=t=>({...be,id:we(be.commandId),hidden$:S.getMenuHiddenObservable(t,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Je(t)}),Qe={id:ie.id,binding:S.KeyCode.K|S.MetaKeys.CTRL_COMMAND,preconditions:R.whenSheetEditorFocused},In="@univerjs/sheets-hyper-link-ui",mn="0.17.0",Dt={name:In,version:mn};var Sn=Object.getOwnPropertyDescriptor,_n=(t,n,e,r)=>{for(var i=r>1?void 0:r?Sn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},ft=(t,n)=>(e,r)=>n(e,r,t);let De=class extends s.Disposable{constructor(t,n){super(),this._autoFillService=t,this._hyperLinkModel=n,this._initAutoFill()}_initAutoFill(){const t=()=>({redos:[],undos:[]}),n=(r,i)=>{const{source:o,target:a,unitId:u,subUnitId:l}=r,h=R.virtualizeDiscreteRanges([o,a]),[d,p]=h.ranges,{mapFunc:I}=h,v={row:d.startRow,col:d.startColumn},E=_.AutoFillTools.getAutoFillRepeatRange(d,p),P=[],L=[];return E.forEach(c=>{const k=c.repeatStartCell,M=c.relativeRange,N={startRow:v.row,startColumn:v.col,endColumn:v.col,endRow:v.row},H={startRow:k.row,startColumn:k.col,endColumn:k.col,endRow:k.row};s.Range.foreach(M,($,A)=>{const Y=s.Rectangle.getPositionRange({startRow:$,startColumn:A,endColumn:A,endRow:$},N),{row:ee,col:ye}=I(Y.startRow,Y.startColumn),te=this._hyperLinkModel.getHyperLinkByLocation(u,l,ee,ye),le=s.Rectangle.getPositionRange({startRow:$,startColumn:A,endColumn:A,endRow:$},H),{row:de,col:pe}=I(le.startRow,le.startColumn),fe=s.generateRandomId(),oe=this._hyperLinkModel.getHyperLinkByLocation(u,l,de,pe);oe&&P.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:oe.id}}),(_.AUTO_FILL_APPLY_TYPE.COPY===i||_.AUTO_FILL_APPLY_TYPE.SERIES===i)&&te&&(P.push({id:m.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:{...te,id:fe,row:de,column:pe}}}),L.push({id:m.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:fe}})),oe&&L.push({id:m.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:oe}})})}),{undos:L,redos:P}},e={id:Xe,onFillData:(r,i,o)=>o===_.AUTO_FILL_APPLY_TYPE.COPY||o===_.AUTO_FILL_APPLY_TYPE.ONLY_FORMAT||o===_.AUTO_FILL_APPLY_TYPE.SERIES?n(r,o):t()};this.disposeWithMe(this._autoFillService.addHook(e))}};De=_n([ft(0,_.IAutoFillService),ft(1,s.Inject(m.HyperLinkModel))],De);var yn=Object.getOwnPropertyDescriptor,fn=(t,n,e,r)=>{for(var i=r>1?void 0:r?yn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ke=(t,n)=>(e,r)=>n(e,r,t);let Oe=class extends s.Disposable{constructor(t,n,e){super(),this._localeService=t,this._commandService=n,this._sheetPermissionCheckController=e,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{t.id===Qe.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[_.WorkbookEditablePermission],rangeTypes:[_.RangeProtectionPermissionEditPoint],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetSetCellValuePermission,_.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.hyperLinkErr")))}))}};Oe=fn([Ke(0,s.Inject(s.LocaleService)),Ke(1,s.ICommandService),Ke(2,s.Inject(_.SheetPermissionCheckController))],Oe);var Cn=Object.getOwnPropertyDescriptor,En=(t,n,e,r)=>{for(var i=r>1?void 0:r?Cn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},W=(t,n)=>(e,r)=>n(e,r,t);let Ne=class extends s.Disposable{constructor(t,n,e,r,i,o,a,u,l,h){super(),this._hoverManagerService=t,this._sheetsHyperLinkPopupService=n,this._renderManagerService=e,this._permissionService=r,this._sheetPermissionCheckController=i,this._commandService=o,this._editorBridgeService=a,this._textSelectionManagerService=u,this._univerInstanceService=l,this._zenZoneService=h,this._initHoverListener(),this._initCommandListener(),this._initHoverEditingListener(),this._initTextSelectionListener(),this._initZenEditor()}_getLinkPermission(t){const{unitId:n,subUnitId:e,row:r,col:i}=t,o=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET),a=o==null?void 0:o.getSheetBySheetId(e);if(!a)return{viewPermission:!1,editPermission:!1,copyPermission:!1};const u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[_.WorkbookViewPermission],worksheetTypes:[_.WorksheetViewPermission],rangeTypes:[_.RangeProtectionPermissionViewPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}],n,e);let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[_.WorkbookEditablePermission],worksheetTypes:[_.WorksheetEditPermission,_.WorksheetInsertHyperlinkPermission],rangeTypes:[_.RangeProtectionPermissionEditPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}],n,e);const h=a.getCellRaw(r,i);h!=null&&h.f&&h.f.startsWith("=HYPERLINK(")&&(l=!1);const d=this._permissionService.composePermission([new _.WorkbookCopyPermission(n).id,new _.WorksheetCopyPermission(n,e).id]).every(p=>p.value);return{viewPermission:u,editPermission:l,copyPermission:d}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe(D.debounceTime(200)).subscribe(t=>{var N,H,$;if(!t||((N=t.customRange)==null?void 0:N.rangeType)!==s.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const{unitId:n,subUnitId:e,row:r,col:i}=t,o=this._renderManagerService.getRenderById(n);if(!o)return;const a=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(e);if(!u)return;if(!o.with(R.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(f.VIEWING);return}const h=(H=o==null?void 0:o.with(R.SheetSkeletonManagerService).getSkeletonParam(e))==null?void 0:H.skeleton,d=i,p=r;let I=p,v=d;h&&h.overflowCache.forValue((A,Y,ee)=>{s.Rectangle.contains(ee,{startColumn:d,endColumn:d,startRow:p,endRow:p})&&(I=A,v=Y)});const{viewPermission:E,editPermission:P,copyPermission:L}=this._getLinkPermission(t);if(!E){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const c=u.getCellStyleOnly(I,v),k=a.getStyles().getStyleByCell(c),M=($=k==null?void 0:k.tr)==null?void 0:$.a;if(!M&&!t.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:I,col:v,editPermission:P,copyPermission:L,customRange:t.customRange,customRangeRect:t.rect,type:f.VIEWING,unitId:n,subUnitId:e,showAll:!!M})}))}_initHoverEditingListener(){let t=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe(D.switchMap(n=>this._editorBridgeService.visible$.pipe(D.map(e=>({visible:e,state:n}))))).subscribe(({visible:n,state:e})=>{if(!e||e.editorUnitId!==s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){t==null||t.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(f.EDITING),this._sheetsHyperLinkPopupService.endEditing(f.EDITING);return}const{editorUnitId:r,unitId:i,sheetId:o,row:a,column:u}=e,l=this._renderManagerService.getRenderById(r);if(!l)return;const{editPermission:h,viewPermission:d,copyPermission:p}=this._getLinkPermission({unitId:i,subUnitId:o,row:a,col:u}),I=l.with(Q.DocEventManagerService);d&&(t==null||t.unsubscribe(),t=I.hoverCustomRanges$.pipe(D.debounceTime(200)).subscribe(v=>{var k,M;const E=v.find(N=>N.range.rangeType===s.CustomRangeType.HYPERLINK);if(!E){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const P=E.rects[E.rects.length-1];if(!((M=(k=this._renderManagerService.getRenderById(i))==null?void 0:k.with(R.SheetSkeletonManagerService).getSkeletonParam(o))==null?void 0:M.skeleton)||!P)return;const c=l.engine.getCanvasElement().getBoundingClientRect();this._sheetsHyperLinkPopupService.showPopup({unitId:i,subUnitId:o,row:a,col:u,customRange:E.range,customRangeRect:{left:P.left+c.left,top:P.top+c.top,bottom:P.bottom+c.top,right:P.right+c.left},editPermission:h,copyPermission:p,type:f.EDITING})}))})),this.disposeWithMe(()=>{t==null||t.unsubscribe()})}_initZenEditor(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(t=>{t?(this._sheetsHyperLinkPopupService.hideCurrentPopup(f.VIEWING),this._sheetsHyperLinkPopupService.hideCurrentPopup(f.EDITING),this._sheetsHyperLinkPopupService.endEditing(f.EDITING),this._sheetsHyperLinkPopupService.hideCurrentPopup(f.VIEWING)):(this._sheetsHyperLinkPopupService.hideCurrentPopup(f.ZEN_EDITOR),this._sheetsHyperLinkPopupService.endEditing(f.ZEN_EDITOR))})),this.disposeWithMe(this._univerInstanceService.focused$.pipe(D.switchMap(t=>{const n=t===s.DOCS_ZEN_EDITOR_UNIT_ID_KEY?this._renderManagerService.getRenderById(t):null;return n?n.with(Q.DocEventManagerService).hoverCustomRanges$.pipe(D.debounceTime(200)):new D.Observable(e=>{e.next(null)})})).subscribe(t=>{const n=t==null?void 0:t.find(r=>r.range.rangeType===s.CustomRangeType.HYPERLINK),e=this._editorBridgeService.getEditCellState();if(n&&e){const{unitId:r,sheetId:i,row:o,column:a}=e,{editPermission:u,viewPermission:l,copyPermission:h}=this._getLinkPermission({unitId:r,subUnitId:i,row:o,col:a});l&&this._sheetsHyperLinkPopupService.showPopup({type:f.ZEN_EDITOR,unitId:r,subUnitId:i,row:o,col:a,customRange:n.range,editPermission:u,copyPermission:h})}else this._sheetsHyperLinkPopupService.hideCurrentPopup(f.ZEN_EDITOR)}))}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(t=>{t&&t.unitId===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(f.EDITING)}))}_initCommandListener(){const t=[_.ClearSelectionContentCommand.id,_.ClearSelectionAllCommand.id,_.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{t.includes(n.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};Ne=En([W(0,s.Inject(R.HoverManagerService)),W(1,s.Inject(exports.SheetsHyperLinkPopupService)),W(2,s.Inject(_e.IRenderManagerService)),W(3,s.Inject(s.IPermissionService)),W(4,s.Inject(_.SheetPermissionCheckController)),W(5,s.ICommandService),W(6,R.IEditorBridgeService),W(7,s.Inject(me.DocSelectionManagerService)),W(8,s.IUniverInstanceService),W(9,S.IZenZoneService)],Ne);var Rn=Object.getOwnPropertyDescriptor,Ot=(t,n,e,r)=>{for(var i=r>1?void 0:r?Rn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},We=(t,n)=>(e,r)=>n(e,r,t);let Ye=class extends s.Disposable{constructor(t,n){super(),this._context=t,this._hyperLinkModel=n,this._initSkeletonChange()}_initSkeletonChange(){const t=()=>{var n;(n=this._context.mainComponent)==null||n.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe(D.debounceTime(16)).subscribe(()=>{t()}))}};Ye=Ot([We(1,s.Inject(m.HyperLinkModel))],Ye);let He=class extends s.Disposable{constructor(t,n){super(),this._sheetInterceptorService=t,this._hyperLinkModel=n,this._initViewModelIntercept()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(_.INTERCEPTOR_POINT.CELL_CONTENT,{effect:s.InterceptorEffectEnum.Value,priority:100,handler:(t,n,e)=>{const{row:r,col:i,unitId:o,subUnitId:a}=n,u=this._hyperLinkModel.getHyperLinkByLocation(o,a,r,i);return u&&t&&(t===n.rawData&&(t={...n.rawData}),t.linkUrl=u.payload,t.linkId=u.id),e(t)}}))}};He=Ot([We(0,s.Inject(_.SheetInterceptorService)),We(1,s.Inject(m.HyperLinkModel))],He);const Ln={[S.RibbonInsertGroup.MEDIA]:{[ie.id]:{order:1,menuItemFactory:gn},[we(ie.id)]:{order:1,menuItemFactory:vn}},[S.ContextMenuPosition.MAIN_AREA]:{[S.ContextMenuGroup.OTHERS]:{order:1,[ie.id]:{order:0,menuItemFactory:pn},[we(ie.id)]:{order:0,menuItemFactory:hn}}}};var Pn=Object.getOwnPropertyDescriptor,Tn=(t,n,e,r)=>{for(var i=r>1?void 0:r?Pn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},ve=(t,n)=>(e,r)=>n(e,r,t);let Ue=class extends s.Disposable{constructor(t,n,e,r,i){super(),this._componentManager=t,this._commandService=n,this._menuManagerService=e,this._injector=r,this._shortcutService=i,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortCut()}_initComponents(){[[Te.componentKey,Te],[Pe.componentKey,Pe],["LinkIcon",ze]].forEach(([t,n])=>{this._componentManager.register(t,n)})}_initCommands(){[Me,Se,je,ie].forEach(t=>{this._commandService.registerCommand(t)})}_initMenus(){this._menuManagerService.mergeMenu(Ln)}_initShortCut(){this._shortcutService.registerShortcut(Qe)}};Ue=Tn([ve(0,s.Inject(S.ComponentManager)),ve(1,s.ICommandService),ve(2,S.IMenuManagerService),ve(3,s.Inject(s.Injector)),ve(4,s.Inject(S.IShortcutService))],Ue);var kn=Object.getOwnPropertyDescriptor,wn=(t,n,e,r)=>{for(var i=r>1?void 0:r?kn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Ct=(t,n)=>(e,r)=>n(e,r,t);let xe=class extends s.Disposable{constructor(t,n){super(),this._parserService=t,this._resolverService=n,this._handleInitUrl()}_handleInitUrl(){const t=location.hash;if(t){const n=this._parserService.parseHyperLink(t);this._resolverService.navigate(n)}}};xe=wn([Ct(0,s.Inject(m.SheetsHyperLinkParserService)),Ct(1,s.Inject(exports.SheetsHyperLinkResolverService))],xe);var bn=Object.defineProperty,Dn=Object.getOwnPropertyDescriptor,On=(t,n,e)=>n in t?bn(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,Nn=(t,n,e,r)=>{for(var i=r>1?void 0:r?Dn(n,e):n,o=t.length-1,a;o>=0;o--)(a=t[o])&&(i=a(i)||i);return i},Et=(t,n)=>(e,r)=>n(e,r,t),Ae=(t,n,e)=>On(t,typeof n!="symbol"?n+"":n,e);exports.UniverSheetsHyperLinkUIPlugin=class extends s.Plugin{constructor(n=St,e,r){super(),this._config=n,this._injector=e,this._configService=r;const{menu:i,...o}=s.merge({},St,this._config);i&&this._configService.setConfig("menu",i,{merge:!0}),this._configService.setConfig(Rt,o)}onStarting(){[[exports.SheetsHyperLinkResolverService],[exports.SheetsHyperLinkPopupService],[Ge],[He],[Ne],[Ue],[De],[exports.SheetsHyperLinkCopyPasteController],[Oe],[xe]].forEach(e=>this._injector.add(e)),this._injector.get(He)}onReady(){this._injector.get(_e.IRenderManagerService).registerRenderModule(s.UniverInstanceType.UNIVER_SHEET,[Ye]),this._injector.get(De),this._injector.get(exports.SheetsHyperLinkCopyPasteController),this._injector.get(Ue)}onRendered(){this._injector.get(Oe),this._injector.get(xe),this._injector.get(Ne)}};Ae(exports.UniverSheetsHyperLinkUIPlugin,"pluginName",Xe);Ae(exports.UniverSheetsHyperLinkUIPlugin,"packageName",Dt.name);Ae(exports.UniverSheetsHyperLinkUIPlugin,"version",Dt.version);Ae(exports.UniverSheetsHyperLinkUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsHyperLinkUIPlugin=Nn([s.DependentOn(m.UniverSheetsHyperLinkPlugin,Q.UniverDocsUIPlugin),Et(1,s.Inject(s.Injector)),Et(2,s.IConfigService)],exports.UniverSheetsHyperLinkUIPlugin);exports.CloseHyperLinkPopupOperation=Se;exports.InsertHyperLinkOperation=je;exports.InsertLinkShortcut=Qe;exports.OpenHyperLinkEditPanelOperation=Me;exports.SheetsHyperLinkSidePanelService=Ge;