import { Ex, Yx } from "./chunk-2MK3Q52E.js"; import { Fe, J0, Ot, Ra, SE, Subject, nt, nu, ot, rr, xR } from "./chunk-23V3HWTR.js"; // node_modules/.pnpm/@univerjs+watermark@0.5.5_@grpc+grpc-js@1.13.4_react@18.3.1_rxjs@7.8.1/node_modules/@univerjs/watermark/lib/es/index.js var j = Object.defineProperty; var N = (e, t, r) => t in e ? j(e, t, { enumerable: true, configurable: true, writable: true, value: r }) : e[t] = r; var l = (e, t, r) => N(e, typeof t != "symbol" ? t + "" : t, r); var h = "UNIVER_WATERMARK_STORAGE_KEY"; var F = 10; var ue = ["image/png", "image/jpeg", "image/jpg", "image/bmp"]; var q = { content: "", fontSize: 16, color: "rgb(0,0,0)", bold: false, italic: false, direction: "ltr", x: 60, y: 36, repeat: true, spacingX: 200, spacingY: 100, rotate: 0, opacity: 0.15 }; var J = { url: "", width: 100, height: 100, maintainAspectRatio: true, originRatio: 1, x: 60, y: 36, repeat: true, spacingX: 200, spacingY: 100, rotate: 0, opacity: 0.15 }; var Q = { name: true, email: false, phone: false, uid: false, fontSize: 16, color: "rgb(0,0,0)", bold: false, italic: false, direction: "ltr", x: 60, y: 60, repeat: true, spacingX: 200, spacingY: 100, rotate: -30, opacity: 0.15 }; var f = ((e) => (e.UserInfo = "userInfo", e.Text = "text", e.Image = "image", e))(f || {}); var O = "watermark.config"; var D = {}; var Z = Object.defineProperty; var x = Object.getOwnPropertyDescriptor; var ee = (e, t, r, i) => { for (var a = i > 1 ? void 0 : i ? x(t, r) : t, n = e.length - 1, s; n >= 0; n--) (s = e[n]) && (a = (i ? s(t, r, a) : s(a)) || a); return i && a && Z(t, r, a), a; }; var te = (e, t) => (r, i) => t(r, i, e); var R = class extends nt { constructor(t) { super(); l(this, "_updateConfig$", new Subject()); l(this, "updateConfig$", this._updateConfig$.asObservable()); l(this, "_refresh$", new Subject()); l(this, "refresh$", this._refresh$.asObservable()); this._localStorageService = t; } async getWatermarkConfig() { return await this._localStorageService.getItem(h); } updateWatermarkConfig(t) { this._localStorageService.setItem(h, t), this._updateConfig$.next(t); } deleteWatermarkConfig() { this._localStorageService.removeItem(h), this._updateConfig$.next(null); } refresh() { this._refresh$.next(Math.random()); } dispose() { this._refresh$.complete(), this._updateConfig$.complete(); } }; R = ee([ te(0, ot(xR)) ], R); function re(e, t, r, i) { const a = t.type, n = t.config; a === f.UserInfo && n.userInfo ? ae(e, n.userInfo, i) : a === f.Image && n.image ? ne(e, n.image, r) : a === f.Text && n.text && ie(e, n.text); } function ae(e, t, r) { const { x: i, y: a, repeat: n, spacingX: s, spacingY: S, rotate: v, opacity: p, name: m, fontSize: I, color: C, bold: W, italic: u, direction: o } = t; if (!r) return; let c = ""; if (m && (c += `${r.name} `), !c) return; e.save(), e.globalAlpha = p, e.direction = o; let d = ""; if (u && (d += "italic "), W && (d += "bold "), d += `${I}px Arial`, e.font = d, e.fillStyle = C, n) { const g = e.canvas.width, _ = e.canvas.height; for (let b = a; b < _; b += I + S) for (let P = i; P < g; P += e.measureText(c).width + s) e.save(), e.translate(P, b), e.rotate(Math.PI / 180 * v), e.fillText(c, 0, 0), e.restore(); } else e.save(), e.translate(i, a), e.rotate(Math.PI / 180 * v), e.fillText(c, 0, 0), e.restore(); e.restore(); } function ie(e, t) { const { x: r, y: i, repeat: a, spacingX: n, spacingY: s, rotate: S, opacity: v, content: p, fontSize: m, color: I, bold: C, italic: W, direction: u } = t; e.save(), e.globalAlpha = v, e.direction = u; let o = ""; if (W && (o += "italic "), C && (o += "bold "), o += `${m}px Arial`, e.font = o, e.fillStyle = I, p) if (a) { const c = e.canvas.width, d = e.canvas.height; for (let g = i; g < d; g += m + s) for (let _ = r; _ < c; _ += e.measureText(p).width + n) e.save(), e.translate(_, g), e.rotate(Math.PI / 180 * S), e.fillText(p, 0, 0), e.restore(); } else e.save(), e.translate(r, i), e.rotate(Math.PI / 180 * S), e.fillText(p, 0, 0), e.restore(); e.restore(); } function ne(e, t, r) { const { x: i, y: a, repeat: n, spacingX: s, spacingY: S, rotate: v, opacity: p, width: m, height: I, maintainAspectRatio: C, originRatio: W } = t; if (!(r != null && r.complete)) return; e.save(), e.globalAlpha = p; const u = m, o = C ? m / W : I; if (n) { const c = e.canvas.width, d = e.canvas.height; for (let g = a; g < d; g += o + S) for (let _ = i; _ < c; _ += u + s) e.save(), e.translate(_, g), e.rotate(Math.PI / 180 * v), e.drawImage(r, 0, 0, u, o), e.restore(); } else e.save(), e.translate(i, a), e.rotate(Math.PI / 180 * v), e.drawImage(r, 0, 0, u, o), e.restore(); e.restore(); } var se = class extends Ex { constructor() { super(...arguments); l(this, "_config"); l(this, "_image"); l(this, "_user"); } render(r, i = false) { var n; super.render(r, i); const a = r || ((n = this.scene.getEngine()) == null ? void 0 : n.getCanvas().getContext()); return a && a.getId() && this._renderWatermark(a), this; } updateConfig(r, i) { var a; this._config = r, ((a = this._config) == null ? void 0 : a.type) === f.Image && this._config.config.image && (this._image = new Image(), this._image.src = this._config.config.image.url), i && (this._user = i); } _renderWatermark(r) { this._config && re(r, this._config, this._image, this._user); } }; var oe = Object.defineProperty; var le = Object.getOwnPropertyDescriptor; var fe = (e, t, r, i) => { for (var a = i > 1 ? void 0 : i ? le(t, r) : t, n = e.length - 1, s; n >= 0; n--) (s = e[n]) && (a = (i ? s(t, r, a) : s(a)) || a); return i && a && oe(t, r, a), a; }; var M = (e, t) => (r, i) => t(r, i, e); var k = class extends J0 { constructor(t, r, i, a) { super(); l(this, "_watermarkLayer"); this._context = t, this._watermarkService = r, this._localStorageService = i, this._userManagerService = a, this._watermarkLayer = new se(t.scene, [], F), this._initAddRender(), this._initWatermarkUpdate(), this._initWatermarkConfig(); } _initAddRender() { const { scene: t } = this._context; t.addLayer(this._watermarkLayer); } async _initWatermarkConfig() { var r; const t = await this._localStorageService.getItem(h); t && (this._watermarkService.updateWatermarkConfig(t), (r = this._context.mainComponent) == null || r.makeDirty()); } _initWatermarkUpdate() { this.disposeWithMe( this._watermarkService.updateConfig$.subscribe((t) => { var r, i; if (!t) { this._watermarkLayer.updateConfig(), (r = this._context.mainComponent) == null || r.makeDirty(); return; } t.type === f.UserInfo ? this._watermarkLayer.updateConfig(t, this._userManagerService.getCurrentUser()) : this._watermarkLayer.updateConfig(t), (i = this._context.mainComponent) == null || i.makeDirty(); }) ); } }; k = fe([ M(1, ot(R)), M(2, ot(xR)), M(3, ot(rr)) ], k); var ce = Object.defineProperty; var ge = Object.getOwnPropertyDescriptor; var _e = (e, t, r, i) => { for (var a = i > 1 ? void 0 : i ? ge(t, r) : t, n = e.length - 1, s; n >= 0; n--) (s = e[n]) && (a = (i ? s(t, r, a) : s(a)) || a); return i && a && ce(t, r, a), a; }; var A = (e, t) => (r, i) => t(r, i, e); var he = "UNIVER_WATERMARK_PLUGIN"; var E; var L = (E = class extends Ra { constructor(e = D, t, r, i, a) { super(), this._config = e, this._injector = t, this._configService = r, this._renderManagerSrv = i, this._localStorageService = a; const { ...n } = nu( {}, D, this._config ); this._configService.setConfig(O, n), this._initWatermarkStorage(), this._initDependencies(); } async _initWatermarkStorage() { const e = this._configService.getConfig(O); if (!e) return; const { userWatermarkSettings: t, textWatermarkSettings: r, imageWatermarkSettings: i } = e; if (t) this._localStorageService.setItem(h, { type: f.UserInfo, config: { userInfo: nu({}, Q, t) } }); else if (r) this._localStorageService.setItem(h, { type: f.Text, config: { text: nu({}, q, r) } }); else if (i) this._localStorageService.setItem(h, { type: f.Image, config: { image: nu({}, J, i) } }); else { const a = await this._localStorageService.getItem(h); (a == null ? void 0 : a.type) === f.UserInfo && this._localStorageService.removeItem(h); } } _initDependencies() { [[R]].forEach((e) => { this._injector.add(e); }); } onRendered() { this._injector.get(R), this._initRenderDependencies(); } _initRenderDependencies() { [ [k] ].forEach((e) => { this._renderManagerSrv.registerRenderModule(Fe.UNIVER_SHEET, e), this._renderManagerSrv.registerRenderModule(Fe.UNIVER_DOC, e); }); } }, l(E, "pluginName", he), E); L = _e([ A(1, ot(Ot)), A(2, SE), A(3, Yx), A(4, ot(xR)) ], L); export { h, ue, q, J, Q, f, R, L }; //# sourceMappingURL=chunk-TQS4UFI4.js.map