import { Ae, Co, F, N, Q, So, V, Wn, _t, dh, hh, ko, on, os, po, qn } from "./chunk-BW43Z7N3.js"; import { fn, fr, pc, pr } from "./chunk-QRYBFJ3R.js"; import { He, ke, qe } from "./chunk-PZD7N4BC.js"; import { Bi, Dt, Fe, K0, Ke, Mf, Mi, OR, Ot, Pt, Q0, Ra, SC, SE, Subject, Vr, Ze, _n, ar, cn, dn, en, kt, mn, mu, nt, nu, ot, qt, re, st, su, tr } from "./chunk-23V3HWTR.js"; // node_modules/.pnpm/@univerjs+sheets-hyper-link@0.5.5_@grpc+grpc-js@1.13.4_react@18.3.1_rxjs@7.8.1/node_modules/@univerjs/sheets-hyper-link/lib/es/index.js var Ae2 = Object.defineProperty; var We = (s, e, t) => e in s ? Ae2(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t; var w = (s, e, t) => We(s, typeof e != "symbol" ? e + "" : e, t); var yt = Object.defineProperty; var Rt = Object.getOwnPropertyDescriptor; var St = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Rt(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && yt(e, t, r), r; }; var It = (s, e) => (t, n) => e(t, n, s); var I = class extends nt { constructor(e) { super(); w(this, "_linkUpdate$", new Subject()); w(this, "linkUpdate$", this._linkUpdate$.asObservable()); w(this, "_linkMap", /* @__PURE__ */ new Map()); w(this, "_linkPositionMap", /* @__PURE__ */ new Map()); this._univerInstanceService = e, this.disposeWithMe({ dispose: () => { this._linkUpdate$.complete(); } }); } _ensureMap(e, t) { let n = this._linkMap.get(e); n || (n = /* @__PURE__ */ new Map(), this._linkMap.set(e, n)); let r = n.get(t); r || (r = new kt(), n.set(t, r)); let i = this._linkPositionMap.get(e); i || (i = /* @__PURE__ */ new Map(), this._linkPositionMap.set(e, i)); let a = i.get(t); return a || (a = /* @__PURE__ */ new Map(), i.set(t, a)), { matrix: r, positionMap: a }; } addHyperLink(e, t, n) { const { matrix: r, positionMap: i } = this._ensureMap(e, t); return r.setValue(n.row, n.column, n), i.set(n.id, { row: n.row, column: n.column, link: n }), this._linkUpdate$.next({ unitId: e, subUnitId: t, payload: n, type: "add" }), true; } updateHyperLink(e, t, n, r, i = false) { const { matrix: a, positionMap: o } = this._ensureMap(e, t), c = o.get(n); if (!c) return true; const d = a.getValue(c.row, c.column); return d && (Object.assign(d, r), this._linkUpdate$.next({ unitId: e, subUnitId: t, payload: { display: d.display, payload: d.payload }, id: n, type: "update", silent: i })), true; } updateHyperLinkRef(e, t, n, r, i = false) { const { matrix: a, positionMap: o } = this._ensureMap(e, t), c = o.get(n); if (!c) return true; let d = a.getValue(c.row, c.column); return !d || d.id !== n ? d = c.link : a.realDeleteValue(c.row, c.column), Object.assign(d, r), o.set(n, { ...r, link: d }), a.setValue(r.row, r.column, d), this._linkUpdate$.next({ unitId: e, subUnitId: t, payload: r, id: n, type: "updateRef", silent: i }), true; } removeHyperLink(e, t, n) { const { matrix: r, positionMap: i } = this._ensureMap(e, t), a = i.get(n); if (!a) return false; i.delete(n); const o = r.getValue(a.row, a.column); return o && o.id === n && r.realDeleteValue(a.row, a.column), this._linkUpdate$.next({ unitId: e, subUnitId: t, payload: a.link, type: "remove" }), true; } getHyperLink(e, t, n) { const { matrix: r, positionMap: i } = this._ensureMap(e, t), a = i.get(n); if (a) return r.getValue(a.row, a.column); } getHyperLinkByLocation(e, t, n, r) { const { matrix: i } = this._ensureMap(e, t); return i.getValue(n, r); } getHyperLinkByLocationSync(e, t, n, r) { var l, u, h, g, p; const { matrix: i } = this._ensureMap(e, t), a = this._univerInstanceService.getUnit(e, Fe.UNIVER_SHEET), o = (l = a == null ? void 0 : a.getSheetBySheetId(t)) == null ? void 0 : l.getCellRaw(n, r), c = ((p = (g = o == null ? void 0 : o.v) != null ? g : (h = (u = o == null ? void 0 : o.p) == null ? void 0 : u.body) == null ? void 0 : h.dataStream.slice(0, -2)) != null ? p : "").toString(), d = i.getValue(n, r); if (d) return { ...d, display: c }; } getSubUnit(e, t) { const { matrix: n } = this._ensureMap(e, t), r = []; return n.forValue((i, a, o) => { o && r.push(o); }), r; } getUnit(e) { const t = this._linkMap.get(e); return t ? Array.from(t.keys()).map((n) => { const r = this.getSubUnit(e, n); return { unitId: e, subUnitId: n, links: r }; }) : []; } deleteUnit(e) { const t = this.getUnit(e); this._linkMap.delete(e), this._linkPositionMap.delete(e), this._linkUpdate$.next({ type: "unload", unitId: e, unitLinks: t }); } getAll() { return Array.from(this._linkMap.keys()).map((t) => this.getUnit(t)); } }; I = St([ It(0, _n) ], I); var U = ((s) => (s.SHEET = "gid", s.RANGE = "range", s.DEFINE_NAME = "rangeid", s.INVALID = "invalid", s.URL = "url", s))(U || {}); var vt = "sheets-hyper-link.config"; var Ue = {}; var O = { type: ar.MUTATION, id: "sheets.mutation.add-hyper-link", handler(s, e) { if (!e) return false; const t = s.get(I), { unitId: n, subUnitId: r, link: i } = e; return t.addHyperLink(n, r, i); } }; var k = { type: ar.MUTATION, id: "sheets.mutation.remove-hyper-link", handler(s, e) { if (!e) return false; const t = s.get(I), { unitId: n, subUnitId: r, id: i } = e; return t.removeHyperLink(n, r, i); } }; var _e = { type: ar.MUTATION, id: "sheets.mutation.update-hyper-link", handler(s, e) { if (!e) return false; const t = s.get(I), { unitId: n, subUnitId: r, payload: i, id: a } = e; return t.updateHyperLink(n, r, a, i, false); } }; var me = { type: ar.MUTATION, id: "sheets.mutation.update-hyper-link-ref", handler(s, e) { if (!e) return false; const t = s.get(I), { unitId: n, subUnitId: r, id: i, row: a, column: o, silent: c } = e; return t.updateHyperLinkRef(n, r, i, { row: a, column: o }, c); } }; var X = { type: ar.MUTATION, id: "sheets.mutation.update-rich-hyper-link", handler(s, e) { var g, p, f; if (!e) return false; const { unitId: t, subUnitId: n, row: r, col: i, id: a, url: o } = e, c = s.get(_n), d = N(c, { unitId: t, subUnitId: n }); if (!d) return false; const { worksheet: l } = d, u = l.getCellRaw(r, i), h = (f = (p = (g = u == null ? void 0 : u.p) == null ? void 0 : g.body) == null ? void 0 : p.customRanges) == null ? void 0 : f.find((_) => _.rangeType === mn.HYPERLINK && _.rangeId === a); return h && (h.properties.url = o), true; } }; var He2 = "SHEET_HYPER_LINK_PLUGIN"; var Q2 = "err"; var Mt = Object.defineProperty; var Ct = Object.getOwnPropertyDescriptor; var wt = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Ct(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && Mt(e, t, r), r; }; var z = (s, e) => (t, n) => e(t, n, s); var ee = class extends nt { constructor(e, t, n, r) { super(); w(this, "_disposableMap", /* @__PURE__ */ new Map()); w(this, "_watchDisposableMap", /* @__PURE__ */ new Map()); w(this, "_rangeDisableMap", /* @__PURE__ */ new Map()); w(this, "_rangeWatcherMap", /* @__PURE__ */ new Map()); w(this, "_handlePositionChange", (e2, t2, n2, r2, i) => { const a = { startColumn: n2.column, endColumn: n2.column, startRow: n2.row, endRow: n2.row }; return r2 ? { redos: [{ id: me.id, params: { unitId: e2, subUnitId: t2, id: n2.id, row: r2.startRow, column: r2.startColumn, silent: i } }], undos: [{ id: me.id, params: { unitId: e2, subUnitId: t2, id: n2.id, row: a.startRow, column: a.startColumn, silent: i } }] } : { redos: [{ id: k.id, params: { unitId: e2, subUnitId: t2, id: n2.id } }], undos: [{ id: O.id, params: { unitId: e2, subUnitId: t2, link: n2 } }] }; }); this._refRangeService = e, this._hyperLinkModel = t, this._selectionManagerService = n, this._commandService = r, this._initData(), this._initRefRange(); } _registerPosition(e, t, n) { const r = n.id, i = { startColumn: n.column, endColumn: n.column, startRow: n.row, endRow: n.row }, a = (o) => { const c = hh(i, o, { selectionManagerService: this._selectionManagerService }), d = Array.isArray(c) ? c[0] : c; return d && d.startColumn === i.startColumn && d.startRow === i.startRow ? { undos: [], redos: [] } : this._handlePositionChange(e, t, n, d, false); }; this._disposableMap.set(r, this._refRangeService.registerRefRange(i, a, e, t)); } _watchPosition(e, t, n) { const r = n.id, i = { startColumn: n.column, endColumn: n.column, startRow: n.row, endRow: n.row }; this._watchDisposableMap.set( r, this._refRangeService.watchRange(e, t, i, (a, o) => { const { redos: c } = this._handlePositionChange(e, t, n, o, true); Q0(c, this._commandService, { onlyLocal: true }); }, true) ); } _unregisterPosition(e) { const t = this._disposableMap.get(e); t == null || t.dispose(), this._disposableMap.delete(e); } _unwatchPosition(e) { const t = this._watchDisposableMap.get(e); t == null || t.dispose(), this._watchDisposableMap.delete(e); } _registerRange(e, t, n, r = false) { var i, a, o; if (n.startsWith("#")) { const c = new URLSearchParams(n.slice(1)), d = { gid: (i = c.get("gid")) != null ? i : "", range: (a = c.get("range")) != null ? a : "", rangeid: (o = c.get("rangeid")) != null ? o : "" }; if (d.range && d.gid) { const l = d.gid, u = fn(d.range).range; if (SC(u) && d.range !== Q2) { const h = (g) => { const p = dh(u, g, { selectionManagerService: this._selectionManagerService }); return p && fr(p) === fr(u) ? { redos: [], undos: [] } : { redos: [{ id: _e.id, params: { unitId: e, subUnitId: l, id: t, payload: { payload: `#gid=${l}&range=${p ? fr(p) : "err"}` } } }], undos: [{ id: _e.id, params: { unitId: e, subUnitId: l, id: t, payload: { payload: n } } }] }; }; this._rangeDisableMap.set(t, this._refRangeService.registerRefRange(u, h, e, l)), r || this._rangeWatcherMap.set(t, this._refRangeService.watchRange(e, l, u, (g, p) => { this._hyperLinkModel.updateHyperLink(e, l, t, { payload: `#gid=${l}&range=${p ? fr(p) : "err"}` }, true); }, true)); } } } } _unregisterRange(e) { const t = this._rangeDisableMap.get(e); t == null || t.dispose(), this._rangeDisableMap.delete(e); } _unwatchRange(e) { const t = this._rangeWatcherMap.get(e); t == null || t.dispose(), this._rangeWatcherMap.delete(e); } _initData() { this._hyperLinkModel.getAll().forEach((t) => { t.forEach((n) => { const { unitId: r, subUnitId: i, links: a } = n; a.forEach((o) => { this._registerPosition(r, i, o), this._watchPosition(r, i, o), this._registerRange(r, o.id, o.payload); }); }); }); } _initRefRange() { this.disposeWithMe( this._hyperLinkModel.linkUpdate$.subscribe((e) => { switch (e.type) { case "add": { this._registerPosition(e.unitId, e.subUnitId, e.payload), this._watchPosition(e.unitId, e.subUnitId, e.payload), this._registerRange(e.unitId, e.payload.id, e.payload.payload); break; } case "remove": { this._unregisterPosition(e.payload.id), this._unwatchPosition(e.payload.id), this._unregisterRange(e.payload.id), this._unwatchRange(e.payload.id); break; } case "updateRef": { const { unitId: t, subUnitId: n, id: r, silent: i } = e, a = this._hyperLinkModel.getHyperLink(t, n, r); if (!a) return; this._unregisterPosition(r), this._registerPosition(t, n, a), i || (this._unwatchPosition(r), this._watchPosition(t, n, a)); break; } case "unload": { const { unitLinks: t } = e; t.forEach((n) => { const { links: r } = n; r.forEach((i) => { this._unregisterPosition(i.id), this._unwatchPosition(i.id), this._unregisterRange(i.id), this._unwatchRange(i.id); }); }); break; } case "update": { e.silent || this._unwatchRange(e.id), this._unregisterRange(e.id), this._registerRange(e.unitId, e.id, e.payload.payload, e.silent); break; } } }) ), this.disposeWithMe(Ze(() => { this._disposableMap.forEach((e) => { e.dispose(); }), this._disposableMap.clear(); })); } }; ee = wt([ z(0, ot(_t)), z(1, ot(I)), z(2, ot(F)), z(3, Pt) ], ee); var Et = Object.defineProperty; var Lt = Object.getOwnPropertyDescriptor; var Ut = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Lt(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && Et(e, t, r), r; }; var he = (s, e) => (t, n) => e(t, n, s); var te = class extends nt { constructor(s, e, t) { super(), this._sheetInterceptorService = s, this._univerInstanceService = e, this._hyperLinkModel = t, this._initSheetChange(); } _initSheetChange() { this.disposeWithMe( this._sheetInterceptorService.interceptCommand({ getMutations: (s) => { var e; if (s.id === ko.id) { const t = s.params, n = t.unitId ? this._univerInstanceService.getUnit(t.unitId) : this._univerInstanceService.getCurrentUnitForType(Fe.UNIVER_SHEET); if (!n) return { redos: [], undos: [] }; const r = n.getUnitId(), i = t.subUnitId || ((e = n.getActiveSheet()) == null ? void 0 : e.getSheetId()); if (!i) return { redos: [], undos: [] }; const a = this._hyperLinkModel.getSubUnit(r, i), o = a.map((d) => ({ id: k.id, params: { unitId: r, subUnitId: i, id: d.id } })), c = a.map((d) => ({ id: O.id, params: { unitId: r, subUnitId: i, link: d } })); return { redos: o, undos: c }; } return { redos: [], undos: [] }; } }) ); } }; te = Ut([ he(0, ot(V)), he(1, _n), he(2, ot(I)) ], te); var bt = Object.defineProperty; var Pt2 = Object.getOwnPropertyDescriptor; var Nt = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Pt2(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && bt(e, t, r), r; }; var ge = (s, e) => (t, n) => e(t, n, s); var ne = class extends nt { constructor(e, t, n) { super(); w(this, "_refRangeMap", /* @__PURE__ */ new Map()); this._commandService = e, this._univerInstanceService = t, this._refRangeService = n, this._initWorkbookLoad(), this._initWorkbookUnload(), this._initSetRangesListener(); } _enusreMap(e, t) { let n = this._refRangeMap.get(e); n || (n = /* @__PURE__ */ new Map(), this._refRangeMap.set(e, n)); let r = n.get(t); return r || (r = new kt(), n.set(t, r)), r; } _isLegalRangeUrl(e, t) { var r, i, a; const n = this._univerInstanceService.getUnit(e, Fe.UNIVER_SHEET); if (!n) return null; if (t && t.startsWith("#")) { const o = new URLSearchParams(t.slice(1)), c = { gid: (r = o.get("gid")) != null ? r : "", range: (i = o.get("range")) != null ? i : "", rangeid: (a = o.get("rangeid")) != null ? a : "" }; if (c.range && c.gid) { const d = c.gid, l = n.getSheetBySheetId(d); if (!l) return null; const u = fn(c.range).range; if (SC(u, l) && c.range !== Q2) return { range: u, worksheet: l }; } } return null; } _registerRange(e, t, n, r, i) { var o, c, d, l; const a = this._enusreMap(e, t); if ((c = (o = i.body) == null ? void 0 : o.customRanges) != null && c.some((u) => { var h; return u.rangeType === mn.HYPERLINK && this._isLegalRangeUrl(e, (h = u.properties) == null ? void 0 : h.url); })) { const u = new Mi(); let h = false; (l = (d = i.body) == null ? void 0 : d.customRanges) == null || l.forEach((g) => { var p; if (g.rangeType === mn.HYPERLINK) { const f = (p = g.properties) == null ? void 0 : p.url, _ = this._isLegalRangeUrl(e, f); if (_) { const { range: m, worksheet: C } = _; h = true, u.add( this._refRangeService.registerRefRange( m, (y) => { const R = os(m, y); return R && en.equals(R, m) ? { preRedos: [], preUndos: [], redos: [], undos: [] } : { preRedos: [{ id: X.id, params: { unitId: e, subUnitId: t, row: n, col: r, id: g.rangeId, url: `#gid=${t}&range=${R ? fr(R) : Q2}` } }], undos: [{ id: X.id, params: { unitId: e, subUnitId: t, row: n, col: r, id: g.rangeId, url: f } }], redos: [] }; }, C.getUnitId(), C.getSheetId() ) ); } } }), h && a.setValue(n, r, u); } } _initWorkbookLoad() { const e = (t) => { const n = t.getUnitId(); t.getSheets().forEach((r) => { const i = r.getSheetId(), a = this._enusreMap(n, i); r.getCellMatrix().forValue((o, c, d) => { const l = a.getValue(o, c); l && l.dispose(), d && d.p && this._registerRange(n, i, o, c, d.p); }); }); }; this._univerInstanceService.getAllUnitsForType(Fe.UNIVER_SHEET).forEach((t) => { e(t); }), this.disposeWithMe( this._univerInstanceService.unitAdded$.subscribe((t) => { t.type === Fe.UNIVER_SHEET && e(t); }) ); } _initWorkbookUnload() { this._univerInstanceService.unitDisposed$.subscribe((e) => { if (e.type === Fe.UNIVER_SHEET) { const t = e, n = t.getUnitId(); t.getSheets().forEach((r) => { const i = r.getSheetId(); this._enusreMap(n, i).forValue((o, c, d) => { d && d.dispose(); }); }), this._refRangeMap.delete(n); } }); } _initSetRangesListener() { this.disposeWithMe( this._commandService.onCommandExecuted((e) => { if (e.id === Q.id) { const t = e.params, { unitId: n, subUnitId: r, cellValue: i } = t, a = this._enusreMap(n, r); i && new kt(i).forValue((o, c, d) => { const l = a.getValue(o, c); l && l.dispose(), d && d.p && this._registerRange(n, r, o, c, d.p); }); } }) ), this.disposeWithMe( this._commandService.onCommandExecuted((e) => { if (e.id === X.id) { const t = e.params, { unitId: n, subUnitId: r, row: i, col: a } = t, o = N(this._univerInstanceService, { unitId: n, subUnitId: r }), d = this._enusreMap(n, r).getValue(i, a); if (d && d.dispose(), o) { const { worksheet: l } = o, u = l.getCellRaw(i, a); u && u.p && this._registerRange(n, r, i, a, u.p); } } }) ); } }; ne = Nt([ ge(0, Pt), ge(1, _n), ge(2, ot(_t)) ], ne); var Ot2 = Object.defineProperty; var kt2 = Object.getOwnPropertyDescriptor; var Dt2 = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? kt2(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && Ot2(e, t, r), r; }; var J = (s, e) => (t, n) => e(t, n, s); var re2 = class extends nt { constructor(s, e, t, n) { super(), this._sheetInterceptorService = s, this._hyperLinkModel = e, this._selectionManagerService = t, this._univerInstanceService = n, this._initCommandInterceptor(), this._initAfterEditor(); } _initCommandInterceptor() { this._initSetRangeValuesCommandInterceptor(), this._initClearSelectionCommandInterceptor(); } _initSetRangeValuesCommandInterceptor() { this.disposeWithMe(this._sheetInterceptorService.interceptCommand({ getMutations: (s) => { if (s.id === on.id) { const e = s.params, { unitId: t, subUnitId: n } = e, r = [], i = []; return e.cellValue && new kt(e.cellValue).forValue((a, o) => { const c = this._hyperLinkModel.getHyperLinkByLocation(t, n, a, o); c && (r.push({ id: k.id, params: { unitId: t, subUnitId: n, id: c.id } }), i.push({ id: O.id, params: { unitId: t, subUnitId: n, link: c } })); }), { undos: i, redos: r }; } return { redos: [], undos: [] }; } })); } _initClearSelectionCommandInterceptor() { this.disposeWithMe(this._sheetInterceptorService.interceptCommand({ getMutations: (s) => { if (s.id === Co.id || s.id === po.id || s.id === So.id) { const e = [], t = [], n = this._selectionManagerService.getCurrentLastSelection(), r = N(this._univerInstanceService); if (n && r) { const { unitId: i, subUnitId: a } = r; tr.foreach(n.range, (o, c) => { const d = this._hyperLinkModel.getHyperLinkByLocation(i, a, o, c); d && (e.push({ id: k.id, params: { unitId: i, subUnitId: a, id: d.id } }), t.push({ id: O.id, params: { unitId: i, subUnitId: a, link: d } })); }); } return { redos: e, undos: t }; } return { redos: [], undos: [] }; } })); } _initAfterEditor() { this.disposeWithMe(this._sheetInterceptorService.writeCellInterceptor.intercept(qn, { handler: (s, e, t) => { if (!s || s.p) return t(s); if (typeof s.v == "string" && re.isLegalUrl(s.v) && s.v[s.v.length - 1] !== " ") { const { unitId: n, subUnitId: r } = e, i = this._univerInstanceService.getUnit(n, Fe.UNIVER_SHEET), a = i == null ? void 0 : i.getSheetBySheetId(r); if (!a) return t(s); const o = a.getBlankCellDocumentModel(s); if (!o.documentModel) return t(s); const c = st.selection.replace({ selection: { startOffset: 0, endOffset: s.v.length, collapsed: false }, body: { dataStream: `${s.v}`, customRanges: [{ startIndex: 0, endIndex: s.v.length - 1, rangeId: qt(), rangeType: mn.HYPERLINK, properties: { url: s.v } }] }, doc: o.documentModel }); if (!c) return t(s); const d = o.documentModel.getBody(); return Ke.apply(d, c.serialize()), t({ ...s, p: { id: su, body: d, documentStyle: { pageSize: { width: 1 / 0, height: 1 / 0 } } } }); } return t(s); } })); } }; re2 = Dt2([ J(0, ot(V)), J(1, ot(I)), J(2, ot(F)), J(3, _n) ], re2); var Ve = ((s) => (s[s.UNIVER_UNKNOWN = 0] = "UNIVER_UNKNOWN", s[s.UNIVER_DOC = 1] = "UNIVER_DOC", s[s.UNIVER_SHEET = 2] = "UNIVER_SHEET", s[s.UNIVER_SLIDE = 3] = "UNIVER_SLIDE", s[s.UNIVER_PROJECT = 4] = "UNIVER_PROJECT", s[s.UNRECOGNIZED = -1] = "UNRECOGNIZED", s))(Ve || {}); var Ht = Object.defineProperty; var Vt = Object.getOwnPropertyDescriptor; var $t = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Vt(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && Ht(e, t, r), r; }; var be = (s, e) => (t, n) => e(t, n, s); var se = class extends nt { constructor(s, e) { super(), this._resourceManagerService = s, this._hyperLinkModel = e, this._initSnapshot(); } _initSnapshot() { const s = (t) => { const n = this._hyperLinkModel.getUnit(t), r = {}; return n ? (n.forEach((i) => { r[i.subUnitId] = i.links.map(({ display: a, ...o }) => o); }), JSON.stringify(r)) : ""; }, e = (t) => { if (!t) return {}; try { return JSON.parse(t); } catch { return {}; } }; this.disposeWithMe( this._resourceManagerService.registerPluginResource({ pluginName: He2, businesses: [Ve.UNIVER_SHEET], toJson: (t) => s(t), parseJson: (t) => e(t), onUnLoad: (t) => { this._hyperLinkModel.deleteUnit(t); }, onLoad: async (t, n) => { Object.keys(n).forEach((r) => { n[r].forEach((a) => { this._hyperLinkModel.addHyperLink(t, r, a); }); }); } }) ); } }; se = $t([ be(0, Bi), be(1, ot(I)) ], se); var xt = { type: ar.COMMAND, id: "sheets.command.add-hyper-link", // eslint-disable-next-line max-lines-per-function async handler(s, e) { if (!e) return false; const t = s.get(Pt), n = s.get(cn), r = s.get(_n), i = s.get(I), a = s.get(V), o = N(r, e); if (!o) return false; const { unitId: c, subUnitId: d, workbook: l, worksheet: u } = o, { link: h } = e, { payload: g, display: p, row: f, column: _, id: m } = h, C = u.getCell(f, _), y = u.getBlankCellDocumentModel(C), R = y.documentModel.getSnapshot(), S = re.deepClone(R.body); if (!S) return false; let N2; if (p ? N2 = st.selection.replace({ selection: { startOffset: 0, endOffset: S.dataStream.length - 2, collapsed: S.dataStream.length - 2 === 0 }, body: { dataStream: `${p}`, customRanges: [{ startIndex: 0, endIndex: p.length - 1, rangeType: mn.HYPERLINK, rangeId: m, properties: { url: g // refId: id, } }] }, doc: y.documentModel }) : N2 = st.customRange.add({ body: S, ranges: [{ startOffset: 0, endOffset: S.dataStream.length - 2, collapsed: false }], rangeId: m, rangeType: mn.HYPERLINK, properties: { url: g, refId: m } }), !N2) return false; const F2 = Ke.apply(S, N2.serialize()), D = { p: { ...R, body: F2 }, t: dn.STRING }, x = await a.onWriteCell(l, u, f, _, D), T = { unitId: c, subUnitId: d, cellValue: { [h.row]: { [h.column]: x } } }, ue = { id: Q.id, params: T }, Y = Ae(s, T), pe = { id: Q.id, params: Y }, K = [ue], A = [pe], W = i.getHyperLinkByLocation(c, d, f, _); return W && (K.push({ id: k.id, params: { unitId: c, subUnitId: d, id: W.id } }), A.push({ id: O.id, params: { unitId: c, subUnitId: d, link: W } })), await Q0(K, t) ? (n.pushUndoRedo({ redoMutations: K, undoMutations: A, unitID: c }), true) : false; } }; var Tt = { id: "sheets.command.add-rich-hyper-link", type: ar.COMMAND, handler: async (s, e) => { if (!e) return false; const { documentId: t, link: n } = e, r = s.get(Pt), i = qt(), { payload: a } = n, o = He(s, { unitId: t, rangeId: i, rangeType: mn.HYPERLINK, properties: { url: a, refId: i } }); return o ? r.syncExecuteCommand(o.id, o.params) : false; } }; var At = { type: ar.COMMAND, id: "sheets.command.cancel-hyper-link", // eslint-disable-next-line max-lines-per-function handler(s, e) { var D, x; if (!e) return false; const t = s.get(Pt), n = s.get(cn), r = s.get(_n), i = s.get(I), a = N(r, e); if (!a) return false; const { row: o, column: c, id: d } = e, { unitId: l, subUnitId: u, worksheet: h } = a, g = h.getCell(o, c); if (!g) return false; const p = h.getCellDocumentModelWithFormula(g); if (!(p != null && p.documentModel)) return false; const f = re.deepClone(p.documentModel.getSnapshot()), _ = (x = (D = f.body) == null ? void 0 : D.customRanges) == null ? void 0 : x.find((T) => `${T.rangeId}` === d); if (!_) return false; const m = st.customRange.delete({ documentDataModel: p.documentModel, rangeId: _.rangeId }); if (!m) return false; const C = Ke.apply(f.body, m.serialize()), y = [], R = [], S = { unitId: l, subUnitId: u, cellValue: { [o]: { [c]: { p: { ...f, body: C }, t: dn.STRING } } } }; y.push({ id: Q.id, params: S }); const N2 = Ae(s, S); R.push({ id: Q.id, params: N2 }); const F2 = i.getHyperLinkByLocation(l, u, o, c); return F2 && (y.push({ id: k.id, params: { unitId: l, subUnitId: u, id: d } }), R.push({ id: O.id, params: { unitId: l, subUnitId: u, link: { ...F2 } } })), mu(y, t).result ? (n.pushUndoRedo({ redoMutations: y, undoMutations: R, unitID: l }), true) : false; } }; var Wt = { type: ar.COMMAND, id: "sheets.command.cancel-rich-hyper-link", handler(s, e) { var l, u; if (!e) return false; const { id: t, documentId: n } = e, r = s.get(Pt), a = s.get(_n).getUnit(n, Fe.UNIVER_DOC), o = (u = (l = a == null ? void 0 : a.getBody()) == null ? void 0 : l.customRanges) == null ? void 0 : u.find((h) => h.rangeId === t); let c = null; o && o.endIndex === a.getBody().dataStream.length - 3 && (c = { dataStream: " " }); const d = ke(s, { unitId: n, rangeId: t, insert: c }); return d ? r.syncExecuteCommand(d.id, d.params) : false; } }; var Bt = { type: ar.COMMAND, id: "sheets.command.update-hyper-link", // eslint-disable-next-line max-lines-per-function async handler(s, e) { var we, Ee, Le; if (!e) return false; const t = s.get(Pt), n = s.get(cn), r = s.get(_n), i = s.get(I), a = s.get(V), o = N(r, { unitId: e.unitId, subUnitId: e.subUnitId }); if (!o) return false; const { payload: c, row: d, column: l, id: u } = e, { workbook: h, worksheet: g, unitId: p, subUnitId: f } = o, { payload: _, display: m = "" } = c, C = g.getCell(d, l); if (!C) return false; const y = g.getCellDocumentModelWithFormula(C); if (!(y != null && y.documentModel)) return false; const R = y.documentModel.getSnapshot(), S = (Ee = (we = R.body) == null ? void 0 : we.customRanges) == null ? void 0 : Ee.find((Te) => `${Te.rangeId}` === u); if (!S) return false; const N2 = qt(), $ = (Le = Dt(y.documentModel.getBody(), S.startIndex, S.endIndex + 1).textRuns) == null ? void 0 : Le[0]; $ && ($.ed = m.length + 1); const D = qe(s, { unitId: p, body: { dataStream: `${m}`, customRanges: [{ rangeId: N2, rangeType: mn.HYPERLINK, startIndex: 0, endIndex: m.length - 1, properties: { url: _ } }], textRuns: $ ? [$] : void 0 }, selection: { startOffset: S.startIndex, endOffset: S.endIndex + 1, collapsed: false }, doc: y.documentModel }); if (!D) return false; const x = Ke.apply(re.deepClone(R.body), D.textX.serialize()), T = { p: { ...R, body: x }, t: dn.STRING }, ue = await a.onWriteCell(h, g, d, l, T), Y = { id: Q.id, params: { unitId: p, subUnitId: f, cellValue: { [d]: { [l]: ue } } } }, pe = Ae(s, Y.params), K = { id: Q.id, params: pe }, A = [Y], W = [K], G = i.getHyperLinkByLocation(p, f, d, l); return G && (A.push({ id: k.id, params: { unitId: p, subUnitId: f, id: G.id } }), W.push({ id: O.id, params: { unitId: p, subUnitId: f, link: G } })), await Q0(A, t) ? (n.pushUndoRedo({ redoMutations: A, undoMutations: W, unitID: p }), true) : false; } }; var jt = { type: ar.COMMAND, id: "sheets.command.update-rich-hyper-link", handler: (s, e) => { var p, f, _, m; if (!e) return false; const { documentId: t, payload: n, id: r } = e, i = s.get(_n), a = s.get(Pt), o = i.getUnit(t, Fe.UNIVER_DOC); if (!o) return false; const c = (f = (p = o.getBody()) == null ? void 0 : p.customRanges) == null ? void 0 : f.find((C) => C.rangeId === r); if (!c) return false; const d = (_ = e.payload.display) != null ? _ : "", l = qt(), h = (m = Dt(o.getBody(), c.startIndex, c.endIndex + 1).textRuns) == null ? void 0 : m[0]; h && (h.ed = d.length + 1); const g = qe(s, { unitId: t, body: { dataStream: `${d}`, customRanges: [{ rangeId: l, rangeType: mn.HYPERLINK, startIndex: 0, endIndex: d.length - 1, properties: { url: n.payload } }], textRuns: h ? [h] : void 0 }, selection: { startOffset: c.startIndex, endOffset: c.endIndex + 1, collapsed: false }, doc: o }); return g ? a.syncExecuteCommand(g.id, g.params) : false; } }; var Ft = Object.defineProperty; var Kt = Object.getOwnPropertyDescriptor; var Yt = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Kt(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && Ft(e, t, r), r; }; var Gt = (s, e) => (t, n) => e(t, n, s); var ie = class extends nt { constructor(s) { super(), this._commandService = s, this._registerCommands(); } _registerCommands() { [ xt, Bt, At, jt, Wt, Tt, O, _e, k, me, X ].forEach((s) => { this._commandService.registerCommand(s); }); } }; ie = Yt([ Gt(0, Pt) ], ie); var zt = Object.defineProperty; var Jt = Object.getOwnPropertyDescriptor; var Xt = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? Jt(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && zt(e, t, r), r; }; var fe = (s, e) => (t, n) => e(t, n, s); var ye = class { constructor(s, e, t) { this._univerInstanceService = s, this._localeService = e, this._definedNamesService = t; } buildHyperLink(s, e, t) { return `#${U.SHEET}=${e}${t ? `&${typeof t == "string" ? U.DEFINE_NAME : U.RANGE}=${typeof t == "string" ? t : fr(t)}` : ""}`; } parseHyperLink(s) { var e, t, n, r; if (s.startsWith("#")) { const i = new URLSearchParams(s.slice(1)), a = { gid: (e = i.get("gid")) != null ? e : "", range: (t = i.get("range")) != null ? t : "", rangeid: (n = i.get("rangeid")) != null ? n : "", unitid: (r = i.get("unitid")) != null ? r : "" }, o = this._getURLName(a); return { type: o.type, name: o.name, url: s, searchObj: a }; } else return { type: U.URL, name: s, url: s, searchObj: null }; } _getURLName(s) { var d; const { gid: e, range: t, rangeid: n, unitid: r } = s, i = r ? this._univerInstanceService.getUnit(r, Fe.UNIVER_SHEET) : this._univerInstanceService.getCurrentUnitForType(Fe.UNIVER_SHEET), a = { type: U.INVALID, name: this._localeService.t("hyperLink.message.refError") }; if (!i) return a; const o = e ? i.getSheetBySheetId(e) : i.getActiveSheet(), c = (d = o == null ? void 0 : o.getName()) != null ? d : ""; if (t) { if (!o) return a; const l = fn(t).range; return SC(l, o) && t !== Q2 ? { type: U.RANGE, name: pc(c, l) } : a; } if (n) { const l = this._definedNamesService.getValueById(i.getUnitId(), n); return l ? { type: U.DEFINE_NAME, name: l.formulaOrRefString } : a; } if (e) { const l = i.getSheetBySheetId(e); return l ? { type: U.SHEET, name: l.getName() } : a; } return a; } }; ye = Xt([ fe(0, _n), fe(1, ot(Vr)), fe(2, pr) ], ye); var $e = Object.defineProperty; var qt2 = Object.getOwnPropertyDescriptor; var Zt = (s, e, t) => e in s ? $e(s, e, { enumerable: true, configurable: true, writable: true, value: t }) : s[e] = t; var Qt = (s, e, t, n) => { for (var r = n > 1 ? void 0 : n ? qt2(e, t) : e, i = s.length - 1, a; i >= 0; i--) (a = s[i]) && (r = (n ? a(e, t, r) : a(r)) || r); return n && r && $e(e, t, r), r; }; var Pe = (s, e) => (t, n) => e(t, n, s); var xe = (s, e, t) => Zt(s, typeof e != "symbol" ? e + "" : e, t); var ae = class extends Ra { constructor(s = Ue, e, t) { super(), this._config = s, this._injector = e, this._configService = t; const { ...n } = nu( {}, Ue, this._config ); this._configService.setConfig(vt, n); } onStarting() { K0(this._injector, [ [I], [ye], [se], [ie], [ee], [re2], [te], [ne] ]), Mf(this._injector, [ [ee], [se], [ie], [re2], [te], [ne] ]); } }; xe(ae, "pluginName", He2); xe(ae, "type", Fe.UNIVER_SHEET); ae = Qt([ OR(Wn), Pe(1, ot(Ot)), Pe(2, SE) ], ae); export { I, U, O, k, _e, me, Q2 as Q, xt, Tt, At, Wt, Bt, jt, ye, ae }; //# sourceMappingURL=chunk-4SXJQ6MB.js.map