@univerjs/sheets-hyper-link-ui 0.10.10 → 0.10.11

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 At=Object.defineProperty;var Bt=(e,n,t)=>n in e?At(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var F=(e,n,t)=>Bt(e,typeof n!="symbol"?n+"":n,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),C=require("@univerjs/sheets"),E=require("@univerjs/sheets-ui"),Se=require("@univerjs/docs"),ee=require("@univerjs/docs-ui"),ye=require("@univerjs/engine-render"),S=require("@univerjs/ui"),D=require("rxjs"),_=require("react/jsx-runtime"),T=require("@univerjs/design"),q=require("@univerjs/engine-formula"),Vt=require("@univerjs/sheets-formula-ui"),I=require("@univerjs/sheets-hyper-link"),f=require("react"),It=require("@univerjs/sheets-data-validation");var y=(e=>(e.EDITING="editing",e.VIEWING="viewing",e.ZEN_EDITOR="zen_mode",e))(y||{});function Pe(e){return s.Tools.isLegalUrl(e)}function $t(e){return/^[a-zA-Z]+:\/\//.test(e)}function Ft(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function Zt(e){if(Pe(e)){const n=$t(e)?e:Ft(e)?`mailto://${e}`:`http://${e}`;let t;try{t=new URL(n)}catch{return e}return t.hostname===location.hostname&&t.port===location.port&&t.protocol===location.protocol&&t.pathname===location.pathname&&t.hash&&!t.search?t.hash:n}return e}const Rt="sheets-hyper-link-ui.config",St={};var Kt=Object.getOwnPropertyDescriptor,Wt=(e,n,t,r)=>{for(var i=r>1?void 0:r?Kt(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},le=(e,n)=>(t,r)=>n(t,r,e);function Yt(e,n){const t=n.getMergeData(),r=n.getMaxColumns()-1,i=n.getMaxRows()-1;if(r<e.endColumn&&(e.endColumn=r),i<e.endRow&&(e.endRow=i),e.rangeType===s.RANGE_TYPE.COLUMN||s.RANGE_TYPE.ROW)return e;const o=[];return t.forEach(a=>{s.Rectangle.intersects(e,a)&&o.push(a)}),s.Rectangle.realUnion(e,...o)}exports.SheetsHyperLinkResolverService=class{constructor(n,t,r,i,o,a){this._univerInstanceService=n,this._commandService=t,this._definedNamesService=r,this._messageService=i,this._localeService=o,this._configService=a}navigate(n){switch(n.type){case I.SheetHyperLinkType.URL:this.navigateToOtherWebsite(n.url);break;default:this._navigateToUniver(n.searchObj)}}_navigateToUniver(n){const{gid:t,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(t){if(r){const u=q.deserializeRangeWithSheet(r);s.isValidRange(u.range)&&r!==I.ERROR_RANGE&&this.navigateToRange(a,t,u.range);return}this.navigateToSheetById(a,t)}}async navigateToRange(n,t,r,i){const o=await this.navigateToSheetById(n,t);if(o){const a=Yt(r,o);await this._commandService.executeCommand(C.SetSelectionsOperation.id,{unitId:n,subUnitId:t,selections:[{range:a,primary:null}]}),await this._commandService.executeCommand(E.ScrollToRangeOperation.id,{range:a,forceTop:i})}}async navigateToSheetById(n,t){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()===t)return i;const o=r.getSheetBySheetId(t);return o?r.getHiddenWorksheets().indexOf(t)>-1?(this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:T.MessageType.Error}),!1):await this._commandService.executeCommand(C.SetWorksheetActiveOperation.id,{unitId:n,subUnitId:t})?o:!1:(this._messageService.show({content:this._localeService.t("hyperLink.message.noSheet"),type:T.MessageType.Error}),!1)}async navigateToDefineName(n,t){return this._definedNamesService.focusRange(n,t),!0}async navigateToOtherWebsite(n){var r;const t=this._configService.getConfig(Rt);if((r=t==null?void 0:t.urlHandler)!=null&&r.navigateToOtherWebsite)return t.urlHandler.navigateToOtherWebsite(n);window.open(n,"_blank","noopener noreferrer")}};exports.SheetsHyperLinkResolverService=Wt([le(0,s.IUniverInstanceService),le(1,s.ICommandService),le(2,q.IDefinedNamesService),le(3,S.IMessageService),le(4,s.Inject(s.LocaleService)),le(5,s.IConfigService)],exports.SheetsHyperLinkResolverService);class Ge extends s.Disposable{constructor(){super(...arguments);F(this,"_customHyperLinks",new Map)}isBuiltInLinkType(t){return t!==I.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:t})=>t)}findCustomHyperLink(t){return Array.from(this._customHyperLinks.values()).find(i=>i.match(t))}registerCustomHyperLink(t){this._customHyperLinks.set(t.type,t)}getCustomHyperLink(t){return this._customHyperLinks.get(t)}removeCustomHyperLink(t){const{_customHyperLinks:r}=this;r.delete(t)}dispose(){super.dispose(),this._customHyperLinks.clear()}}const Te=()=>{var nt;const[e,n]=f.useState(""),[t,r]=f.useState(!1),[i,o]=f.useState(""),[a,u]=f.useState(!0),[l,h]=f.useState(I.SheetHyperLinkType.URL),[d,p]=f.useState(""),m=S.useDependency(s.LocaleService),v=S.useDependency(q.IDefinedNamesService),R=S.useDependency(E.IEditorBridgeService),P=S.useDependency(s.IUniverInstanceService),L=S.useDependency(exports.SheetsHyperLinkPopupService),c=S.useObservable(L.currentEditing$),k=S.useDependency(I.SheetsHyperLinkParserService),M=S.useDependency(exports.SheetsHyperLinkResolverService),N=S.useDependency(s.ICommandService),H=S.useDependency(Ge),B=f.useMemo(()=>H.getOptions(),[H]),A=S.useDependency(S.IZenZoneService),G=S.useDependency(ye.IRenderManagerService),te=S.useDependency(E.IMarkSelectionService),fe=S.useDependency(Se.DocSelectionManagerService),ne=S.useDependency(s.IContextService),de=S.useDependency(s.ThemeService),pe=S.useDependency(Se.DocSelectionManagerService),[he,Ce]=f.useState(!1),ae=S.useDependency(C.SheetsSelectionsService),Nt=f.useMemo(()=>ae.getCurrentSelections(),[]),Ee=f.useMemo(()=>{if(!H.isBuiltInLinkType(l))return H.getCustomHyperLink(l)},[H,l]),[ce,Ht]=f.useState(!1),[ge,et]=f.useState(!1),V=f.useRef(!1),Z=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),xt=(Z==null?void 0:Z.getActiveSheet().getSheetId())||"",X=f.useCallback(g=>{o(g.replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))},[o]);f.useEffect(()=>{var g,w,b,O,U,K,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:re,row:Fe,col:Ze}=c;let{label:z}=c;typeof z=="number"&&(z=`${z}`);let W;if(re)W={id:(g=re==null?void 0:re.rangeId)!=null?g:"",display:z!=null?z:"",payload:(b=(w=re==null?void 0:re.properties)==null?void 0:w.url)!=null?b:"",row:Fe,column:Ze};else if(c.type===y.VIEWING){const x=P.getUnit(c.unitId),Q=x==null?void 0:x.getSheetBySheetId(c.subUnitId),j=Q==null?void 0:Q.getCellRaw(c.row,c.col),ue=(K=(U=(O=j==null?void 0:j.p)==null?void 0:O.body)==null?void 0:U.customRanges)==null?void 0:K.find(vt=>{var mt;return vt.rangeType===s.CustomRangeType.HYPERLINK&&((mt=vt.properties)==null?void 0:mt.url)}),ve=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(ve))&&u(!1),W={id:"",display:"",payload:(ot=(st=ue==null?void 0:ue.properties)==null?void 0:st.url)!=null?ot:"",row:Fe,column:Ze}}else{const x=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC),Q=fe.getActiveTextRange(),j=x==null?void 0:x.getBody(),ue=Q&&j?Q:null,ve=ue&&((ct=s.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(ue,(at=j==null?void 0:j.customRanges)!=null?at:[]))==null?void 0:ct[0]);u(!1),W={id:"",display:z!=null?z:"",payload:(lt=(ut=ve==null?void 0:ve.properties)==null?void 0:ut.url)!=null?lt:"",row:Fe,column:Ze}}n(W.id);const gt=H.findCustomHyperLink(W);if(gt){const x=gt.convert(W);h(x.type),p(x.payload),X(x.display);return}X(W.display);const J=k.parseHyperLink(W.payload);switch(h(J.type===I.SheetHyperLinkType.INVALID?I.SheetHyperLinkType.RANGE:J.type),J.type){case I.SheetHyperLinkType.URL:{p(J.url),J.url===W.display&&(V.current=!0);break}case I.SheetHyperLinkType.RANGE:{const x=J.searchObj,Q=x.gid&&(ht=(pt=(dt=P.getUnit(c.unitId))==null?void 0:dt.getSheetBySheetId(x.gid))==null?void 0:pt.getName())!=null?ht:"",j=q.serializeRangeWithSheet(Q,q.deserializeRangeWithSheet(x.range).range);p(j),j===W.display&&(V.current=!0);break}case I.SheetHyperLinkType.SHEET:{const x=J.searchObj;p(x.gid);break}case I.SheetHyperLinkType.DEFINE_NAME:{const x=J.searchObj;p(x.rangeid);break}default:p("");break}}},[c,M,H,fe,P]),f.useEffect(()=>{let g=null;if(c&&!c.customRangeId&&c.type===y.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),U=new s.ColorKit(de.getColorFromTheme("primary.600")).toRgb();g=te.addShape({range:O!=null?O:{startColumn:c.col,endColumn:c.col,startRow:c.row,endRow:c.row},style:{fill:`rgb(${U.r}, ${U.g}, ${U.b}, 0.12)`,strokeWidth:1,stroke:"#FFBD37",widgets:{}},primary:null},[],-1)}return()=>{g&&te.removeShape(g)}},[c,te,de,P]),f.useEffect(()=>{et(l===I.SheetHyperLinkType.RANGE)},[l]),f.useEffect(()=>{const g=(c==null?void 0:c.type)===y.ZEN_EDITOR?G.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY):G.getRenderById(R.getCurrentEditorId()),w=new s.DisposableCollection;if(g){const b=g.with(ee.DocSelectionRenderService);b.setReserveRangesStatus(!0),w.add(()=>{b.setReserveRangesStatus(!1)})}return()=>{R.disableForceKeepVisible(),w.dispose()}},[c==null?void 0:c.type,R,G]),f.useEffect(()=>(ge&&L.setIsKeepVisible(ge),L.setIsKeepVisible(he),()=>{L.setIsKeepVisible(!1)}),[ge,he,L]),f.useEffect(()=>()=>{A.temporaryHidden&&(A.show(),ne.setContextValue(s.FOCUSING_SHEET,!1))},[ne,A]),f.useEffect(()=>{if(ge)return R.enableForceKeepVisible(),()=>{R.disableForceKeepVisible()}},[ge,R]);const Ut=[{label:m.t("hyperLink.form.link"),value:I.SheetHyperLinkType.URL},{label:m.t("hyperLink.form.range"),value:I.SheetHyperLinkType.RANGE},{label:m.t("hyperLink.form.worksheet"),value:I.SheetHyperLinkType.SHEET},{label:m.t("hyperLink.form.definedName"),value:I.SheetHyperLinkType.DEFINE_NAME},...B];if(!Z)return;const Mt=Z.getHiddenWorksheets(),Be=Z.getSheets().map(g=>({label:g.getName(),value:g.getSheetId()})).filter(g=>Mt.indexOf(g.value)===-1),Ve=Object.values((nt=v.getDefinedNameMap(Z.getUnitId()))!=null?nt:{}).map(g=>({label:g.name,value:g.id})),tt=(g,w)=>{if(g===I.SheetHyperLinkType.URL)return Zt(w);if(g===I.SheetHyperLinkType.RANGE){const b=q.deserializeRangeWithSheet(w),O=Z.getSheetBySheetName(b.sheetName);if(O)return`#gid=${O.getSheetId()}&range=${q.serializeRange(b.range)}`}return`#${g}=${w}`},jt=S.useEvent(g=>{var U;const b=g.split(",").map(q.deserializeRangeWithSheet)[0];if(!b||!s.isValidRange(b.range))return;b.sheetName||(b.sheetName=((U=Z.getActiveSheet())==null?void 0:U.getName())||"");const O=q.serializeRangeToRefString(b);p(O),O&&(V.current||!i)&&(X(O),V.current=!0)}),$e=async()=>{if(a&&!i||!d||l===I.SheetHyperLinkType.URL&&!Pe(d)){Ht(!0);return}if(c)if(e){const g=c.type===y.ZEN_EDITOR||c.type===y.EDITING?I.UpdateRichHyperLinkCommand.id:I.UpdateHyperLinkCommand.id;await N.executeCommand(g,{id:e,unitId:c.unitId,subUnitId:c.subUnitId,payload:{display:a?i:"",payload:tt(l,d)},row:c.row,column:c.col,documentId:c.type===y.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:R.getCurrentEditorId()})}else{const g=c.type===y.ZEN_EDITOR||c.type===y.EDITING?I.AddRichHyperLinkCommand.id:I.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===y.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:R.getCurrentEditorId()})}if((c==null?void 0:c.type)===y.VIEWING){await N.executeCommand(C.SetWorksheetActiveOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId});const g=1;await N.executeCommand(E.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(_e.id)};return c?_.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?_.jsx(T.FormLayout,{label:m.t("hyperLink.form.label"),error:ce&&!i?m.t("hyperLink.form.inputError"):"",children:_.jsx(T.Input,{value:i,onChange:g=>{X(g),V.current=!1},placeholder:m.t("hyperLink.form.labelPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&$e()}})}):null,_.jsx(T.FormLayout,{label:m.t("hyperLink.form.type"),children:_.jsx(T.Select,{className:"univer-w-full",options:Ut,value:l,onChange:g=>{h(g),p("")}})}),l===I.SheetHyperLinkType.URL&&_.jsx(T.FormLayout,{error:ce?d?Pe(d)?"":m.t("hyperLink.form.linkError"):m.t("hyperLink.form.inputError"):"",children:_.jsx(T.Input,{value:d,onChange:g=>{p(g),g&&(V.current||!i||i===g)&&(X(g),V.current=!0)},placeholder:m.t("hyperLink.form.linkPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&$e()}})}),l===I.SheetHyperLinkType.RANGE&&_.jsx(T.FormLayout,{error:ce&&!d?m.t("hyperLink.form.inputError"):"",children:_.jsx(Vt.RangeSelector,{unitId:Z.getUnitId(),subUnitId:xt,maxRangeCount:1,supportAcrossSheet:!0,initialValue:d,resetRange:Nt,onChange:(g,w)=>jt(w),onRangeSelectorDialogVisibleChange:async g=>{var w,b;if(Ce(g),g)c.type===y.ZEN_EDITOR&&(A.hide(),ne.setContextValue(s.FOCUSING_SHEET,!0)),c.type!==y.VIEWING&&R.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===y.ZEN_EDITOR){await N.executeCommand(C.SetSelectionsOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId,selections:[{range:{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col}}]}),A.show(),ne.setContextValue(s.FOCUSING_SHEET,!1);const O=(w=G.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:w.with(ee.DocBackScrollRenderController),U=(b=pe.getTextRanges({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))==null?void 0:b[0];O&&U&&(O.scrollToRange(U),pe.refreshSelection({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))}R.disableForceKeepVisible(),r(!1)}},onFocusChange:g=>et(g)})}),l===I.SheetHyperLinkType.SHEET&&_.jsx(T.FormLayout,{error:ce&&!d?m.t("hyperLink.form.selectError"):"",children:_.jsx(T.Select,{className:"univer-w-full",options:Be,value:d,onChange:g=>{var O,U;p(g);const w=(O=Be.find(K=>K.value===g))==null?void 0:O.label,b=(U=Be.find(K=>K.value===d))==null?void 0:U.label;w&&(V.current||!i||i===b)&&(X(w),V.current=!0)}})}),l===I.SheetHyperLinkType.DEFINE_NAME&&_.jsx(T.FormLayout,{error:ce&&!d?m.t("hyperLink.form.selectError"):"",children:_.jsx(T.Select,{className:"univer-w-full",options:Ve,value:d,onChange:g=>{var O,U;p(g);const w=(O=Ve.find(K=>K.value===g))==null?void 0:O.label,b=(U=Ve.find(K=>K.value===d))==null?void 0:U.label;w&&(V.current||!i||i===b)&&(X(w),V.current=!0)}})}),(Ee==null?void 0:Ee.Form)&&_.jsx(Ee.Form,{linkId:e,payload:d,display:i,showError:ce,setByPayload:V,setDisplay:g=>{X(g),V.current=!0},setPayload:p}),_.jsxs("div",{className:"univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[_.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(_e.id)},children:m.t("hyperLink.form.cancel")}),_.jsx(T.Button,{variant:"primary",onClick:async()=>{$e()},children:m.t("hyperLink.form.ok")})]})]}):null};Te.componentKey="univer.sheet.cell-link-edit";var $=function(){return $=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++){n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},$.apply(this,arguments)},Gt=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)n.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(t[r[i]]=e[r[i]]);return t},oe=f.forwardRef(function(e,n){var t=e.icon,r=e.id,i=e.className,o=e.extend,a=Gt(e,["icon","id","className","extend"]),u="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),l=f.useRef("_".concat(Xt()));return Lt(t,"".concat(r),{defIds:t.defIds,idSuffix:l.current},$({ref:n,className:u},a),o)});function Lt(e,n,t,r,i){return f.createElement(e.tag,$($({key:n},zt(e,t,i)),r),(qt(e,t).children||[]).map(function(o,a){return Lt(o,"".concat(n,"-").concat(e.tag,"-").concat(a),t,void 0,i)}))}function zt(e,n,t){var r=$({},e.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1),e.tag==="mask"&&r.id&&(r.id=r.id+n.idSuffix),Object.entries(r).forEach(function(o){var a=o[0],u=o[1];a==="mask"&&typeof u=="string"&&(r[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))});var i=n.defIds;return!i||i.length===0||(e.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+n.idSuffix),Object.entries(r).forEach(function(o){var a=o[0],u=o[1];typeof u=="string"&&(r[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))})),r}function qt(e,n){var t,r=n.defIds;return!r||r.length===0?e:e.tag==="defs"&&(!((t=e.children)===null||t===void 0)&&t.length)?$($({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.includes(i.attrs.id)?$($({},i),{attrs:$($({},i.attrs),{id:i.attrs.id+n.idSuffix})}):i})}):e}function Xt(){return Math.random().toString(36).substring(2,8)}oe.displayName="UniverIcon";var 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:"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"}}]},Le=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"all-border-icon",ref:n,icon:Jt}))});Le.displayName="AllBorderIcon";var 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:"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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"copy-icon",ref:n,icon:Qt}))});Pt.displayName="CopyIcon";var en={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"link-icon",ref:n,icon:en}))});ze.displayName="LinkIcon";var tn={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"unlink-icon",ref:n,icon:tn}))});Tt.displayName="UnlinkIcon";var nn={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"write-icon",ref:n,icon:nn}))});kt.displayName="WriteIcon";var rn={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"xlsx-multi-icon",ref:n,icon:rn}))});wt.displayName="XlsxMultiIcon";const sn={[I.SheetHyperLinkType.URL]:_.jsx(ze,{}),[I.SheetHyperLinkType.SHEET]:_.jsx(wt,{className:"univer-text-green-500"}),[I.SheetHyperLinkType.RANGE]:_.jsx(Le,{}),[I.SheetHyperLinkType.DEFINE_NAME]:_.jsx(Le,{}),[I.SheetHyperLinkType.INVALID]:_.jsx(Le,{})},_t=e=>{var M,N;const n=S.useDependency(exports.SheetsHyperLinkPopupService),t=S.useDependency(s.ICommandService),r=S.useDependency(S.IMessageService),i=S.useDependency(s.LocaleService),o=S.useDependency(exports.SheetsHyperLinkResolverService),a=S.useDependency(E.IEditorBridgeService),u=S.useDependency(I.SheetsHyperLinkParserService),l=S.useDependency(S.IZenZoneService),{customRange:h,row:d,col:p,unitId:m,subUnitId:v,editPermission:R,copyPermission:P,type:L}=e;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===I.SheetHyperLinkType.INVALID;return _.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:[_.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:[_.jsx("div",{className:"univer-mr-2 univer-flex univer-h-5 univer-w-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:sn[c.type]}),_.jsx(T.Tooltip,{showIfEllipsis:!0,title:c.name,asChild:!0,children:_.jsx("span",{className:"univer-flex-1 univer-overflow-hidden univer-text-ellipsis",children:c.name})})]}),_.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",children:[P&&_.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!==I.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:_.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.copy"),children:_.jsx(Pt,{className:"dark:!univer-text-white"})})}),R&&_.jsxs(_.Fragment,{children:[_.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:()=>{t.executeCommand(je.id,{unitId:m,subUnitId:v,row:d,col:p,customRangeId:h.rangeId,type:L})},children:_.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.edit"),children:_.jsx(kt,{className:"dark:!univer-text-white"})})}),_.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===y.EDITING||L===y.ZEN_EDITOR?I.CancelRichHyperLinkCommand.id:I.CancelHyperLinkCommand.id;t.syncExecuteCommand(H,{unitId:m,subUnitId:v,id:h.rangeId,row:d,column:p,documentId:L===y.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:a.getCurrentEditorId()})&&n.hideCurrentPopup(void 0,!0)},children:_.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.cancel"),children:_.jsx(Tt,{className:"dark:!univer-text-white"})})})]})]})]})},ke=()=>{var i,o;const e=S.useDependency(exports.SheetsHyperLinkPopupService),[n,t]=f.useState(null),r=S.useDependency(s.IUniverInstanceService);if(f.useEffect(()=>{t(e.currentPopup);const a=e.currentPopup$.subscribe(u=>{t(u)});return()=>{a.unsubscribe()}},[e.currentPopup,e.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?_.jsx("div",{children:h.map(d=>_.jsx(_t,{...n,customRange:d},d.rangeId))}):null}return _.jsx(_t,{...n})};ke.componentKey="univer.sheet.cell-link-popup";var on=Object.getOwnPropertyDescriptor,an=(e,n,t,r)=>{for(var i=r>1?void 0:r?on(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},ie=(e,n)=>(t,r)=>n(t,r,e);const yt=(e,n)=>{var t,r;return e.unitId===n.unitId&&e.subUnitId===n.subUnitId&&e.row===n.row&&e.col===n.col&&((t=e.customRange)==null?void 0:t.rangeId)===((r=n.customRange)==null?void 0:r.rangeId)&&e.type===n.type};exports.SheetsHyperLinkPopupService=class extends s.Disposable{constructor(t,r,i,o,a,u,l){super();F(this,"_currentPopup",null);F(this,"_currentPopup$",new D.Subject);F(this,"currentPopup$",this._currentPopup$.asObservable());F(this,"_currentEditingPopup",null);F(this,"_currentEditing$",new D.BehaviorSubject(null));F(this,"currentEditing$",this._currentEditing$.asObservable());F(this,"_isKeepVisible",!1);this._sheetCanvasPopManagerService=t,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(t){this._isKeepVisible=t}getIsKeepVisible(){return this._isKeepVisible}showPopup(t){if(this._currentPopup&&yt(t,this._currentPopup)||(this.hideCurrentPopup(void 0,!0),t.type!==y.ZEN_EDITOR&&this._zenZoneService.visible))return;const r=this._currentEditing$.getValue();if(r&&yt(t,r))return;const{unitId:i,subUnitId:o,row:a,col:u,customRangeRect:l,customRange:h}=t;let d;const p={componentKey:ke.componentKey,direction:"bottom",onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(t.type,!0)}};if(t.type===y.EDITING){if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l,p)}else if(t.type===y.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(t.showAll)d=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,p,i,o);else{if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupByPosition(l,p,t)}d&&(this._currentPopup={unitId:i,subUnitId:o,disposable:d,row:a,col:u,editPermission:!!t.editPermission,copyPermission:!!t.copyPermission,customRange:h,type:t.type,showAll:t.showAll},this._currentPopup$.next(this._currentPopup))}hideCurrentPopup(t,r){var i,o;this._currentPopup&&((!t||t===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))}_getEditingRange(){var i,o,a;const t=this._editorBridgeService.isVisible().visible,r=this._editorBridgeService.getEditCellState();if(t&&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(m=>m.rangeType===s.CustomRangeType.HYPERLINK))!=null?a:[]);let d=u.startOffset,p=u.endOffset;return h.forEach(m=>{d=Math.min(d,m.startIndex),p=Math.max(p,m.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:Te.componentKey,direction:"vertical",onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:"hide"}}startAddEditing(t){var a,u,l,h,d;const{unitId:r,subUnitId:i,type:o}=t;if(o===y.ZEN_EDITOR){const p=this._univerInstanceService.getUnit(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,s.UniverInstanceType.UNIVER_DOC);if(!p)return;const m=this._textSelectionManagerService.getActiveTextRange();if(!m)return;this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange(m,this._editPopup,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY);const v=(a=p.getBody())==null?void 0:a.dataStream.slice(m.startOffset,m.endOffset);this._currentEditing$.next({...t,label:v})}else if(o===y.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 m=this._injector.get(ye.IRenderManagerService).getRenderById(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!m)return;const v=ee.calcDocRangePositions(p,m);if(!(v!=null&&v.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(v.pop(),this._editPopup,r,i),this._currentEditing$.next({...t,label:(u=p==null?void 0:p.label)!=null?u:""})}else{this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,r,i);const p=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_SHEET),m=p==null?void 0:p.getSheetBySheetId(i),v=m==null?void 0:m.getCellRaw(t.row,t.col);this._currentEditing$.next({...t,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(t){var u,l,h,d,p,m;(u=this._currentEditingPopup)==null||u.dispose(),this.hideCurrentPopup(void 0,!0);const{unitId:r,subUnitId:i}=t;let o,a;if(t.type===y.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(R=>R.rangeId===t.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(t.type===y.EDITING){const v=E.getEditingCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.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),R=v==null?void 0:v.getSheetBySheetId(i),P=R==null?void 0:R.getCellRaw(t.row,t.col),L=v==null?void 0:v.getStyles().getStyleByCell(P),c=L==null?void 0:L.tr,k=E.getCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.customRangeId);if(!k||!((m=k.rects)!=null&&m.length))return;o=k.customRange,a=k.label,c?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,r,i):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(k.rects.pop(),this._editPopup,{unitId:r,subUnitId:i,row:t.row,col:t.col})}this._currentEditing$.next({...t,customRange:o,label:a})}endEditing(t){var i;if(this.getIsKeepVisible())return;const r=this._currentEditing$.getValue();r&&(!t||t===r.type)&&((i=this._currentEditingPopup)==null||i.dispose(),this._currentEditing$.next(null))}};exports.SheetsHyperLinkPopupService=an([ie(0,s.Inject(E.SheetCanvasPopManagerService)),ie(1,s.Inject(s.Injector)),ie(2,s.IUniverInstanceService),ie(3,E.IEditorBridgeService),ie(4,s.Inject(Se.DocSelectionManagerService)),ie(5,s.Inject(ee.DocCanvasPopManagerService)),ie(6,S.IZenZoneService)],exports.SheetsHyperLinkPopupService);var Ie=(e=>(e[e.ALLOWED=0]="ALLOWED",e[e.DISABLED_BY_CELL=1]="DISABLED_BY_CELL",e[e.ALLOW_ON_EDITING=2]="ALLOW_ON_EDITING",e))(Ie||{});const cn=new Set([s.DataValidationType.CHECKBOX,s.DataValidationType.LIST,s.DataValidationType.LIST_MULTIPLE]),qe=(e,n,t,r)=>{var u,l,h,d,p;const i=n.getCell(t,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=e.has(It.SheetDataValidationModel)?e.get(It.SheetDataValidationModel):null,a=o==null?void 0:o.getRuleByLocation(n.getUnitId(),n.getSheetId(),t,r);return a&&cn.has(a.type)?!0:(p=(d=i==null?void 0:i.p)==null?void 0:d.drawingsOrder)!=null&&p.length?2:0},un=e=>{const n=e.get(s.IUniverInstanceService).getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);if(!n)return!0;const t=n.getActiveSheet(),r=e.get(C.SheetsSelectionsService).getCurrentSelections();if(!r.length)return!0;const i=r[0].range.startRow,o=r[0].range.startColumn;return qe(e,t,i,o)===1},ln=e=>{const n=e.get(Se.DocSelectionManagerService),t=e.get(s.IUniverInstanceService),r=n.getTextRanges();if(!(r!=null&&r.length))return!0;const i=t.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);return!!(!i||r.every(a=>a.collapsed)||!i.getSelfOrHeaderFooterModel(r[0].segmentId).getBody())},je={type:s.CommandType.OPERATION,id:"sheet.operation.open-hyper-link-edit-panel",handler(e,n){if(!n)return!1;const t=e.get(exports.SheetsHyperLinkPopupService);return n.customRangeId?t.startEditing(n):t.startAddEditing(n),!0}},_e={type:s.CommandType.OPERATION,id:"sheet.operation.close-hyper-link-popup",handler(e){return e.get(exports.SheetsHyperLinkPopupService).endEditing(),!0}},Ae={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link",handler(e){var p;const n=e.get(s.IUniverInstanceService),t=C.getSheetCommandTarget(n),r=e.get(E.IEditorBridgeService);if(!t)return!1;const i=e.get(s.ICommandService),a=e.get(C.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(je.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:u,col:l,type:d?y.ZEN_EDITOR:h.visible?y.EDITING:y.VIEWING})}},se={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link-toolbar",handler(e){if(un(e))return!1;const n=e.get(s.ICommandService);return e.get(exports.SheetsHyperLinkPopupService).currentEditing?n.executeCommand(_e.id):n.executeCommand(Ae.id)}},Xe="SHEET_HYPER_LINK_UI_PLUGIN";var dn=Object.getOwnPropertyDescriptor,pn=(e,n,t,r)=>{for(var i=r>1?void 0:r?dn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Re=(e,n)=>(t,r)=>n(t,r,e);exports.SheetsHyperLinkCopyPasteController=class extends s.Disposable{constructor(t,r,i,o){super();F(this,"_plainTextFilter",new Set);F(this,"_copyInfo");this._sheetClipboardService=t,this._hyperLinkModel=r,this._injector=i,this._resolverService=o,this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}registerPlainTextFilter(t){this._plainTextFilter.add(t)}removePlainTextFilter(t){this._plainTextFilter.delete(t)}_filterPlainText(t){return Array.from(this._plainTextFilter).every(r=>r(t))}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:Xe,onBeforeCopy:(t,r,i)=>this._collect(t,r,i),onPasteCells:(t,r,i,o)=>{const{copyType:a=E.COPY_TYPE.COPY,pasteType:u}=o,{range:l}=t||{},{range:h,unitId:d,subUnitId:p}=r;return this._generateMutations(h,{copyType:a,pasteType:u,copyRange:l,unitId:d,subUnitId:p})},onPastePlainText:(t,r)=>{const i=this._filterPlainText(r);if(Pe(r)&&i){const{range:o,unitId:a,subUnitId:u}=t,{ranges:[l],mapFunc:h}=E.virtualizeDiscreteRanges([o]),d=[],p=[];return s.Range.foreach(l,(m,v)=>{const{row:R,col:P}=h(m,v),L=this._hyperLinkModel.getHyperLinkByLocation(a,u,R,P);L&&d.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:a,subUnitId:u,id:L.id}}),L&&p.push({id:I.AddHyperLinkMutation.id,params:{unitId:a,subUnitId:u,link:L}})}),{redos:d,undos:p}}return{undos:[],redos:[]}},priority:99})}_collect(t,r,i){const o=new s.ObjectMatrix;this._copyInfo={unitId:t,subUnitId:r,matrix:o};const a=this._injector.invoke(h=>C.rangeToDiscreteRange(i,h,t,r));if(!a)return;const{rows:u,cols:l}=a;u.forEach((h,d)=>{l.forEach((p,m)=>{var R;const v=this._hyperLinkModel.getHyperLinkByLocation(t,r,h,p);o.setValue(d,m,(R=v==null?void 0:v.id)!=null?R:"")})})}_generateMutations(t,r){if(!this._copyInfo)return{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!r.copyRange)return{redos:[],undos:[]};if([E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA].includes(r.pasteType))return{redos:[],undos:[]};const{unitId:o,subUnitId:a}=this._copyInfo,u=[],l=[],{ranges:[h,d],mapFunc:p}=E.virtualizeDiscreteRanges([r.copyRange,t]);return E.getRepeatRange(h,d,!0).forEach(({startRange:v})=>{var R;(R=this._copyInfo)==null||R.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),B=this._hyperLinkModel.getHyperLinkByLocation(r.unitId,r.subUnitId,N,H),A=s.generateRandomId();B&&u.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:B.id}}),M&&(u.push({id:I.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:{...M,id:A,row:N,column:H}}}),l.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:A}})),B&&l.push({id:I.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:B}})})}),{redos:u,undos:l}}};exports.SheetsHyperLinkCopyPasteController=pn([Re(0,E.ISheetClipboardService),Re(1,s.Inject(I.HyperLinkModel)),Re(2,s.Inject(s.Injector)),Re(3,s.Inject(exports.SheetsHyperLinkResolverService))],exports.SheetsHyperLinkCopyPasteController);const Je=(e,n=s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)=>{var i;const t=e.get(s.IUniverInstanceService),r=(i=e.get(ye.IRenderManagerService).getRenderById(n))==null?void 0:i.with(ee.DocSelectionRenderService);return r?r.textSelectionInner$.pipe(D.map(()=>{const a=e.get(E.IEditorBridgeService).getEditCellState();if(!a)return!0;const u=C.getSheetCommandTarget(t,{unitId:a.unitId,subUnitId:a.sheetId});return!(u!=null&&u.worksheet)||qe(e,u.worksheet,a.row,a.column)===1?!0:ln(e)})):D.of(!0)},bt=e=>{var i;const n=e.get(s.IUniverInstanceService),t=e.has(E.IEditorBridgeService)?e.get(E.IEditorBridgeService):null;return((i=t==null?void 0:t.currentEditCellState$.pipe(D.map(o=>{if(!o)return Ie.DISABLED_BY_CELL;const a=C.getSheetCommandTarget(n,{unitId:o.unitId,subUnitId:o.sheetId});return a?qe(e,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=t?t.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(e,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):E.getCurrentRangeDisable$(e,{workbookTypes:[C.WorkbookEditablePermission],worksheetTypes:[C.WorksheetEditPermission,C.WorksheetSetCellValuePermission,C.WorksheetInsertHyperlinkPermission],rangeTypes:[C.RangeProtectionPermissionEditPoint]},!0)))},we={commandId:Ae.id,type:S.MenuItemType.BUTTON,title:"hyperLink.menu.add",icon:"LinkIcon"},be=e=>`${e}-zen-editor`,hn=e=>({...we,id:we.commandId,hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:bt(e)}),gn=e=>({...we,id:be(we.commandId),hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Je(e)}),De={tooltip:"hyperLink.form.addTitle",commandId:se.id,type:S.MenuItemType.BUTTON,icon:"LinkIcon"},vn=e=>({...De,id:De.commandId,hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:bt(e)}),mn=e=>({...De,id:be(De.commandId),hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Je(e)}),Qe={id:se.id,binding:S.KeyCode.K|S.MetaKeys.CTRL_COMMAND,preconditions:E.whenSheetEditorFocused};var In=Object.getOwnPropertyDescriptor,Sn=(e,n,t,r)=>{for(var i=r>1?void 0:r?In(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},ft=(e,n)=>(t,r)=>n(t,r,e);let Oe=class extends s.Disposable{constructor(e,n){super(),this._autoFillService=e,this._hyperLinkModel=n,this._initAutoFill()}_initAutoFill(){const e=()=>({redos:[],undos:[]}),n=(r,i)=>{const{source:o,target:a,unitId:u,subUnitId:l}=r,h=E.virtualizeDiscreteRanges([o,a]),[d,p]=h.ranges,{mapFunc:m}=h,v={row:d.startRow,col:d.startColumn},R=E.getAutoFillRepeatRange(d,p),P=[],L=[];return R.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,(B,A)=>{const G=s.Rectangle.getPositionRange({startRow:B,startColumn:A,endColumn:A,endRow:B},N),{row:te,col:fe}=m(G.startRow,G.startColumn),ne=this._hyperLinkModel.getHyperLinkByLocation(u,l,te,fe),de=s.Rectangle.getPositionRange({startRow:B,startColumn:A,endColumn:A,endRow:B},H),{row:pe,col:he}=m(de.startRow,de.startColumn),Ce=s.generateRandomId(),ae=this._hyperLinkModel.getHyperLinkByLocation(u,l,pe,he);ae&&P.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:ae.id}}),(E.APPLY_TYPE.COPY===i||E.APPLY_TYPE.SERIES===i)&&ne&&(P.push({id:I.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:{...ne,id:Ce,row:pe,column:he}}}),L.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:Ce}})),ae&&L.push({id:I.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:ae}})})}),{undos:L,redos:P}},t={id:Xe,onFillData:(r,i,o)=>o===E.APPLY_TYPE.COPY||o===E.APPLY_TYPE.ONLY_FORMAT||o===E.APPLY_TYPE.SERIES?n(r,o):e()};this.disposeWithMe(this._autoFillService.addHook(t))}};Oe=Sn([ft(0,E.IAutoFillService),ft(1,s.Inject(I.HyperLinkModel))],Oe);var _n=Object.getOwnPropertyDescriptor,yn=(e,n,t,r)=>{for(var i=r>1?void 0:r?_n(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Ke=(e,n)=>(t,r)=>n(t,r,e);let Ne=class extends s.Disposable{constructor(e,n,t){super(),this._localeService=e,this._commandService=n,this._sheetPermissionCheckController=t,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===Qe.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[C.WorkbookEditablePermission],rangeTypes:[C.RangeProtectionPermissionEditPoint],worksheetTypes:[C.WorksheetEditPermission,C.WorksheetSetCellValuePermission,C.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.hyperLinkErr")))}))}};Ne=yn([Ke(0,s.Inject(s.LocaleService)),Ke(1,s.ICommandService),Ke(2,s.Inject(C.SheetPermissionCheckController))],Ne);var fn=Object.getOwnPropertyDescriptor,Cn=(e,n,t,r)=>{for(var i=r>1?void 0:r?fn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Y=(e,n)=>(t,r)=>n(t,r,e);let He=class extends s.Disposable{constructor(e,n,t,r,i,o,a,u,l,h){super(),this._hoverManagerService=e,this._sheetsHyperLinkPopupService=n,this._renderManagerService=t,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(e){const{unitId:n,subUnitId:t,row:r,col:i}=e,o=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET),a=o==null?void 0:o.getSheetBySheetId(t);if(!a)return{viewPermission:!1,editPermission:!1,copyPermission:!1};const u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[C.WorkbookViewPermission],worksheetTypes:[C.WorksheetViewPermission],rangeTypes:[C.RangeProtectionPermissionViewPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}]);let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[C.WorkbookEditablePermission],worksheetTypes:[C.WorksheetEditPermission,C.WorksheetInsertHyperlinkPermission],rangeTypes:[C.RangeProtectionPermissionEditPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}]);const h=a.getCellRaw(r,i);h!=null&&h.f&&h.f.startsWith("=HYPERLINK(")&&(l=!1);const d=this._permissionService.composePermission([new C.WorkbookCopyPermission(n).id,new C.WorksheetCopyPermission(n,t).id]).every(p=>p.value);return{viewPermission:u,editPermission:l,copyPermission:d}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe(D.debounceTime(200)).subscribe(e=>{var N,H,B;if(!e||((N=e.customRange)==null?void 0:N.rangeType)!==s.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const{unitId:n,subUnitId:t,row:r,col:i}=e,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(t);if(!u)return;if(!o.with(E.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(y.VIEWING);return}const h=(H=o==null?void 0:o.with(E.SheetSkeletonManagerService).getSkeletonParam(t))==null?void 0:H.skeleton,d=i,p=r;let m=p,v=d;h&&h.overflowCache.forValue((A,G,te)=>{s.Rectangle.contains(te,{startColumn:d,endColumn:d,startRow:p,endRow:p})&&(m=A,v=G)});const{viewPermission:R,editPermission:P,copyPermission:L}=this._getLinkPermission(e);if(!R){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const c=u.getCellStyleOnly(m,v),k=a.getStyles().getStyleByCell(c),M=(B=k==null?void 0:k.tr)==null?void 0:B.a;if(!M&&!e.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:m,col:v,editPermission:P,copyPermission:L,customRange:e.customRange,customRangeRect:e.rect,type:y.VIEWING,unitId:n,subUnitId:t,showAll:!!M})}))}_initHoverEditingListener(){let e=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe(D.switchMap(n=>this._editorBridgeService.visible$.pipe(D.map(t=>({visible:t,state:n}))))).subscribe(({visible:n,state:t})=>{if(!t||t.editorUnitId!==s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){e==null||e.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(y.EDITING),this._sheetsHyperLinkPopupService.endEditing(y.EDITING);return}const{editorUnitId:r,unitId:i,sheetId:o,row:a,column:u}=t,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}),m=l.with(ee.DocEventManagerService);d&&(e==null||e.unsubscribe(),e=m.hoverCustomRanges$.pipe(D.debounceTime(200)).subscribe(v=>{var k,M;const R=v.find(N=>N.range.rangeType===s.CustomRangeType.HYPERLINK);if(!R){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const P=R.rects[R.rects.length-1];if(!((M=(k=this._renderManagerService.getRenderById(i))==null?void 0:k.with(E.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:R.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:y.EDITING})}))})),this.disposeWithMe(()=>{e==null||e.unsubscribe()})}_initZenEditor(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e?(this._sheetsHyperLinkPopupService.hideCurrentPopup(y.VIEWING),this._sheetsHyperLinkPopupService.hideCurrentPopup(y.EDITING),this._sheetsHyperLinkPopupService.endEditing(y.EDITING),this._sheetsHyperLinkPopupService.hideCurrentPopup(y.VIEWING)):(this._sheetsHyperLinkPopupService.hideCurrentPopup(y.ZEN_EDITOR),this._sheetsHyperLinkPopupService.endEditing(y.ZEN_EDITOR))})),this.disposeWithMe(this._univerInstanceService.focused$.pipe(D.switchMap(e=>{const n=e===s.DOCS_ZEN_EDITOR_UNIT_ID_KEY?this._renderManagerService.getRenderById(e):null;return n?n.with(ee.DocEventManagerService).hoverCustomRanges$.pipe(D.debounceTime(200)):new D.Observable(t=>{t.next(null)})})).subscribe(e=>{const n=e==null?void 0:e.find(r=>r.range.rangeType===s.CustomRangeType.HYPERLINK),t=this._editorBridgeService.getEditCellState();if(n&&t){const{unitId:r,sheetId:i,row:o,column:a}=t,{editPermission:u,viewPermission:l,copyPermission:h}=this._getLinkPermission({unitId:r,subUnitId:i,row:o,col:a});l&&this._sheetsHyperLinkPopupService.showPopup({type:y.ZEN_EDITOR,unitId:r,subUnitId:i,row:o,col:a,customRange:n.range,editPermission:u,copyPermission:h})}else this._sheetsHyperLinkPopupService.hideCurrentPopup(y.ZEN_EDITOR)}))}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(e=>{e&&e.unitId===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(y.EDITING)}))}_initCommandListener(){const e=[C.ClearSelectionContentCommand.id,C.ClearSelectionAllCommand.id,C.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{e.includes(n.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};He=Cn([Y(0,s.Inject(E.HoverManagerService)),Y(1,s.Inject(exports.SheetsHyperLinkPopupService)),Y(2,s.Inject(ye.IRenderManagerService)),Y(3,s.Inject(s.IPermissionService)),Y(4,s.Inject(C.SheetPermissionCheckController)),Y(5,s.ICommandService),Y(6,E.IEditorBridgeService),Y(7,s.Inject(Se.DocSelectionManagerService)),Y(8,s.IUniverInstanceService),Y(9,S.IZenZoneService)],He);var En=Object.getOwnPropertyDescriptor,Dt=(e,n,t,r)=>{for(var i=r>1?void 0:r?En(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},We=(e,n)=>(t,r)=>n(t,r,e);let Ye=class extends s.Disposable{constructor(e,n){super(),this._context=e,this._hyperLinkModel=n,this._initSkeletonChange()}_initSkeletonChange(){const e=()=>{var n;(n=this._context.mainComponent)==null||n.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe(D.debounceTime(16)).subscribe(()=>{e()}))}};Ye=Dt([We(1,s.Inject(I.HyperLinkModel))],Ye);let xe=class extends s.Disposable{constructor(e,n){super(),this._sheetInterceptorService=e,this._hyperLinkModel=n,this._initViewModelIntercept()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(C.INTERCEPTOR_POINT.CELL_CONTENT,{effect:s.InterceptorEffectEnum.Value,priority:100,handler:(e,n,t)=>{const{row:r,col:i,unitId:o,subUnitId:a}=n,u=this._hyperLinkModel.getHyperLinkByLocation(o,a,r,i);return u&&e&&(e===n.rawData&&(e={...n.rawData}),e.linkUrl=u.payload,e.linkId=u.id),t(e)}}))}};xe=Dt([We(0,s.Inject(C.SheetInterceptorService)),We(1,s.Inject(I.HyperLinkModel))],xe);const Rn={[S.RibbonInsertGroup.MEDIA]:{[se.id]:{order:1,menuItemFactory:vn},[be(se.id)]:{order:1,menuItemFactory:mn}},[S.ContextMenuPosition.MAIN_AREA]:{[S.ContextMenuGroup.OTHERS]:{order:1,[se.id]:{order:0,menuItemFactory:hn},[be(se.id)]:{order:0,menuItemFactory:gn}}}};var Ln=Object.getOwnPropertyDescriptor,Pn=(e,n,t,r)=>{for(var i=r>1?void 0:r?Ln(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},me=(e,n)=>(t,r)=>n(t,r,e);let Ue=class extends s.Disposable{constructor(e,n,t,r,i){super(),this._componentManager=e,this._commandService=n,this._menuManagerService=t,this._injector=r,this._shortcutService=i,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortCut()}_initComponents(){[[ke.componentKey,ke],[Te.componentKey,Te],["LinkIcon",ze]].forEach(([e,n])=>{this._componentManager.register(e,n)})}_initCommands(){[je,_e,Ae,se].forEach(e=>{this._commandService.registerCommand(e)})}_initMenus(){this._menuManagerService.mergeMenu(Rn)}_initShortCut(){this._shortcutService.registerShortcut(Qe)}};Ue=Pn([me(0,s.Inject(S.ComponentManager)),me(1,s.ICommandService),me(2,S.IMenuManagerService),me(3,s.Inject(s.Injector)),me(4,s.Inject(S.IShortcutService))],Ue);var Tn=Object.getOwnPropertyDescriptor,kn=(e,n,t,r)=>{for(var i=r>1?void 0:r?Tn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Ct=(e,n)=>(t,r)=>n(t,r,e);let Me=class extends s.Disposable{constructor(e,n){super(),this._parserService=e,this._resolverService=n,this._handleInitUrl()}_handleInitUrl(){const e=location.hash;if(e){const n=this._parserService.parseHyperLink(e);this._resolverService.navigate(n)}}};Me=kn([Ct(0,s.Inject(I.SheetsHyperLinkParserService)),Ct(1,s.Inject(exports.SheetsHyperLinkResolverService))],Me);var wn=Object.defineProperty,bn=Object.getOwnPropertyDescriptor,Dn=(e,n,t)=>n in e?wn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,On=(e,n,t,r)=>{for(var i=r>1?void 0:r?bn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Et=(e,n)=>(t,r)=>n(t,r,e),Ot=(e,n,t)=>Dn(e,typeof n!="symbol"?n+"":n,t);exports.UniverSheetsHyperLinkUIPlugin=class extends s.Plugin{constructor(n=St,t,r){super(),this._config=n,this._injector=t,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],[xe],[He],[Ue],[Oe],[exports.SheetsHyperLinkCopyPasteController],[Ne],[Me]].forEach(t=>this._injector.add(t)),this._injector.get(xe)}onReady(){this._injector.get(ye.IRenderManagerService).registerRenderModule(s.UniverInstanceType.UNIVER_SHEET,[Ye]),this._injector.get(Oe),this._injector.get(exports.SheetsHyperLinkCopyPasteController),this._injector.get(Ue)}onRendered(){this._injector.get(Ne),this._injector.get(Me),this._injector.get(He)}};Ot(exports.UniverSheetsHyperLinkUIPlugin,"pluginName",Xe);Ot(exports.UniverSheetsHyperLinkUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsHyperLinkUIPlugin=On([s.DependentOn(I.UniverSheetsHyperLinkPlugin,ee.UniverDocsUIPlugin),Et(1,s.Inject(s.Injector)),Et(2,s.IConfigService)],exports.UniverSheetsHyperLinkUIPlugin);exports.CloseHyperLinkPopupOperation=_e;exports.InsertHyperLinkOperation=Ae;exports.InsertLinkShortcut=Qe;exports.OpenHyperLinkEditPanelOperation=je;exports.SheetsHyperLinkSidePanelService=Ge;
1
+ "use strict";var At=Object.defineProperty;var Bt=(e,n,t)=>n in e?At(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var F=(e,n,t)=>Bt(e,typeof n!="symbol"?n+"":n,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@univerjs/core"),C=require("@univerjs/sheets"),E=require("@univerjs/sheets-ui"),Se=require("@univerjs/docs"),ee=require("@univerjs/docs-ui"),ye=require("@univerjs/engine-render"),S=require("@univerjs/ui"),D=require("rxjs"),_=require("react/jsx-runtime"),T=require("@univerjs/design"),q=require("@univerjs/engine-formula"),Vt=require("@univerjs/sheets-formula-ui"),I=require("@univerjs/sheets-hyper-link"),f=require("react"),It=require("@univerjs/sheets-data-validation");var y=(e=>(e.EDITING="editing",e.VIEWING="viewing",e.ZEN_EDITOR="zen_mode",e))(y||{});function Pe(e){return s.Tools.isLegalUrl(e)}function $t(e){return/^[a-zA-Z]+:\/\//.test(e)}function Ft(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function Zt(e){if(Pe(e)){const n=$t(e)?e:Ft(e)?`mailto://${e}`:`http://${e}`;let t;try{t=new URL(n)}catch{return e}return t.hostname===location.hostname&&t.port===location.port&&t.protocol===location.protocol&&t.pathname===location.pathname&&t.hash&&!t.search?t.hash:n}return e}const Rt="sheets-hyper-link-ui.config",St={};var Kt=Object.getOwnPropertyDescriptor,Wt=(e,n,t,r)=>{for(var i=r>1?void 0:r?Kt(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},le=(e,n)=>(t,r)=>n(t,r,e);function Yt(e,n){const t=n.getMergeData(),r=n.getMaxColumns()-1,i=n.getMaxRows()-1;if(r<e.endColumn&&(e.endColumn=r),i<e.endRow&&(e.endRow=i),e.rangeType===s.RANGE_TYPE.COLUMN||s.RANGE_TYPE.ROW)return e;const o=[];return t.forEach(a=>{s.Rectangle.intersects(e,a)&&o.push(a)}),s.Rectangle.realUnion(e,...o)}exports.SheetsHyperLinkResolverService=class{constructor(n,t,r,i,o,a){this._univerInstanceService=n,this._commandService=t,this._definedNamesService=r,this._messageService=i,this._localeService=o,this._configService=a}navigate(n){switch(n.type){case I.SheetHyperLinkType.URL:this.navigateToOtherWebsite(n.url);break;default:this._navigateToUniver(n.searchObj)}}_navigateToUniver(n){const{gid:t,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(t){if(r){const u=q.deserializeRangeWithSheet(r);s.isValidRange(u.range)&&r!==I.ERROR_RANGE&&this.navigateToRange(a,t,u.range);return}this.navigateToSheetById(a,t)}}async navigateToRange(n,t,r,i){const o=await this.navigateToSheetById(n,t);if(o){const a=Yt(r,o);await this._commandService.executeCommand(C.SetSelectionsOperation.id,{unitId:n,subUnitId:t,selections:[{range:a,primary:null}]}),await this._commandService.executeCommand(E.ScrollToRangeOperation.id,{range:a,forceTop:i})}}async navigateToSheetById(n,t){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()===t)return i;const o=r.getSheetBySheetId(t);return o?r.getHiddenWorksheets().indexOf(t)>-1?(this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:T.MessageType.Error}),!1):await this._commandService.executeCommand(C.SetWorksheetActiveOperation.id,{unitId:n,subUnitId:t})?o:!1:(this._messageService.show({content:this._localeService.t("hyperLink.message.noSheet"),type:T.MessageType.Error}),!1)}async navigateToDefineName(n,t){return this._definedNamesService.focusRange(n,t),!0}async navigateToOtherWebsite(n){var r;const t=this._configService.getConfig(Rt);if((r=t==null?void 0:t.urlHandler)!=null&&r.navigateToOtherWebsite)return t.urlHandler.navigateToOtherWebsite(n);window.open(n,"_blank","noopener noreferrer")}};exports.SheetsHyperLinkResolverService=Wt([le(0,s.IUniverInstanceService),le(1,s.ICommandService),le(2,q.IDefinedNamesService),le(3,S.IMessageService),le(4,s.Inject(s.LocaleService)),le(5,s.IConfigService)],exports.SheetsHyperLinkResolverService);class Ge extends s.Disposable{constructor(){super(...arguments);F(this,"_customHyperLinks",new Map)}isBuiltInLinkType(t){return t!==I.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:t})=>t)}findCustomHyperLink(t){return Array.from(this._customHyperLinks.values()).find(i=>i.match(t))}registerCustomHyperLink(t){this._customHyperLinks.set(t.type,t)}getCustomHyperLink(t){return this._customHyperLinks.get(t)}removeCustomHyperLink(t){const{_customHyperLinks:r}=this;r.delete(t)}dispose(){super.dispose(),this._customHyperLinks.clear()}}const Te=()=>{var nt;const[e,n]=f.useState(""),[t,r]=f.useState(!1),[i,o]=f.useState(""),[a,u]=f.useState(!0),[l,h]=f.useState(I.SheetHyperLinkType.URL),[d,p]=f.useState(""),m=S.useDependency(s.LocaleService),v=S.useDependency(q.IDefinedNamesService),R=S.useDependency(E.IEditorBridgeService),P=S.useDependency(s.IUniverInstanceService),L=S.useDependency(exports.SheetsHyperLinkPopupService),c=S.useObservable(L.currentEditing$),k=S.useDependency(I.SheetsHyperLinkParserService),M=S.useDependency(exports.SheetsHyperLinkResolverService),N=S.useDependency(s.ICommandService),H=S.useDependency(Ge),B=f.useMemo(()=>H.getOptions(),[H]),A=S.useDependency(S.IZenZoneService),G=S.useDependency(ye.IRenderManagerService),te=S.useDependency(E.IMarkSelectionService),fe=S.useDependency(Se.DocSelectionManagerService),ne=S.useDependency(s.IContextService),de=S.useDependency(s.ThemeService),pe=S.useDependency(Se.DocSelectionManagerService),[he,Ce]=f.useState(!1),ae=S.useDependency(C.SheetsSelectionsService),Nt=f.useMemo(()=>ae.getCurrentSelections(),[]),Ee=f.useMemo(()=>{if(!H.isBuiltInLinkType(l))return H.getCustomHyperLink(l)},[H,l]),[ce,Ht]=f.useState(!1),[ge,et]=f.useState(!1),V=f.useRef(!1),Z=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET),xt=(Z==null?void 0:Z.getActiveSheet().getSheetId())||"",X=f.useCallback(g=>{o(g.replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(s.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))},[o]);f.useEffect(()=>{var g,w,b,O,U,K,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:re,row:Fe,col:Ze}=c;let{label:z}=c;typeof z=="number"&&(z=`${z}`);let W;if(re)W={id:(g=re==null?void 0:re.rangeId)!=null?g:"",display:z!=null?z:"",payload:(b=(w=re==null?void 0:re.properties)==null?void 0:w.url)!=null?b:"",row:Fe,column:Ze};else if(c.type===y.VIEWING){const x=P.getUnit(c.unitId),Q=x==null?void 0:x.getSheetBySheetId(c.subUnitId),j=Q==null?void 0:Q.getCellRaw(c.row,c.col),ue=(K=(U=(O=j==null?void 0:j.p)==null?void 0:O.body)==null?void 0:U.customRanges)==null?void 0:K.find(vt=>{var mt;return vt.rangeType===s.CustomRangeType.HYPERLINK&&((mt=vt.properties)==null?void 0:mt.url)}),ve=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(ve))&&u(!1),W={id:"",display:"",payload:(ot=(st=ue==null?void 0:ue.properties)==null?void 0:st.url)!=null?ot:"",row:Fe,column:Ze}}else{const x=P.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC),Q=fe.getActiveTextRange(),j=x==null?void 0:x.getBody(),ue=Q&&j?Q:null,ve=ue&&((ct=s.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(ue,(at=j==null?void 0:j.customRanges)!=null?at:[]))==null?void 0:ct[0]);u(!1),W={id:"",display:z!=null?z:"",payload:(lt=(ut=ve==null?void 0:ve.properties)==null?void 0:ut.url)!=null?lt:"",row:Fe,column:Ze}}n(W.id);const gt=H.findCustomHyperLink(W);if(gt){const x=gt.convert(W);h(x.type),p(x.payload),X(x.display);return}X(W.display);const J=k.parseHyperLink(W.payload);switch(h(J.type===I.SheetHyperLinkType.INVALID?I.SheetHyperLinkType.RANGE:J.type),J.type){case I.SheetHyperLinkType.URL:{p(J.url),J.url===W.display&&(V.current=!0);break}case I.SheetHyperLinkType.RANGE:{const x=J.searchObj,Q=x.gid&&(ht=(pt=(dt=P.getUnit(c.unitId))==null?void 0:dt.getSheetBySheetId(x.gid))==null?void 0:pt.getName())!=null?ht:"",j=q.serializeRangeWithSheet(Q,q.deserializeRangeWithSheet(x.range).range);p(j),j===W.display&&(V.current=!0);break}case I.SheetHyperLinkType.SHEET:{const x=J.searchObj;p(x.gid);break}case I.SheetHyperLinkType.DEFINE_NAME:{const x=J.searchObj;p(x.rangeid);break}default:p("");break}}},[c,M,H,fe,P]),f.useEffect(()=>{let g=null;if(c&&!c.customRangeId&&c.type===y.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),U=new s.ColorKit(de.getColorFromTheme("primary.600")).toRgb();g=te.addShape({range:O!=null?O:{startColumn:c.col,endColumn:c.col,startRow:c.row,endRow:c.row},style:{fill:`rgb(${U.r}, ${U.g}, ${U.b}, 0.12)`,strokeWidth:1,stroke:"#FFBD37",widgets:{}},primary:null},[],-1)}return()=>{g&&te.removeShape(g)}},[c,te,de,P]),f.useEffect(()=>{et(l===I.SheetHyperLinkType.RANGE)},[l]),f.useEffect(()=>{const g=(c==null?void 0:c.type)===y.ZEN_EDITOR?G.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY):G.getRenderById(R.getCurrentEditorId()),w=new s.DisposableCollection;if(g){const b=g.with(ee.DocSelectionRenderService);b.setReserveRangesStatus(!0),w.add(()=>{b.setReserveRangesStatus(!1)})}return()=>{R.disableForceKeepVisible(),w.dispose()}},[c==null?void 0:c.type,R,G]),f.useEffect(()=>(ge&&L.setIsKeepVisible(ge),L.setIsKeepVisible(he),()=>{L.setIsKeepVisible(!1)}),[ge,he,L]),f.useEffect(()=>()=>{A.temporaryHidden&&(A.show(),ne.setContextValue(s.FOCUSING_SHEET,!1))},[ne,A]),f.useEffect(()=>{if(ge)return R.enableForceKeepVisible(),()=>{R.disableForceKeepVisible()}},[ge,R]);const Ut=[{label:m.t("hyperLink.form.link"),value:I.SheetHyperLinkType.URL},{label:m.t("hyperLink.form.range"),value:I.SheetHyperLinkType.RANGE},{label:m.t("hyperLink.form.worksheet"),value:I.SheetHyperLinkType.SHEET},{label:m.t("hyperLink.form.definedName"),value:I.SheetHyperLinkType.DEFINE_NAME},...B];if(!Z)return;const Mt=Z.getHiddenWorksheets(),Be=Z.getSheets().map(g=>({label:g.getName(),value:g.getSheetId()})).filter(g=>Mt.indexOf(g.value)===-1),Ve=Object.values((nt=v.getDefinedNameMap(Z.getUnitId()))!=null?nt:{}).map(g=>({label:g.name,value:g.id})),tt=(g,w)=>{if(g===I.SheetHyperLinkType.URL)return Zt(w);if(g===I.SheetHyperLinkType.RANGE){const b=q.deserializeRangeWithSheet(w),O=Z.getSheetBySheetName(b.sheetName);if(O)return`#gid=${O.getSheetId()}&range=${q.serializeRange(b.range)}`}return`#${g}=${w}`},jt=S.useEvent(g=>{var U;const b=g.split(",").map(q.deserializeRangeWithSheet)[0];if(!b||!s.isValidRange(b.range))return;b.sheetName||(b.sheetName=((U=Z.getActiveSheet())==null?void 0:U.getName())||"");const O=q.serializeRangeToRefString(b);p(O),O&&(V.current||!i)&&(X(O),V.current=!0)}),$e=async()=>{if(a&&!i||!d||l===I.SheetHyperLinkType.URL&&!Pe(d)){Ht(!0);return}if(c)if(e){const g=c.type===y.ZEN_EDITOR||c.type===y.EDITING?I.UpdateRichHyperLinkCommand.id:I.UpdateHyperLinkCommand.id;await N.executeCommand(g,{id:e,unitId:c.unitId,subUnitId:c.subUnitId,payload:{display:a?i:"",payload:tt(l,d)},row:c.row,column:c.col,documentId:c.type===y.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:R.getCurrentEditorId()})}else{const g=c.type===y.ZEN_EDITOR||c.type===y.EDITING?I.AddRichHyperLinkCommand.id:I.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===y.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:R.getCurrentEditorId()})}if((c==null?void 0:c.type)===y.VIEWING){await N.executeCommand(C.SetWorksheetActiveOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId});const g=1;await N.executeCommand(E.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(_e.id)};return c?_.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?_.jsx(T.FormLayout,{label:m.t("hyperLink.form.label"),error:ce&&!i?m.t("hyperLink.form.inputError"):"",children:_.jsx(T.Input,{value:i,onChange:g=>{X(g),V.current=!1},placeholder:m.t("hyperLink.form.labelPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&$e()}})}):null,_.jsx(T.FormLayout,{label:m.t("hyperLink.form.type"),children:_.jsx(T.Select,{className:"univer-w-full",options:Ut,value:l,onChange:g=>{h(g),p("")}})}),l===I.SheetHyperLinkType.URL&&_.jsx(T.FormLayout,{error:ce?d?Pe(d)?"":m.t("hyperLink.form.linkError"):m.t("hyperLink.form.inputError"):"",children:_.jsx(T.Input,{value:d,onChange:g=>{p(g),g&&(V.current||!i||i===g)&&(X(g),V.current=!0)},placeholder:m.t("hyperLink.form.linkPlaceholder"),autoFocus:!0,onKeyDown:g=>{g.keyCode===S.KeyCode.ENTER&&$e()}})}),l===I.SheetHyperLinkType.RANGE&&_.jsx(T.FormLayout,{error:ce&&!d?m.t("hyperLink.form.inputError"):"",children:_.jsx(Vt.RangeSelector,{unitId:Z.getUnitId(),subUnitId:xt,maxRangeCount:1,supportAcrossSheet:!0,initialValue:d,resetRange:Nt,onChange:(g,w)=>jt(w),onRangeSelectorDialogVisibleChange:async g=>{var w,b;if(Ce(g),g)c.type===y.ZEN_EDITOR&&(A.hide(),ne.setContextValue(s.FOCUSING_SHEET,!0)),c.type!==y.VIEWING&&R.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===y.ZEN_EDITOR){await N.executeCommand(C.SetSelectionsOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId,selections:[{range:{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col}}]}),A.show(),ne.setContextValue(s.FOCUSING_SHEET,!1);const O=(w=G.getRenderById(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:w.with(ee.DocBackScrollRenderController),U=(b=pe.getTextRanges({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))==null?void 0:b[0];O&&U&&(O.scrollToRange(U),pe.refreshSelection({unitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:s.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))}R.disableForceKeepVisible(),r(!1)}},onFocusChange:g=>et(g)})}),l===I.SheetHyperLinkType.SHEET&&_.jsx(T.FormLayout,{error:ce&&!d?m.t("hyperLink.form.selectError"):"",children:_.jsx(T.Select,{className:"univer-w-full",options:Be,value:d,onChange:g=>{var O,U;p(g);const w=(O=Be.find(K=>K.value===g))==null?void 0:O.label,b=(U=Be.find(K=>K.value===d))==null?void 0:U.label;w&&(V.current||!i||i===b)&&(X(w),V.current=!0)}})}),l===I.SheetHyperLinkType.DEFINE_NAME&&_.jsx(T.FormLayout,{error:ce&&!d?m.t("hyperLink.form.selectError"):"",children:_.jsx(T.Select,{className:"univer-w-full",options:Ve,value:d,onChange:g=>{var O,U;p(g);const w=(O=Ve.find(K=>K.value===g))==null?void 0:O.label,b=(U=Ve.find(K=>K.value===d))==null?void 0:U.label;w&&(V.current||!i||i===b)&&(X(w),V.current=!0)}})}),(Ee==null?void 0:Ee.Form)&&_.jsx(Ee.Form,{linkId:e,payload:d,display:i,showError:ce,setByPayload:V,setDisplay:g=>{X(g),V.current=!0},setPayload:p}),_.jsxs("div",{className:"univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[_.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(_e.id)},children:m.t("hyperLink.form.cancel")}),_.jsx(T.Button,{variant:"primary",onClick:async()=>{$e()},children:m.t("hyperLink.form.ok")})]})]}):null};Te.componentKey="univer.sheet.cell-link-edit";var $=function(){return $=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++){n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},$.apply(this,arguments)},Gt=function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)n.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(t[r[i]]=e[r[i]]);return t},oe=f.forwardRef(function(e,n){var t=e.icon,r=e.id,i=e.className,o=e.extend,a=Gt(e,["icon","id","className","extend"]),u="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),l=f.useRef("_".concat(Xt()));return Lt(t,"".concat(r),{defIds:t.defIds,idSuffix:l.current},$({ref:n,className:u},a),o)});function Lt(e,n,t,r,i){return f.createElement(e.tag,$($({key:n},zt(e,t,i)),r),(qt(e,t).children||[]).map(function(o,a){return Lt(o,"".concat(n,"-").concat(e.tag,"-").concat(a),t,void 0,i)}))}function zt(e,n,t){var r=$({},e.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1),e.tag==="mask"&&r.id&&(r.id=r.id+n.idSuffix),Object.entries(r).forEach(function(o){var a=o[0],u=o[1];a==="mask"&&typeof u=="string"&&(r[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))});var i=n.defIds;return!i||i.length===0||(e.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+n.idSuffix),Object.entries(r).forEach(function(o){var a=o[0],u=o[1];typeof u=="string"&&(r[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))})),r}function qt(e,n){var t,r=n.defIds;return!r||r.length===0?e:e.tag==="defs"&&(!((t=e.children)===null||t===void 0)&&t.length)?$($({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.includes(i.attrs.id)?$($({},i),{attrs:$($({},i.attrs),{id:i.attrs.id+n.idSuffix})}):i})}):e}function Xt(){return Math.random().toString(36).substring(2,8)}oe.displayName="UniverIcon";var 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:"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"}}]},Le=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"all-border-icon",ref:n,icon:Jt}))});Le.displayName="AllBorderIcon";var 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:"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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"copy-icon",ref:n,icon:Qt}))});Pt.displayName="CopyIcon";var en={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"link-icon",ref:n,icon:en}))});ze.displayName="LinkIcon";var tn={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"unlink-icon",ref:n,icon:tn}))});Tt.displayName="UnlinkIcon";var nn={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"write-icon",ref:n,icon:nn}))});kt.displayName="WriteIcon";var rn={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=f.forwardRef(function(e,n){return f.createElement(oe,Object.assign({},e,{id:"xlsx-multi-icon",ref:n,icon:rn}))});wt.displayName="XlsxMultiIcon";const sn={[I.SheetHyperLinkType.URL]:_.jsx(ze,{}),[I.SheetHyperLinkType.SHEET]:_.jsx(wt,{className:"univer-text-green-500"}),[I.SheetHyperLinkType.RANGE]:_.jsx(Le,{}),[I.SheetHyperLinkType.DEFINE_NAME]:_.jsx(Le,{}),[I.SheetHyperLinkType.INVALID]:_.jsx(Le,{})},_t=e=>{var M,N;const n=S.useDependency(exports.SheetsHyperLinkPopupService),t=S.useDependency(s.ICommandService),r=S.useDependency(S.IMessageService),i=S.useDependency(s.LocaleService),o=S.useDependency(exports.SheetsHyperLinkResolverService),a=S.useDependency(E.IEditorBridgeService),u=S.useDependency(I.SheetsHyperLinkParserService),l=S.useDependency(S.IZenZoneService),{customRange:h,row:d,col:p,unitId:m,subUnitId:v,editPermission:R,copyPermission:P,type:L}=e;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===I.SheetHyperLinkType.INVALID;return _.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:[_.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:[_.jsx("div",{className:"univer-mr-2 univer-flex univer-h-5 univer-w-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:sn[c.type]}),_.jsx(T.Tooltip,{showIfEllipsis:!0,title:c.name,asChild:!0,children:_.jsx("span",{className:"univer-flex-1 univer-overflow-hidden univer-text-ellipsis",children:c.name})})]}),_.jsxs("div",{className:"univer-flex univer-h-6 univer-flex-none univer-flex-row univer-items-center univer-justify-center",children:[P&&_.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!==I.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:_.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.copy"),children:_.jsx(Pt,{className:"dark:!univer-text-white"})})}),R&&_.jsxs(_.Fragment,{children:[_.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:()=>{t.executeCommand(je.id,{unitId:m,subUnitId:v,row:d,col:p,customRangeId:h.rangeId,type:L})},children:_.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.edit"),children:_.jsx(kt,{className:"dark:!univer-text-white"})})}),_.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===y.EDITING||L===y.ZEN_EDITOR?I.CancelRichHyperLinkCommand.id:I.CancelHyperLinkCommand.id;t.syncExecuteCommand(H,{unitId:m,subUnitId:v,id:h.rangeId,row:d,column:p,documentId:L===y.ZEN_EDITOR?s.DOCS_ZEN_EDITOR_UNIT_ID_KEY:a.getCurrentEditorId()})&&n.hideCurrentPopup(void 0,!0)},children:_.jsx(T.Tooltip,{placement:"bottom",title:i.t("hyperLink.popup.cancel"),children:_.jsx(Tt,{className:"dark:!univer-text-white"})})})]})]})]})},ke=()=>{var i,o;const e=S.useDependency(exports.SheetsHyperLinkPopupService),[n,t]=f.useState(null),r=S.useDependency(s.IUniverInstanceService);if(f.useEffect(()=>{t(e.currentPopup);const a=e.currentPopup$.subscribe(u=>{t(u)});return()=>{a.unsubscribe()}},[e.currentPopup,e.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?_.jsx("div",{children:h.map(d=>_.jsx(_t,{...n,customRange:d},d.rangeId))}):null}return _.jsx(_t,{...n})};ke.componentKey="univer.sheet.cell-link-popup";var on=Object.getOwnPropertyDescriptor,an=(e,n,t,r)=>{for(var i=r>1?void 0:r?on(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},ie=(e,n)=>(t,r)=>n(t,r,e);const yt=(e,n)=>{var t,r;return e.unitId===n.unitId&&e.subUnitId===n.subUnitId&&e.row===n.row&&e.col===n.col&&((t=e.customRange)==null?void 0:t.rangeId)===((r=n.customRange)==null?void 0:r.rangeId)&&e.type===n.type};exports.SheetsHyperLinkPopupService=class extends s.Disposable{constructor(t,r,i,o,a,u,l){super();F(this,"_currentPopup",null);F(this,"_currentPopup$",new D.Subject);F(this,"currentPopup$",this._currentPopup$.asObservable());F(this,"_currentEditingPopup",null);F(this,"_currentEditing$",new D.BehaviorSubject(null));F(this,"currentEditing$",this._currentEditing$.asObservable());F(this,"_isKeepVisible",!1);this._sheetCanvasPopManagerService=t,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(t){this._isKeepVisible=t}getIsKeepVisible(){return this._isKeepVisible}showPopup(t){var m;if(this._currentPopup&&yt(t,this._currentPopup)||(this.hideCurrentPopup(void 0,!0),t.type!==y.ZEN_EDITOR&&this._zenZoneService.visible))return;const r=this._currentEditing$.getValue();if(r&&yt(t,r))return;const{unitId:i,subUnitId:o,row:a,col:u,customRangeRect:l,customRange:h}=t;let d;const p={componentKey:ke.componentKey,direction:"bottom",onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(t.type,!0)}};if(t.type===y.EDITING){if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l,p)}else if(t.type===y.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(t.showAll)d=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,p,i,o);else{if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupByPosition(l,p,t)}d&&(this._currentPopup&&((m=this._currentPopup.disposable)==null||m.dispose()),this._currentPopup={unitId:i,subUnitId:o,disposable:d,row:a,col:u,editPermission:!!t.editPermission,copyPermission:!!t.copyPermission,customRange:h,type:t.type,showAll:t.showAll},this._currentPopup$.next(this._currentPopup))}hideCurrentPopup(t,r){var i,o;this._currentPopup&&((!t||t===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 t=this._editorBridgeService.isVisible().visible,r=this._editorBridgeService.getEditCellState();if(t&&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(m=>m.rangeType===s.CustomRangeType.HYPERLINK))!=null?a:[]);let d=u.startOffset,p=u.endOffset;return h.forEach(m=>{d=Math.min(d,m.startIndex),p=Math.max(p,m.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:Te.componentKey,direction:"vertical",onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:"hide"}}startAddEditing(t){var a,u,l,h,d;const{unitId:r,subUnitId:i,type:o}=t;if(o===y.ZEN_EDITOR){const p=this._univerInstanceService.getUnit(s.DOCS_ZEN_EDITOR_UNIT_ID_KEY,s.UniverInstanceType.UNIVER_DOC);if(!p)return;const m=this._textSelectionManagerService.getActiveTextRange();if(!m)return;this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange(m,this._editPopup,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY);const v=(a=p.getBody())==null?void 0:a.dataStream.slice(m.startOffset,m.endOffset);this._currentEditing$.next({...t,label:v})}else if(o===y.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 m=this._injector.get(ye.IRenderManagerService).getRenderById(s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!m)return;const v=ee.calcDocRangePositions(p,m);if(!(v!=null&&v.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(v.pop(),this._editPopup,r,i),this._currentEditing$.next({...t,label:(u=p==null?void 0:p.label)!=null?u:""})}else{this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,r,i);const p=this._univerInstanceService.getUnit(r,s.UniverInstanceType.UNIVER_SHEET),m=p==null?void 0:p.getSheetBySheetId(i),v=m==null?void 0:m.getCellRaw(t.row,t.col);this._currentEditing$.next({...t,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(t){var u,l,h,d,p,m;(u=this._currentEditingPopup)==null||u.dispose(),this.hideCurrentPopup(void 0,!0);const{unitId:r,subUnitId:i}=t;let o,a;if(t.type===y.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(R=>R.rangeId===t.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(t.type===y.EDITING){const v=E.getEditingCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.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),R=v==null?void 0:v.getSheetBySheetId(i),P=R==null?void 0:R.getCellRaw(t.row,t.col),L=v==null?void 0:v.getStyles().getStyleByCell(P),c=L==null?void 0:L.tr,k=E.getCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.customRangeId);if(!k||!((m=k.rects)!=null&&m.length))return;o=k.customRange,a=k.label,c?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,r,i):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(k.rects.pop(),this._editPopup,{unitId:r,subUnitId:i,row:t.row,col:t.col})}this._currentEditing$.next({...t,customRange:o,label:a})}endEditing(t){var i;if(this.getIsKeepVisible())return;const r=this._currentEditing$.getValue();r&&(!t||t===r.type)&&((i=this._currentEditingPopup)==null||i.dispose(),this._currentEditing$.next(null))}};exports.SheetsHyperLinkPopupService=an([ie(0,s.Inject(E.SheetCanvasPopManagerService)),ie(1,s.Inject(s.Injector)),ie(2,s.IUniverInstanceService),ie(3,E.IEditorBridgeService),ie(4,s.Inject(Se.DocSelectionManagerService)),ie(5,s.Inject(ee.DocCanvasPopManagerService)),ie(6,S.IZenZoneService)],exports.SheetsHyperLinkPopupService);var Ie=(e=>(e[e.ALLOWED=0]="ALLOWED",e[e.DISABLED_BY_CELL=1]="DISABLED_BY_CELL",e[e.ALLOW_ON_EDITING=2]="ALLOW_ON_EDITING",e))(Ie||{});const cn=new Set([s.DataValidationType.CHECKBOX,s.DataValidationType.LIST,s.DataValidationType.LIST_MULTIPLE]),qe=(e,n,t,r)=>{var u,l,h,d,p;const i=n.getCell(t,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=e.has(It.SheetDataValidationModel)?e.get(It.SheetDataValidationModel):null,a=o==null?void 0:o.getRuleByLocation(n.getUnitId(),n.getSheetId(),t,r);return a&&cn.has(a.type)?!0:(p=(d=i==null?void 0:i.p)==null?void 0:d.drawingsOrder)!=null&&p.length?2:0},un=e=>{const n=e.get(s.IUniverInstanceService).getCurrentUnitForType(s.UniverInstanceType.UNIVER_SHEET);if(!n)return!0;const t=n.getActiveSheet(),r=e.get(C.SheetsSelectionsService).getCurrentSelections();if(!r.length)return!0;const i=r[0].range.startRow,o=r[0].range.startColumn;return qe(e,t,i,o)===1},ln=e=>{const n=e.get(Se.DocSelectionManagerService),t=e.get(s.IUniverInstanceService),r=n.getTextRanges();if(!(r!=null&&r.length))return!0;const i=t.getCurrentUnitForType(s.UniverInstanceType.UNIVER_DOC);return!!(!i||r.every(a=>a.collapsed)||!i.getSelfOrHeaderFooterModel(r[0].segmentId).getBody())},je={type:s.CommandType.OPERATION,id:"sheet.operation.open-hyper-link-edit-panel",handler(e,n){if(!n)return!1;const t=e.get(exports.SheetsHyperLinkPopupService);return n.customRangeId?t.startEditing(n):t.startAddEditing(n),!0}},_e={type:s.CommandType.OPERATION,id:"sheet.operation.close-hyper-link-popup",handler(e){return e.get(exports.SheetsHyperLinkPopupService).endEditing(),!0}},Ae={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link",handler(e){var p;const n=e.get(s.IUniverInstanceService),t=C.getSheetCommandTarget(n),r=e.get(E.IEditorBridgeService);if(!t)return!1;const i=e.get(s.ICommandService),a=e.get(C.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(je.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:u,col:l,type:d?y.ZEN_EDITOR:h.visible?y.EDITING:y.VIEWING})}},se={type:s.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link-toolbar",handler(e){if(un(e))return!1;const n=e.get(s.ICommandService);return e.get(exports.SheetsHyperLinkPopupService).currentEditing?n.executeCommand(_e.id):n.executeCommand(Ae.id)}},Xe="SHEET_HYPER_LINK_UI_PLUGIN";var dn=Object.getOwnPropertyDescriptor,pn=(e,n,t,r)=>{for(var i=r>1?void 0:r?dn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Re=(e,n)=>(t,r)=>n(t,r,e);exports.SheetsHyperLinkCopyPasteController=class extends s.Disposable{constructor(t,r,i,o){super();F(this,"_plainTextFilter",new Set);F(this,"_copyInfo");this._sheetClipboardService=t,this._hyperLinkModel=r,this._injector=i,this._resolverService=o,this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}registerPlainTextFilter(t){this._plainTextFilter.add(t)}removePlainTextFilter(t){this._plainTextFilter.delete(t)}_filterPlainText(t){return Array.from(this._plainTextFilter).every(r=>r(t))}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:Xe,onBeforeCopy:(t,r,i)=>this._collect(t,r,i),onPasteCells:(t,r,i,o)=>{const{copyType:a=E.COPY_TYPE.COPY,pasteType:u}=o,{range:l}=t||{},{range:h,unitId:d,subUnitId:p}=r;return this._generateMutations(h,{copyType:a,pasteType:u,copyRange:l,unitId:d,subUnitId:p})},onPastePlainText:(t,r)=>{const i=this._filterPlainText(r);if(Pe(r)&&i){const{range:o,unitId:a,subUnitId:u}=t,{ranges:[l],mapFunc:h}=E.virtualizeDiscreteRanges([o]),d=[],p=[];return s.Range.foreach(l,(m,v)=>{const{row:R,col:P}=h(m,v),L=this._hyperLinkModel.getHyperLinkByLocation(a,u,R,P);L&&d.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:a,subUnitId:u,id:L.id}}),L&&p.push({id:I.AddHyperLinkMutation.id,params:{unitId:a,subUnitId:u,link:L}})}),{redos:d,undos:p}}return{undos:[],redos:[]}},priority:99})}_collect(t,r,i){const o=new s.ObjectMatrix;this._copyInfo={unitId:t,subUnitId:r,matrix:o};const a=this._injector.invoke(h=>C.rangeToDiscreteRange(i,h,t,r));if(!a)return;const{rows:u,cols:l}=a;u.forEach((h,d)=>{l.forEach((p,m)=>{var R;const v=this._hyperLinkModel.getHyperLinkByLocation(t,r,h,p);o.setValue(d,m,(R=v==null?void 0:v.id)!=null?R:"")})})}_generateMutations(t,r){if(!this._copyInfo)return{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!r.copyRange)return{redos:[],undos:[]};if([E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,E.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA].includes(r.pasteType))return{redos:[],undos:[]};const{unitId:o,subUnitId:a}=this._copyInfo,u=[],l=[],{ranges:[h,d],mapFunc:p}=E.virtualizeDiscreteRanges([r.copyRange,t]);return E.getRepeatRange(h,d,!0).forEach(({startRange:v})=>{var R;(R=this._copyInfo)==null||R.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),B=this._hyperLinkModel.getHyperLinkByLocation(r.unitId,r.subUnitId,N,H),A=s.generateRandomId();B&&u.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:B.id}}),M&&(u.push({id:I.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:{...M,id:A,row:N,column:H}}}),l.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,id:A}})),B&&l.push({id:I.AddHyperLinkMutation.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,link:B}})})}),{redos:u,undos:l}}};exports.SheetsHyperLinkCopyPasteController=pn([Re(0,E.ISheetClipboardService),Re(1,s.Inject(I.HyperLinkModel)),Re(2,s.Inject(s.Injector)),Re(3,s.Inject(exports.SheetsHyperLinkResolverService))],exports.SheetsHyperLinkCopyPasteController);const Je=(e,n=s.DOCS_ZEN_EDITOR_UNIT_ID_KEY)=>{var i;const t=e.get(s.IUniverInstanceService),r=(i=e.get(ye.IRenderManagerService).getRenderById(n))==null?void 0:i.with(ee.DocSelectionRenderService);return r?r.textSelectionInner$.pipe(D.map(()=>{const a=e.get(E.IEditorBridgeService).getEditCellState();if(!a)return!0;const u=C.getSheetCommandTarget(t,{unitId:a.unitId,subUnitId:a.sheetId});return!(u!=null&&u.worksheet)||qe(e,u.worksheet,a.row,a.column)===1?!0:ln(e)})):D.of(!0)},bt=e=>{var i;const n=e.get(s.IUniverInstanceService),t=e.has(E.IEditorBridgeService)?e.get(E.IEditorBridgeService):null;return((i=t==null?void 0:t.currentEditCellState$.pipe(D.map(o=>{if(!o)return Ie.DISABLED_BY_CELL;const a=C.getSheetCommandTarget(n,{unitId:o.unitId,subUnitId:o.sheetId});return a?qe(e,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=t?t.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(e,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):E.getCurrentRangeDisable$(e,{workbookTypes:[C.WorkbookEditablePermission],worksheetTypes:[C.WorksheetEditPermission,C.WorksheetSetCellValuePermission,C.WorksheetInsertHyperlinkPermission],rangeTypes:[C.RangeProtectionPermissionEditPoint]},!0)))},we={commandId:Ae.id,type:S.MenuItemType.BUTTON,title:"hyperLink.menu.add",icon:"LinkIcon"},be=e=>`${e}-zen-editor`,hn=e=>({...we,id:we.commandId,hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:bt(e)}),gn=e=>({...we,id:be(we.commandId),hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Je(e)}),De={tooltip:"hyperLink.form.addTitle",commandId:se.id,type:S.MenuItemType.BUTTON,icon:"LinkIcon"},vn=e=>({...De,id:De.commandId,hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_SHEET),disabled$:bt(e)}),mn=e=>({...De,id:be(De.commandId),hidden$:S.getMenuHiddenObservable(e,s.UniverInstanceType.UNIVER_DOC,s.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Je(e)}),Qe={id:se.id,binding:S.KeyCode.K|S.MetaKeys.CTRL_COMMAND,preconditions:E.whenSheetEditorFocused};var In=Object.getOwnPropertyDescriptor,Sn=(e,n,t,r)=>{for(var i=r>1?void 0:r?In(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},ft=(e,n)=>(t,r)=>n(t,r,e);let Oe=class extends s.Disposable{constructor(e,n){super(),this._autoFillService=e,this._hyperLinkModel=n,this._initAutoFill()}_initAutoFill(){const e=()=>({redos:[],undos:[]}),n=(r,i)=>{const{source:o,target:a,unitId:u,subUnitId:l}=r,h=E.virtualizeDiscreteRanges([o,a]),[d,p]=h.ranges,{mapFunc:m}=h,v={row:d.startRow,col:d.startColumn},R=E.getAutoFillRepeatRange(d,p),P=[],L=[];return R.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,(B,A)=>{const G=s.Rectangle.getPositionRange({startRow:B,startColumn:A,endColumn:A,endRow:B},N),{row:te,col:fe}=m(G.startRow,G.startColumn),ne=this._hyperLinkModel.getHyperLinkByLocation(u,l,te,fe),de=s.Rectangle.getPositionRange({startRow:B,startColumn:A,endColumn:A,endRow:B},H),{row:pe,col:he}=m(de.startRow,de.startColumn),Ce=s.generateRandomId(),ae=this._hyperLinkModel.getHyperLinkByLocation(u,l,pe,he);ae&&P.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:ae.id}}),(E.APPLY_TYPE.COPY===i||E.APPLY_TYPE.SERIES===i)&&ne&&(P.push({id:I.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:{...ne,id:Ce,row:pe,column:he}}}),L.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:Ce}})),ae&&L.push({id:I.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:ae}})})}),{undos:L,redos:P}},t={id:Xe,onFillData:(r,i,o)=>o===E.APPLY_TYPE.COPY||o===E.APPLY_TYPE.ONLY_FORMAT||o===E.APPLY_TYPE.SERIES?n(r,o):e()};this.disposeWithMe(this._autoFillService.addHook(t))}};Oe=Sn([ft(0,E.IAutoFillService),ft(1,s.Inject(I.HyperLinkModel))],Oe);var _n=Object.getOwnPropertyDescriptor,yn=(e,n,t,r)=>{for(var i=r>1?void 0:r?_n(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Ke=(e,n)=>(t,r)=>n(t,r,e);let Ne=class extends s.Disposable{constructor(e,n,t){super(),this._localeService=e,this._commandService=n,this._sheetPermissionCheckController=t,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===Qe.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[C.WorkbookEditablePermission],rangeTypes:[C.RangeProtectionPermissionEditPoint],worksheetTypes:[C.WorksheetEditPermission,C.WorksheetSetCellValuePermission,C.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.hyperLinkErr")))}))}};Ne=yn([Ke(0,s.Inject(s.LocaleService)),Ke(1,s.ICommandService),Ke(2,s.Inject(C.SheetPermissionCheckController))],Ne);var fn=Object.getOwnPropertyDescriptor,Cn=(e,n,t,r)=>{for(var i=r>1?void 0:r?fn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Y=(e,n)=>(t,r)=>n(t,r,e);let He=class extends s.Disposable{constructor(e,n,t,r,i,o,a,u,l,h){super(),this._hoverManagerService=e,this._sheetsHyperLinkPopupService=n,this._renderManagerService=t,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(e){const{unitId:n,subUnitId:t,row:r,col:i}=e,o=this._univerInstanceService.getUnit(n,s.UniverInstanceType.UNIVER_SHEET),a=o==null?void 0:o.getSheetBySheetId(t);if(!a)return{viewPermission:!1,editPermission:!1,copyPermission:!1};const u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[C.WorkbookViewPermission],worksheetTypes:[C.WorksheetViewPermission],rangeTypes:[C.RangeProtectionPermissionViewPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}]);let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[C.WorkbookEditablePermission],worksheetTypes:[C.WorksheetEditPermission,C.WorksheetInsertHyperlinkPermission],rangeTypes:[C.RangeProtectionPermissionEditPoint]},[{startRow:r,startColumn:i,endRow:r,endColumn:i}]);const h=a.getCellRaw(r,i);h!=null&&h.f&&h.f.startsWith("=HYPERLINK(")&&(l=!1);const d=this._permissionService.composePermission([new C.WorkbookCopyPermission(n).id,new C.WorksheetCopyPermission(n,t).id]).every(p=>p.value);return{viewPermission:u,editPermission:l,copyPermission:d}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe(D.debounceTime(200)).subscribe(e=>{var N,H,B;if(!e||((N=e.customRange)==null?void 0:N.rangeType)!==s.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const{unitId:n,subUnitId:t,row:r,col:i}=e,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(t);if(!u)return;if(!o.with(E.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(y.VIEWING);return}const h=(H=o==null?void 0:o.with(E.SheetSkeletonManagerService).getSkeletonParam(t))==null?void 0:H.skeleton,d=i,p=r;let m=p,v=d;h&&h.overflowCache.forValue((A,G,te)=>{s.Rectangle.contains(te,{startColumn:d,endColumn:d,startRow:p,endRow:p})&&(m=A,v=G)});const{viewPermission:R,editPermission:P,copyPermission:L}=this._getLinkPermission(e);if(!R){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const c=u.getCellStyleOnly(m,v),k=a.getStyles().getStyleByCell(c),M=(B=k==null?void 0:k.tr)==null?void 0:B.a;if(!M&&!e.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:m,col:v,editPermission:P,copyPermission:L,customRange:e.customRange,customRangeRect:e.rect,type:y.VIEWING,unitId:n,subUnitId:t,showAll:!!M})}))}_initHoverEditingListener(){let e=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe(D.switchMap(n=>this._editorBridgeService.visible$.pipe(D.map(t=>({visible:t,state:n}))))).subscribe(({visible:n,state:t})=>{if(!t||t.editorUnitId!==s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){e==null||e.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(y.EDITING),this._sheetsHyperLinkPopupService.endEditing(y.EDITING);return}const{editorUnitId:r,unitId:i,sheetId:o,row:a,column:u}=t,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}),m=l.with(ee.DocEventManagerService);d&&(e==null||e.unsubscribe(),e=m.hoverCustomRanges$.pipe(D.debounceTime(200)).subscribe(v=>{var k,M;const R=v.find(N=>N.range.rangeType===s.CustomRangeType.HYPERLINK);if(!R){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const P=R.rects[R.rects.length-1];if(!((M=(k=this._renderManagerService.getRenderById(i))==null?void 0:k.with(E.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:R.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:y.EDITING})}))})),this.disposeWithMe(()=>{e==null||e.unsubscribe()})}_initZenEditor(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e?(this._sheetsHyperLinkPopupService.hideCurrentPopup(y.VIEWING),this._sheetsHyperLinkPopupService.hideCurrentPopup(y.EDITING),this._sheetsHyperLinkPopupService.endEditing(y.EDITING),this._sheetsHyperLinkPopupService.hideCurrentPopup(y.VIEWING)):(this._sheetsHyperLinkPopupService.hideCurrentPopup(y.ZEN_EDITOR),this._sheetsHyperLinkPopupService.endEditing(y.ZEN_EDITOR))})),this.disposeWithMe(this._univerInstanceService.focused$.pipe(D.switchMap(e=>{const n=e===s.DOCS_ZEN_EDITOR_UNIT_ID_KEY?this._renderManagerService.getRenderById(e):null;return n?n.with(ee.DocEventManagerService).hoverCustomRanges$.pipe(D.debounceTime(200)):new D.Observable(t=>{t.next(null)})})).subscribe(e=>{const n=e==null?void 0:e.find(r=>r.range.rangeType===s.CustomRangeType.HYPERLINK),t=this._editorBridgeService.getEditCellState();if(n&&t){const{unitId:r,sheetId:i,row:o,column:a}=t,{editPermission:u,viewPermission:l,copyPermission:h}=this._getLinkPermission({unitId:r,subUnitId:i,row:o,col:a});l&&this._sheetsHyperLinkPopupService.showPopup({type:y.ZEN_EDITOR,unitId:r,subUnitId:i,row:o,col:a,customRange:n.range,editPermission:u,copyPermission:h})}else this._sheetsHyperLinkPopupService.hideCurrentPopup(y.ZEN_EDITOR)}))}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(e=>{e&&e.unitId===s.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(y.EDITING)}))}_initCommandListener(){const e=[C.ClearSelectionContentCommand.id,C.ClearSelectionAllCommand.id,C.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{e.includes(n.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};He=Cn([Y(0,s.Inject(E.HoverManagerService)),Y(1,s.Inject(exports.SheetsHyperLinkPopupService)),Y(2,s.Inject(ye.IRenderManagerService)),Y(3,s.Inject(s.IPermissionService)),Y(4,s.Inject(C.SheetPermissionCheckController)),Y(5,s.ICommandService),Y(6,E.IEditorBridgeService),Y(7,s.Inject(Se.DocSelectionManagerService)),Y(8,s.IUniverInstanceService),Y(9,S.IZenZoneService)],He);var En=Object.getOwnPropertyDescriptor,Dt=(e,n,t,r)=>{for(var i=r>1?void 0:r?En(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},We=(e,n)=>(t,r)=>n(t,r,e);let Ye=class extends s.Disposable{constructor(e,n){super(),this._context=e,this._hyperLinkModel=n,this._initSkeletonChange()}_initSkeletonChange(){const e=()=>{var n;(n=this._context.mainComponent)==null||n.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe(D.debounceTime(16)).subscribe(()=>{e()}))}};Ye=Dt([We(1,s.Inject(I.HyperLinkModel))],Ye);let xe=class extends s.Disposable{constructor(e,n){super(),this._sheetInterceptorService=e,this._hyperLinkModel=n,this._initViewModelIntercept()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(C.INTERCEPTOR_POINT.CELL_CONTENT,{effect:s.InterceptorEffectEnum.Value,priority:100,handler:(e,n,t)=>{const{row:r,col:i,unitId:o,subUnitId:a}=n,u=this._hyperLinkModel.getHyperLinkByLocation(o,a,r,i);return u&&e&&(e===n.rawData&&(e={...n.rawData}),e.linkUrl=u.payload,e.linkId=u.id),t(e)}}))}};xe=Dt([We(0,s.Inject(C.SheetInterceptorService)),We(1,s.Inject(I.HyperLinkModel))],xe);const Rn={[S.RibbonInsertGroup.MEDIA]:{[se.id]:{order:1,menuItemFactory:vn},[be(se.id)]:{order:1,menuItemFactory:mn}},[S.ContextMenuPosition.MAIN_AREA]:{[S.ContextMenuGroup.OTHERS]:{order:1,[se.id]:{order:0,menuItemFactory:hn},[be(se.id)]:{order:0,menuItemFactory:gn}}}};var Ln=Object.getOwnPropertyDescriptor,Pn=(e,n,t,r)=>{for(var i=r>1?void 0:r?Ln(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},me=(e,n)=>(t,r)=>n(t,r,e);let Ue=class extends s.Disposable{constructor(e,n,t,r,i){super(),this._componentManager=e,this._commandService=n,this._menuManagerService=t,this._injector=r,this._shortcutService=i,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortCut()}_initComponents(){[[ke.componentKey,ke],[Te.componentKey,Te],["LinkIcon",ze]].forEach(([e,n])=>{this._componentManager.register(e,n)})}_initCommands(){[je,_e,Ae,se].forEach(e=>{this._commandService.registerCommand(e)})}_initMenus(){this._menuManagerService.mergeMenu(Rn)}_initShortCut(){this._shortcutService.registerShortcut(Qe)}};Ue=Pn([me(0,s.Inject(S.ComponentManager)),me(1,s.ICommandService),me(2,S.IMenuManagerService),me(3,s.Inject(s.Injector)),me(4,s.Inject(S.IShortcutService))],Ue);var Tn=Object.getOwnPropertyDescriptor,kn=(e,n,t,r)=>{for(var i=r>1?void 0:r?Tn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Ct=(e,n)=>(t,r)=>n(t,r,e);let Me=class extends s.Disposable{constructor(e,n){super(),this._parserService=e,this._resolverService=n,this._handleInitUrl()}_handleInitUrl(){const e=location.hash;if(e){const n=this._parserService.parseHyperLink(e);this._resolverService.navigate(n)}}};Me=kn([Ct(0,s.Inject(I.SheetsHyperLinkParserService)),Ct(1,s.Inject(exports.SheetsHyperLinkResolverService))],Me);var wn=Object.defineProperty,bn=Object.getOwnPropertyDescriptor,Dn=(e,n,t)=>n in e?wn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,On=(e,n,t,r)=>{for(var i=r>1?void 0:r?bn(n,t):n,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=a(i)||i);return i},Et=(e,n)=>(t,r)=>n(t,r,e),Ot=(e,n,t)=>Dn(e,typeof n!="symbol"?n+"":n,t);exports.UniverSheetsHyperLinkUIPlugin=class extends s.Plugin{constructor(n=St,t,r){super(),this._config=n,this._injector=t,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],[xe],[He],[Ue],[Oe],[exports.SheetsHyperLinkCopyPasteController],[Ne],[Me]].forEach(t=>this._injector.add(t)),this._injector.get(xe)}onReady(){this._injector.get(ye.IRenderManagerService).registerRenderModule(s.UniverInstanceType.UNIVER_SHEET,[Ye]),this._injector.get(Oe),this._injector.get(exports.SheetsHyperLinkCopyPasteController),this._injector.get(Ue)}onRendered(){this._injector.get(Ne),this._injector.get(Me),this._injector.get(He)}};Ot(exports.UniverSheetsHyperLinkUIPlugin,"pluginName",Xe);Ot(exports.UniverSheetsHyperLinkUIPlugin,"type",s.UniverInstanceType.UNIVER_SHEET);exports.UniverSheetsHyperLinkUIPlugin=On([s.DependentOn(I.UniverSheetsHyperLinkPlugin,ee.UniverDocsUIPlugin),Et(1,s.Inject(s.Injector)),Et(2,s.IConfigService)],exports.UniverSheetsHyperLinkUIPlugin);exports.CloseHyperLinkPopupOperation=_e;exports.InsertHyperLinkOperation=Ae;exports.InsertLinkShortcut=Qe;exports.OpenHyperLinkEditPanelOperation=je;exports.SheetsHyperLinkSidePanelService=Ge;
package/lib/es/index.js CHANGED
@@ -819,7 +819,9 @@ let G = class extends Y {
819
819
  getIsKeepVisible() {
820
820
  return this._isKeepVisible;
821
821
  }
822
+ // eslint-disable-next-line max-lines-per-function
822
823
  showPopup(e) {
824
+ var g;
823
825
  if (this._currentPopup && fn(e, this._currentPopup) || (this.hideCurrentPopup(void 0, !0), e.type !== v.ZEN_EDITOR && this._zenZoneService.visible))
824
826
  return;
825
827
  const n = this._currentEditing$.getValue();
@@ -867,7 +869,7 @@ let G = class extends Y {
867
869
  e
868
870
  );
869
871
  }
870
- p && (this._currentPopup = {
872
+ p && (this._currentPopup && ((g = this._currentPopup.disposable) == null || g.dispose()), this._currentPopup = {
871
873
  unitId: i,
872
874
  subUnitId: r,
873
875
  disposable: p,
@@ -884,6 +886,9 @@ let G = class extends Y {
884
886
  var i, r;
885
887
  this._currentPopup && ((!e || e === this._currentPopup.type) && this._currentPopup.disposable.canDispose() || n) && ((r = (i = this._currentPopup) == null ? void 0 : i.disposable) == null || r.dispose(), this._currentPopup = null, this._currentPopup$.next(null));
886
888
  }
889
+ dispose() {
890
+ super.dispose(), this.hideCurrentPopup(), this.endEditing(), this._currentPopup$.complete(), this._currentEditing$.complete();
891
+ }
887
892
  _getEditingRange() {
888
893
  var i, r, s;
889
894
  const e = this._editorBridgeService.isVisible().visible, n = this._editorBridgeService.getEditCellState();
package/lib/index.js CHANGED
@@ -819,7 +819,9 @@ let G = class extends Y {
819
819
  getIsKeepVisible() {
820
820
  return this._isKeepVisible;
821
821
  }
822
+ // eslint-disable-next-line max-lines-per-function
822
823
  showPopup(e) {
824
+ var g;
823
825
  if (this._currentPopup && fn(e, this._currentPopup) || (this.hideCurrentPopup(void 0, !0), e.type !== v.ZEN_EDITOR && this._zenZoneService.visible))
824
826
  return;
825
827
  const n = this._currentEditing$.getValue();
@@ -867,7 +869,7 @@ let G = class extends Y {
867
869
  e
868
870
  );
869
871
  }
870
- p && (this._currentPopup = {
872
+ p && (this._currentPopup && ((g = this._currentPopup.disposable) == null || g.dispose()), this._currentPopup = {
871
873
  unitId: i,
872
874
  subUnitId: r,
873
875
  disposable: p,
@@ -884,6 +886,9 @@ let G = class extends Y {
884
886
  var i, r;
885
887
  this._currentPopup && ((!e || e === this._currentPopup.type) && this._currentPopup.disposable.canDispose() || n) && ((r = (i = this._currentPopup) == null ? void 0 : i.disposable) == null || r.dispose(), this._currentPopup = null, this._currentPopup$.next(null));
886
888
  }
889
+ dispose() {
890
+ super.dispose(), this.hideCurrentPopup(), this.endEditing(), this._currentPopup$.complete(), this._currentEditing$.complete();
891
+ }
887
892
  _getEditingRange() {
888
893
  var i, r, s;
889
894
  const e = this._editorBridgeService.isVisible().visible, n = this._editorBridgeService.getEditCellState();
@@ -62,6 +62,7 @@ export declare class SheetsHyperLinkPopupService extends Disposable {
62
62
  getIsKeepVisible(): boolean;
63
63
  showPopup(location: IHyperLinkPopupOptions): void;
64
64
  hideCurrentPopup(type?: HyperLinkEditSourceType, force?: boolean): void;
65
+ dispose(): void;
65
66
  private _getEditingRange;
66
67
  private get _editPopup();
67
68
  startAddEditing(link: IHyperLinkEditing): void;
package/lib/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(g,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula-ui"),require("@univerjs/sheets-hyper-link"),require("react"),require("@univerjs/sheets-data-validation")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/docs","@univerjs/docs-ui","@univerjs/engine-render","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","@univerjs/engine-formula","@univerjs/sheets-formula-ui","@univerjs/sheets-hyper-link","react","@univerjs/sheets-data-validation"],o):(g=typeof globalThis<"u"?globalThis:g||self,o(g.UniverSheetsHyperLinkUi={},g.UniverCore,g.UniverSheets,g.UniverSheetsUi,g.UniverDocs,g.UniverDocsUi,g.UniverEngineRender,g.UniverUi,g.rxjs,g.React,g.UniverDesign,g.UniverEngineFormula,g.UniverSheetsFormulaUi,g.UniverSheetsHyperLink,g.React,g.UniverSheetsDataValidation))})(this,(function(g,o,f,R,pe,J,he,m,k,y,L,z,Mt,I,E,tt){"use strict";var kn=Object.defineProperty;var Nn=(g,o,f)=>o in g?kn(g,o,{enumerable:!0,configurable:!0,writable:!0,value:f}):g[o]=f;var F=(g,o,f)=>Nn(g,typeof o!="symbol"?o+"":o,f);var C=(e=>(e.EDITING="editing",e.VIEWING="viewing",e.ZEN_EDITOR="zen_mode",e))(C||{});function Ce(e){return o.Tools.isLegalUrl(e)}function Ut(e){return/^[a-zA-Z]+:\/\//.test(e)}function Ht(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function xt(e){if(Ce(e)){const n=Ut(e)?e:Ht(e)?`mailto://${e}`:`http://${e}`;let t;try{t=new URL(n)}catch{return e}return t.hostname===location.hostname&&t.port===location.port&&t.protocol===location.protocol&&t.pathname===location.pathname&&t.hash&&!t.search?t.hash:n}return e}const nt="sheets-hyper-link-ui.config",it={};var At=Object.getOwnPropertyDescriptor,Bt=(e,n,t,i)=>{for(var r=i>1?void 0:i?At(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},ce=(e,n)=>(t,i)=>n(t,i,e);function Vt(e,n){const t=n.getMergeData(),i=n.getMaxColumns()-1,r=n.getMaxRows()-1;if(i<e.endColumn&&(e.endColumn=i),r<e.endRow&&(e.endRow=r),e.rangeType===o.RANGE_TYPE.COLUMN||o.RANGE_TYPE.ROW)return e;const s=[];return t.forEach(a=>{o.Rectangle.intersects(e,a)&&s.push(a)}),o.Rectangle.realUnion(e,...s)}g.SheetsHyperLinkResolverService=class{constructor(n,t,i,r,s,a){this._univerInstanceService=n,this._commandService=t,this._definedNamesService=i,this._messageService=r,this._localeService=s,this._configService=a}navigate(n){switch(n.type){case I.SheetHyperLinkType.URL:this.navigateToOtherWebsite(n.url);break;default:this._navigateToUniver(n.searchObj)}}_navigateToUniver(n){const{gid:t,range:i,rangeid:r}=n,s=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);if(!s)return;const a=s.getUnitId();if(r){const u=this._definedNamesService.getValueById(a,r);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:L.MessageType.Error});return}if(h.isSheetHidden()){this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:L.MessageType.Error});return}this.navigateToDefineName(a,r)}if(t){if(i){const u=z.deserializeRangeWithSheet(i);o.isValidRange(u.range)&&i!==I.ERROR_RANGE&&this.navigateToRange(a,t,u.range);return}this.navigateToSheetById(a,t)}}async navigateToRange(n,t,i,r){const s=await this.navigateToSheetById(n,t);if(s){const a=Vt(i,s);await this._commandService.executeCommand(f.SetSelectionsOperation.id,{unitId:n,subUnitId:t,selections:[{range:a,primary:null}]}),await this._commandService.executeCommand(R.ScrollToRangeOperation.id,{range:a,forceTop:r})}}async navigateToSheetById(n,t){const i=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET);if(!i)return!1;const r=i.getActiveSheet();if(!r)return!1;if(r.getSheetId()===t)return r;const s=i.getSheetBySheetId(t);return s?i.getHiddenWorksheets().indexOf(t)>-1?(this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:L.MessageType.Error}),!1):await this._commandService.executeCommand(f.SetWorksheetActiveOperation.id,{unitId:n,subUnitId:t})?s:!1:(this._messageService.show({content:this._localeService.t("hyperLink.message.noSheet"),type:L.MessageType.Error}),!1)}async navigateToDefineName(n,t){return this._definedNamesService.focusRange(n,t),!0}async navigateToOtherWebsite(n){var i;const t=this._configService.getConfig(nt);if((i=t==null?void 0:t.urlHandler)!=null&&i.navigateToOtherWebsite)return t.urlHandler.navigateToOtherWebsite(n);window.open(n,"_blank","noopener noreferrer")}},g.SheetsHyperLinkResolverService=Bt([ce(0,o.IUniverInstanceService),ce(1,o.ICommandService),ce(2,z.IDefinedNamesService),ce(3,m.IMessageService),ce(4,o.Inject(o.LocaleService)),ce(5,o.IConfigService)],g.SheetsHyperLinkResolverService);class je extends o.Disposable{constructor(){super(...arguments);F(this,"_customHyperLinks",new Map)}isBuiltInLinkType(t){return t!==I.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:t})=>t)}findCustomHyperLink(t){return Array.from(this._customHyperLinks.values()).find(r=>r.match(t))}registerCustomHyperLink(t){this._customHyperLinks.set(t.type,t)}getCustomHyperLink(t){return this._customHyperLinks.get(t)}removeCustomHyperLink(t){const{_customHyperLinks:i}=this;i.delete(t)}dispose(){super.dispose(),this._customHyperLinks.clear()}}const Ee=()=>{var mt;const[e,n]=E.useState(""),[t,i]=E.useState(!1),[r,s]=E.useState(""),[a,u]=E.useState(!0),[l,h]=E.useState(I.SheetHyperLinkType.URL),[d,p]=E.useState(""),_=m.useDependency(o.LocaleService),S=m.useDependency(z.IDefinedNamesService),P=m.useDependency(R.IEditorBridgeService),w=m.useDependency(o.IUniverInstanceService),T=m.useDependency(g.SheetsHyperLinkPopupService),c=m.useObservable(T.currentEditing$),D=m.useDependency(I.SheetsHyperLinkParserService),A=m.useDependency(g.SheetsHyperLinkResolverService),M=m.useDependency(o.ICommandService),U=m.useDependency(je),j=E.useMemo(()=>U.getOptions(),[U]),V=m.useDependency(m.IZenZoneService),q=m.useDependency(he.IRenderManagerService),oe=m.useDependency(R.IMarkSelectionService),Ae=m.useDependency(pe.DocSelectionManagerService),se=m.useDependency(o.IContextService),Ie=m.useDependency(o.ThemeService),_e=m.useDependency(pe.DocSelectionManagerService),[me,Be]=E.useState(!1),ue=m.useDependency(f.SheetsSelectionsService),Tn=E.useMemo(()=>ue.getCurrentSelections(),[]),Ve=E.useMemo(()=>{if(!U.isBuiltInLinkType(l))return U.getCustomHyperLink(l)},[U,l]),[le,Ln]=E.useState(!1),[fe,It]=E.useState(!1),$=E.useRef(!1),W=w.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET),wn=(W==null?void 0:W.getActiveSheet().getSheetId())||"",Q=E.useCallback(v=>{s(v.replaceAll(o.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(o.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))},[s]);E.useEffect(()=>{var v,b,O,N,x,Y,ft,yt,Ct,Et,Rt,Pt,Tt,Lt,wt,Dt,bt;if((c==null?void 0:c.row)!==void 0&&c.col!==void 0){const{customRange:ae,row:Qe,col:et}=c;let{label:X}=c;typeof X=="number"&&(X=`${X}`);let G;if(ae)G={id:(v=ae==null?void 0:ae.rangeId)!=null?v:"",display:X!=null?X:"",payload:(O=(b=ae==null?void 0:ae.properties)==null?void 0:b.url)!=null?O:"",row:Qe,column:et};else if(c.type===C.VIEWING){const H=w.getUnit(c.unitId),te=H==null?void 0:H.getSheetBySheetId(c.subUnitId),B=te==null?void 0:te.getCellRaw(c.row,c.col),de=(Y=(x=(N=B==null?void 0:B.p)==null?void 0:N.body)==null?void 0:x.customRanges)==null?void 0:Y.find(kt=>{var Nt;return kt.rangeType===o.CustomRangeType.HYPERLINK&&((Nt=kt.properties)==null?void 0:Nt.url)}),ye=B==null?void 0:B.v;B&&(!o.BuildTextUtils.transform.isEmptyDocument((yt=(ft=B.p)==null?void 0:ft.body)==null?void 0:yt.dataStream)||o.Tools.isDefine(ye))&&u(!1),G={id:"",display:"",payload:(Et=(Ct=de==null?void 0:de.properties)==null?void 0:Ct.url)!=null?Et:"",row:Qe,column:et}}else{const H=w.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),te=Ae.getActiveTextRange(),B=H==null?void 0:H.getBody(),de=te&&B?te:null,ye=de&&((Pt=o.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(de,(Rt=B==null?void 0:B.customRanges)!=null?Rt:[]))==null?void 0:Pt[0]);u(!1),G={id:"",display:X!=null?X:"",payload:(Lt=(Tt=ye==null?void 0:ye.properties)==null?void 0:Tt.url)!=null?Lt:"",row:Qe,column:et}}n(G.id);const Ot=U.findCustomHyperLink(G);if(Ot){const H=Ot.convert(G);h(H.type),p(H.payload),Q(H.display);return}Q(G.display);const ee=D.parseHyperLink(G.payload);switch(h(ee.type===I.SheetHyperLinkType.INVALID?I.SheetHyperLinkType.RANGE:ee.type),ee.type){case I.SheetHyperLinkType.URL:{p(ee.url),ee.url===G.display&&($.current=!0);break}case I.SheetHyperLinkType.RANGE:{const H=ee.searchObj,te=H.gid&&(bt=(Dt=(wt=w.getUnit(c.unitId))==null?void 0:wt.getSheetBySheetId(H.gid))==null?void 0:Dt.getName())!=null?bt:"",B=z.serializeRangeWithSheet(te,z.deserializeRangeWithSheet(H.range).range);p(B),B===G.display&&($.current=!0);break}case I.SheetHyperLinkType.SHEET:{const H=ee.searchObj;p(H.gid);break}case I.SheetHyperLinkType.DEFINE_NAME:{const H=ee.searchObj;p(H.rangeid);break}default:p("");break}}},[c,A,U,Ae,w]),E.useEffect(()=>{let v=null;if(c&&!c.customRangeId&&c.type===C.VIEWING&&o.Tools.isDefine(c.row)&&o.Tools.isDefine(c.col)){const b=w.getUnit(c.unitId,o.UniverInstanceType.UNIVER_SHEET),O=b==null?void 0:b.getSheetBySheetId(c.subUnitId),N=O==null?void 0:O.getMergedCell(c.row,c.col),x=new o.ColorKit(Ie.getColorFromTheme("primary.600")).toRgb();v=oe.addShape({range:N!=null?N:{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()=>{v&&oe.removeShape(v)}},[c,oe,Ie,w]),E.useEffect(()=>{It(l===I.SheetHyperLinkType.RANGE)},[l]),E.useEffect(()=>{const v=(c==null?void 0:c.type)===C.ZEN_EDITOR?q.getRenderById(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY):q.getRenderById(P.getCurrentEditorId()),b=new o.DisposableCollection;if(v){const O=v.with(J.DocSelectionRenderService);O.setReserveRangesStatus(!0),b.add(()=>{O.setReserveRangesStatus(!1)})}return()=>{P.disableForceKeepVisible(),b.dispose()}},[c==null?void 0:c.type,P,q]),E.useEffect(()=>(fe&&T.setIsKeepVisible(fe),T.setIsKeepVisible(me),()=>{T.setIsKeepVisible(!1)}),[fe,me,T]),E.useEffect(()=>()=>{V.temporaryHidden&&(V.show(),se.setContextValue(o.FOCUSING_SHEET,!1))},[se,V]),E.useEffect(()=>{if(fe)return P.enableForceKeepVisible(),()=>{P.disableForceKeepVisible()}},[fe,P]);const Dn=[{label:_.t("hyperLink.form.link"),value:I.SheetHyperLinkType.URL},{label:_.t("hyperLink.form.range"),value:I.SheetHyperLinkType.RANGE},{label:_.t("hyperLink.form.worksheet"),value:I.SheetHyperLinkType.SHEET},{label:_.t("hyperLink.form.definedName"),value:I.SheetHyperLinkType.DEFINE_NAME},...j];if(!W)return;const bn=W.getHiddenWorksheets(),qe=W.getSheets().map(v=>({label:v.getName(),value:v.getSheetId()})).filter(v=>bn.indexOf(v.value)===-1),Xe=Object.values((mt=S.getDefinedNameMap(W.getUnitId()))!=null?mt:{}).map(v=>({label:v.name,value:v.id})),_t=(v,b)=>{if(v===I.SheetHyperLinkType.URL)return xt(b);if(v===I.SheetHyperLinkType.RANGE){const O=z.deserializeRangeWithSheet(b),N=W.getSheetBySheetName(O.sheetName);if(N)return`#gid=${N.getSheetId()}&range=${z.serializeRange(O.range)}`}return`#${v}=${b}`},On=m.useEvent(v=>{var x;const O=v.split(",").map(z.deserializeRangeWithSheet)[0];if(!O||!o.isValidRange(O.range))return;O.sheetName||(O.sheetName=((x=W.getActiveSheet())==null?void 0:x.getName())||"");const N=z.serializeRangeToRefString(O);p(N),N&&($.current||!r)&&(Q(N),$.current=!0)}),Je=async()=>{if(a&&!r||!d||l===I.SheetHyperLinkType.URL&&!Ce(d)){Ln(!0);return}if(c)if(e){const v=c.type===C.ZEN_EDITOR||c.type===C.EDITING?I.UpdateRichHyperLinkCommand.id:I.UpdateHyperLinkCommand.id;await M.executeCommand(v,{id:e,unitId:c.unitId,subUnitId:c.subUnitId,payload:{display:a?r:"",payload:_t(l,d)},row:c.row,column:c.col,documentId:c.type===C.ZEN_EDITOR?o.DOCS_ZEN_EDITOR_UNIT_ID_KEY:P.getCurrentEditorId()})}else{const v=c.type===C.ZEN_EDITOR||c.type===C.EDITING?I.AddRichHyperLinkCommand.id:I.AddHyperLinkCommand.id;await M.executeCommand(v,{unitId:c.unitId,subUnitId:c.subUnitId,link:{id:o.generateRandomId(),row:c.row,column:c.col,payload:_t(l,d),display:a?r:""},documentId:c.type===C.ZEN_EDITOR?o.DOCS_ZEN_EDITOR_UNIT_ID_KEY:P.getCurrentEditorId()})}if((c==null?void 0:c.type)===C.VIEWING){await M.executeCommand(f.SetWorksheetActiveOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId});const v=1;await M.executeCommand(R.ScrollToRangeOperation.id,{range:{startRow:Math.max(c.row-v,0),endRow:c.row+v,startColumn:Math.max(c.col-v,0),endColumn:c.col+v}})}M.executeCommand(ge.id)};return c?y.jsxs("div",{className:L.clsx("univer-box-border univer-w-[296px] univer-rounded-xl univer-bg-white univer-p-4 univer-shadow-md dark:!univer-bg-gray-900",L.borderClassName),children:[a?y.jsx(L.FormLayout,{label:_.t("hyperLink.form.label"),error:le&&!r?_.t("hyperLink.form.inputError"):"",children:y.jsx(L.Input,{value:r,onChange:v=>{Q(v),$.current=!1},placeholder:_.t("hyperLink.form.labelPlaceholder"),autoFocus:!0,onKeyDown:v=>{v.keyCode===m.KeyCode.ENTER&&Je()}})}):null,y.jsx(L.FormLayout,{label:_.t("hyperLink.form.type"),children:y.jsx(L.Select,{className:"univer-w-full",options:Dn,value:l,onChange:v=>{h(v),p("")}})}),l===I.SheetHyperLinkType.URL&&y.jsx(L.FormLayout,{error:le?d?Ce(d)?"":_.t("hyperLink.form.linkError"):_.t("hyperLink.form.inputError"):"",children:y.jsx(L.Input,{value:d,onChange:v=>{p(v),v&&($.current||!r||r===v)&&(Q(v),$.current=!0)},placeholder:_.t("hyperLink.form.linkPlaceholder"),autoFocus:!0,onKeyDown:v=>{v.keyCode===m.KeyCode.ENTER&&Je()}})}),l===I.SheetHyperLinkType.RANGE&&y.jsx(L.FormLayout,{error:le&&!d?_.t("hyperLink.form.inputError"):"",children:y.jsx(Mt.RangeSelector,{unitId:W.getUnitId(),subUnitId:wn,maxRangeCount:1,supportAcrossSheet:!0,initialValue:d,resetRange:Tn,onChange:(v,b)=>On(b),onRangeSelectorDialogVisibleChange:async v=>{var b,O;if(Be(v),v)c.type===C.ZEN_EDITOR&&(V.hide(),se.setContextValue(o.FOCUSING_SHEET,!0)),c.type!==C.VIEWING&&P.enableForceKeepVisible(),i(!0);else{if(await A.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),c.type===C.ZEN_EDITOR){await M.executeCommand(f.SetSelectionsOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId,selections:[{range:{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col}}]}),V.show(),se.setContextValue(o.FOCUSING_SHEET,!1);const N=(b=q.getRenderById(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:b.with(J.DocBackScrollRenderController),x=(O=_e.getTextRanges({unitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))==null?void 0:O[0];N&&x&&(N.scrollToRange(x),_e.refreshSelection({unitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))}P.disableForceKeepVisible(),i(!1)}},onFocusChange:v=>It(v)})}),l===I.SheetHyperLinkType.SHEET&&y.jsx(L.FormLayout,{error:le&&!d?_.t("hyperLink.form.selectError"):"",children:y.jsx(L.Select,{className:"univer-w-full",options:qe,value:d,onChange:v=>{var N,x;p(v);const b=(N=qe.find(Y=>Y.value===v))==null?void 0:N.label,O=(x=qe.find(Y=>Y.value===d))==null?void 0:x.label;b&&($.current||!r||r===O)&&(Q(b),$.current=!0)}})}),l===I.SheetHyperLinkType.DEFINE_NAME&&y.jsx(L.FormLayout,{error:le&&!d?_.t("hyperLink.form.selectError"):"",children:y.jsx(L.Select,{className:"univer-w-full",options:Xe,value:d,onChange:v=>{var N,x;p(v);const b=(N=Xe.find(Y=>Y.value===v))==null?void 0:N.label,O=(x=Xe.find(Y=>Y.value===d))==null?void 0:x.label;b&&($.current||!r||r===O)&&(Q(b),$.current=!0)}})}),(Ve==null?void 0:Ve.Form)&&y.jsx(Ve.Form,{linkId:e,payload:d,display:r,showError:le,setByPayload:$,setDisplay:v=>{Q(v),$.current=!0},setPayload:p}),y.jsxs("div",{className:"univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[y.jsx(L.Button,{onClick:()=>{c&&A.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),M.executeCommand(ge.id)},children:_.t("hyperLink.form.cancel")}),y.jsx(L.Button,{variant:"primary",onClick:async()=>{Je()},children:_.t("hyperLink.form.ok")})]})]}):null};Ee.componentKey="univer.sheet.cell-link-edit";var Z=function(){return Z=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Z.apply(this,arguments)},jt=function(e,n){var t={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.indexOf(i)<0&&(t[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(e);r<i.length;r++)n.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(t[i[r]]=e[i[r]]);return t},ne=E.forwardRef(function(e,n){var t=e.icon,i=e.id,r=e.className,s=e.extend,a=jt(e,["icon","id","className","extend"]),u="univerjs-icon univerjs-icon-".concat(i," ").concat(r||"").trim(),l=E.useRef("_".concat(Ft()));return rt(t,"".concat(i),{defIds:t.defIds,idSuffix:l.current},Z({ref:n,className:u},a),s)});function rt(e,n,t,i,r){return E.createElement(e.tag,Z(Z({key:n},$t(e,t,r)),i),(Zt(e,t).children||[]).map(function(s,a){return rt(s,"".concat(n,"-").concat(e.tag,"-").concat(a),t,void 0,r)}))}function $t(e,n,t){var i=Z({},e.attrs);t!=null&&t.colorChannel1&&i.fill==="colorChannel1"&&(i.fill=t.colorChannel1),e.tag==="mask"&&i.id&&(i.id=i.id+n.idSuffix),Object.entries(i).forEach(function(s){var a=s[0],u=s[1];a==="mask"&&typeof u=="string"&&(i[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))});var r=n.defIds;return!r||r.length===0||(e.tag==="use"&&i["xlink:href"]&&(i["xlink:href"]=i["xlink:href"]+n.idSuffix),Object.entries(i).forEach(function(s){var a=s[0],u=s[1];typeof u=="string"&&(i[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))})),i}function Zt(e,n){var t,i=n.defIds;return!i||i.length===0?e:e.tag==="defs"&&(!((t=e.children)===null||t===void 0)&&t.length)?Z(Z({},e),{children:e.children.map(function(r){return typeof r.attrs.id=="string"&&i&&i.includes(r.attrs.id)?Z(Z({},r),{attrs:Z(Z({},r.attrs),{id:r.attrs.id+n.idSuffix})}):r})}):e}function Ft(){return Math.random().toString(36).substring(2,8)}ne.displayName="UniverIcon";var Kt={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=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"all-border-icon",ref:n,icon:Kt}))});Re.displayName="AllBorderIcon";var Wt={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"}}]},ot=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"copy-icon",ref:n,icon:Wt}))});ot.displayName="CopyIcon";var Yt={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"}}]},$e=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"link-icon",ref:n,icon:Yt}))});$e.displayName="LinkIcon";var Gt={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"}}]},st=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"unlink-icon",ref:n,icon:Gt}))});st.displayName="UnlinkIcon";var zt={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"}}]},at=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"write-icon",ref:n,icon:zt}))});at.displayName="WriteIcon";var 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:"#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"}}]},ct=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"xlsx-multi-icon",ref:n,icon:qt}))});ct.displayName="XlsxMultiIcon";const Xt={[I.SheetHyperLinkType.URL]:y.jsx($e,{}),[I.SheetHyperLinkType.SHEET]:y.jsx(ct,{className:"univer-text-green-500"}),[I.SheetHyperLinkType.RANGE]:y.jsx(Re,{}),[I.SheetHyperLinkType.DEFINE_NAME]:y.jsx(Re,{}),[I.SheetHyperLinkType.INVALID]:y.jsx(Re,{})},ut=e=>{var A,M;const n=m.useDependency(g.SheetsHyperLinkPopupService),t=m.useDependency(o.ICommandService),i=m.useDependency(m.IMessageService),r=m.useDependency(o.LocaleService),s=m.useDependency(g.SheetsHyperLinkResolverService),a=m.useDependency(R.IEditorBridgeService),u=m.useDependency(I.SheetsHyperLinkParserService),l=m.useDependency(m.IZenZoneService),{customRange:h,row:d,col:p,unitId:_,subUnitId:S,editPermission:P,copyPermission:w,type:T}=e;if(!((A=h==null?void 0:h.properties)!=null&&A.url))return null;const c=u.parseHyperLink((M=h.properties.url)!=null?M:""),D=c.type===I.SheetHyperLinkType.INVALID;return y.jsxs("div",{className:L.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",L.borderClassName),onClick:()=>n.hideCurrentPopup(),children:[y.jsxs("div",{className:L.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":D}),onClick:()=>{l.visible||D||s.navigate(c)},children:[y.jsx("div",{className:"univer-mr-2 univer-flex univer-h-5 univer-w-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:Xt[c.type]}),y.jsx(L.Tooltip,{showIfEllipsis:!0,title:c.name,asChild:!0,children:y.jsx("span",{className:"univer-flex-1 univer-overflow-hidden univer-text-ellipsis",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:[w&&y.jsx("div",{className:L.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":D}),onClick:()=>{if(!D){if(c.type!==I.SheetHyperLinkType.URL){const U=new URL(window.location.href);U.hash=c.url.slice(1),navigator.clipboard.writeText(U.href)}else navigator.clipboard.writeText(c.url);i.show({content:r.t("hyperLink.message.coped"),type:L.MessageType.Info})}},children:y.jsx(L.Tooltip,{placement:"bottom",title:r.t("hyperLink.popup.copy"),children:y.jsx(ot,{className:"dark:!univer-text-white"})})}),P&&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:()=>{t.executeCommand(Te.id,{unitId:_,subUnitId:S,row:d,col:p,customRangeId:h.rangeId,type:T})},children:y.jsx(L.Tooltip,{placement:"bottom",title:r.t("hyperLink.popup.edit"),children:y.jsx(at,{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 U=T===C.EDITING||T===C.ZEN_EDITOR?I.CancelRichHyperLinkCommand.id:I.CancelHyperLinkCommand.id;t.syncExecuteCommand(U,{unitId:_,subUnitId:S,id:h.rangeId,row:d,column:p,documentId:T===C.ZEN_EDITOR?o.DOCS_ZEN_EDITOR_UNIT_ID_KEY:a.getCurrentEditorId()})&&n.hideCurrentPopup(void 0,!0)},children:y.jsx(L.Tooltip,{placement:"bottom",title:r.t("hyperLink.popup.cancel"),children:y.jsx(st,{className:"dark:!univer-text-white"})})})]})]})]})},Pe=()=>{var r,s;const e=m.useDependency(g.SheetsHyperLinkPopupService),[n,t]=E.useState(null),i=m.useDependency(o.IUniverInstanceService);if(E.useEffect(()=>{t(e.currentPopup);const a=e.currentPopup$.subscribe(u=>{t(u)});return()=>{a.unsubscribe()}},[e.currentPopup,e.currentPopup$]),!n)return null;if(n.showAll){const a=i.getUnit(n.unitId,o.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(n.subUnitId),l=u==null?void 0:u.getCell(n.row,n.col),h=(s=(r=l==null?void 0:l.p)==null?void 0:r.body)==null?void 0:s.customRanges;return h!=null&&h.length?y.jsx("div",{children:h.map(d=>y.jsx(ut,{...n,customRange:d},d.rangeId))}):null}return y.jsx(ut,{...n})};Pe.componentKey="univer.sheet.cell-link-popup";var Jt=Object.getOwnPropertyDescriptor,Qt=(e,n,t,i)=>{for(var r=i>1?void 0:i?Jt(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},ie=(e,n)=>(t,i)=>n(t,i,e);const lt=(e,n)=>{var t,i;return e.unitId===n.unitId&&e.subUnitId===n.subUnitId&&e.row===n.row&&e.col===n.col&&((t=e.customRange)==null?void 0:t.rangeId)===((i=n.customRange)==null?void 0:i.rangeId)&&e.type===n.type};g.SheetsHyperLinkPopupService=class extends o.Disposable{constructor(t,i,r,s,a,u,l){super();F(this,"_currentPopup",null);F(this,"_currentPopup$",new k.Subject);F(this,"currentPopup$",this._currentPopup$.asObservable());F(this,"_currentEditingPopup",null);F(this,"_currentEditing$",new k.BehaviorSubject(null));F(this,"currentEditing$",this._currentEditing$.asObservable());F(this,"_isKeepVisible",!1);this._sheetCanvasPopManagerService=t,this._injector=i,this._univerInstanceService=r,this._editorBridgeService=s,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(t){this._isKeepVisible=t}getIsKeepVisible(){return this._isKeepVisible}showPopup(t){if(this._currentPopup&&lt(t,this._currentPopup)||(this.hideCurrentPopup(void 0,!0),t.type!==C.ZEN_EDITOR&&this._zenZoneService.visible))return;const i=this._currentEditing$.getValue();if(i&&lt(t,i))return;const{unitId:r,subUnitId:s,row:a,col:u,customRangeRect:l,customRange:h}=t;let d;const p={componentKey:Pe.componentKey,direction:"bottom",onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(t.type,!0)}};if(t.type===C.EDITING){if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l,p)}else if(t.type===C.ZEN_EDITOR){if(!h)return;d=this._docCanvasPopManagerService.attachPopupToRange({startOffset:h.startIndex,endOffset:h.endIndex+1,collapsed:!1},p,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(t.showAll)d=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,p,r,s);else{if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupByPosition(l,p,t)}d&&(this._currentPopup={unitId:r,subUnitId:s,disposable:d,row:a,col:u,editPermission:!!t.editPermission,copyPermission:!!t.copyPermission,customRange:h,type:t.type,showAll:t.showAll},this._currentPopup$.next(this._currentPopup))}hideCurrentPopup(t,i){var r,s;this._currentPopup&&((!t||t===this._currentPopup.type)&&this._currentPopup.disposable.canDispose()||i)&&((s=(r=this._currentPopup)==null?void 0:r.disposable)==null||s.dispose(),this._currentPopup=null,this._currentPopup$.next(null))}_getEditingRange(){var r,s,a;const t=this._editorBridgeService.isVisible().visible,i=this._editorBridgeService.getEditCellState();if(t&&i){const u=this._textSelectionManagerService.getActiveTextRange(),l=(r=i.documentLayoutObject.documentModel)==null?void 0:r.getBody();if(!l)return null;if(!u||u.collapsed)return{startOffset:0,endOffset:l.dataStream.length-2,collapsed:l.dataStream.length-2===0,label:o.BuildTextUtils.transform.getPlainText(l.dataStream)};const h=o.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(u,(a=(s=l.customRanges)==null?void 0:s.filter(_=>_.rangeType===o.CustomRangeType.HYPERLINK))!=null?a:[]);let d=u.startOffset,p=u.endOffset;return h.forEach(_=>{d=Math.min(d,_.startIndex),p=Math.max(p,_.endIndex+1)}),{startOffset:d,endOffset:p,collapsed:d===p,label:o.BuildTextUtils.transform.getPlainText(l.dataStream.slice(d,p))}}return null}get _editPopup(){return{componentKey:Ee.componentKey,direction:"vertical",onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:"hide"}}startAddEditing(t){var a,u,l,h,d;const{unitId:i,subUnitId:r,type:s}=t;if(s===C.ZEN_EDITOR){const p=this._univerInstanceService.getUnit(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,o.UniverInstanceType.UNIVER_DOC);if(!p)return;const _=this._textSelectionManagerService.getActiveTextRange();if(!_)return;this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange(_,this._editPopup,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY);const S=(a=p.getBody())==null?void 0:a.dataStream.slice(_.startOffset,_.endOffset);this._currentEditing$.next({...t,label:S})}else if(s===C.EDITING){const p=this._getEditingRange();if(!p)return;this._textSelectionManagerService.replaceDocRanges([{...p}],{unitId:o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});const _=this._injector.get(he.IRenderManagerService).getRenderById(o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!_)return;const S=J.calcDocRangePositions(p,_);if(!(S!=null&&S.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(S.pop(),this._editPopup,i,r),this._currentEditing$.next({...t,label:(u=p==null?void 0:p.label)!=null?u:""})}else{this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,i,r);const p=this._univerInstanceService.getUnit(i,o.UniverInstanceType.UNIVER_SHEET),_=p==null?void 0:p.getSheetBySheetId(r),S=_==null?void 0:_.getCellRaw(t.row,t.col);this._currentEditing$.next({...t,label:S!=null&&S.p?o.BuildTextUtils.transform.getPlainText((h=(l=S.p.body)==null?void 0:l.dataStream)!=null?h:""):((d=S==null?void 0:S.v)!=null?d:"").toString()})}}startEditing(t){var u,l,h,d,p,_;(u=this._currentEditingPopup)==null||u.dispose(),this.hideCurrentPopup(void 0,!0);const{unitId:i,subUnitId:r}=t;let s,a;if(t.type===C.ZEN_EDITOR){const S=this._univerInstanceService.getUnit(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,o.UniverInstanceType.UNIVER_DOC);if(s=(h=(l=S==null?void 0:S.getBody())==null?void 0:l.customRanges)==null?void 0:h.find(P=>P.rangeId===t.customRangeId),a=s?(d=S==null?void 0:S.getBody())==null?void 0:d.dataStream.slice(s.startIndex,s.endIndex+1):"",!s||!a)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:s.startIndex,endOffset:s.endIndex+1}]),this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange({startOffset:s.startIndex,endOffset:s.endIndex,collapsed:!1},this._editPopup,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(t.type===C.EDITING){const S=R.getEditingCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.customRangeId);if(!S||!((p=S.rects)!=null&&p.length))return;s=S.customRange,a=S.label,this._textSelectionManagerService.replaceTextRanges([{startOffset:s.startIndex,endOffset:s.endIndex+1}]),this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(S.rects.pop(),this._editPopup,i,r)}else{const S=this._univerInstanceService.getUnit(i,o.UniverInstanceType.UNIVER_SHEET),P=S==null?void 0:S.getSheetBySheetId(r),w=P==null?void 0:P.getCellRaw(t.row,t.col),T=S==null?void 0:S.getStyles().getStyleByCell(w),c=T==null?void 0:T.tr,D=R.getCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.customRangeId);if(!D||!((_=D.rects)!=null&&_.length))return;s=D.customRange,a=D.label,c?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,i,r):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(D.rects.pop(),this._editPopup,{unitId:i,subUnitId:r,row:t.row,col:t.col})}this._currentEditing$.next({...t,customRange:s,label:a})}endEditing(t){var r;if(this.getIsKeepVisible())return;const i=this._currentEditing$.getValue();i&&(!t||t===i.type)&&((r=this._currentEditingPopup)==null||r.dispose(),this._currentEditing$.next(null))}},g.SheetsHyperLinkPopupService=Qt([ie(0,o.Inject(R.SheetCanvasPopManagerService)),ie(1,o.Inject(o.Injector)),ie(2,o.IUniverInstanceService),ie(3,R.IEditorBridgeService),ie(4,o.Inject(pe.DocSelectionManagerService)),ie(5,o.Inject(J.DocCanvasPopManagerService)),ie(6,m.IZenZoneService)],g.SheetsHyperLinkPopupService);var ve=(e=>(e[e.ALLOWED=0]="ALLOWED",e[e.DISABLED_BY_CELL=1]="DISABLED_BY_CELL",e[e.ALLOW_ON_EDITING=2]="ALLOW_ON_EDITING",e))(ve||{});const en=new Set([o.DataValidationType.CHECKBOX,o.DataValidationType.LIST,o.DataValidationType.LIST_MULTIPLE]),Ze=(e,n,t,i)=>{var u,l,h,d,p;const r=n.getCell(t,i);if(r!=null&&r.f||r!=null&&r.si||(h=(l=(u=r==null?void 0:r.p)==null?void 0:u.body)==null?void 0:l.customBlocks)!=null&&h.length)return 1;const s=e.has(tt.SheetDataValidationModel)?e.get(tt.SheetDataValidationModel):null,a=s==null?void 0:s.getRuleByLocation(n.getUnitId(),n.getSheetId(),t,i);return a&&en.has(a.type)?!0:(p=(d=r==null?void 0:r.p)==null?void 0:d.drawingsOrder)!=null&&p.length?2:0},tn=e=>{const n=e.get(o.IUniverInstanceService).getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);if(!n)return!0;const t=n.getActiveSheet(),i=e.get(f.SheetsSelectionsService).getCurrentSelections();if(!i.length)return!0;const r=i[0].range.startRow,s=i[0].range.startColumn;return Ze(e,t,r,s)===1},nn=e=>{const n=e.get(pe.DocSelectionManagerService),t=e.get(o.IUniverInstanceService),i=n.getTextRanges();if(!(i!=null&&i.length))return!0;const r=t.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);return!!(!r||i.every(a=>a.collapsed)||!r.getSelfOrHeaderFooterModel(i[0].segmentId).getBody())},Te={type:o.CommandType.OPERATION,id:"sheet.operation.open-hyper-link-edit-panel",handler(e,n){if(!n)return!1;const t=e.get(g.SheetsHyperLinkPopupService);return n.customRangeId?t.startEditing(n):t.startAddEditing(n),!0}},ge={type:o.CommandType.OPERATION,id:"sheet.operation.close-hyper-link-popup",handler(e){return e.get(g.SheetsHyperLinkPopupService).endEditing(),!0}},Le={type:o.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link",handler(e){var p;const n=e.get(o.IUniverInstanceService),t=f.getSheetCommandTarget(n),i=e.get(R.IEditorBridgeService);if(!t)return!1;const r=e.get(o.ICommandService),a=e.get(f.SheetsSelectionsService).getCurrentLastSelection();if(!a)return!1;const u=a.range.startRow,l=a.range.startColumn,h=i.isVisible(),d=((p=n.getFocusedUnit())==null?void 0:p.getUnitId())===o.DOCS_ZEN_EDITOR_UNIT_ID_KEY;return r.executeCommand(Te.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:u,col:l,type:d?C.ZEN_EDITOR:h.visible?C.EDITING:C.VIEWING})}},re={type:o.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link-toolbar",handler(e){if(tn(e))return!1;const n=e.get(o.ICommandService);return e.get(g.SheetsHyperLinkPopupService).currentEditing?n.executeCommand(ge.id):n.executeCommand(Le.id)}},Fe="SHEET_HYPER_LINK_UI_PLUGIN";var rn=Object.getOwnPropertyDescriptor,on=(e,n,t,i)=>{for(var r=i>1?void 0:i?rn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},we=(e,n)=>(t,i)=>n(t,i,e);g.SheetsHyperLinkCopyPasteController=class extends o.Disposable{constructor(t,i,r,s){super();F(this,"_plainTextFilter",new Set);F(this,"_copyInfo");this._sheetClipboardService=t,this._hyperLinkModel=i,this._injector=r,this._resolverService=s,this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}registerPlainTextFilter(t){this._plainTextFilter.add(t)}removePlainTextFilter(t){this._plainTextFilter.delete(t)}_filterPlainText(t){return Array.from(this._plainTextFilter).every(i=>i(t))}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:Fe,onBeforeCopy:(t,i,r)=>this._collect(t,i,r),onPasteCells:(t,i,r,s)=>{const{copyType:a=R.COPY_TYPE.COPY,pasteType:u}=s,{range:l}=t||{},{range:h,unitId:d,subUnitId:p}=i;return this._generateMutations(h,{copyType:a,pasteType:u,copyRange:l,unitId:d,subUnitId:p})},onPastePlainText:(t,i)=>{const r=this._filterPlainText(i);if(Ce(i)&&r){const{range:s,unitId:a,subUnitId:u}=t,{ranges:[l],mapFunc:h}=R.virtualizeDiscreteRanges([s]),d=[],p=[];return o.Range.foreach(l,(_,S)=>{const{row:P,col:w}=h(_,S),T=this._hyperLinkModel.getHyperLinkByLocation(a,u,P,w);T&&d.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:a,subUnitId:u,id:T.id}}),T&&p.push({id:I.AddHyperLinkMutation.id,params:{unitId:a,subUnitId:u,link:T}})}),{redos:d,undos:p}}return{undos:[],redos:[]}},priority:99})}_collect(t,i,r){const s=new o.ObjectMatrix;this._copyInfo={unitId:t,subUnitId:i,matrix:s};const a=this._injector.invoke(h=>f.rangeToDiscreteRange(r,h,t,i));if(!a)return;const{rows:u,cols:l}=a;u.forEach((h,d)=>{l.forEach((p,_)=>{var P;const S=this._hyperLinkModel.getHyperLinkByLocation(t,i,h,p);s.setValue(d,_,(P=S==null?void 0:S.id)!=null?P:"")})})}_generateMutations(t,i){if(!this._copyInfo)return{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!i.copyRange)return{redos:[],undos:[]};if([R.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,R.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,R.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,R.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA].includes(i.pasteType))return{redos:[],undos:[]};const{unitId:s,subUnitId:a}=this._copyInfo,u=[],l=[],{ranges:[h,d],mapFunc:p}=R.virtualizeDiscreteRanges([i.copyRange,t]);return R.getRepeatRange(h,d,!0).forEach(({startRange:S})=>{var P;(P=this._copyInfo)==null||P.matrix.forValue((w,T,c)=>{const D=o.Rectangle.getPositionRange({startRow:w,endRow:w,startColumn:T,endColumn:T},S),A=this._hyperLinkModel.getHyperLink(s,a,c),{row:M,col:U}=p(D.startRow,D.startColumn),j=this._hyperLinkModel.getHyperLinkByLocation(i.unitId,i.subUnitId,M,U),V=o.generateRandomId();j&&u.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,id:j.id}}),A&&(u.push({id:I.AddHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,link:{...A,id:V,row:M,column:U}}}),l.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,id:V}})),j&&l.push({id:I.AddHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,link:j}})})}),{redos:u,undos:l}}},g.SheetsHyperLinkCopyPasteController=on([we(0,R.ISheetClipboardService),we(1,o.Inject(I.HyperLinkModel)),we(2,o.Inject(o.Injector)),we(3,o.Inject(g.SheetsHyperLinkResolverService))],g.SheetsHyperLinkCopyPasteController);const Ke=(e,n=o.DOCS_ZEN_EDITOR_UNIT_ID_KEY)=>{var r;const t=e.get(o.IUniverInstanceService),i=(r=e.get(he.IRenderManagerService).getRenderById(n))==null?void 0:r.with(J.DocSelectionRenderService);return i?i.textSelectionInner$.pipe(k.map(()=>{const a=e.get(R.IEditorBridgeService).getEditCellState();if(!a)return!0;const u=f.getSheetCommandTarget(t,{unitId:a.unitId,subUnitId:a.sheetId});return!(u!=null&&u.worksheet)||Ze(e,u.worksheet,a.row,a.column)===1?!0:nn(e)})):k.of(!0)},dt=e=>{var r;const n=e.get(o.IUniverInstanceService),t=e.has(R.IEditorBridgeService)?e.get(R.IEditorBridgeService):null;return((r=t==null?void 0:t.currentEditCellState$.pipe(k.map(s=>{if(!s)return ve.DISABLED_BY_CELL;const a=f.getSheetCommandTarget(n,{unitId:s.unitId,subUnitId:s.sheetId});return a?Ze(e,a.worksheet,s.row,s.column):ve.DISABLED_BY_CELL}),k.switchMap(s=>{if(s===ve.DISABLED_BY_CELL)return k.of(!0);const a=t?t.visible$:k.of(null);return k.combineLatest([a,n.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_DOC)]).pipe(k.switchMap(([u,l])=>u!=null&&u.visible?(l==null?void 0:l.getUnitId())===o.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?k.of(!0):Ke(e,o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY):k.of(s!==ve.ALLOWED)))})))!=null?r:k.of(!0)).pipe(k.switchMap(s=>s?k.of(!0):R.getCurrentRangeDisable$(e,{workbookTypes:[f.WorkbookEditablePermission],worksheetTypes:[f.WorksheetEditPermission,f.WorksheetSetCellValuePermission,f.WorksheetInsertHyperlinkPermission],rangeTypes:[f.RangeProtectionPermissionEditPoint]},!0)))},De={commandId:Le.id,type:m.MenuItemType.BUTTON,title:"hyperLink.menu.add",icon:"LinkIcon"},be=e=>`${e}-zen-editor`,sn=e=>({...De,id:De.commandId,hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_SHEET),disabled$:dt(e)}),an=e=>({...De,id:be(De.commandId),hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Ke(e)}),Oe={tooltip:"hyperLink.form.addTitle",commandId:re.id,type:m.MenuItemType.BUTTON,icon:"LinkIcon"},cn=e=>({...Oe,id:Oe.commandId,hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_SHEET),disabled$:dt(e)}),un=e=>({...Oe,id:be(Oe.commandId),hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Ke(e)}),We={id:re.id,binding:m.KeyCode.K|m.MetaKeys.CTRL_COMMAND,preconditions:R.whenSheetEditorFocused};var ln=Object.getOwnPropertyDescriptor,dn=(e,n,t,i)=>{for(var r=i>1?void 0:i?ln(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},pt=(e,n)=>(t,i)=>n(t,i,e);let ke=class extends o.Disposable{constructor(e,n){super(),this._autoFillService=e,this._hyperLinkModel=n,this._initAutoFill()}_initAutoFill(){const e=()=>({redos:[],undos:[]}),n=(i,r)=>{const{source:s,target:a,unitId:u,subUnitId:l}=i,h=R.virtualizeDiscreteRanges([s,a]),[d,p]=h.ranges,{mapFunc:_}=h,S={row:d.startRow,col:d.startColumn},P=R.getAutoFillRepeatRange(d,p),w=[],T=[];return P.forEach(c=>{const D=c.repeatStartCell,A=c.relativeRange,M={startRow:S.row,startColumn:S.col,endColumn:S.col,endRow:S.row},U={startRow:D.row,startColumn:D.col,endColumn:D.col,endRow:D.row};o.Range.foreach(A,(j,V)=>{const q=o.Rectangle.getPositionRange({startRow:j,startColumn:V,endColumn:V,endRow:j},M),{row:oe,col:Ae}=_(q.startRow,q.startColumn),se=this._hyperLinkModel.getHyperLinkByLocation(u,l,oe,Ae),Ie=o.Rectangle.getPositionRange({startRow:j,startColumn:V,endColumn:V,endRow:j},U),{row:_e,col:me}=_(Ie.startRow,Ie.startColumn),Be=o.generateRandomId(),ue=this._hyperLinkModel.getHyperLinkByLocation(u,l,_e,me);ue&&w.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:ue.id}}),(R.APPLY_TYPE.COPY===r||R.APPLY_TYPE.SERIES===r)&&se&&(w.push({id:I.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:{...se,id:Be,row:_e,column:me}}}),T.push({id:I.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:Be}})),ue&&T.push({id:I.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:ue}})})}),{undos:T,redos:w}},t={id:Fe,onFillData:(i,r,s)=>s===R.APPLY_TYPE.COPY||s===R.APPLY_TYPE.ONLY_FORMAT||s===R.APPLY_TYPE.SERIES?n(i,s):e()};this.disposeWithMe(this._autoFillService.addHook(t))}};ke=dn([pt(0,R.IAutoFillService),pt(1,o.Inject(I.HyperLinkModel))],ke);var pn=Object.getOwnPropertyDescriptor,hn=(e,n,t,i)=>{for(var r=i>1?void 0:i?pn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},Ye=(e,n)=>(t,i)=>n(t,i,e);let Ne=class extends o.Disposable{constructor(e,n,t){super(),this._localeService=e,this._commandService=n,this._sheetPermissionCheckController=t,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===We.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[f.WorkbookEditablePermission],rangeTypes:[f.RangeProtectionPermissionEditPoint],worksheetTypes:[f.WorksheetEditPermission,f.WorksheetSetCellValuePermission,f.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.hyperLinkErr")))}))}};Ne=hn([Ye(0,o.Inject(o.LocaleService)),Ye(1,o.ICommandService),Ye(2,o.Inject(f.SheetPermissionCheckController))],Ne);var vn=Object.getOwnPropertyDescriptor,gn=(e,n,t,i)=>{for(var r=i>1?void 0:i?vn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},K=(e,n)=>(t,i)=>n(t,i,e);let Me=class extends o.Disposable{constructor(e,n,t,i,r,s,a,u,l,h){super(),this._hoverManagerService=e,this._sheetsHyperLinkPopupService=n,this._renderManagerService=t,this._permissionService=i,this._sheetPermissionCheckController=r,this._commandService=s,this._editorBridgeService=a,this._textSelectionManagerService=u,this._univerInstanceService=l,this._zenZoneService=h,this._initHoverListener(),this._initCommandListener(),this._initHoverEditingListener(),this._initTextSelectionListener(),this._initZenEditor()}_getLinkPermission(e){const{unitId:n,subUnitId:t,row:i,col:r}=e,s=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET),a=s==null?void 0:s.getSheetBySheetId(t);if(!a)return{viewPermission:!1,editPermission:!1,copyPermission:!1};const u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[f.WorkbookViewPermission],worksheetTypes:[f.WorksheetViewPermission],rangeTypes:[f.RangeProtectionPermissionViewPoint]},[{startRow:i,startColumn:r,endRow:i,endColumn:r}]);let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[f.WorkbookEditablePermission],worksheetTypes:[f.WorksheetEditPermission,f.WorksheetInsertHyperlinkPermission],rangeTypes:[f.RangeProtectionPermissionEditPoint]},[{startRow:i,startColumn:r,endRow:i,endColumn:r}]);const h=a.getCellRaw(i,r);h!=null&&h.f&&h.f.startsWith("=HYPERLINK(")&&(l=!1);const d=this._permissionService.composePermission([new f.WorkbookCopyPermission(n).id,new f.WorksheetCopyPermission(n,t).id]).every(p=>p.value);return{viewPermission:u,editPermission:l,copyPermission:d}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe(k.debounceTime(200)).subscribe(e=>{var M,U,j;if(!e||((M=e.customRange)==null?void 0:M.rangeType)!==o.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const{unitId:n,subUnitId:t,row:i,col:r}=e,s=this._renderManagerService.getRenderById(n);if(!s)return;const a=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(t);if(!u)return;if(!s.with(R.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(C.VIEWING);return}const h=(U=s==null?void 0:s.with(R.SheetSkeletonManagerService).getSkeletonParam(t))==null?void 0:U.skeleton,d=r,p=i;let _=p,S=d;h&&h.overflowCache.forValue((V,q,oe)=>{o.Rectangle.contains(oe,{startColumn:d,endColumn:d,startRow:p,endRow:p})&&(_=V,S=q)});const{viewPermission:P,editPermission:w,copyPermission:T}=this._getLinkPermission(e);if(!P){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const c=u.getCellStyleOnly(_,S),D=a.getStyles().getStyleByCell(c),A=(j=D==null?void 0:D.tr)==null?void 0:j.a;if(!A&&!e.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:_,col:S,editPermission:w,copyPermission:T,customRange:e.customRange,customRangeRect:e.rect,type:C.VIEWING,unitId:n,subUnitId:t,showAll:!!A})}))}_initHoverEditingListener(){let e=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe(k.switchMap(n=>this._editorBridgeService.visible$.pipe(k.map(t=>({visible:t,state:n}))))).subscribe(({visible:n,state:t})=>{if(!t||t.editorUnitId!==o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){e==null||e.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(C.EDITING),this._sheetsHyperLinkPopupService.endEditing(C.EDITING);return}const{editorUnitId:i,unitId:r,sheetId:s,row:a,column:u}=t,l=this._renderManagerService.getRenderById(i);if(!l)return;const{editPermission:h,viewPermission:d,copyPermission:p}=this._getLinkPermission({unitId:r,subUnitId:s,row:a,col:u}),_=l.with(J.DocEventManagerService);d&&(e==null||e.unsubscribe(),e=_.hoverCustomRanges$.pipe(k.debounceTime(200)).subscribe(S=>{var D,A;const P=S.find(M=>M.range.rangeType===o.CustomRangeType.HYPERLINK);if(!P){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const w=P.rects[P.rects.length-1];if(!((A=(D=this._renderManagerService.getRenderById(r))==null?void 0:D.with(R.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:A.skeleton)||!w)return;const c=l.engine.getCanvasElement().getBoundingClientRect();this._sheetsHyperLinkPopupService.showPopup({unitId:r,subUnitId:s,row:a,col:u,customRange:P.range,customRangeRect:{left:w.left+c.left,top:w.top+c.top,bottom:w.bottom+c.top,right:w.right+c.left},editPermission:h,copyPermission:p,type:C.EDITING})}))})),this.disposeWithMe(()=>{e==null||e.unsubscribe()})}_initZenEditor(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e?(this._sheetsHyperLinkPopupService.hideCurrentPopup(C.VIEWING),this._sheetsHyperLinkPopupService.hideCurrentPopup(C.EDITING),this._sheetsHyperLinkPopupService.endEditing(C.EDITING),this._sheetsHyperLinkPopupService.hideCurrentPopup(C.VIEWING)):(this._sheetsHyperLinkPopupService.hideCurrentPopup(C.ZEN_EDITOR),this._sheetsHyperLinkPopupService.endEditing(C.ZEN_EDITOR))})),this.disposeWithMe(this._univerInstanceService.focused$.pipe(k.switchMap(e=>{const n=e===o.DOCS_ZEN_EDITOR_UNIT_ID_KEY?this._renderManagerService.getRenderById(e):null;return n?n.with(J.DocEventManagerService).hoverCustomRanges$.pipe(k.debounceTime(200)):new k.Observable(t=>{t.next(null)})})).subscribe(e=>{const n=e==null?void 0:e.find(i=>i.range.rangeType===o.CustomRangeType.HYPERLINK),t=this._editorBridgeService.getEditCellState();if(n&&t){const{unitId:i,sheetId:r,row:s,column:a}=t,{editPermission:u,viewPermission:l,copyPermission:h}=this._getLinkPermission({unitId:i,subUnitId:r,row:s,col:a});l&&this._sheetsHyperLinkPopupService.showPopup({type:C.ZEN_EDITOR,unitId:i,subUnitId:r,row:s,col:a,customRange:n.range,editPermission:u,copyPermission:h})}else this._sheetsHyperLinkPopupService.hideCurrentPopup(C.ZEN_EDITOR)}))}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(e=>{e&&e.unitId===o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(C.EDITING)}))}_initCommandListener(){const e=[f.ClearSelectionContentCommand.id,f.ClearSelectionAllCommand.id,f.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{e.includes(n.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};Me=gn([K(0,o.Inject(R.HoverManagerService)),K(1,o.Inject(g.SheetsHyperLinkPopupService)),K(2,o.Inject(he.IRenderManagerService)),K(3,o.Inject(o.IPermissionService)),K(4,o.Inject(f.SheetPermissionCheckController)),K(5,o.ICommandService),K(6,R.IEditorBridgeService),K(7,o.Inject(pe.DocSelectionManagerService)),K(8,o.IUniverInstanceService),K(9,m.IZenZoneService)],Me);var Sn=Object.getOwnPropertyDescriptor,ht=(e,n,t,i)=>{for(var r=i>1?void 0:i?Sn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},Ge=(e,n)=>(t,i)=>n(t,i,e);let ze=class extends o.Disposable{constructor(e,n){super(),this._context=e,this._hyperLinkModel=n,this._initSkeletonChange()}_initSkeletonChange(){const e=()=>{var n;(n=this._context.mainComponent)==null||n.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe(k.debounceTime(16)).subscribe(()=>{e()}))}};ze=ht([Ge(1,o.Inject(I.HyperLinkModel))],ze);let Ue=class extends o.Disposable{constructor(e,n){super(),this._sheetInterceptorService=e,this._hyperLinkModel=n,this._initViewModelIntercept()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(f.INTERCEPTOR_POINT.CELL_CONTENT,{effect:o.InterceptorEffectEnum.Value,priority:100,handler:(e,n,t)=>{const{row:i,col:r,unitId:s,subUnitId:a}=n,u=this._hyperLinkModel.getHyperLinkByLocation(s,a,i,r);return u&&e&&(e===n.rawData&&(e={...n.rawData}),e.linkUrl=u.payload,e.linkId=u.id),t(e)}}))}};Ue=ht([Ge(0,o.Inject(f.SheetInterceptorService)),Ge(1,o.Inject(I.HyperLinkModel))],Ue);const In={[m.RibbonInsertGroup.MEDIA]:{[re.id]:{order:1,menuItemFactory:cn},[be(re.id)]:{order:1,menuItemFactory:un}},[m.ContextMenuPosition.MAIN_AREA]:{[m.ContextMenuGroup.OTHERS]:{order:1,[re.id]:{order:0,menuItemFactory:sn},[be(re.id)]:{order:0,menuItemFactory:an}}}};var _n=Object.getOwnPropertyDescriptor,mn=(e,n,t,i)=>{for(var r=i>1?void 0:i?_n(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},Se=(e,n)=>(t,i)=>n(t,i,e);let He=class extends o.Disposable{constructor(e,n,t,i,r){super(),this._componentManager=e,this._commandService=n,this._menuManagerService=t,this._injector=i,this._shortcutService=r,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortCut()}_initComponents(){[[Pe.componentKey,Pe],[Ee.componentKey,Ee],["LinkIcon",$e]].forEach(([e,n])=>{this._componentManager.register(e,n)})}_initCommands(){[Te,ge,Le,re].forEach(e=>{this._commandService.registerCommand(e)})}_initMenus(){this._menuManagerService.mergeMenu(In)}_initShortCut(){this._shortcutService.registerShortcut(We)}};He=mn([Se(0,o.Inject(m.ComponentManager)),Se(1,o.ICommandService),Se(2,m.IMenuManagerService),Se(3,o.Inject(o.Injector)),Se(4,o.Inject(m.IShortcutService))],He);var fn=Object.getOwnPropertyDescriptor,yn=(e,n,t,i)=>{for(var r=i>1?void 0:i?fn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},vt=(e,n)=>(t,i)=>n(t,i,e);let xe=class extends o.Disposable{constructor(e,n){super(),this._parserService=e,this._resolverService=n,this._handleInitUrl()}_handleInitUrl(){const e=location.hash;if(e){const n=this._parserService.parseHyperLink(e);this._resolverService.navigate(n)}}};xe=yn([vt(0,o.Inject(I.SheetsHyperLinkParserService)),vt(1,o.Inject(g.SheetsHyperLinkResolverService))],xe);var Cn=Object.defineProperty,En=Object.getOwnPropertyDescriptor,Rn=(e,n,t)=>n in e?Cn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Pn=(e,n,t,i)=>{for(var r=i>1?void 0:i?En(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},gt=(e,n)=>(t,i)=>n(t,i,e),St=(e,n,t)=>Rn(e,typeof n!="symbol"?n+"":n,t);g.UniverSheetsHyperLinkUIPlugin=class extends o.Plugin{constructor(n=it,t,i){super(),this._config=n,this._injector=t,this._configService=i;const{menu:r,...s}=o.merge({},it,this._config);r&&this._configService.setConfig("menu",r,{merge:!0}),this._configService.setConfig(nt,s)}onStarting(){[[g.SheetsHyperLinkResolverService],[g.SheetsHyperLinkPopupService],[je],[Ue],[Me],[He],[ke],[g.SheetsHyperLinkCopyPasteController],[Ne],[xe]].forEach(t=>this._injector.add(t)),this._injector.get(Ue)}onReady(){this._injector.get(he.IRenderManagerService).registerRenderModule(o.UniverInstanceType.UNIVER_SHEET,[ze]),this._injector.get(ke),this._injector.get(g.SheetsHyperLinkCopyPasteController),this._injector.get(He)}onRendered(){this._injector.get(Ne),this._injector.get(xe),this._injector.get(Me)}},St(g.UniverSheetsHyperLinkUIPlugin,"pluginName",Fe),St(g.UniverSheetsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_SHEET),g.UniverSheetsHyperLinkUIPlugin=Pn([o.DependentOn(I.UniverSheetsHyperLinkPlugin,J.UniverDocsUIPlugin),gt(1,o.Inject(o.Injector)),gt(2,o.IConfigService)],g.UniverSheetsHyperLinkUIPlugin),g.CloseHyperLinkPopupOperation=ge,g.InsertHyperLinkOperation=Le,g.InsertLinkShortcut=We,g.OpenHyperLinkEditPanelOperation=Te,g.SheetsHyperLinkSidePanelService=je,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(g,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula-ui"),require("@univerjs/sheets-hyper-link"),require("react"),require("@univerjs/sheets-data-validation")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/docs","@univerjs/docs-ui","@univerjs/engine-render","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","@univerjs/engine-formula","@univerjs/sheets-formula-ui","@univerjs/sheets-hyper-link","react","@univerjs/sheets-data-validation"],o):(g=typeof globalThis<"u"?globalThis:g||self,o(g.UniverSheetsHyperLinkUi={},g.UniverCore,g.UniverSheets,g.UniverSheetsUi,g.UniverDocs,g.UniverDocsUi,g.UniverEngineRender,g.UniverUi,g.rxjs,g.React,g.UniverDesign,g.UniverEngineFormula,g.UniverSheetsFormulaUi,g.UniverSheetsHyperLink,g.React,g.UniverSheetsDataValidation))})(this,(function(g,o,f,P,pe,J,he,m,k,y,L,z,Mt,_,E,tt){"use strict";var kn=Object.defineProperty;var Nn=(g,o,f)=>o in g?kn(g,o,{enumerable:!0,configurable:!0,writable:!0,value:f}):g[o]=f;var F=(g,o,f)=>Nn(g,typeof o!="symbol"?o+"":o,f);var C=(e=>(e.EDITING="editing",e.VIEWING="viewing",e.ZEN_EDITOR="zen_mode",e))(C||{});function Ce(e){return o.Tools.isLegalUrl(e)}function Ut(e){return/^[a-zA-Z]+:\/\//.test(e)}function Ht(e){return/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/.test(e)}function xt(e){if(Ce(e)){const n=Ut(e)?e:Ht(e)?`mailto://${e}`:`http://${e}`;let t;try{t=new URL(n)}catch{return e}return t.hostname===location.hostname&&t.port===location.port&&t.protocol===location.protocol&&t.pathname===location.pathname&&t.hash&&!t.search?t.hash:n}return e}const nt="sheets-hyper-link-ui.config",it={};var At=Object.getOwnPropertyDescriptor,Bt=(e,n,t,i)=>{for(var r=i>1?void 0:i?At(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},ce=(e,n)=>(t,i)=>n(t,i,e);function Vt(e,n){const t=n.getMergeData(),i=n.getMaxColumns()-1,r=n.getMaxRows()-1;if(i<e.endColumn&&(e.endColumn=i),r<e.endRow&&(e.endRow=r),e.rangeType===o.RANGE_TYPE.COLUMN||o.RANGE_TYPE.ROW)return e;const s=[];return t.forEach(a=>{o.Rectangle.intersects(e,a)&&s.push(a)}),o.Rectangle.realUnion(e,...s)}g.SheetsHyperLinkResolverService=class{constructor(n,t,i,r,s,a){this._univerInstanceService=n,this._commandService=t,this._definedNamesService=i,this._messageService=r,this._localeService=s,this._configService=a}navigate(n){switch(n.type){case _.SheetHyperLinkType.URL:this.navigateToOtherWebsite(n.url);break;default:this._navigateToUniver(n.searchObj)}}_navigateToUniver(n){const{gid:t,range:i,rangeid:r}=n,s=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);if(!s)return;const a=s.getUnitId();if(r){const u=this._definedNamesService.getValueById(a,r);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:L.MessageType.Error});return}if(h.isSheetHidden()){this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:L.MessageType.Error});return}this.navigateToDefineName(a,r)}if(t){if(i){const u=z.deserializeRangeWithSheet(i);o.isValidRange(u.range)&&i!==_.ERROR_RANGE&&this.navigateToRange(a,t,u.range);return}this.navigateToSheetById(a,t)}}async navigateToRange(n,t,i,r){const s=await this.navigateToSheetById(n,t);if(s){const a=Vt(i,s);await this._commandService.executeCommand(f.SetSelectionsOperation.id,{unitId:n,subUnitId:t,selections:[{range:a,primary:null}]}),await this._commandService.executeCommand(P.ScrollToRangeOperation.id,{range:a,forceTop:r})}}async navigateToSheetById(n,t){const i=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET);if(!i)return!1;const r=i.getActiveSheet();if(!r)return!1;if(r.getSheetId()===t)return r;const s=i.getSheetBySheetId(t);return s?i.getHiddenWorksheets().indexOf(t)>-1?(this._messageService.show({content:this._localeService.t("hyperLink.message.hiddenSheet"),type:L.MessageType.Error}),!1):await this._commandService.executeCommand(f.SetWorksheetActiveOperation.id,{unitId:n,subUnitId:t})?s:!1:(this._messageService.show({content:this._localeService.t("hyperLink.message.noSheet"),type:L.MessageType.Error}),!1)}async navigateToDefineName(n,t){return this._definedNamesService.focusRange(n,t),!0}async navigateToOtherWebsite(n){var i;const t=this._configService.getConfig(nt);if((i=t==null?void 0:t.urlHandler)!=null&&i.navigateToOtherWebsite)return t.urlHandler.navigateToOtherWebsite(n);window.open(n,"_blank","noopener noreferrer")}},g.SheetsHyperLinkResolverService=Bt([ce(0,o.IUniverInstanceService),ce(1,o.ICommandService),ce(2,z.IDefinedNamesService),ce(3,m.IMessageService),ce(4,o.Inject(o.LocaleService)),ce(5,o.IConfigService)],g.SheetsHyperLinkResolverService);class je extends o.Disposable{constructor(){super(...arguments);F(this,"_customHyperLinks",new Map)}isBuiltInLinkType(t){return t!==_.SheetHyperLinkType.URL}getOptions(){return Array.from(this._customHyperLinks.values()).map(({option:t})=>t)}findCustomHyperLink(t){return Array.from(this._customHyperLinks.values()).find(r=>r.match(t))}registerCustomHyperLink(t){this._customHyperLinks.set(t.type,t)}getCustomHyperLink(t){return this._customHyperLinks.get(t)}removeCustomHyperLink(t){const{_customHyperLinks:i}=this;i.delete(t)}dispose(){super.dispose(),this._customHyperLinks.clear()}}const Ee=()=>{var mt;const[e,n]=E.useState(""),[t,i]=E.useState(!1),[r,s]=E.useState(""),[a,u]=E.useState(!0),[l,h]=E.useState(_.SheetHyperLinkType.URL),[d,p]=E.useState(""),I=m.useDependency(o.LocaleService),S=m.useDependency(z.IDefinedNamesService),R=m.useDependency(P.IEditorBridgeService),w=m.useDependency(o.IUniverInstanceService),T=m.useDependency(g.SheetsHyperLinkPopupService),c=m.useObservable(T.currentEditing$),D=m.useDependency(_.SheetsHyperLinkParserService),A=m.useDependency(g.SheetsHyperLinkResolverService),M=m.useDependency(o.ICommandService),U=m.useDependency(je),j=E.useMemo(()=>U.getOptions(),[U]),V=m.useDependency(m.IZenZoneService),q=m.useDependency(he.IRenderManagerService),oe=m.useDependency(P.IMarkSelectionService),Ae=m.useDependency(pe.DocSelectionManagerService),se=m.useDependency(o.IContextService),Ie=m.useDependency(o.ThemeService),_e=m.useDependency(pe.DocSelectionManagerService),[me,Be]=E.useState(!1),ue=m.useDependency(f.SheetsSelectionsService),Tn=E.useMemo(()=>ue.getCurrentSelections(),[]),Ve=E.useMemo(()=>{if(!U.isBuiltInLinkType(l))return U.getCustomHyperLink(l)},[U,l]),[le,Ln]=E.useState(!1),[fe,It]=E.useState(!1),$=E.useRef(!1),W=w.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET),wn=(W==null?void 0:W.getActiveSheet().getSheetId())||"",Q=E.useCallback(v=>{s(v.replaceAll(o.DataStreamTreeTokenType.CUSTOM_RANGE_START,"").replaceAll(o.DataStreamTreeTokenType.CUSTOM_RANGE_END,""))},[s]);E.useEffect(()=>{var v,b,O,N,x,Y,ft,yt,Ct,Et,Pt,Rt,Tt,Lt,wt,Dt,bt;if((c==null?void 0:c.row)!==void 0&&c.col!==void 0){const{customRange:ae,row:Qe,col:et}=c;let{label:X}=c;typeof X=="number"&&(X=`${X}`);let G;if(ae)G={id:(v=ae==null?void 0:ae.rangeId)!=null?v:"",display:X!=null?X:"",payload:(O=(b=ae==null?void 0:ae.properties)==null?void 0:b.url)!=null?O:"",row:Qe,column:et};else if(c.type===C.VIEWING){const H=w.getUnit(c.unitId),te=H==null?void 0:H.getSheetBySheetId(c.subUnitId),B=te==null?void 0:te.getCellRaw(c.row,c.col),de=(Y=(x=(N=B==null?void 0:B.p)==null?void 0:N.body)==null?void 0:x.customRanges)==null?void 0:Y.find(kt=>{var Nt;return kt.rangeType===o.CustomRangeType.HYPERLINK&&((Nt=kt.properties)==null?void 0:Nt.url)}),ye=B==null?void 0:B.v;B&&(!o.BuildTextUtils.transform.isEmptyDocument((yt=(ft=B.p)==null?void 0:ft.body)==null?void 0:yt.dataStream)||o.Tools.isDefine(ye))&&u(!1),G={id:"",display:"",payload:(Et=(Ct=de==null?void 0:de.properties)==null?void 0:Ct.url)!=null?Et:"",row:Qe,column:et}}else{const H=w.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),te=Ae.getActiveTextRange(),B=H==null?void 0:H.getBody(),de=te&&B?te:null,ye=de&&((Rt=o.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(de,(Pt=B==null?void 0:B.customRanges)!=null?Pt:[]))==null?void 0:Rt[0]);u(!1),G={id:"",display:X!=null?X:"",payload:(Lt=(Tt=ye==null?void 0:ye.properties)==null?void 0:Tt.url)!=null?Lt:"",row:Qe,column:et}}n(G.id);const Ot=U.findCustomHyperLink(G);if(Ot){const H=Ot.convert(G);h(H.type),p(H.payload),Q(H.display);return}Q(G.display);const ee=D.parseHyperLink(G.payload);switch(h(ee.type===_.SheetHyperLinkType.INVALID?_.SheetHyperLinkType.RANGE:ee.type),ee.type){case _.SheetHyperLinkType.URL:{p(ee.url),ee.url===G.display&&($.current=!0);break}case _.SheetHyperLinkType.RANGE:{const H=ee.searchObj,te=H.gid&&(bt=(Dt=(wt=w.getUnit(c.unitId))==null?void 0:wt.getSheetBySheetId(H.gid))==null?void 0:Dt.getName())!=null?bt:"",B=z.serializeRangeWithSheet(te,z.deserializeRangeWithSheet(H.range).range);p(B),B===G.display&&($.current=!0);break}case _.SheetHyperLinkType.SHEET:{const H=ee.searchObj;p(H.gid);break}case _.SheetHyperLinkType.DEFINE_NAME:{const H=ee.searchObj;p(H.rangeid);break}default:p("");break}}},[c,A,U,Ae,w]),E.useEffect(()=>{let v=null;if(c&&!c.customRangeId&&c.type===C.VIEWING&&o.Tools.isDefine(c.row)&&o.Tools.isDefine(c.col)){const b=w.getUnit(c.unitId,o.UniverInstanceType.UNIVER_SHEET),O=b==null?void 0:b.getSheetBySheetId(c.subUnitId),N=O==null?void 0:O.getMergedCell(c.row,c.col),x=new o.ColorKit(Ie.getColorFromTheme("primary.600")).toRgb();v=oe.addShape({range:N!=null?N:{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()=>{v&&oe.removeShape(v)}},[c,oe,Ie,w]),E.useEffect(()=>{It(l===_.SheetHyperLinkType.RANGE)},[l]),E.useEffect(()=>{const v=(c==null?void 0:c.type)===C.ZEN_EDITOR?q.getRenderById(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY):q.getRenderById(R.getCurrentEditorId()),b=new o.DisposableCollection;if(v){const O=v.with(J.DocSelectionRenderService);O.setReserveRangesStatus(!0),b.add(()=>{O.setReserveRangesStatus(!1)})}return()=>{R.disableForceKeepVisible(),b.dispose()}},[c==null?void 0:c.type,R,q]),E.useEffect(()=>(fe&&T.setIsKeepVisible(fe),T.setIsKeepVisible(me),()=>{T.setIsKeepVisible(!1)}),[fe,me,T]),E.useEffect(()=>()=>{V.temporaryHidden&&(V.show(),se.setContextValue(o.FOCUSING_SHEET,!1))},[se,V]),E.useEffect(()=>{if(fe)return R.enableForceKeepVisible(),()=>{R.disableForceKeepVisible()}},[fe,R]);const Dn=[{label:I.t("hyperLink.form.link"),value:_.SheetHyperLinkType.URL},{label:I.t("hyperLink.form.range"),value:_.SheetHyperLinkType.RANGE},{label:I.t("hyperLink.form.worksheet"),value:_.SheetHyperLinkType.SHEET},{label:I.t("hyperLink.form.definedName"),value:_.SheetHyperLinkType.DEFINE_NAME},...j];if(!W)return;const bn=W.getHiddenWorksheets(),qe=W.getSheets().map(v=>({label:v.getName(),value:v.getSheetId()})).filter(v=>bn.indexOf(v.value)===-1),Xe=Object.values((mt=S.getDefinedNameMap(W.getUnitId()))!=null?mt:{}).map(v=>({label:v.name,value:v.id})),_t=(v,b)=>{if(v===_.SheetHyperLinkType.URL)return xt(b);if(v===_.SheetHyperLinkType.RANGE){const O=z.deserializeRangeWithSheet(b),N=W.getSheetBySheetName(O.sheetName);if(N)return`#gid=${N.getSheetId()}&range=${z.serializeRange(O.range)}`}return`#${v}=${b}`},On=m.useEvent(v=>{var x;const O=v.split(",").map(z.deserializeRangeWithSheet)[0];if(!O||!o.isValidRange(O.range))return;O.sheetName||(O.sheetName=((x=W.getActiveSheet())==null?void 0:x.getName())||"");const N=z.serializeRangeToRefString(O);p(N),N&&($.current||!r)&&(Q(N),$.current=!0)}),Je=async()=>{if(a&&!r||!d||l===_.SheetHyperLinkType.URL&&!Ce(d)){Ln(!0);return}if(c)if(e){const v=c.type===C.ZEN_EDITOR||c.type===C.EDITING?_.UpdateRichHyperLinkCommand.id:_.UpdateHyperLinkCommand.id;await M.executeCommand(v,{id:e,unitId:c.unitId,subUnitId:c.subUnitId,payload:{display:a?r:"",payload:_t(l,d)},row:c.row,column:c.col,documentId:c.type===C.ZEN_EDITOR?o.DOCS_ZEN_EDITOR_UNIT_ID_KEY:R.getCurrentEditorId()})}else{const v=c.type===C.ZEN_EDITOR||c.type===C.EDITING?_.AddRichHyperLinkCommand.id:_.AddHyperLinkCommand.id;await M.executeCommand(v,{unitId:c.unitId,subUnitId:c.subUnitId,link:{id:o.generateRandomId(),row:c.row,column:c.col,payload:_t(l,d),display:a?r:""},documentId:c.type===C.ZEN_EDITOR?o.DOCS_ZEN_EDITOR_UNIT_ID_KEY:R.getCurrentEditorId()})}if((c==null?void 0:c.type)===C.VIEWING){await M.executeCommand(f.SetWorksheetActiveOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId});const v=1;await M.executeCommand(P.ScrollToRangeOperation.id,{range:{startRow:Math.max(c.row-v,0),endRow:c.row+v,startColumn:Math.max(c.col-v,0),endColumn:c.col+v}})}M.executeCommand(ge.id)};return c?y.jsxs("div",{className:L.clsx("univer-box-border univer-w-[296px] univer-rounded-xl univer-bg-white univer-p-4 univer-shadow-md dark:!univer-bg-gray-900",L.borderClassName),children:[a?y.jsx(L.FormLayout,{label:I.t("hyperLink.form.label"),error:le&&!r?I.t("hyperLink.form.inputError"):"",children:y.jsx(L.Input,{value:r,onChange:v=>{Q(v),$.current=!1},placeholder:I.t("hyperLink.form.labelPlaceholder"),autoFocus:!0,onKeyDown:v=>{v.keyCode===m.KeyCode.ENTER&&Je()}})}):null,y.jsx(L.FormLayout,{label:I.t("hyperLink.form.type"),children:y.jsx(L.Select,{className:"univer-w-full",options:Dn,value:l,onChange:v=>{h(v),p("")}})}),l===_.SheetHyperLinkType.URL&&y.jsx(L.FormLayout,{error:le?d?Ce(d)?"":I.t("hyperLink.form.linkError"):I.t("hyperLink.form.inputError"):"",children:y.jsx(L.Input,{value:d,onChange:v=>{p(v),v&&($.current||!r||r===v)&&(Q(v),$.current=!0)},placeholder:I.t("hyperLink.form.linkPlaceholder"),autoFocus:!0,onKeyDown:v=>{v.keyCode===m.KeyCode.ENTER&&Je()}})}),l===_.SheetHyperLinkType.RANGE&&y.jsx(L.FormLayout,{error:le&&!d?I.t("hyperLink.form.inputError"):"",children:y.jsx(Mt.RangeSelector,{unitId:W.getUnitId(),subUnitId:wn,maxRangeCount:1,supportAcrossSheet:!0,initialValue:d,resetRange:Tn,onChange:(v,b)=>On(b),onRangeSelectorDialogVisibleChange:async v=>{var b,O;if(Be(v),v)c.type===C.ZEN_EDITOR&&(V.hide(),se.setContextValue(o.FOCUSING_SHEET,!0)),c.type!==C.VIEWING&&R.enableForceKeepVisible(),i(!0);else{if(await A.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),c.type===C.ZEN_EDITOR){await M.executeCommand(f.SetSelectionsOperation.id,{unitId:c.unitId,subUnitId:c.subUnitId,selections:[{range:{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col}}]}),V.show(),se.setContextValue(o.FOCUSING_SHEET,!1);const N=(b=q.getRenderById(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY))==null?void 0:b.with(J.DocBackScrollRenderController),x=(O=_e.getTextRanges({unitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))==null?void 0:O[0];N&&x&&(N.scrollToRange(x),_e.refreshSelection({unitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,subUnitId:o.DOCS_ZEN_EDITOR_UNIT_ID_KEY}))}R.disableForceKeepVisible(),i(!1)}},onFocusChange:v=>It(v)})}),l===_.SheetHyperLinkType.SHEET&&y.jsx(L.FormLayout,{error:le&&!d?I.t("hyperLink.form.selectError"):"",children:y.jsx(L.Select,{className:"univer-w-full",options:qe,value:d,onChange:v=>{var N,x;p(v);const b=(N=qe.find(Y=>Y.value===v))==null?void 0:N.label,O=(x=qe.find(Y=>Y.value===d))==null?void 0:x.label;b&&($.current||!r||r===O)&&(Q(b),$.current=!0)}})}),l===_.SheetHyperLinkType.DEFINE_NAME&&y.jsx(L.FormLayout,{error:le&&!d?I.t("hyperLink.form.selectError"):"",children:y.jsx(L.Select,{className:"univer-w-full",options:Xe,value:d,onChange:v=>{var N,x;p(v);const b=(N=Xe.find(Y=>Y.value===v))==null?void 0:N.label,O=(x=Xe.find(Y=>Y.value===d))==null?void 0:x.label;b&&($.current||!r||r===O)&&(Q(b),$.current=!0)}})}),(Ve==null?void 0:Ve.Form)&&y.jsx(Ve.Form,{linkId:e,payload:d,display:r,showError:le,setByPayload:$,setDisplay:v=>{Q(v),$.current=!0},setPayload:p}),y.jsxs("div",{className:"univer-flex univer-flex-row univer-justify-end univer-gap-2",children:[y.jsx(L.Button,{onClick:()=>{c&&A.navigateToRange(c.unitId,c.subUnitId,{startRow:c.row,endRow:c.row,startColumn:c.col,endColumn:c.col},!0),M.executeCommand(ge.id)},children:I.t("hyperLink.form.cancel")}),y.jsx(L.Button,{variant:"primary",onClick:async()=>{Je()},children:I.t("hyperLink.form.ok")})]})]}):null};Ee.componentKey="univer.sheet.cell-link-edit";var Z=function(){return Z=Object.assign||function(e){for(var n,t=1,i=arguments.length;t<i;t++){n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Z.apply(this,arguments)},jt=function(e,n){var t={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.indexOf(i)<0&&(t[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(e);r<i.length;r++)n.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(t[i[r]]=e[i[r]]);return t},ne=E.forwardRef(function(e,n){var t=e.icon,i=e.id,r=e.className,s=e.extend,a=jt(e,["icon","id","className","extend"]),u="univerjs-icon univerjs-icon-".concat(i," ").concat(r||"").trim(),l=E.useRef("_".concat(Ft()));return rt(t,"".concat(i),{defIds:t.defIds,idSuffix:l.current},Z({ref:n,className:u},a),s)});function rt(e,n,t,i,r){return E.createElement(e.tag,Z(Z({key:n},$t(e,t,r)),i),(Zt(e,t).children||[]).map(function(s,a){return rt(s,"".concat(n,"-").concat(e.tag,"-").concat(a),t,void 0,r)}))}function $t(e,n,t){var i=Z({},e.attrs);t!=null&&t.colorChannel1&&i.fill==="colorChannel1"&&(i.fill=t.colorChannel1),e.tag==="mask"&&i.id&&(i.id=i.id+n.idSuffix),Object.entries(i).forEach(function(s){var a=s[0],u=s[1];a==="mask"&&typeof u=="string"&&(i[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))});var r=n.defIds;return!r||r.length===0||(e.tag==="use"&&i["xlink:href"]&&(i["xlink:href"]=i["xlink:href"]+n.idSuffix),Object.entries(i).forEach(function(s){var a=s[0],u=s[1];typeof u=="string"&&(i[a]=u.replace(/url\(#(.*)\)/,"url(#$1".concat(n.idSuffix,")")))})),i}function Zt(e,n){var t,i=n.defIds;return!i||i.length===0?e:e.tag==="defs"&&(!((t=e.children)===null||t===void 0)&&t.length)?Z(Z({},e),{children:e.children.map(function(r){return typeof r.attrs.id=="string"&&i&&i.includes(r.attrs.id)?Z(Z({},r),{attrs:Z(Z({},r.attrs),{id:r.attrs.id+n.idSuffix})}):r})}):e}function Ft(){return Math.random().toString(36).substring(2,8)}ne.displayName="UniverIcon";var Kt={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"}}]},Pe=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"all-border-icon",ref:n,icon:Kt}))});Pe.displayName="AllBorderIcon";var Wt={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"}}]},ot=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"copy-icon",ref:n,icon:Wt}))});ot.displayName="CopyIcon";var Yt={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"}}]},$e=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"link-icon",ref:n,icon:Yt}))});$e.displayName="LinkIcon";var Gt={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"}}]},st=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"unlink-icon",ref:n,icon:Gt}))});st.displayName="UnlinkIcon";var zt={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"}}]},at=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"write-icon",ref:n,icon:zt}))});at.displayName="WriteIcon";var 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:"#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"}}]},ct=E.forwardRef(function(e,n){return E.createElement(ne,Object.assign({},e,{id:"xlsx-multi-icon",ref:n,icon:qt}))});ct.displayName="XlsxMultiIcon";const Xt={[_.SheetHyperLinkType.URL]:y.jsx($e,{}),[_.SheetHyperLinkType.SHEET]:y.jsx(ct,{className:"univer-text-green-500"}),[_.SheetHyperLinkType.RANGE]:y.jsx(Pe,{}),[_.SheetHyperLinkType.DEFINE_NAME]:y.jsx(Pe,{}),[_.SheetHyperLinkType.INVALID]:y.jsx(Pe,{})},ut=e=>{var A,M;const n=m.useDependency(g.SheetsHyperLinkPopupService),t=m.useDependency(o.ICommandService),i=m.useDependency(m.IMessageService),r=m.useDependency(o.LocaleService),s=m.useDependency(g.SheetsHyperLinkResolverService),a=m.useDependency(P.IEditorBridgeService),u=m.useDependency(_.SheetsHyperLinkParserService),l=m.useDependency(m.IZenZoneService),{customRange:h,row:d,col:p,unitId:I,subUnitId:S,editPermission:R,copyPermission:w,type:T}=e;if(!((A=h==null?void 0:h.properties)!=null&&A.url))return null;const c=u.parseHyperLink((M=h.properties.url)!=null?M:""),D=c.type===_.SheetHyperLinkType.INVALID;return y.jsxs("div",{className:L.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",L.borderClassName),onClick:()=>n.hideCurrentPopup(),children:[y.jsxs("div",{className:L.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":D}),onClick:()=>{l.visible||D||s.navigate(c)},children:[y.jsx("div",{className:"univer-mr-2 univer-flex univer-h-5 univer-w-5 univer-flex-none univer-items-center univer-justify-center univer-text-base univer-text-gray-900 dark:!univer-text-white",children:Xt[c.type]}),y.jsx(L.Tooltip,{showIfEllipsis:!0,title:c.name,asChild:!0,children:y.jsx("span",{className:"univer-flex-1 univer-overflow-hidden univer-text-ellipsis",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:[w&&y.jsx("div",{className:L.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":D}),onClick:()=>{if(!D){if(c.type!==_.SheetHyperLinkType.URL){const U=new URL(window.location.href);U.hash=c.url.slice(1),navigator.clipboard.writeText(U.href)}else navigator.clipboard.writeText(c.url);i.show({content:r.t("hyperLink.message.coped"),type:L.MessageType.Info})}},children:y.jsx(L.Tooltip,{placement:"bottom",title:r.t("hyperLink.popup.copy"),children:y.jsx(ot,{className:"dark:!univer-text-white"})})}),R&&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:()=>{t.executeCommand(Te.id,{unitId:I,subUnitId:S,row:d,col:p,customRangeId:h.rangeId,type:T})},children:y.jsx(L.Tooltip,{placement:"bottom",title:r.t("hyperLink.popup.edit"),children:y.jsx(at,{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 U=T===C.EDITING||T===C.ZEN_EDITOR?_.CancelRichHyperLinkCommand.id:_.CancelHyperLinkCommand.id;t.syncExecuteCommand(U,{unitId:I,subUnitId:S,id:h.rangeId,row:d,column:p,documentId:T===C.ZEN_EDITOR?o.DOCS_ZEN_EDITOR_UNIT_ID_KEY:a.getCurrentEditorId()})&&n.hideCurrentPopup(void 0,!0)},children:y.jsx(L.Tooltip,{placement:"bottom",title:r.t("hyperLink.popup.cancel"),children:y.jsx(st,{className:"dark:!univer-text-white"})})})]})]})]})},Re=()=>{var r,s;const e=m.useDependency(g.SheetsHyperLinkPopupService),[n,t]=E.useState(null),i=m.useDependency(o.IUniverInstanceService);if(E.useEffect(()=>{t(e.currentPopup);const a=e.currentPopup$.subscribe(u=>{t(u)});return()=>{a.unsubscribe()}},[e.currentPopup,e.currentPopup$]),!n)return null;if(n.showAll){const a=i.getUnit(n.unitId,o.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(n.subUnitId),l=u==null?void 0:u.getCell(n.row,n.col),h=(s=(r=l==null?void 0:l.p)==null?void 0:r.body)==null?void 0:s.customRanges;return h!=null&&h.length?y.jsx("div",{children:h.map(d=>y.jsx(ut,{...n,customRange:d},d.rangeId))}):null}return y.jsx(ut,{...n})};Re.componentKey="univer.sheet.cell-link-popup";var Jt=Object.getOwnPropertyDescriptor,Qt=(e,n,t,i)=>{for(var r=i>1?void 0:i?Jt(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},ie=(e,n)=>(t,i)=>n(t,i,e);const lt=(e,n)=>{var t,i;return e.unitId===n.unitId&&e.subUnitId===n.subUnitId&&e.row===n.row&&e.col===n.col&&((t=e.customRange)==null?void 0:t.rangeId)===((i=n.customRange)==null?void 0:i.rangeId)&&e.type===n.type};g.SheetsHyperLinkPopupService=class extends o.Disposable{constructor(t,i,r,s,a,u,l){super();F(this,"_currentPopup",null);F(this,"_currentPopup$",new k.Subject);F(this,"currentPopup$",this._currentPopup$.asObservable());F(this,"_currentEditingPopup",null);F(this,"_currentEditing$",new k.BehaviorSubject(null));F(this,"currentEditing$",this._currentEditing$.asObservable());F(this,"_isKeepVisible",!1);this._sheetCanvasPopManagerService=t,this._injector=i,this._univerInstanceService=r,this._editorBridgeService=s,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(t){this._isKeepVisible=t}getIsKeepVisible(){return this._isKeepVisible}showPopup(t){var I;if(this._currentPopup&&lt(t,this._currentPopup)||(this.hideCurrentPopup(void 0,!0),t.type!==C.ZEN_EDITOR&&this._zenZoneService.visible))return;const i=this._currentEditing$.getValue();if(i&&lt(t,i))return;const{unitId:r,subUnitId:s,row:a,col:u,customRangeRect:l,customRange:h}=t;let d;const p={componentKey:Re.componentKey,direction:"bottom",onClickOutside:()=>{this.hideCurrentPopup()},onClick:()=>{this.hideCurrentPopup(t.type,!0)}};if(t.type===C.EDITING){if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(l,p)}else if(t.type===C.ZEN_EDITOR){if(!h)return;d=this._docCanvasPopManagerService.attachPopupToRange({startOffset:h.startIndex,endOffset:h.endIndex+1,collapsed:!1},p,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(t.showAll)d=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,p,r,s);else{if(!h)return;d=l&&this._sheetCanvasPopManagerService.attachPopupByPosition(l,p,t)}d&&(this._currentPopup&&((I=this._currentPopup.disposable)==null||I.dispose()),this._currentPopup={unitId:r,subUnitId:s,disposable:d,row:a,col:u,editPermission:!!t.editPermission,copyPermission:!!t.copyPermission,customRange:h,type:t.type,showAll:t.showAll},this._currentPopup$.next(this._currentPopup))}hideCurrentPopup(t,i){var r,s;this._currentPopup&&((!t||t===this._currentPopup.type)&&this._currentPopup.disposable.canDispose()||i)&&((s=(r=this._currentPopup)==null?void 0:r.disposable)==null||s.dispose(),this._currentPopup=null,this._currentPopup$.next(null))}dispose(){super.dispose(),this.hideCurrentPopup(),this.endEditing(),this._currentPopup$.complete(),this._currentEditing$.complete()}_getEditingRange(){var r,s,a;const t=this._editorBridgeService.isVisible().visible,i=this._editorBridgeService.getEditCellState();if(t&&i){const u=this._textSelectionManagerService.getActiveTextRange(),l=(r=i.documentLayoutObject.documentModel)==null?void 0:r.getBody();if(!l)return null;if(!u||u.collapsed)return{startOffset:0,endOffset:l.dataStream.length-2,collapsed:l.dataStream.length-2===0,label:o.BuildTextUtils.transform.getPlainText(l.dataStream)};const h=o.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(u,(a=(s=l.customRanges)==null?void 0:s.filter(I=>I.rangeType===o.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:o.BuildTextUtils.transform.getPlainText(l.dataStream.slice(d,p))}}return null}get _editPopup(){return{componentKey:Ee.componentKey,direction:"vertical",onClickOutside:()=>{this.endEditing()},onContextMenu:()=>{this.endEditing()},hiddenType:"hide"}}startAddEditing(t){var a,u,l,h,d;const{unitId:i,subUnitId:r,type:s}=t;if(s===C.ZEN_EDITOR){const p=this._univerInstanceService.getUnit(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,o.UniverInstanceType.UNIVER_DOC);if(!p)return;const I=this._textSelectionManagerService.getActiveTextRange();if(!I)return;this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange(I,this._editPopup,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY);const S=(a=p.getBody())==null?void 0:a.dataStream.slice(I.startOffset,I.endOffset);this._currentEditing$.next({...t,label:S})}else if(s===C.EDITING){const p=this._getEditingRange();if(!p)return;this._textSelectionManagerService.replaceDocRanges([{...p}],{unitId:o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,subUnitId:o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY});const I=this._injector.get(he.IRenderManagerService).getRenderById(o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY);if(!I)return;const S=J.calcDocRangePositions(p,I);if(!(S!=null&&S.length))return;this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(S.pop(),this._editPopup,i,r),this._currentEditing$.next({...t,label:(u=p==null?void 0:p.label)!=null?u:""})}else{this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,i,r);const p=this._univerInstanceService.getUnit(i,o.UniverInstanceType.UNIVER_SHEET),I=p==null?void 0:p.getSheetBySheetId(r),S=I==null?void 0:I.getCellRaw(t.row,t.col);this._currentEditing$.next({...t,label:S!=null&&S.p?o.BuildTextUtils.transform.getPlainText((h=(l=S.p.body)==null?void 0:l.dataStream)!=null?h:""):((d=S==null?void 0:S.v)!=null?d:"").toString()})}}startEditing(t){var u,l,h,d,p,I;(u=this._currentEditingPopup)==null||u.dispose(),this.hideCurrentPopup(void 0,!0);const{unitId:i,subUnitId:r}=t;let s,a;if(t.type===C.ZEN_EDITOR){const S=this._univerInstanceService.getUnit(o.DOCS_ZEN_EDITOR_UNIT_ID_KEY,o.UniverInstanceType.UNIVER_DOC);if(s=(h=(l=S==null?void 0:S.getBody())==null?void 0:l.customRanges)==null?void 0:h.find(R=>R.rangeId===t.customRangeId),a=s?(d=S==null?void 0:S.getBody())==null?void 0:d.dataStream.slice(s.startIndex,s.endIndex+1):"",!s||!a)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:s.startIndex,endOffset:s.endIndex+1}]),this._currentEditingPopup=this._docCanvasPopManagerService.attachPopupToRange({startOffset:s.startIndex,endOffset:s.endIndex,collapsed:!1},this._editPopup,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}else if(t.type===C.EDITING){const S=P.getEditingCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.customRangeId);if(!S||!((p=S.rects)!=null&&p.length))return;s=S.customRange,a=S.label,this._textSelectionManagerService.replaceTextRanges([{startOffset:s.startIndex,endOffset:s.endIndex+1}]),this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToAbsolutePosition(S.rects.pop(),this._editPopup,i,r)}else{const S=this._univerInstanceService.getUnit(i,o.UniverInstanceType.UNIVER_SHEET),R=S==null?void 0:S.getSheetBySheetId(r),w=R==null?void 0:R.getCellRaw(t.row,t.col),T=S==null?void 0:S.getStyles().getStyleByCell(w),c=T==null?void 0:T.tr,D=P.getCustomRangePosition(this._injector,t.unitId,t.subUnitId,t.row,t.col,t.customRangeId);if(!D||!((I=D.rects)!=null&&I.length))return;s=D.customRange,a=D.label,c?this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupToCell(t.row,t.col,this._editPopup,i,r):this._currentEditingPopup=this._sheetCanvasPopManagerService.attachPopupByPosition(D.rects.pop(),this._editPopup,{unitId:i,subUnitId:r,row:t.row,col:t.col})}this._currentEditing$.next({...t,customRange:s,label:a})}endEditing(t){var r;if(this.getIsKeepVisible())return;const i=this._currentEditing$.getValue();i&&(!t||t===i.type)&&((r=this._currentEditingPopup)==null||r.dispose(),this._currentEditing$.next(null))}},g.SheetsHyperLinkPopupService=Qt([ie(0,o.Inject(P.SheetCanvasPopManagerService)),ie(1,o.Inject(o.Injector)),ie(2,o.IUniverInstanceService),ie(3,P.IEditorBridgeService),ie(4,o.Inject(pe.DocSelectionManagerService)),ie(5,o.Inject(J.DocCanvasPopManagerService)),ie(6,m.IZenZoneService)],g.SheetsHyperLinkPopupService);var ve=(e=>(e[e.ALLOWED=0]="ALLOWED",e[e.DISABLED_BY_CELL=1]="DISABLED_BY_CELL",e[e.ALLOW_ON_EDITING=2]="ALLOW_ON_EDITING",e))(ve||{});const en=new Set([o.DataValidationType.CHECKBOX,o.DataValidationType.LIST,o.DataValidationType.LIST_MULTIPLE]),Ze=(e,n,t,i)=>{var u,l,h,d,p;const r=n.getCell(t,i);if(r!=null&&r.f||r!=null&&r.si||(h=(l=(u=r==null?void 0:r.p)==null?void 0:u.body)==null?void 0:l.customBlocks)!=null&&h.length)return 1;const s=e.has(tt.SheetDataValidationModel)?e.get(tt.SheetDataValidationModel):null,a=s==null?void 0:s.getRuleByLocation(n.getUnitId(),n.getSheetId(),t,i);return a&&en.has(a.type)?!0:(p=(d=r==null?void 0:r.p)==null?void 0:d.drawingsOrder)!=null&&p.length?2:0},tn=e=>{const n=e.get(o.IUniverInstanceService).getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);if(!n)return!0;const t=n.getActiveSheet(),i=e.get(f.SheetsSelectionsService).getCurrentSelections();if(!i.length)return!0;const r=i[0].range.startRow,s=i[0].range.startColumn;return Ze(e,t,r,s)===1},nn=e=>{const n=e.get(pe.DocSelectionManagerService),t=e.get(o.IUniverInstanceService),i=n.getTextRanges();if(!(i!=null&&i.length))return!0;const r=t.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC);return!!(!r||i.every(a=>a.collapsed)||!r.getSelfOrHeaderFooterModel(i[0].segmentId).getBody())},Te={type:o.CommandType.OPERATION,id:"sheet.operation.open-hyper-link-edit-panel",handler(e,n){if(!n)return!1;const t=e.get(g.SheetsHyperLinkPopupService);return n.customRangeId?t.startEditing(n):t.startAddEditing(n),!0}},ge={type:o.CommandType.OPERATION,id:"sheet.operation.close-hyper-link-popup",handler(e){return e.get(g.SheetsHyperLinkPopupService).endEditing(),!0}},Le={type:o.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link",handler(e){var p;const n=e.get(o.IUniverInstanceService),t=f.getSheetCommandTarget(n),i=e.get(P.IEditorBridgeService);if(!t)return!1;const r=e.get(o.ICommandService),a=e.get(f.SheetsSelectionsService).getCurrentLastSelection();if(!a)return!1;const u=a.range.startRow,l=a.range.startColumn,h=i.isVisible(),d=((p=n.getFocusedUnit())==null?void 0:p.getUnitId())===o.DOCS_ZEN_EDITOR_UNIT_ID_KEY;return r.executeCommand(Te.id,{unitId:t.unitId,subUnitId:t.subUnitId,row:u,col:l,type:d?C.ZEN_EDITOR:h.visible?C.EDITING:C.VIEWING})}},re={type:o.CommandType.OPERATION,id:"sheet.operation.insert-hyper-link-toolbar",handler(e){if(tn(e))return!1;const n=e.get(o.ICommandService);return e.get(g.SheetsHyperLinkPopupService).currentEditing?n.executeCommand(ge.id):n.executeCommand(Le.id)}},Fe="SHEET_HYPER_LINK_UI_PLUGIN";var rn=Object.getOwnPropertyDescriptor,on=(e,n,t,i)=>{for(var r=i>1?void 0:i?rn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},we=(e,n)=>(t,i)=>n(t,i,e);g.SheetsHyperLinkCopyPasteController=class extends o.Disposable{constructor(t,i,r,s){super();F(this,"_plainTextFilter",new Set);F(this,"_copyInfo");this._sheetClipboardService=t,this._hyperLinkModel=i,this._injector=r,this._resolverService=s,this._initCopyPaste(),this.disposeWithMe(()=>{this._plainTextFilter.clear()})}registerPlainTextFilter(t){this._plainTextFilter.add(t)}removePlainTextFilter(t){this._plainTextFilter.delete(t)}_filterPlainText(t){return Array.from(this._plainTextFilter).every(i=>i(t))}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:Fe,onBeforeCopy:(t,i,r)=>this._collect(t,i,r),onPasteCells:(t,i,r,s)=>{const{copyType:a=P.COPY_TYPE.COPY,pasteType:u}=s,{range:l}=t||{},{range:h,unitId:d,subUnitId:p}=i;return this._generateMutations(h,{copyType:a,pasteType:u,copyRange:l,unitId:d,subUnitId:p})},onPastePlainText:(t,i)=>{const r=this._filterPlainText(i);if(Ce(i)&&r){const{range:s,unitId:a,subUnitId:u}=t,{ranges:[l],mapFunc:h}=P.virtualizeDiscreteRanges([s]),d=[],p=[];return o.Range.foreach(l,(I,S)=>{const{row:R,col:w}=h(I,S),T=this._hyperLinkModel.getHyperLinkByLocation(a,u,R,w);T&&d.push({id:_.RemoveHyperLinkMutation.id,params:{unitId:a,subUnitId:u,id:T.id}}),T&&p.push({id:_.AddHyperLinkMutation.id,params:{unitId:a,subUnitId:u,link:T}})}),{redos:d,undos:p}}return{undos:[],redos:[]}},priority:99})}_collect(t,i,r){const s=new o.ObjectMatrix;this._copyInfo={unitId:t,subUnitId:i,matrix:s};const a=this._injector.invoke(h=>f.rangeToDiscreteRange(r,h,t,i));if(!a)return;const{rows:u,cols:l}=a;u.forEach((h,d)=>{l.forEach((p,I)=>{var R;const S=this._hyperLinkModel.getHyperLinkByLocation(t,i,h,p);s.setValue(d,I,(R=S==null?void 0:S.id)!=null?R:"")})})}_generateMutations(t,i){if(!this._copyInfo)return{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!i.copyRange)return{redos:[],undos:[]};if([P.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,P.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,P.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,P.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA].includes(i.pasteType))return{redos:[],undos:[]};const{unitId:s,subUnitId:a}=this._copyInfo,u=[],l=[],{ranges:[h,d],mapFunc:p}=P.virtualizeDiscreteRanges([i.copyRange,t]);return P.getRepeatRange(h,d,!0).forEach(({startRange:S})=>{var R;(R=this._copyInfo)==null||R.matrix.forValue((w,T,c)=>{const D=o.Rectangle.getPositionRange({startRow:w,endRow:w,startColumn:T,endColumn:T},S),A=this._hyperLinkModel.getHyperLink(s,a,c),{row:M,col:U}=p(D.startRow,D.startColumn),j=this._hyperLinkModel.getHyperLinkByLocation(i.unitId,i.subUnitId,M,U),V=o.generateRandomId();j&&u.push({id:_.RemoveHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,id:j.id}}),A&&(u.push({id:_.AddHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,link:{...A,id:V,row:M,column:U}}}),l.push({id:_.RemoveHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,id:V}})),j&&l.push({id:_.AddHyperLinkMutation.id,params:{unitId:i.unitId,subUnitId:i.subUnitId,link:j}})})}),{redos:u,undos:l}}},g.SheetsHyperLinkCopyPasteController=on([we(0,P.ISheetClipboardService),we(1,o.Inject(_.HyperLinkModel)),we(2,o.Inject(o.Injector)),we(3,o.Inject(g.SheetsHyperLinkResolverService))],g.SheetsHyperLinkCopyPasteController);const Ke=(e,n=o.DOCS_ZEN_EDITOR_UNIT_ID_KEY)=>{var r;const t=e.get(o.IUniverInstanceService),i=(r=e.get(he.IRenderManagerService).getRenderById(n))==null?void 0:r.with(J.DocSelectionRenderService);return i?i.textSelectionInner$.pipe(k.map(()=>{const a=e.get(P.IEditorBridgeService).getEditCellState();if(!a)return!0;const u=f.getSheetCommandTarget(t,{unitId:a.unitId,subUnitId:a.sheetId});return!(u!=null&&u.worksheet)||Ze(e,u.worksheet,a.row,a.column)===1?!0:nn(e)})):k.of(!0)},dt=e=>{var r;const n=e.get(o.IUniverInstanceService),t=e.has(P.IEditorBridgeService)?e.get(P.IEditorBridgeService):null;return((r=t==null?void 0:t.currentEditCellState$.pipe(k.map(s=>{if(!s)return ve.DISABLED_BY_CELL;const a=f.getSheetCommandTarget(n,{unitId:s.unitId,subUnitId:s.sheetId});return a?Ze(e,a.worksheet,s.row,s.column):ve.DISABLED_BY_CELL}),k.switchMap(s=>{if(s===ve.DISABLED_BY_CELL)return k.of(!0);const a=t?t.visible$:k.of(null);return k.combineLatest([a,n.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_DOC)]).pipe(k.switchMap(([u,l])=>u!=null&&u.visible?(l==null?void 0:l.getUnitId())===o.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY?k.of(!0):Ke(e,o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY):k.of(s!==ve.ALLOWED)))})))!=null?r:k.of(!0)).pipe(k.switchMap(s=>s?k.of(!0):P.getCurrentRangeDisable$(e,{workbookTypes:[f.WorkbookEditablePermission],worksheetTypes:[f.WorksheetEditPermission,f.WorksheetSetCellValuePermission,f.WorksheetInsertHyperlinkPermission],rangeTypes:[f.RangeProtectionPermissionEditPoint]},!0)))},De={commandId:Le.id,type:m.MenuItemType.BUTTON,title:"hyperLink.menu.add",icon:"LinkIcon"},be=e=>`${e}-zen-editor`,sn=e=>({...De,id:De.commandId,hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_SHEET),disabled$:dt(e)}),an=e=>({...De,id:be(De.commandId),hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Ke(e)}),Oe={tooltip:"hyperLink.form.addTitle",commandId:re.id,type:m.MenuItemType.BUTTON,icon:"LinkIcon"},cn=e=>({...Oe,id:Oe.commandId,hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_SHEET),disabled$:dt(e)}),un=e=>({...Oe,id:be(Oe.commandId),hidden$:m.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,o.DOCS_ZEN_EDITOR_UNIT_ID_KEY),disabled$:Ke(e)}),We={id:re.id,binding:m.KeyCode.K|m.MetaKeys.CTRL_COMMAND,preconditions:P.whenSheetEditorFocused};var ln=Object.getOwnPropertyDescriptor,dn=(e,n,t,i)=>{for(var r=i>1?void 0:i?ln(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},pt=(e,n)=>(t,i)=>n(t,i,e);let ke=class extends o.Disposable{constructor(e,n){super(),this._autoFillService=e,this._hyperLinkModel=n,this._initAutoFill()}_initAutoFill(){const e=()=>({redos:[],undos:[]}),n=(i,r)=>{const{source:s,target:a,unitId:u,subUnitId:l}=i,h=P.virtualizeDiscreteRanges([s,a]),[d,p]=h.ranges,{mapFunc:I}=h,S={row:d.startRow,col:d.startColumn},R=P.getAutoFillRepeatRange(d,p),w=[],T=[];return R.forEach(c=>{const D=c.repeatStartCell,A=c.relativeRange,M={startRow:S.row,startColumn:S.col,endColumn:S.col,endRow:S.row},U={startRow:D.row,startColumn:D.col,endColumn:D.col,endRow:D.row};o.Range.foreach(A,(j,V)=>{const q=o.Rectangle.getPositionRange({startRow:j,startColumn:V,endColumn:V,endRow:j},M),{row:oe,col:Ae}=I(q.startRow,q.startColumn),se=this._hyperLinkModel.getHyperLinkByLocation(u,l,oe,Ae),Ie=o.Rectangle.getPositionRange({startRow:j,startColumn:V,endColumn:V,endRow:j},U),{row:_e,col:me}=I(Ie.startRow,Ie.startColumn),Be=o.generateRandomId(),ue=this._hyperLinkModel.getHyperLinkByLocation(u,l,_e,me);ue&&w.push({id:_.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:ue.id}}),(P.APPLY_TYPE.COPY===r||P.APPLY_TYPE.SERIES===r)&&se&&(w.push({id:_.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:{...se,id:Be,row:_e,column:me}}}),T.push({id:_.RemoveHyperLinkMutation.id,params:{unitId:u,subUnitId:l,id:Be}})),ue&&T.push({id:_.AddHyperLinkMutation.id,params:{unitId:u,subUnitId:l,link:ue}})})}),{undos:T,redos:w}},t={id:Fe,onFillData:(i,r,s)=>s===P.APPLY_TYPE.COPY||s===P.APPLY_TYPE.ONLY_FORMAT||s===P.APPLY_TYPE.SERIES?n(i,s):e()};this.disposeWithMe(this._autoFillService.addHook(t))}};ke=dn([pt(0,P.IAutoFillService),pt(1,o.Inject(_.HyperLinkModel))],ke);var pn=Object.getOwnPropertyDescriptor,hn=(e,n,t,i)=>{for(var r=i>1?void 0:i?pn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},Ye=(e,n)=>(t,i)=>n(t,i,e);let Ne=class extends o.Disposable{constructor(e,n,t){super(),this._localeService=e,this._commandService=n,this._sheetPermissionCheckController=t,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{e.id===We.id&&(this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[f.WorkbookEditablePermission],rangeTypes:[f.RangeProtectionPermissionEditPoint],worksheetTypes:[f.WorksheetEditPermission,f.WorksheetSetCellValuePermission,f.WorksheetInsertHyperlinkPermission]})||this._sheetPermissionCheckController.blockExecuteWithoutPermission(this._localeService.t("permission.dialog.hyperLinkErr")))}))}};Ne=hn([Ye(0,o.Inject(o.LocaleService)),Ye(1,o.ICommandService),Ye(2,o.Inject(f.SheetPermissionCheckController))],Ne);var vn=Object.getOwnPropertyDescriptor,gn=(e,n,t,i)=>{for(var r=i>1?void 0:i?vn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},K=(e,n)=>(t,i)=>n(t,i,e);let Me=class extends o.Disposable{constructor(e,n,t,i,r,s,a,u,l,h){super(),this._hoverManagerService=e,this._sheetsHyperLinkPopupService=n,this._renderManagerService=t,this._permissionService=i,this._sheetPermissionCheckController=r,this._commandService=s,this._editorBridgeService=a,this._textSelectionManagerService=u,this._univerInstanceService=l,this._zenZoneService=h,this._initHoverListener(),this._initCommandListener(),this._initHoverEditingListener(),this._initTextSelectionListener(),this._initZenEditor()}_getLinkPermission(e){const{unitId:n,subUnitId:t,row:i,col:r}=e,s=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET),a=s==null?void 0:s.getSheetBySheetId(t);if(!a)return{viewPermission:!1,editPermission:!1,copyPermission:!1};const u=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[f.WorkbookViewPermission],worksheetTypes:[f.WorksheetViewPermission],rangeTypes:[f.RangeProtectionPermissionViewPoint]},[{startRow:i,startColumn:r,endRow:i,endColumn:r}]);let l=this._sheetPermissionCheckController.permissionCheckWithRanges({workbookTypes:[f.WorkbookEditablePermission],worksheetTypes:[f.WorksheetEditPermission,f.WorksheetInsertHyperlinkPermission],rangeTypes:[f.RangeProtectionPermissionEditPoint]},[{startRow:i,startColumn:r,endRow:i,endColumn:r}]);const h=a.getCellRaw(i,r);h!=null&&h.f&&h.f.startsWith("=HYPERLINK(")&&(l=!1);const d=this._permissionService.composePermission([new f.WorkbookCopyPermission(n).id,new f.WorksheetCopyPermission(n,t).id]).every(p=>p.value);return{viewPermission:u,editPermission:l,copyPermission:d}}_initHoverListener(){this.disposeWithMe(this._hoverManagerService.currentRichText$.pipe(k.debounceTime(200)).subscribe(e=>{var M,U,j;if(!e||((M=e.customRange)==null?void 0:M.rangeType)!==o.CustomRangeType.HYPERLINK){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const{unitId:n,subUnitId:t,row:i,col:r}=e,s=this._renderManagerService.getRenderById(n);if(!s)return;const a=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET),u=a==null?void 0:a.getSheetBySheetId(t);if(!u)return;if(!s.with(P.HoverRenderController).active){this._sheetsHyperLinkPopupService.hideCurrentPopup(C.VIEWING);return}const h=(U=s==null?void 0:s.with(P.SheetSkeletonManagerService).getSkeletonParam(t))==null?void 0:U.skeleton,d=r,p=i;let I=p,S=d;h&&h.overflowCache.forValue((V,q,oe)=>{o.Rectangle.contains(oe,{startColumn:d,endColumn:d,startRow:p,endRow:p})&&(I=V,S=q)});const{viewPermission:R,editPermission:w,copyPermission:T}=this._getLinkPermission(e);if(!R){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const c=u.getCellStyleOnly(I,S),D=a.getStyles().getStyleByCell(c),A=(j=D==null?void 0:D.tr)==null?void 0:j.a;if(!A&&!e.customRange){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}this._sheetsHyperLinkPopupService.showPopup({row:I,col:S,editPermission:w,copyPermission:T,customRange:e.customRange,customRangeRect:e.rect,type:C.VIEWING,unitId:n,subUnitId:t,showAll:!!A})}))}_initHoverEditingListener(){let e=null;this.disposeWithMe(this._editorBridgeService.currentEditCellState$.pipe(k.switchMap(n=>this._editorBridgeService.visible$.pipe(k.map(t=>({visible:t,state:n}))))).subscribe(({visible:n,state:t})=>{if(!t||t.editorUnitId!==o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)return;if(!n.visible){e==null||e.unsubscribe(),this._sheetsHyperLinkPopupService.hideCurrentPopup(C.EDITING),this._sheetsHyperLinkPopupService.endEditing(C.EDITING);return}const{editorUnitId:i,unitId:r,sheetId:s,row:a,column:u}=t,l=this._renderManagerService.getRenderById(i);if(!l)return;const{editPermission:h,viewPermission:d,copyPermission:p}=this._getLinkPermission({unitId:r,subUnitId:s,row:a,col:u}),I=l.with(J.DocEventManagerService);d&&(e==null||e.unsubscribe(),e=I.hoverCustomRanges$.pipe(k.debounceTime(200)).subscribe(S=>{var D,A;const R=S.find(M=>M.range.rangeType===o.CustomRangeType.HYPERLINK);if(!R){this._sheetsHyperLinkPopupService.hideCurrentPopup();return}const w=R.rects[R.rects.length-1];if(!((A=(D=this._renderManagerService.getRenderById(r))==null?void 0:D.with(P.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:A.skeleton)||!w)return;const c=l.engine.getCanvasElement().getBoundingClientRect();this._sheetsHyperLinkPopupService.showPopup({unitId:r,subUnitId:s,row:a,col:u,customRange:R.range,customRangeRect:{left:w.left+c.left,top:w.top+c.top,bottom:w.bottom+c.top,right:w.right+c.left},editPermission:h,copyPermission:p,type:C.EDITING})}))})),this.disposeWithMe(()=>{e==null||e.unsubscribe()})}_initZenEditor(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(e=>{e?(this._sheetsHyperLinkPopupService.hideCurrentPopup(C.VIEWING),this._sheetsHyperLinkPopupService.hideCurrentPopup(C.EDITING),this._sheetsHyperLinkPopupService.endEditing(C.EDITING),this._sheetsHyperLinkPopupService.hideCurrentPopup(C.VIEWING)):(this._sheetsHyperLinkPopupService.hideCurrentPopup(C.ZEN_EDITOR),this._sheetsHyperLinkPopupService.endEditing(C.ZEN_EDITOR))})),this.disposeWithMe(this._univerInstanceService.focused$.pipe(k.switchMap(e=>{const n=e===o.DOCS_ZEN_EDITOR_UNIT_ID_KEY?this._renderManagerService.getRenderById(e):null;return n?n.with(J.DocEventManagerService).hoverCustomRanges$.pipe(k.debounceTime(200)):new k.Observable(t=>{t.next(null)})})).subscribe(e=>{const n=e==null?void 0:e.find(i=>i.range.rangeType===o.CustomRangeType.HYPERLINK),t=this._editorBridgeService.getEditCellState();if(n&&t){const{unitId:i,sheetId:r,row:s,column:a}=t,{editPermission:u,viewPermission:l,copyPermission:h}=this._getLinkPermission({unitId:i,subUnitId:r,row:s,col:a});l&&this._sheetsHyperLinkPopupService.showPopup({type:C.ZEN_EDITOR,unitId:i,subUnitId:r,row:s,col:a,customRange:n.range,editPermission:u,copyPermission:h})}else this._sheetsHyperLinkPopupService.hideCurrentPopup(C.ZEN_EDITOR)}))}_initTextSelectionListener(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(e=>{e&&e.unitId===o.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._sheetsHyperLinkPopupService.endEditing(C.EDITING)}))}_initCommandListener(){const e=[f.ClearSelectionContentCommand.id,f.ClearSelectionAllCommand.id,f.ClearSelectionFormatCommand.id];this.disposeWithMe(this._commandService.onCommandExecuted(n=>{e.includes(n.id)&&this._sheetsHyperLinkPopupService.hideCurrentPopup()}))}};Me=gn([K(0,o.Inject(P.HoverManagerService)),K(1,o.Inject(g.SheetsHyperLinkPopupService)),K(2,o.Inject(he.IRenderManagerService)),K(3,o.Inject(o.IPermissionService)),K(4,o.Inject(f.SheetPermissionCheckController)),K(5,o.ICommandService),K(6,P.IEditorBridgeService),K(7,o.Inject(pe.DocSelectionManagerService)),K(8,o.IUniverInstanceService),K(9,m.IZenZoneService)],Me);var Sn=Object.getOwnPropertyDescriptor,ht=(e,n,t,i)=>{for(var r=i>1?void 0:i?Sn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},Ge=(e,n)=>(t,i)=>n(t,i,e);let ze=class extends o.Disposable{constructor(e,n){super(),this._context=e,this._hyperLinkModel=n,this._initSkeletonChange()}_initSkeletonChange(){const e=()=>{var n;(n=this._context.mainComponent)==null||n.makeForceDirty()};this.disposeWithMe(this._hyperLinkModel.linkUpdate$.pipe(k.debounceTime(16)).subscribe(()=>{e()}))}};ze=ht([Ge(1,o.Inject(_.HyperLinkModel))],ze);let Ue=class extends o.Disposable{constructor(e,n){super(),this._sheetInterceptorService=e,this._hyperLinkModel=n,this._initViewModelIntercept()}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(f.INTERCEPTOR_POINT.CELL_CONTENT,{effect:o.InterceptorEffectEnum.Value,priority:100,handler:(e,n,t)=>{const{row:i,col:r,unitId:s,subUnitId:a}=n,u=this._hyperLinkModel.getHyperLinkByLocation(s,a,i,r);return u&&e&&(e===n.rawData&&(e={...n.rawData}),e.linkUrl=u.payload,e.linkId=u.id),t(e)}}))}};Ue=ht([Ge(0,o.Inject(f.SheetInterceptorService)),Ge(1,o.Inject(_.HyperLinkModel))],Ue);const In={[m.RibbonInsertGroup.MEDIA]:{[re.id]:{order:1,menuItemFactory:cn},[be(re.id)]:{order:1,menuItemFactory:un}},[m.ContextMenuPosition.MAIN_AREA]:{[m.ContextMenuGroup.OTHERS]:{order:1,[re.id]:{order:0,menuItemFactory:sn},[be(re.id)]:{order:0,menuItemFactory:an}}}};var _n=Object.getOwnPropertyDescriptor,mn=(e,n,t,i)=>{for(var r=i>1?void 0:i?_n(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},Se=(e,n)=>(t,i)=>n(t,i,e);let He=class extends o.Disposable{constructor(e,n,t,i,r){super(),this._componentManager=e,this._commandService=n,this._menuManagerService=t,this._injector=i,this._shortcutService=r,this._initComponents(),this._initCommands(),this._initMenus(),this._initShortCut()}_initComponents(){[[Re.componentKey,Re],[Ee.componentKey,Ee],["LinkIcon",$e]].forEach(([e,n])=>{this._componentManager.register(e,n)})}_initCommands(){[Te,ge,Le,re].forEach(e=>{this._commandService.registerCommand(e)})}_initMenus(){this._menuManagerService.mergeMenu(In)}_initShortCut(){this._shortcutService.registerShortcut(We)}};He=mn([Se(0,o.Inject(m.ComponentManager)),Se(1,o.ICommandService),Se(2,m.IMenuManagerService),Se(3,o.Inject(o.Injector)),Se(4,o.Inject(m.IShortcutService))],He);var fn=Object.getOwnPropertyDescriptor,yn=(e,n,t,i)=>{for(var r=i>1?void 0:i?fn(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},vt=(e,n)=>(t,i)=>n(t,i,e);let xe=class extends o.Disposable{constructor(e,n){super(),this._parserService=e,this._resolverService=n,this._handleInitUrl()}_handleInitUrl(){const e=location.hash;if(e){const n=this._parserService.parseHyperLink(e);this._resolverService.navigate(n)}}};xe=yn([vt(0,o.Inject(_.SheetsHyperLinkParserService)),vt(1,o.Inject(g.SheetsHyperLinkResolverService))],xe);var Cn=Object.defineProperty,En=Object.getOwnPropertyDescriptor,Pn=(e,n,t)=>n in e?Cn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Rn=(e,n,t,i)=>{for(var r=i>1?void 0:i?En(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(r=a(r)||r);return r},gt=(e,n)=>(t,i)=>n(t,i,e),St=(e,n,t)=>Pn(e,typeof n!="symbol"?n+"":n,t);g.UniverSheetsHyperLinkUIPlugin=class extends o.Plugin{constructor(n=it,t,i){super(),this._config=n,this._injector=t,this._configService=i;const{menu:r,...s}=o.merge({},it,this._config);r&&this._configService.setConfig("menu",r,{merge:!0}),this._configService.setConfig(nt,s)}onStarting(){[[g.SheetsHyperLinkResolverService],[g.SheetsHyperLinkPopupService],[je],[Ue],[Me],[He],[ke],[g.SheetsHyperLinkCopyPasteController],[Ne],[xe]].forEach(t=>this._injector.add(t)),this._injector.get(Ue)}onReady(){this._injector.get(he.IRenderManagerService).registerRenderModule(o.UniverInstanceType.UNIVER_SHEET,[ze]),this._injector.get(ke),this._injector.get(g.SheetsHyperLinkCopyPasteController),this._injector.get(He)}onRendered(){this._injector.get(Ne),this._injector.get(xe),this._injector.get(Me)}},St(g.UniverSheetsHyperLinkUIPlugin,"pluginName",Fe),St(g.UniverSheetsHyperLinkUIPlugin,"type",o.UniverInstanceType.UNIVER_SHEET),g.UniverSheetsHyperLinkUIPlugin=Rn([o.DependentOn(_.UniverSheetsHyperLinkPlugin,J.UniverDocsUIPlugin),gt(1,o.Inject(o.Injector)),gt(2,o.IConfigService)],g.UniverSheetsHyperLinkUIPlugin),g.CloseHyperLinkPopupOperation=ge,g.InsertHyperLinkOperation=Le,g.InsertLinkShortcut=We,g.OpenHyperLinkEditPanelOperation=Te,g.SheetsHyperLinkSidePanelService=je,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/sheets-hyper-link-ui",
3
- "version": "0.10.10",
3
+ "version": "0.10.11",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -64,29 +64,29 @@
64
64
  "rxjs": ">=7.0.0"
65
65
  },
66
66
  "dependencies": {
67
- "@univerjs/icons": "^0.4.8",
68
- "@univerjs/core": "0.10.10",
69
- "@univerjs/docs": "0.10.10",
70
- "@univerjs/design": "0.10.10",
71
- "@univerjs/docs-ui": "0.10.10",
72
- "@univerjs/engine-formula": "0.10.10",
73
- "@univerjs/engine-render": "0.10.10",
74
- "@univerjs/sheets": "0.10.10",
75
- "@univerjs/sheets-formula-ui": "0.10.10",
76
- "@univerjs/sheets-ui": "0.10.10",
77
- "@univerjs/sheets-hyper-link": "0.10.10",
78
- "@univerjs/sheets-data-validation": "0.10.10",
79
- "@univerjs/ui": "0.10.10"
67
+ "@univerjs/icons": "^0.4.9",
68
+ "@univerjs/core": "0.10.11",
69
+ "@univerjs/design": "0.10.11",
70
+ "@univerjs/engine-formula": "0.10.11",
71
+ "@univerjs/engine-render": "0.10.11",
72
+ "@univerjs/docs-ui": "0.10.11",
73
+ "@univerjs/sheets-data-validation": "0.10.11",
74
+ "@univerjs/sheets": "0.10.11",
75
+ "@univerjs/docs": "0.10.11",
76
+ "@univerjs/sheets-formula-ui": "0.10.11",
77
+ "@univerjs/sheets-hyper-link": "0.10.11",
78
+ "@univerjs/sheets-ui": "0.10.11",
79
+ "@univerjs/ui": "0.10.11"
80
80
  },
81
81
  "devDependencies": {
82
82
  "postcss": "^8.5.6",
83
83
  "react": "18.3.1",
84
84
  "rxjs": "^7.8.2",
85
85
  "tailwindcss": "3.4.17",
86
- "typescript": "^5.9.2",
87
- "vite": "^7.1.4",
86
+ "typescript": "^5.9.3",
87
+ "vite": "^7.1.10",
88
88
  "vitest": "^3.2.4",
89
- "@univerjs-infra/shared": "0.10.10"
89
+ "@univerjs-infra/shared": "0.10.11"
90
90
  },
91
91
  "scripts": {
92
92
  "test": "vitest run",