watermark-js-plus 1.6.2 → 1.6.3
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/dist/es/src/utils/index.js +3 -3
- package/dist/ie/es/node_modules/core-js/internals/iterate.js +1 -1
- package/dist/ie/es/node_modules/core-js/internals/path.js +15 -0
- package/dist/ie/es/node_modules/core-js/internals/shared-store.js +2 -2
- package/dist/ie/es/node_modules/core-js/internals/uid.js +1 -1
- package/dist/ie/es/node_modules/core-js/modules/es.promise.constructor.js +4 -0
- package/dist/ie/es/src/utils/index.js +3 -3
- package/dist/ie/index.cjs.js +23 -8
- package/dist/ie/index.cjs.js.map +1 -1
- package/dist/ie/index.cjs.min.js +1 -1
- package/dist/ie/index.esm.js +23 -8
- package/dist/ie/index.esm.js.map +1 -1
- package/dist/ie/index.esm.min.js +1 -1
- package/dist/ie/index.iife.js +23 -8
- package/dist/ie/index.iife.js.map +1 -1
- package/dist/ie/index.iife.min.js +1 -1
- package/dist/ie/index.umd.js +23 -8
- package/dist/ie/index.umd.js.map +1 -1
- package/dist/ie/index.umd.min.js +1 -1
- package/dist/index.cjs.js +4 -4
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.esm.js +4 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.iife.js +4 -4
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.umd.js +4 -4
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/package.json +1 -1
package/dist/index.iife.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.iife.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/tslib/tslib.es6.js","../src/utils/index.ts","../src/utils/initialization.ts","../src/utils/protection.ts","../src/core/canvas.ts","../src/core/layout/grid.ts","../src/core/layout/index.ts","../src/core/watermark.ts","../src/core/blind.ts","../src/core/image.ts"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import type { CustomContentSVGType, WatermarkOptions } from '../types'\n\nexport const convertImage = (canvas: HTMLCanvasElement): string => {\n return canvas.toDataURL('image/png', 1)\n}\n\nexport const isFunction = (value: Function): boolean => {\n return typeof value === 'function'\n}\n\nexport const isUndefined = (value: any): boolean => {\n return value === undefined\n}\n\nexport const isString = (value: any): boolean => {\n return typeof value === 'string'\n}\n\nexport const createSVGElement = (\n tagName: string,\n attrs: { [key: string]: string } = {},\n namespaceURI = 'http://www.w3.org/2000/svg',\n): Element => {\n const element = document.createElementNS(namespaceURI, tagName)\n for (const attr in attrs) {\n element.setAttribute(attr, attrs[attr])\n }\n return element\n}\n\nexport const getMultiLineData = (ctx: CanvasRenderingContext2D, text: string, maxWidth: number) => {\n const result = []\n let str = ''\n let word = ''\n for (let i = 0, len = text.length; i < len; i++) {\n word = text.charAt(i)\n if (word === '\\n') {\n result.push(str)\n str = ''\n continue\n }\n str += word\n if (ctx.measureText(str).width > maxWidth) {\n result.push(str.substring(0, str.length - 1))\n str = ''\n i--\n }\n }\n result.push(str)\n return result\n}\n\nexport const createCustomContentSVG = async (\n ctx: CanvasRenderingContext2D,\n options: WatermarkOptions,\n): Promise<CustomContentSVGType> => {\n const svgElement = createSVGElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n })\n const bodyElement = document.createElement('div')\n bodyElement.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml')\n bodyElement.style.cssText = `\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font: ${ctx.font};\n color: ${options.fontColor};\n`\n bodyElement.innerHTML = `<div class='rich-text-content'>${options.content}</div>`\n document.body.appendChild(bodyElement)\n // convert all images to base64\n await convertImgToBase64(bodyElement)\n const rect = bodyElement.querySelector('.rich-text-content')?.getBoundingClientRect()\n const rectWidth = rect?.width\n const rectHeight = rect?.height\n document.body.removeChild(bodyElement)\n const width = options.richTextWidth || rectWidth || options.width\n const height = options.richTextHeight || rectHeight || options.height\n svgElement.setAttribute('width', width.toString())\n svgElement.setAttribute('height', height.toString())\n const foreignObjectElement = createSVGElement('foreignObject', {\n width: width.toString(),\n height: height.toString(),\n })\n foreignObjectElement.appendChild(bodyElement)\n svgElement.appendChild(foreignObjectElement)\n return {\n element: svgElement,\n width,\n height,\n }\n}\n\nasync function convertImgToBase64(bodyElement: HTMLElement) {\n const imgElements = bodyElement.querySelectorAll('img')\n\n for (const img of Array.from(imgElements)) {\n const src = img.getAttribute('src')\n if (src) {\n try {\n const response = await fetch(src)\n const blob = await response.blob()\n const imgData = await new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result)\n reader.onerror = reject\n reader.readAsDataURL(blob)\n })\n if (isString(imgData)) {\n img.setAttribute('src', imgData as string)\n }\n } catch (error) {\n console.error(`Error converting ${src} to base64:`, error)\n }\n }\n }\n}\n\nexport const convertSVGToImage = (svg: Element): string => {\n const richContent = svg.outerHTML\n .replace(/<(img|br|input|hr|embed)(.*?)>/g, '<$1$2/>')\n .replace(/\\n/g, '')\n .replace(/\\t/g, '')\n .replace(/#/g, '%23')\n return `data:image/svg+xml;charset=utf-8,${richContent}`\n}\n\nexport const getValue = (v1: any, v2: any) => {\n if (isUndefined(v1)) {\n return v2\n } else {\n return v1\n }\n}\n\nexport const loadImage = (\n url: string,\n width: number | undefined = undefined,\n height: number | undefined = undefined,\n): Promise<HTMLImageElement> => {\n const image = new Image()\n image.setAttribute('crossOrigin', 'anonymous')\n !isUndefined(width) && (image.width = <number>width)\n !isUndefined(height) && (image.height = <number>height)\n image.src = url\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image)\n }\n })\n}\n\nexport const generateMatrix = (rows: number, columns: number, value: any) => {\n return Array.from({ length: rows }, () => new Array(columns).fill(value))\n}\n\nexport const generateAnimationStyle = (movable: boolean, backgroundRepeat: string) => {\n if (!movable) {\n return ''\n }\n const horizontalDuration = Math.random() * (8 - 2) + 2\n const verticalDuration = Math.random() * (4 - 2) + 2\n switch (backgroundRepeat) {\n case 'repeat':\n return 'animation: 200s linear 0s infinite alternate watermark !important;'\n case 'repeat-x':\n return `animation: ${horizontalDuration}s ease-in 0s infinite alternate watermark-vertical !important;'`\n case 'repeat-y':\n return `animation: ${verticalDuration}s ease-out 0s infinite alternate watermark-horizontal !important;'`\n case 'no-repeat':\n return `animation: ${horizontalDuration}s ease-in 0s infinite alternate watermark-horizontal, ${verticalDuration}s ease-out 0s infinite alternate watermark-vertical !important;`\n default:\n return ''\n }\n}\n","import type { AdvancedStyleParamsType, TextAlignType, TextBaselineType, WatermarkOptions } from '../types'\nimport { getMultiLineData, isUndefined } from './index'\n\nexport const initialOptions: WatermarkOptions = {\n width: 300,\n height: 300,\n rotate: 45,\n layout: 'default',\n auxiliaryLine: false,\n translatePlacement: 'middle',\n contentType: 'text',\n content: 'hello watermark-js-plus',\n textType: 'fill',\n imageWidth: 0,\n imageHeight: 0,\n lineHeight: 30,\n zIndex: 2147483647,\n backgroundPosition: '0 0',\n backgroundRepeat: 'repeat',\n fontSize: '20px',\n fontFamily: 'sans-serif',\n fontStyle: '',\n fontVariant: '',\n fontColor: '#000',\n fontWeight: 'normal',\n filter: 'none',\n letterSpacing: '0px',\n wordSpacing: '0px',\n globalAlpha: 0.5,\n mode: 'default',\n mutationObserve: true,\n monitorProtection: false,\n movable: false,\n parent: 'body',\n onSuccess: () => {},\n onBeforeDestroy: () => {},\n onDestroyed: () => {},\n onObserveError: () => {},\n}\n\nexport const generateRecommendOptions = (\n canvas: HTMLCanvasElement,\n options: WatermarkOptions,\n args: Partial<WatermarkOptions>,\n) => {\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.font = `${options.fontStyle} ${options.fontVariant} ${options.fontWeight} ${options.fontSize} ${options.fontFamily}`\n ctx.filter = options.filter\n ctx.letterSpacing = options.letterSpacing\n ctx.wordSpacing = options.wordSpacing\n if (options?.rotate) {\n options.rotate = (360 - (options.rotate % 360)) * (Math.PI / 180)\n }\n if (isUndefined(args.textRowMaxWidth)) {\n options.textRowMaxWidth = options.width\n }\n const result = {\n image: {\n rect: {\n width: options.imageWidth,\n height: options.imageHeight,\n },\n position: {\n x: 0,\n y: 0,\n },\n },\n textLine: {\n data: [] as string[],\n yOffsetValue: 0,\n },\n advancedStyleParams: {\n linear: {\n x0: 0,\n x1: 0,\n },\n radial: {\n x0: 0,\n y0: 0,\n r0: 0,\n x1: 0,\n y1: 0,\n r1: 0,\n },\n conic: {\n x: 0,\n y: 0,\n startAngle: 0,\n },\n pattern: {},\n } as AdvancedStyleParamsType,\n }\n switch (options.contentType) {\n case 'text':\n result.textLine.data = [options.content]\n break\n case 'multi-line-text':\n result.textLine.data = getMultiLineData(ctx, options.content, <number>options.textRowMaxWidth)\n break\n // case 'image':\n // break\n // case 'rich-text':\n // break\n }\n let translateX: number = options.width / 2\n let translateY: number = options.height / 2\n let textBaseline: TextBaselineType = 'middle'\n let textAlign: TextAlignType = 'center'\n\n if (!isUndefined(args?.translateX) && !isUndefined(args?.translateY)) {\n translateX = <number>args?.translateX\n translateY = <number>args?.translateY\n textBaseline = 'top'\n textAlign = 'left'\n } else {\n // default middle\n // translateX = options.width / 2\n // translateY = options.height / 2\n // TextBaselineType = 'middle'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n // result.advancedStyleParams.radial.y0 = 0\n result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n // result.advancedStyleParams.conic.y = 0\n }\n switch (args.translatePlacement) {\n case 'top':\n translateX = options.width / 2\n translateY = 0\n textBaseline = 'top'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.y1 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = (result.textLine.data.length * options.lineHeight) / 2\n break\n case 'top-start':\n translateX = 0\n translateY = 0\n textBaseline = 'top'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = (result.textLine.data.length * options.lineHeight) / 2\n break\n case 'top-end':\n translateX = options.width\n translateY = 0\n textBaseline = 'top'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = (result.textLine.data.length * options.lineHeight) / 2\n break\n case 'bottom':\n translateX = options.width / 2\n translateY = options.height\n textBaseline = 'bottom'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n result.advancedStyleParams.radial.y1 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = (-result.textLine.data.length * options.lineHeight) / 2\n break\n case 'bottom-start':\n translateX = 0\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = (-result.textLine.data.length * options.lineHeight) / 2\n break\n case 'bottom-end':\n translateX = options.width\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = (-result.textLine.data.length * options.lineHeight) / 2\n break\n case 'left':\n translateX = 0\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n case 'right':\n translateX = options.width\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n }\n options.translateX = translateX\n options.translateY = translateY\n isUndefined(args?.textBaseline) && (options.textBaseline = textBaseline)\n isUndefined(args?.textAlign) && (options.textAlign = textAlign)\n\n if (['text', 'multi-line-text'].includes(options.contentType)) {\n switch (options.textBaseline) {\n case 'middle':\n result.textLine.yOffsetValue = ((result.textLine.data.length - 1) * options.lineHeight) / 2\n break\n case 'bottom':\n case 'alphabetic':\n case 'ideographic':\n result.textLine.yOffsetValue =\n (result.textLine.data.length - 1) * options.lineHeight + (options.lineHeight - parseInt(options.fontSize)) / 2\n break\n case 'top':\n case 'hanging':\n result.textLine.yOffsetValue = -options.lineHeight / 2 + parseInt(options.fontSize) / 2\n break\n }\n }\n\n return result\n}\n","export default (need: boolean) => {\n if (typeof window === 'undefined') {\n return\n }\n if (need) {\n Object.defineProperty(window, 'MutationObserver', {\n writable: false,\n configurable: false,\n })\n }\n}\n","import type { WatermarkOptions } from '../types'\nimport { convertSVGToImage, createCustomContentSVG, getValue, isFunction, isUndefined, loadImage } from '../utils'\nimport { generateRecommendOptions } from '../utils/initialization'\nclass WatermarkCanvas {\n private readonly options: WatermarkOptions\n private readonly props?: Partial<WatermarkOptions>\n private readonly canvas: HTMLCanvasElement\n public recommendOptions\n\n constructor(args: Partial<WatermarkOptions>, options: WatermarkOptions) {\n this.props = args\n this.options = options\n this.canvas = WatermarkCanvas.createCanvas(this.options.width, this.options.height)\n this.recommendOptions = generateRecommendOptions(this.canvas, this.options, this.props)\n }\n\n /**\n * Create an HD canvas.\n * @param width - width of canvas\n * @param height - height of canvas\n */\n static createCanvas(width: number, height: number): HTMLCanvasElement {\n const ratio = window.devicePixelRatio || 1\n const canvas = document.createElement('canvas')\n canvas.width = width * ratio // actual rendered pixel\n canvas.height = height * ratio // actual rendered pixel\n canvas.style.width = `${width}px` // control display size\n canvas.style.height = `${height}px` // control display size\n canvas.getContext('2d')?.setTransform(ratio, 0, 0, ratio, 0, 0)\n return canvas\n }\n\n /**\n * Clean the canvas\n * @param canvas\n */\n static clearCanvas(canvas: HTMLCanvasElement) {\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.restore()\n ctx.resetTransform()\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n const ratio = window.devicePixelRatio || 1\n ctx.setTransform(ratio, 0, 0, ratio, 0, 0)\n }\n\n getCanvas(): HTMLCanvasElement {\n return this.canvas\n }\n\n clear() {\n WatermarkCanvas.clearCanvas(this.canvas)\n }\n\n draw(): Promise<HTMLCanvasElement> {\n const ctx = this.canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n\n if (this.options.auxiliaryLine) {\n ctx.beginPath()\n ctx.rect(0, 0, this.options.width, this.options.height)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#000'\n ctx.stroke()\n ctx.closePath()\n\n ctx.beginPath()\n ctx.rect(this.options.translateX as number, this.options.translateY as number, 1, 1)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#f00'\n ctx.stroke()\n ctx.closePath()\n }\n\n this.setStyle(ctx)\n ctx.save()\n ctx.translate(this.options.translateX as number, this.options.translateY as number)\n ctx.rotate(this.options.rotate)\n return new Promise(resolve => {\n switch (this.options.contentType) {\n case 'text':\n this.drawText(ctx, resolve)\n break\n case 'image':\n this.drawImage(ctx, resolve)\n break\n case 'multi-line-text':\n this.drawMultiLineText(ctx, resolve)\n break\n case 'rich-text':\n this.drawRichText(ctx, resolve)\n break\n }\n })\n }\n\n private setStyle(ctx: CanvasRenderingContext2D) {\n let propName: 'fillStyle' | 'strokeStyle' = 'fillStyle'\n if (this.options.textType === 'stroke') {\n propName = 'strokeStyle'\n }\n let style: string | CanvasGradient | CanvasPattern | null = this.options.fontColor\n if (this.options?.advancedStyle) {\n switch (this.options.advancedStyle.type) {\n case 'linear':\n style = this.createLinearGradient(ctx)\n break\n case 'radial':\n style = this.createRadialGradient(ctx)\n break\n case 'conic':\n style = this.createConicGradient(ctx)\n break\n case 'pattern':\n style = this.createPattern(ctx)\n break\n }\n }\n ctx[propName] && style && (ctx[propName] = style)\n\n this.options.textAlign && (ctx.textAlign = this.options.textAlign)\n this.options.textBaseline && (ctx.textBaseline = this.options.textBaseline)\n ctx.globalAlpha = this.options.globalAlpha\n if (this.options.shadowStyle) {\n ctx.shadowBlur = getValue(this.options.shadowStyle.shadowBlur, 0)\n ctx.shadowColor = getValue(this.options.shadowStyle.shadowColor, '#00000000')\n ctx.shadowOffsetX = getValue(this.options.shadowStyle.shadowOffsetX, 0)\n ctx.shadowOffsetY = getValue(this.options.shadowStyle.shadowOffsetY, 0)\n }\n if (isFunction(<Function>this.options.extraDrawFunc)) {\n ;(<Function>this.options.extraDrawFunc)(ctx)\n }\n }\n\n private createLinearGradient(ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createLinearGradient(\n <number>(\n getValue(this.options.advancedStyle?.params?.linear?.x0, this.recommendOptions.advancedStyleParams.linear.x0)\n ),\n <number>getValue(this.options.advancedStyle?.params?.linear?.y0, 0),\n <number>(\n getValue(this.options.advancedStyle?.params?.linear?.x1, this.recommendOptions.advancedStyleParams.linear.x1)\n ),\n <number>getValue(this.options.advancedStyle?.params?.linear?.y1, 0),\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createConicGradient(ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createConicGradient(\n <number>getValue(this.options?.advancedStyle?.params?.conic?.startAngle, 0),\n <number>(\n getValue(this.options?.advancedStyle?.params?.conic?.x, this.recommendOptions.advancedStyleParams.conic.x)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.conic?.y, this.recommendOptions.advancedStyleParams.conic.y)\n ),\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createRadialGradient(ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createRadialGradient(\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.x0, this.recommendOptions.advancedStyleParams.radial.x0)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.y0, this.recommendOptions.advancedStyleParams.radial.y0)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.r0, this.recommendOptions.advancedStyleParams.radial.r0)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.x1, this.recommendOptions.advancedStyleParams.radial.x1)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.y1, this.recommendOptions.advancedStyleParams.radial.y1)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.r1, this.recommendOptions.advancedStyleParams.radial.r1)\n ),\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createPattern(ctx: CanvasRenderingContext2D): CanvasPattern | null {\n return ctx.createPattern(\n <HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas>(\n this.options?.advancedStyle?.params?.pattern?.image\n ),\n this.options?.advancedStyle?.params?.pattern?.repetition || '',\n )\n }\n\n private setText(ctx: CanvasRenderingContext2D, params: { text: string; x: number; y: number; maxWidth?: number }) {\n let methodName: 'fillText' | 'strokeText' = 'fillText'\n if (this.options.textType === 'stroke') {\n methodName = 'strokeText'\n }\n ctx[methodName] && ctx[methodName](params.text, params.x, params.y, params.maxWidth)\n }\n\n private drawText(ctx: CanvasRenderingContext2D, resolve: Function) {\n this.setText(ctx, {\n text: this.options.content,\n x: 0,\n y: 0 - this.recommendOptions.textLine.yOffsetValue,\n maxWidth: this.options.textRowMaxWidth || this.options.width,\n })\n resolve(ctx.canvas)\n }\n\n private drawImage(ctx: CanvasRenderingContext2D, resolve: Function) {\n loadImage(<string>this.options.image).then(image => {\n const { width: imageWidth, height: imageHeight } = this.getImageRect(image)\n const imagePosition = this.getDrawImagePosition(imageWidth, imageHeight)\n ctx.drawImage(image, imagePosition.x, imagePosition.y, imageWidth, imageHeight)\n resolve(ctx.canvas)\n })\n }\n\n private drawMultiLineText(ctx: CanvasRenderingContext2D, resolve: Function) {\n // image.width = this.options.width\n // image.height = this.options.height\n // const element = createCustomContentSvg(context, this.options)\n // image.src = convertSVGToImage(element)\n // image.onload = () => {\n // context.translate(this.options.width / 2, this.options.height / 2)\n // context.rotate(this.options.rotate)\n // context.drawImage(\n // image,\n // -this.options.width / 2,\n // -this.options.height / 2,\n // context.canvas.width,\n // context.canvas.height\n // )\n // resolve(canvas)\n // }\n const lines = this.recommendOptions.textLine.data\n const yOffsetValue = this.recommendOptions.textLine.yOffsetValue\n lines.forEach((text, index) => {\n this.setText(ctx, {\n text,\n x: 0,\n y: this.options.lineHeight * index - yOffsetValue,\n maxWidth: this.options.textRowMaxWidth || this.options.width,\n })\n })\n resolve(ctx.canvas)\n }\n\n private async drawRichText(ctx: CanvasRenderingContext2D, resolve: Function) {\n const obj = await createCustomContentSVG(ctx, this.options)\n loadImage(convertSVGToImage(obj.element), obj.width, obj.height).then(image => {\n const imagePosition = this.getDrawImagePosition(image.width, image.height)\n ctx.drawImage(image, imagePosition.x, imagePosition.y, image.width, image.height)\n resolve(ctx.canvas)\n })\n }\n\n private getImageRect(image: HTMLImageElement) {\n const rect = { width: this.options.imageWidth || 0, height: this.options.imageHeight || 0 }\n switch (true) {\n case rect.width !== 0 && rect.height === 0:\n rect.height = (rect.width * image.height) / image.width\n break\n case rect.width === 0 && rect.height !== 0:\n rect.width = (rect.height * image.width) / image.height\n break\n case rect.width === 0 && rect.height === 0:\n rect.width = image.width\n rect.height = image.height\n break\n }\n return rect\n }\n\n private getDrawImagePosition(imageWidth: number, imageHeight: number) {\n const result = {\n x: -imageWidth / 2,\n y: -imageHeight / 2,\n }\n switch (this.options.translatePlacement) {\n case 'top':\n result.x = -imageWidth / 2\n result.y = 0\n break\n case 'top-start':\n result.x = 0\n result.y = 0\n break\n case 'top-end':\n result.x = -imageWidth\n result.y = 0\n break\n case 'bottom':\n result.x = -imageWidth / 2\n result.y = -imageHeight\n break\n case 'bottom-start':\n result.x = 0\n result.y = -imageHeight\n break\n case 'bottom-end':\n result.x = -imageWidth\n result.y = -imageHeight\n break\n case 'left':\n result.x = 0\n result.y = -imageHeight / 2\n break\n case 'right':\n result.x = -imageWidth\n result.y = -imageHeight / 2\n break\n }\n !isUndefined(this.props?.translateX) && (result.x = 0)\n !isUndefined(this.props?.translateY) && (result.y = 0)\n return result\n }\n}\n\nexport { WatermarkCanvas }\n","import type { WatermarkOptions } from '../../types'\nimport { Matrix } from '../../types'\nimport { generateMatrix } from '../../utils'\nimport { WatermarkCanvas } from '../canvas'\n\nclass GridLayout {\n private readonly options: WatermarkOptions\n private readonly partialCanvas: HTMLCanvasElement\n private readonly partialWidth: number\n private readonly partialHeight: number\n private readonly cols: number\n private readonly rows: number\n private readonly matrix: Matrix<number>\n private readonly gap: [number, number]\n\n constructor(args: WatermarkOptions, partialCanvas: HTMLCanvasElement) {\n this.options = args\n this.partialWidth = this.options.width\n this.partialHeight = this.options.height\n this.rows = this.options.gridLayoutOptions?.rows || 1\n this.cols = this.options.gridLayoutOptions?.cols || 1\n this.matrix = this.options.gridLayoutOptions?.matrix || generateMatrix(this.rows, this.cols, 1)\n this.gap = this.options.gridLayoutOptions?.gap || [0, 0]\n this.partialCanvas = partialCanvas\n }\n\n draw(): HTMLCanvasElement {\n const layoutCanvas = WatermarkCanvas.createCanvas(\n this.options.gridLayoutOptions?.width || this.partialWidth * this.cols + this.gap[0] * this.cols,\n this.options.gridLayoutOptions?.height || this.partialHeight * this.rows + this.gap[1] * this.rows,\n )\n const layoutContext = layoutCanvas.getContext('2d')\n if (this.options.gridLayoutOptions?.backgroundImage) {\n layoutContext?.drawImage(\n this.options.gridLayoutOptions?.backgroundImage,\n 0,\n 0,\n <number>this.options.gridLayoutOptions?.width,\n <number>this.options.gridLayoutOptions?.height,\n )\n }\n for (let rowIndex = 0; rowIndex < this.rows; rowIndex++) {\n for (let colIndex = 0; colIndex < this.cols; colIndex++) {\n if (!this.matrix?.[rowIndex]?.[colIndex]) {\n continue\n }\n layoutContext?.drawImage(\n this.partialCanvas,\n this.partialWidth * colIndex + this.gap[0] * colIndex,\n this.partialHeight * rowIndex + this.gap[1] * rowIndex,\n this.partialWidth,\n this.partialHeight,\n )\n }\n }\n return layoutCanvas\n }\n}\n\nexport { GridLayout }\n","import { GridLayout } from './grid'\nimport type { WatermarkOptions } from '../../types'\n\nconst renderLayout = (options: WatermarkOptions, partialCanvas: HTMLCanvasElement) => {\n switch (options.layout) {\n case 'grid':\n return new GridLayout(options, partialCanvas).draw()\n default:\n return partialCanvas\n }\n}\n\nconst generateBackgroundSize = (options: WatermarkOptions) => {\n switch (options.layout) {\n case 'grid': {\n const cols = options.gridLayoutOptions?.cols || 1\n const rows = options.gridLayoutOptions?.rows || 1\n const gap = options.gridLayoutOptions?.gap || [0, 0]\n return [options.width * cols + gap[0] * cols, options.height * rows + gap[1] * rows]\n }\n default:\n return [options.width, options.height]\n }\n}\n\nexport { renderLayout, generateBackgroundSize }\n","import { convertImage, generateAnimationStyle, isUndefined } from '../utils'\nimport type { ChangeOptionsMode, WatermarkDom, WatermarkOptions } from '../types'\nimport { initialOptions } from '../utils/initialization'\nimport protection from '../utils/protection'\nimport { generateBackgroundSize, renderLayout } from './layout'\nimport { WatermarkCanvas } from './canvas'\n\n/**\n * Watermark class\n */\nclass Watermark {\n protected options: WatermarkOptions\n private parentElement: Element = document.body\n private observer?: MutationObserver\n private parentObserve?: MutationObserver\n private watermarkDom?: WatermarkDom\n private props?: Partial<WatermarkOptions>\n private layoutCanvas?: HTMLCanvasElement\n private watermarkCanvas?: WatermarkCanvas\n private isCreating: Boolean = false\n\n /**\n * Watermark constructor\n * @param args - watermark args\n */\n constructor(args: Partial<WatermarkOptions> = {}) {\n this.props = args\n this.options = {\n ...initialOptions,\n ...args,\n }\n this.changeParentElement(this.options.parent)\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options)\n protection(this.options.monitorProtection)\n }\n\n /**\n * Change watermark options\n * @param args\n * @param mode\n * @param redraw\n */\n async changeOptions(\n args: Partial<WatermarkOptions> = {},\n mode: ChangeOptionsMode = 'overwrite',\n redraw: boolean = true,\n ) {\n this.initConfigData(args, mode)\n protection(this.options.monitorProtection)\n if (redraw) {\n this.remove()\n await this.create()\n }\n }\n\n /**\n * Creating a watermark.\n */\n async create() {\n if (this.isCreating) {\n return\n }\n this.isCreating = true\n if (!this.validateUnique()) {\n this.isCreating = false\n return\n }\n\n if (!this.validateContent()) {\n this.isCreating = false\n return\n }\n const firstDraw = isUndefined(this.watermarkDom)\n\n await this.watermarkCanvas?.draw()\n this.layoutCanvas = renderLayout(this.options, <HTMLCanvasElement>this.watermarkCanvas?.getCanvas())\n const image = convertImage(this.layoutCanvas)\n this.watermarkCanvas?.clear()\n this.watermarkDom = document.createElement('div')\n const watermarkInnerDom = document.createElement('div')\n this.watermarkDom.__WATERMARK__ = 'watermark'\n this.watermarkDom.__WATERMARK__INSTANCE__ = this\n const parentElementType = this.checkParentElementType()\n this.watermarkDom.style.cssText = `\n z-index:${this.options.zIndex}!important;display:block!important;visibility:visible!important;transform:none!important;scale:none!important;\n ${parentElementType === 'custom' ? 'top:0!important;bottom:0!important;left:0!important;right:0!important;height:100%!important;pointer-events:none!important;position:absolute!important;' : 'position:relative!important;'}\n `\n const backgroundSize = generateBackgroundSize(this.options)\n watermarkInnerDom.style.cssText = `\n display:block!important;visibility:visible!important;pointer-events:none;top:0;bottom:0;left:0;right:0;transform:none!important;scale:none!important;\n position:${parentElementType === 'root' ? 'fixed' : 'absolute'}!important;-webkit-print-color-adjust:exact!important;width:100%!important;height:100%!important;\n z-index:${this.options.zIndex}!important;background-image:url(${image})!important;background-repeat:${this.options.backgroundRepeat}!important;\n background-size:${backgroundSize[0]}px ${backgroundSize[1]}px!important;background-position:${this.options.backgroundPosition};\n ${generateAnimationStyle(this.options.movable, this.options.backgroundRepeat)}\n `\n this.watermarkDom.appendChild(watermarkInnerDom)\n this.parentElement.appendChild(this.watermarkDom)\n\n if (this.options.mutationObserve) {\n try {\n this.bindMutationObserve()\n } catch {\n this.options.onObserveError?.()\n }\n }\n firstDraw && this.options.onSuccess?.()\n this.isCreating = false\n }\n\n /**\n * Delete this watermark.\n */\n destroy() {\n this.remove()\n this.watermarkDom = undefined\n }\n\n async check() {\n return this.parentElement.contains(<Node>this.watermarkDom)\n }\n\n protected remove() {\n this.options.onBeforeDestroy?.()\n this.observer?.disconnect()\n this.parentObserve?.disconnect()\n this.watermarkDom?.parentNode?.removeChild(this.watermarkDom)\n this.options.onDestroyed?.()\n }\n\n protected initConfigData(args: Partial<WatermarkOptions>, mode: ChangeOptionsMode = 'overwrite') {\n if (mode === 'append') {\n Object.keys(args).forEach(key => {\n this.props && (this.props[key as keyof WatermarkOptions] = <never>args[key as keyof WatermarkOptions])\n })\n } else {\n this.props = args\n }\n this.options = {\n ...initialOptions,\n ...this.props,\n }\n this.changeParentElement(this.options.parent)\n this.watermarkCanvas = new WatermarkCanvas(<Partial<WatermarkOptions>>this.props, this.options)\n }\n\n private changeParentElement(parent: Element | string) {\n if (typeof parent === 'string') {\n const parentElement = document.querySelector(parent)\n parentElement && (this.parentElement = parentElement)\n } else {\n this.parentElement = parent\n }\n\n if (!this.parentElement) {\n console.error('[WatermarkJsPlus]: please pass a valid parent element.')\n }\n }\n\n private validateUnique(): boolean {\n let result = true\n\n Array.from(this.parentElement.childNodes).forEach(node => {\n if (!result) {\n return\n }\n if (Object.hasOwnProperty.call(node, '__WATERMARK__')) {\n result = false\n // throw new Error('duplicate watermark error')\n }\n })\n return result\n }\n\n private validateContent(): boolean {\n switch (this.options.contentType) {\n case 'image':\n return Object.hasOwnProperty.call(this.options, 'image')\n case 'multi-line-text':\n case 'rich-text':\n case 'text':\n return this.options.content.length > 0\n }\n }\n\n private checkParentElementType() {\n if (['html', 'body'].includes(this.parentElement.tagName.toLocaleLowerCase())) {\n return 'root'\n }\n return 'custom'\n }\n\n private bindMutationObserve(): void {\n if (!this.watermarkDom) {\n return\n }\n this.observer = new MutationObserver(async (mutationsList: MutationRecord[]) => {\n if (mutationsList.length > 0) {\n this.remove()\n await this.create()\n }\n })\n this.observer.observe(this.watermarkDom, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true, // 节点内容或节点文本的变动。\n })\n this.parentObserve = new MutationObserver(async (mutationsList: MutationRecord[]) => {\n for (const item of mutationsList) {\n if (\n item?.target === this.watermarkDom ||\n item?.removedNodes?.[0] === this.watermarkDom ||\n (item.type === 'childList' &&\n item.target === this.parentElement &&\n item.target.lastChild !== this.watermarkDom)\n ) {\n this.remove()\n await this.create()\n }\n }\n })\n this.parentObserve.observe(this.parentElement, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true, // 节点内容或节点文本的变动。\n })\n }\n}\n\nexport { Watermark }\n","import type { ChangeOptionsMode, DecodeBlindWatermarkOptions, WatermarkOptions } from '../types'\nimport { convertImage, isFunction } from '../utils'\nimport { Watermark } from './watermark'\nimport { WatermarkCanvas } from './canvas'\nimport protection from '../utils/protection'\n\n/**\n * BlindWatermark class\n */\nclass BlindWatermark extends Watermark {\n /**\n * BlindWatermark constructor\n * @param props - blind watermark options\n */\n constructor(props: Partial<WatermarkOptions> = {}) {\n const defaultProps: Partial<WatermarkOptions> = {\n globalAlpha: 0.005,\n mode: 'blind',\n }\n super({ ...props, ...defaultProps })\n }\n\n async changeOptions(\n args: Partial<WatermarkOptions> = {},\n mode: ChangeOptionsMode = 'overwrite',\n redraw: boolean = true,\n ) {\n args.globalAlpha = 0.005\n args.mode = 'blind'\n this.initConfigData(args, mode)\n protection(this.options.monitorProtection)\n if (redraw) {\n this.remove()\n await this.create()\n }\n }\n\n /**\n * Decode blind watermark.\n * @param props - decode options\n */\n static decode(props: Partial<DecodeBlindWatermarkOptions>) {\n const {\n url = '',\n fillColor = '#000',\n compositeOperation = 'color-burn',\n mode = 'canvas',\n compositeTimes = 3,\n onSuccess,\n } = props\n if (!url) {\n return\n }\n if (mode === 'canvas') {\n const img = new Image()\n img.src = url\n img.addEventListener('load', () => {\n const { width, height } = img\n const canvas = WatermarkCanvas.createCanvas(width, height)\n const ctx = canvas.getContext('2d')\n if (!ctx) {\n throw new Error('get context error')\n }\n ctx.drawImage(img, 0, 0, width, height)\n ctx.globalCompositeOperation = compositeOperation as any\n ctx.fillStyle = fillColor\n for (let i = 0; i < compositeTimes; i++) {\n ctx.fillRect(0, 0, width, height)\n }\n const resultImage = convertImage(canvas)\n if (isFunction(<Function>onSuccess)) {\n onSuccess?.(resultImage)\n }\n })\n }\n }\n}\n\nexport { BlindWatermark }\n","import type { ImageWatermarkOptions, WatermarkOptions } from '../types'\nimport { WatermarkCanvas } from './canvas'\nimport { initialOptions } from '../utils/initialization'\nimport { renderLayout } from './layout'\nimport { convertImage } from '../utils'\n\n/**\n * ImageWatermark class\n */\nclass ImageWatermark {\n private readonly options: {} & WatermarkOptions & Partial<ImageWatermarkOptions>\n private readonly props?: Partial<ImageWatermarkOptions>\n private watermarkCanvas?: WatermarkCanvas\n private layoutCanvas?: HTMLCanvasElement\n private readonly originalSrc?: string\n private readonly backgroundImage?: HTMLImageElement\n private drew = false\n\n /**\n * ImageWatermark constructor\n * @param args - image watermark args\n */\n constructor(args: Partial<ImageWatermarkOptions> = {}) {\n this.props = args\n this.options = {\n ...initialOptions,\n ...args,\n }\n if (this.props.crossOrigin) {\n this.props.dom?.setAttribute('crossOrigin', 'anonymous')\n }\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options)\n this.originalSrc = this.props.dom?.src\n this.backgroundImage = this.getBackgroundImage()\n }\n\n async create() {\n if (this.drew) {\n return\n }\n await this.watermarkCanvas?.draw()\n this.options.layout = 'grid'\n this.options.gridLayoutOptions = {\n ...this.options.gridLayoutOptions,\n width: this.backgroundImage?.width,\n height: this.backgroundImage?.height,\n backgroundImage: this.backgroundImage,\n }\n this.layoutCanvas = renderLayout(this.options, <HTMLCanvasElement>this.watermarkCanvas?.getCanvas())\n this.options.dom!.src = convertImage(this.layoutCanvas)\n this.watermarkCanvas?.clear()\n this.drew = true\n }\n\n destroy() {\n this.options.dom!.src = <string>this.originalSrc\n this.drew = false\n }\n\n private getBackgroundImage() {\n if (this.options.dom) {\n return this.options.dom\n }\n }\n}\n\nexport { ImageWatermark }\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"index.iife.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/tslib/tslib.es6.js","../src/utils/index.ts","../src/utils/initialization.ts","../src/utils/protection.ts","../src/core/canvas.ts","../src/core/layout/grid.ts","../src/core/layout/index.ts","../src/core/watermark.ts","../src/core/blind.ts","../src/core/image.ts"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import type { CustomContentSVGType, WatermarkOptions } from '../types'\n\nexport const convertImage = (canvas: HTMLCanvasElement): string => {\n return canvas.toDataURL('image/png', 1)\n}\n\nexport const isFunction = (value: Function): boolean => {\n return typeof value === 'function'\n}\n\nexport const isUndefined = (value: any): boolean => {\n return value === undefined\n}\n\nexport const isString = (value: any): boolean => {\n return typeof value === 'string'\n}\n\nexport const createSVGElement = (\n tagName: string,\n attrs: { [key: string]: string } = {},\n namespaceURI = 'http://www.w3.org/2000/svg',\n): Element => {\n const element = document.createElementNS(namespaceURI, tagName)\n for (const attr in attrs) {\n element.setAttribute(attr, attrs[attr])\n }\n return element\n}\n\nexport const getMultiLineData = (ctx: CanvasRenderingContext2D, text: string, maxWidth: number) => {\n const result = []\n let str = ''\n let word = ''\n for (let i = 0, len = text.length; i < len; i++) {\n word = text.charAt(i)\n if (word === '\\n') {\n result.push(str)\n str = ''\n continue\n }\n str += word\n if (ctx.measureText(str).width > maxWidth) {\n result.push(str.substring(0, str.length - 1))\n str = ''\n i--\n }\n }\n result.push(str)\n return result\n}\n\nexport const createCustomContentSVG = async (\n ctx: CanvasRenderingContext2D,\n options: WatermarkOptions,\n): Promise<CustomContentSVGType> => {\n const svgElement = createSVGElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg',\n })\n const bodyElement = document.createElement('div')\n bodyElement.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml')\n bodyElement.style.cssText = `\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font: ${ctx.font};\n color: ${options.fontColor};\n`\n bodyElement.innerHTML = `<div class='rich-text-content'>${options.content}</div>`\n document.body.appendChild(bodyElement)\n // convert all images to base64\n await convertImgToBase64(bodyElement)\n const rect = bodyElement.querySelector('.rich-text-content')?.getBoundingClientRect()\n const rectWidth = rect?.width\n const rectHeight = rect?.height\n document.body.removeChild(bodyElement)\n const width = options.richTextWidth || rectWidth || options.width\n const height = options.richTextHeight || rectHeight || options.height\n svgElement.setAttribute('width', width.toString())\n svgElement.setAttribute('height', height.toString())\n const foreignObjectElement = createSVGElement('foreignObject', {\n width: width.toString(),\n height: height.toString(),\n })\n foreignObjectElement.appendChild(bodyElement)\n svgElement.appendChild(foreignObjectElement)\n return {\n element: svgElement,\n width,\n height,\n }\n}\n\nasync function convertImgToBase64(bodyElement: HTMLElement) {\n const imgElements = bodyElement.querySelectorAll('img')\n\n for (const img of Array.from(imgElements)) {\n const src = img.getAttribute('src')\n if (src) {\n try {\n const response = await fetch(src)\n const blob = await response.blob()\n const imgData = await new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.onloadend = () => resolve(reader.result)\n reader.onerror = reject\n reader.readAsDataURL(blob)\n })\n if (isString(imgData)) {\n img.setAttribute('src', imgData as string)\n }\n } catch (error) {\n console.error(`Error converting ${src} to base64:`, error)\n }\n }\n }\n}\n\nexport const convertSVGToImage = (svg: Element): string => {\n const richContent = svg.outerHTML\n .replace(/<(img|br|input|hr|embed)(.*?)>/g, '<$1$2/>')\n .replace(/\\n/g, '')\n .replace(/\\t/g, '')\n .replace(/#/g, '%23')\n return `data:image/svg+xml;charset=utf-8,${richContent}`\n}\n\nexport const getValue = (v1: any, v2: any) => {\n if (isUndefined(v1)) {\n return v2\n } else {\n return v1\n }\n}\n\nexport const loadImage = (\n url: string,\n width: number | undefined = undefined,\n height: number | undefined = undefined,\n): Promise<HTMLImageElement> => {\n const image = new Image()\n image.setAttribute('crossOrigin', 'anonymous')\n !isUndefined(width) && (image.width = <number>width)\n !isUndefined(height) && (image.height = <number>height)\n image.src = url\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image)\n }\n })\n}\n\nexport const generateMatrix = (rows: number, columns: number, value: any) => {\n return Array.from({ length: rows }, () => new Array(columns).fill(value))\n}\n\nexport const generateAnimationStyle = (movable: boolean, backgroundRepeat: string) => {\n if (!movable) {\n return ''\n }\n const horizontalDuration = Math.random() * (8 - 2) + 2\n const verticalDuration = Math.random() * (4 - 2) + 2\n switch (backgroundRepeat) {\n case 'repeat':\n return 'animation: 200s linear 0s infinite alternate watermark !important;'\n case 'repeat-x':\n return `animation: ${horizontalDuration}s linear 0s infinite alternate watermark-vertical !important;'`\n case 'repeat-y':\n return `animation: ${verticalDuration}s linear 0s infinite alternate watermark-horizontal !important;'`\n case 'no-repeat':\n return `animation: ${horizontalDuration}s linear 0s infinite alternate watermark-horizontal, ${verticalDuration}s linear 0s infinite alternate watermark-vertical !important;`\n default:\n return ''\n }\n}\n","import type { AdvancedStyleParamsType, TextAlignType, TextBaselineType, WatermarkOptions } from '../types'\nimport { getMultiLineData, isUndefined } from './index'\n\nexport const initialOptions: WatermarkOptions = {\n width: 300,\n height: 300,\n rotate: 45,\n layout: 'default',\n auxiliaryLine: false,\n translatePlacement: 'middle',\n contentType: 'text',\n content: 'hello watermark-js-plus',\n textType: 'fill',\n imageWidth: 0,\n imageHeight: 0,\n lineHeight: 30,\n zIndex: 2147483647,\n backgroundPosition: '0 0',\n backgroundRepeat: 'repeat',\n fontSize: '20px',\n fontFamily: 'sans-serif',\n fontStyle: '',\n fontVariant: '',\n fontColor: '#000',\n fontWeight: 'normal',\n filter: 'none',\n letterSpacing: '0px',\n wordSpacing: '0px',\n globalAlpha: 0.5,\n mode: 'default',\n mutationObserve: true,\n monitorProtection: false,\n movable: false,\n parent: 'body',\n onSuccess: () => {},\n onBeforeDestroy: () => {},\n onDestroyed: () => {},\n onObserveError: () => {},\n}\n\nexport const generateRecommendOptions = (\n canvas: HTMLCanvasElement,\n options: WatermarkOptions,\n args: Partial<WatermarkOptions>,\n) => {\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.font = `${options.fontStyle} ${options.fontVariant} ${options.fontWeight} ${options.fontSize} ${options.fontFamily}`\n ctx.filter = options.filter\n ctx.letterSpacing = options.letterSpacing\n ctx.wordSpacing = options.wordSpacing\n if (options?.rotate) {\n options.rotate = (360 - (options.rotate % 360)) * (Math.PI / 180)\n }\n if (isUndefined(args.textRowMaxWidth)) {\n options.textRowMaxWidth = options.width\n }\n const result = {\n image: {\n rect: {\n width: options.imageWidth,\n height: options.imageHeight,\n },\n position: {\n x: 0,\n y: 0,\n },\n },\n textLine: {\n data: [] as string[],\n yOffsetValue: 0,\n },\n advancedStyleParams: {\n linear: {\n x0: 0,\n x1: 0,\n },\n radial: {\n x0: 0,\n y0: 0,\n r0: 0,\n x1: 0,\n y1: 0,\n r1: 0,\n },\n conic: {\n x: 0,\n y: 0,\n startAngle: 0,\n },\n pattern: {},\n } as AdvancedStyleParamsType,\n }\n switch (options.contentType) {\n case 'text':\n result.textLine.data = [options.content]\n break\n case 'multi-line-text':\n result.textLine.data = getMultiLineData(ctx, options.content, <number>options.textRowMaxWidth)\n break\n // case 'image':\n // break\n // case 'rich-text':\n // break\n }\n let translateX: number = options.width / 2\n let translateY: number = options.height / 2\n let textBaseline: TextBaselineType = 'middle'\n let textAlign: TextAlignType = 'center'\n\n if (!isUndefined(args?.translateX) && !isUndefined(args?.translateY)) {\n translateX = <number>args?.translateX\n translateY = <number>args?.translateY\n textBaseline = 'top'\n textAlign = 'left'\n } else {\n // default middle\n // translateX = options.width / 2\n // translateY = options.height / 2\n // TextBaselineType = 'middle'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n // result.advancedStyleParams.radial.y0 = 0\n result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n // result.advancedStyleParams.conic.y = 0\n }\n switch (args.translatePlacement) {\n case 'top':\n translateX = options.width / 2\n translateY = 0\n textBaseline = 'top'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.y1 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = (result.textLine.data.length * options.lineHeight) / 2\n break\n case 'top-start':\n translateX = 0\n translateY = 0\n textBaseline = 'top'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = (result.textLine.data.length * options.lineHeight) / 2\n break\n case 'top-end':\n translateX = options.width\n translateY = 0\n textBaseline = 'top'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = (result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = (result.textLine.data.length * options.lineHeight) / 2\n break\n case 'bottom':\n translateX = options.width / 2\n translateY = options.height\n textBaseline = 'bottom'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n result.advancedStyleParams.radial.y1 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = (-result.textLine.data.length * options.lineHeight) / 2\n break\n case 'bottom-start':\n translateX = 0\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = (-result.textLine.data.length * options.lineHeight) / 2\n break\n case 'bottom-end':\n translateX = options.width\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = (-result.textLine.data.length * options.lineHeight) / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = (-result.textLine.data.length * options.lineHeight) / 2\n break\n case 'left':\n translateX = 0\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n case 'right':\n translateX = options.width\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n }\n options.translateX = translateX\n options.translateY = translateY\n isUndefined(args?.textBaseline) && (options.textBaseline = textBaseline)\n isUndefined(args?.textAlign) && (options.textAlign = textAlign)\n\n if (['text', 'multi-line-text'].includes(options.contentType)) {\n switch (options.textBaseline) {\n case 'middle':\n result.textLine.yOffsetValue = ((result.textLine.data.length - 1) * options.lineHeight) / 2\n break\n case 'bottom':\n case 'alphabetic':\n case 'ideographic':\n result.textLine.yOffsetValue =\n (result.textLine.data.length - 1) * options.lineHeight + (options.lineHeight - parseInt(options.fontSize)) / 2\n break\n case 'top':\n case 'hanging':\n result.textLine.yOffsetValue = -options.lineHeight / 2 + parseInt(options.fontSize) / 2\n break\n }\n }\n\n return result\n}\n","export default (need: boolean) => {\n if (typeof window === 'undefined') {\n return\n }\n if (need) {\n Object.defineProperty(window, 'MutationObserver', {\n writable: false,\n configurable: false,\n })\n }\n}\n","import type { WatermarkOptions } from '../types'\nimport { convertSVGToImage, createCustomContentSVG, getValue, isFunction, isUndefined, loadImage } from '../utils'\nimport { generateRecommendOptions } from '../utils/initialization'\nclass WatermarkCanvas {\n private readonly options: WatermarkOptions\n private readonly props?: Partial<WatermarkOptions>\n private readonly canvas: HTMLCanvasElement\n public recommendOptions\n\n constructor(args: Partial<WatermarkOptions>, options: WatermarkOptions) {\n this.props = args\n this.options = options\n this.canvas = WatermarkCanvas.createCanvas(this.options.width, this.options.height)\n this.recommendOptions = generateRecommendOptions(this.canvas, this.options, this.props)\n }\n\n /**\n * Create an HD canvas.\n * @param width - width of canvas\n * @param height - height of canvas\n */\n static createCanvas(width: number, height: number): HTMLCanvasElement {\n const ratio = window.devicePixelRatio || 1\n const canvas = document.createElement('canvas')\n canvas.width = width * ratio // actual rendered pixel\n canvas.height = height * ratio // actual rendered pixel\n canvas.style.width = `${width}px` // control display size\n canvas.style.height = `${height}px` // control display size\n canvas.getContext('2d')?.setTransform(ratio, 0, 0, ratio, 0, 0)\n return canvas\n }\n\n /**\n * Clean the canvas\n * @param canvas\n */\n static clearCanvas(canvas: HTMLCanvasElement) {\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.restore()\n ctx.resetTransform()\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n const ratio = window.devicePixelRatio || 1\n ctx.setTransform(ratio, 0, 0, ratio, 0, 0)\n }\n\n getCanvas(): HTMLCanvasElement {\n return this.canvas\n }\n\n clear() {\n WatermarkCanvas.clearCanvas(this.canvas)\n }\n\n draw(): Promise<HTMLCanvasElement> {\n const ctx = this.canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n\n if (this.options.auxiliaryLine) {\n ctx.beginPath()\n ctx.rect(0, 0, this.options.width, this.options.height)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#000'\n ctx.stroke()\n ctx.closePath()\n\n ctx.beginPath()\n ctx.rect(this.options.translateX as number, this.options.translateY as number, 1, 1)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#f00'\n ctx.stroke()\n ctx.closePath()\n }\n\n this.setStyle(ctx)\n ctx.save()\n ctx.translate(this.options.translateX as number, this.options.translateY as number)\n ctx.rotate(this.options.rotate)\n return new Promise(resolve => {\n switch (this.options.contentType) {\n case 'text':\n this.drawText(ctx, resolve)\n break\n case 'image':\n this.drawImage(ctx, resolve)\n break\n case 'multi-line-text':\n this.drawMultiLineText(ctx, resolve)\n break\n case 'rich-text':\n this.drawRichText(ctx, resolve)\n break\n }\n })\n }\n\n private setStyle(ctx: CanvasRenderingContext2D) {\n let propName: 'fillStyle' | 'strokeStyle' = 'fillStyle'\n if (this.options.textType === 'stroke') {\n propName = 'strokeStyle'\n }\n let style: string | CanvasGradient | CanvasPattern | null = this.options.fontColor\n if (this.options?.advancedStyle) {\n switch (this.options.advancedStyle.type) {\n case 'linear':\n style = this.createLinearGradient(ctx)\n break\n case 'radial':\n style = this.createRadialGradient(ctx)\n break\n case 'conic':\n style = this.createConicGradient(ctx)\n break\n case 'pattern':\n style = this.createPattern(ctx)\n break\n }\n }\n ctx[propName] && style && (ctx[propName] = style)\n\n this.options.textAlign && (ctx.textAlign = this.options.textAlign)\n this.options.textBaseline && (ctx.textBaseline = this.options.textBaseline)\n ctx.globalAlpha = this.options.globalAlpha\n if (this.options.shadowStyle) {\n ctx.shadowBlur = getValue(this.options.shadowStyle.shadowBlur, 0)\n ctx.shadowColor = getValue(this.options.shadowStyle.shadowColor, '#00000000')\n ctx.shadowOffsetX = getValue(this.options.shadowStyle.shadowOffsetX, 0)\n ctx.shadowOffsetY = getValue(this.options.shadowStyle.shadowOffsetY, 0)\n }\n if (isFunction(<Function>this.options.extraDrawFunc)) {\n ;(<Function>this.options.extraDrawFunc)(ctx)\n }\n }\n\n private createLinearGradient(ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createLinearGradient(\n <number>(\n getValue(this.options.advancedStyle?.params?.linear?.x0, this.recommendOptions.advancedStyleParams.linear.x0)\n ),\n <number>getValue(this.options.advancedStyle?.params?.linear?.y0, 0),\n <number>(\n getValue(this.options.advancedStyle?.params?.linear?.x1, this.recommendOptions.advancedStyleParams.linear.x1)\n ),\n <number>getValue(this.options.advancedStyle?.params?.linear?.y1, 0),\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createConicGradient(ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createConicGradient(\n <number>getValue(this.options?.advancedStyle?.params?.conic?.startAngle, 0),\n <number>(\n getValue(this.options?.advancedStyle?.params?.conic?.x, this.recommendOptions.advancedStyleParams.conic.x)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.conic?.y, this.recommendOptions.advancedStyleParams.conic.y)\n ),\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createRadialGradient(ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createRadialGradient(\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.x0, this.recommendOptions.advancedStyleParams.radial.x0)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.y0, this.recommendOptions.advancedStyleParams.radial.y0)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.r0, this.recommendOptions.advancedStyleParams.radial.r0)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.x1, this.recommendOptions.advancedStyleParams.radial.x1)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.y1, this.recommendOptions.advancedStyleParams.radial.y1)\n ),\n <number>(\n getValue(this.options?.advancedStyle?.params?.radial?.r1, this.recommendOptions.advancedStyleParams.radial.r1)\n ),\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createPattern(ctx: CanvasRenderingContext2D): CanvasPattern | null {\n return ctx.createPattern(\n <HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas>(\n this.options?.advancedStyle?.params?.pattern?.image\n ),\n this.options?.advancedStyle?.params?.pattern?.repetition || '',\n )\n }\n\n private setText(ctx: CanvasRenderingContext2D, params: { text: string; x: number; y: number; maxWidth?: number }) {\n let methodName: 'fillText' | 'strokeText' = 'fillText'\n if (this.options.textType === 'stroke') {\n methodName = 'strokeText'\n }\n ctx[methodName] && ctx[methodName](params.text, params.x, params.y, params.maxWidth)\n }\n\n private drawText(ctx: CanvasRenderingContext2D, resolve: Function) {\n this.setText(ctx, {\n text: this.options.content,\n x: 0,\n y: 0 - this.recommendOptions.textLine.yOffsetValue,\n maxWidth: this.options.textRowMaxWidth || this.options.width,\n })\n resolve(ctx.canvas)\n }\n\n private drawImage(ctx: CanvasRenderingContext2D, resolve: Function) {\n loadImage(<string>this.options.image).then(image => {\n const { width: imageWidth, height: imageHeight } = this.getImageRect(image)\n const imagePosition = this.getDrawImagePosition(imageWidth, imageHeight)\n ctx.drawImage(image, imagePosition.x, imagePosition.y, imageWidth, imageHeight)\n resolve(ctx.canvas)\n })\n }\n\n private drawMultiLineText(ctx: CanvasRenderingContext2D, resolve: Function) {\n // image.width = this.options.width\n // image.height = this.options.height\n // const element = createCustomContentSvg(context, this.options)\n // image.src = convertSVGToImage(element)\n // image.onload = () => {\n // context.translate(this.options.width / 2, this.options.height / 2)\n // context.rotate(this.options.rotate)\n // context.drawImage(\n // image,\n // -this.options.width / 2,\n // -this.options.height / 2,\n // context.canvas.width,\n // context.canvas.height\n // )\n // resolve(canvas)\n // }\n const lines = this.recommendOptions.textLine.data\n const yOffsetValue = this.recommendOptions.textLine.yOffsetValue\n lines.forEach((text, index) => {\n this.setText(ctx, {\n text,\n x: 0,\n y: this.options.lineHeight * index - yOffsetValue,\n maxWidth: this.options.textRowMaxWidth || this.options.width,\n })\n })\n resolve(ctx.canvas)\n }\n\n private async drawRichText(ctx: CanvasRenderingContext2D, resolve: Function) {\n const obj = await createCustomContentSVG(ctx, this.options)\n loadImage(convertSVGToImage(obj.element), obj.width, obj.height).then(image => {\n const imagePosition = this.getDrawImagePosition(image.width, image.height)\n ctx.drawImage(image, imagePosition.x, imagePosition.y, image.width, image.height)\n resolve(ctx.canvas)\n })\n }\n\n private getImageRect(image: HTMLImageElement) {\n const rect = { width: this.options.imageWidth || 0, height: this.options.imageHeight || 0 }\n switch (true) {\n case rect.width !== 0 && rect.height === 0:\n rect.height = (rect.width * image.height) / image.width\n break\n case rect.width === 0 && rect.height !== 0:\n rect.width = (rect.height * image.width) / image.height\n break\n case rect.width === 0 && rect.height === 0:\n rect.width = image.width\n rect.height = image.height\n break\n }\n return rect\n }\n\n private getDrawImagePosition(imageWidth: number, imageHeight: number) {\n const result = {\n x: -imageWidth / 2,\n y: -imageHeight / 2,\n }\n switch (this.options.translatePlacement) {\n case 'top':\n result.x = -imageWidth / 2\n result.y = 0\n break\n case 'top-start':\n result.x = 0\n result.y = 0\n break\n case 'top-end':\n result.x = -imageWidth\n result.y = 0\n break\n case 'bottom':\n result.x = -imageWidth / 2\n result.y = -imageHeight\n break\n case 'bottom-start':\n result.x = 0\n result.y = -imageHeight\n break\n case 'bottom-end':\n result.x = -imageWidth\n result.y = -imageHeight\n break\n case 'left':\n result.x = 0\n result.y = -imageHeight / 2\n break\n case 'right':\n result.x = -imageWidth\n result.y = -imageHeight / 2\n break\n }\n !isUndefined(this.props?.translateX) && (result.x = 0)\n !isUndefined(this.props?.translateY) && (result.y = 0)\n return result\n }\n}\n\nexport { WatermarkCanvas }\n","import type { WatermarkOptions } from '../../types'\nimport { Matrix } from '../../types'\nimport { generateMatrix } from '../../utils'\nimport { WatermarkCanvas } from '../canvas'\n\nclass GridLayout {\n private readonly options: WatermarkOptions\n private readonly partialCanvas: HTMLCanvasElement\n private readonly partialWidth: number\n private readonly partialHeight: number\n private readonly cols: number\n private readonly rows: number\n private readonly matrix: Matrix<number>\n private readonly gap: [number, number]\n\n constructor(args: WatermarkOptions, partialCanvas: HTMLCanvasElement) {\n this.options = args\n this.partialWidth = this.options.width\n this.partialHeight = this.options.height\n this.rows = this.options.gridLayoutOptions?.rows || 1\n this.cols = this.options.gridLayoutOptions?.cols || 1\n this.matrix = this.options.gridLayoutOptions?.matrix || generateMatrix(this.rows, this.cols, 1)\n this.gap = this.options.gridLayoutOptions?.gap || [0, 0]\n this.partialCanvas = partialCanvas\n }\n\n draw(): HTMLCanvasElement {\n const layoutCanvas = WatermarkCanvas.createCanvas(\n this.options.gridLayoutOptions?.width || this.partialWidth * this.cols + this.gap[0] * this.cols,\n this.options.gridLayoutOptions?.height || this.partialHeight * this.rows + this.gap[1] * this.rows,\n )\n const layoutContext = layoutCanvas.getContext('2d')\n if (this.options.gridLayoutOptions?.backgroundImage) {\n layoutContext?.drawImage(\n this.options.gridLayoutOptions?.backgroundImage,\n 0,\n 0,\n <number>this.options.gridLayoutOptions?.width,\n <number>this.options.gridLayoutOptions?.height,\n )\n }\n for (let rowIndex = 0; rowIndex < this.rows; rowIndex++) {\n for (let colIndex = 0; colIndex < this.cols; colIndex++) {\n if (!this.matrix?.[rowIndex]?.[colIndex]) {\n continue\n }\n layoutContext?.drawImage(\n this.partialCanvas,\n this.partialWidth * colIndex + this.gap[0] * colIndex,\n this.partialHeight * rowIndex + this.gap[1] * rowIndex,\n this.partialWidth,\n this.partialHeight,\n )\n }\n }\n return layoutCanvas\n }\n}\n\nexport { GridLayout }\n","import { GridLayout } from './grid'\nimport type { WatermarkOptions } from '../../types'\n\nconst renderLayout = (options: WatermarkOptions, partialCanvas: HTMLCanvasElement) => {\n switch (options.layout) {\n case 'grid':\n return new GridLayout(options, partialCanvas).draw()\n default:\n return partialCanvas\n }\n}\n\nconst generateBackgroundSize = (options: WatermarkOptions) => {\n switch (options.layout) {\n case 'grid': {\n const cols = options.gridLayoutOptions?.cols || 1\n const rows = options.gridLayoutOptions?.rows || 1\n const gap = options.gridLayoutOptions?.gap || [0, 0]\n return [options.width * cols + gap[0] * cols, options.height * rows + gap[1] * rows]\n }\n default:\n return [options.width, options.height]\n }\n}\n\nexport { renderLayout, generateBackgroundSize }\n","import { convertImage, generateAnimationStyle, isUndefined } from '../utils'\nimport type { ChangeOptionsMode, WatermarkDom, WatermarkOptions } from '../types'\nimport { initialOptions } from '../utils/initialization'\nimport protection from '../utils/protection'\nimport { generateBackgroundSize, renderLayout } from './layout'\nimport { WatermarkCanvas } from './canvas'\n\n/**\n * Watermark class\n */\nclass Watermark {\n protected options: WatermarkOptions\n private parentElement: Element = document.body\n private observer?: MutationObserver\n private parentObserve?: MutationObserver\n private watermarkDom?: WatermarkDom\n private props?: Partial<WatermarkOptions>\n private layoutCanvas?: HTMLCanvasElement\n private watermarkCanvas?: WatermarkCanvas\n private isCreating: Boolean = false\n\n /**\n * Watermark constructor\n * @param args - watermark args\n */\n constructor(args: Partial<WatermarkOptions> = {}) {\n this.props = args\n this.options = {\n ...initialOptions,\n ...args,\n }\n this.changeParentElement(this.options.parent)\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options)\n protection(this.options.monitorProtection)\n }\n\n /**\n * Change watermark options\n * @param args\n * @param mode\n * @param redraw\n */\n async changeOptions(\n args: Partial<WatermarkOptions> = {},\n mode: ChangeOptionsMode = 'overwrite',\n redraw: boolean = true,\n ) {\n this.initConfigData(args, mode)\n protection(this.options.monitorProtection)\n if (redraw) {\n this.remove()\n await this.create()\n }\n }\n\n /**\n * Creating a watermark.\n */\n async create() {\n if (this.isCreating) {\n return\n }\n this.isCreating = true\n if (!this.validateUnique()) {\n this.isCreating = false\n return\n }\n\n if (!this.validateContent()) {\n this.isCreating = false\n return\n }\n const firstDraw = isUndefined(this.watermarkDom)\n\n await this.watermarkCanvas?.draw()\n this.layoutCanvas = renderLayout(this.options, <HTMLCanvasElement>this.watermarkCanvas?.getCanvas())\n const image = convertImage(this.layoutCanvas)\n this.watermarkCanvas?.clear()\n this.watermarkDom = document.createElement('div')\n const watermarkInnerDom = document.createElement('div')\n this.watermarkDom.__WATERMARK__ = 'watermark'\n this.watermarkDom.__WATERMARK__INSTANCE__ = this\n const parentElementType = this.checkParentElementType()\n this.watermarkDom.style.cssText = `\n z-index:${this.options.zIndex}!important;display:block!important;visibility:visible!important;transform:none!important;scale:none!important;\n ${parentElementType === 'custom' ? 'top:0!important;bottom:0!important;left:0!important;right:0!important;height:100%!important;pointer-events:none!important;position:absolute!important;' : 'position:relative!important;'}\n `\n const backgroundSize = generateBackgroundSize(this.options)\n watermarkInnerDom.style.cssText = `\n display:block!important;visibility:visible!important;pointer-events:none;top:0;bottom:0;left:0;right:0;transform:none!important;scale:none!important;\n position:${parentElementType === 'root' ? 'fixed' : 'absolute'}!important;-webkit-print-color-adjust:exact!important;width:100%!important;height:100%!important;\n z-index:${this.options.zIndex}!important;background-image:url(${image})!important;background-repeat:${this.options.backgroundRepeat}!important;\n background-size:${backgroundSize[0]}px ${backgroundSize[1]}px!important;background-position:${this.options.backgroundPosition};\n ${generateAnimationStyle(this.options.movable, this.options.backgroundRepeat)}\n `\n this.watermarkDom.appendChild(watermarkInnerDom)\n this.parentElement.appendChild(this.watermarkDom)\n\n if (this.options.mutationObserve) {\n try {\n this.bindMutationObserve()\n } catch {\n this.options.onObserveError?.()\n }\n }\n firstDraw && this.options.onSuccess?.()\n this.isCreating = false\n }\n\n /**\n * Delete this watermark.\n */\n destroy() {\n this.remove()\n this.watermarkDom = undefined\n }\n\n async check() {\n return this.parentElement.contains(<Node>this.watermarkDom)\n }\n\n protected remove() {\n this.options.onBeforeDestroy?.()\n this.observer?.disconnect()\n this.parentObserve?.disconnect()\n this.watermarkDom?.parentNode?.removeChild(this.watermarkDom)\n this.options.onDestroyed?.()\n }\n\n protected initConfigData(args: Partial<WatermarkOptions>, mode: ChangeOptionsMode = 'overwrite') {\n if (mode === 'append') {\n Object.keys(args).forEach(key => {\n this.props && (this.props[key as keyof WatermarkOptions] = <never>args[key as keyof WatermarkOptions])\n })\n } else {\n this.props = args\n }\n this.options = {\n ...initialOptions,\n ...this.props,\n }\n this.changeParentElement(this.options.parent)\n this.watermarkCanvas = new WatermarkCanvas(<Partial<WatermarkOptions>>this.props, this.options)\n }\n\n private changeParentElement(parent: Element | string) {\n if (typeof parent === 'string') {\n const parentElement = document.querySelector(parent)\n parentElement && (this.parentElement = parentElement)\n } else {\n this.parentElement = parent\n }\n\n if (!this.parentElement) {\n console.error('[WatermarkJsPlus]: please pass a valid parent element.')\n }\n }\n\n private validateUnique(): boolean {\n let result = true\n\n Array.from(this.parentElement.childNodes).forEach(node => {\n if (!result) {\n return\n }\n if (Object.hasOwnProperty.call(node, '__WATERMARK__')) {\n result = false\n // throw new Error('duplicate watermark error')\n }\n })\n return result\n }\n\n private validateContent(): boolean {\n switch (this.options.contentType) {\n case 'image':\n return Object.hasOwnProperty.call(this.options, 'image')\n case 'multi-line-text':\n case 'rich-text':\n case 'text':\n return this.options.content.length > 0\n }\n }\n\n private checkParentElementType() {\n if (['html', 'body'].includes(this.parentElement.tagName.toLocaleLowerCase())) {\n return 'root'\n }\n return 'custom'\n }\n\n private bindMutationObserve(): void {\n if (!this.watermarkDom) {\n return\n }\n this.observer = new MutationObserver(async (mutationsList: MutationRecord[]) => {\n if (mutationsList.length > 0) {\n this.remove()\n await this.create()\n }\n })\n this.observer.observe(this.watermarkDom, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true, // 节点内容或节点文本的变动。\n })\n this.parentObserve = new MutationObserver(async (mutationsList: MutationRecord[]) => {\n for (const item of mutationsList) {\n if (\n item?.target === this.watermarkDom ||\n item?.removedNodes?.[0] === this.watermarkDom ||\n (item.type === 'childList' &&\n item.target === this.parentElement &&\n item.target.lastChild !== this.watermarkDom)\n ) {\n this.remove()\n await this.create()\n }\n }\n })\n this.parentObserve.observe(this.parentElement, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true, // 节点内容或节点文本的变动。\n })\n }\n}\n\nexport { Watermark }\n","import type { ChangeOptionsMode, DecodeBlindWatermarkOptions, WatermarkOptions } from '../types'\nimport { convertImage, isFunction } from '../utils'\nimport { Watermark } from './watermark'\nimport { WatermarkCanvas } from './canvas'\nimport protection from '../utils/protection'\n\n/**\n * BlindWatermark class\n */\nclass BlindWatermark extends Watermark {\n /**\n * BlindWatermark constructor\n * @param props - blind watermark options\n */\n constructor(props: Partial<WatermarkOptions> = {}) {\n const defaultProps: Partial<WatermarkOptions> = {\n globalAlpha: 0.005,\n mode: 'blind',\n }\n super({ ...props, ...defaultProps })\n }\n\n async changeOptions(\n args: Partial<WatermarkOptions> = {},\n mode: ChangeOptionsMode = 'overwrite',\n redraw: boolean = true,\n ) {\n args.globalAlpha = 0.005\n args.mode = 'blind'\n this.initConfigData(args, mode)\n protection(this.options.monitorProtection)\n if (redraw) {\n this.remove()\n await this.create()\n }\n }\n\n /**\n * Decode blind watermark.\n * @param props - decode options\n */\n static decode(props: Partial<DecodeBlindWatermarkOptions>) {\n const {\n url = '',\n fillColor = '#000',\n compositeOperation = 'color-burn',\n mode = 'canvas',\n compositeTimes = 3,\n onSuccess,\n } = props\n if (!url) {\n return\n }\n if (mode === 'canvas') {\n const img = new Image()\n img.src = url\n img.addEventListener('load', () => {\n const { width, height } = img\n const canvas = WatermarkCanvas.createCanvas(width, height)\n const ctx = canvas.getContext('2d')\n if (!ctx) {\n throw new Error('get context error')\n }\n ctx.drawImage(img, 0, 0, width, height)\n ctx.globalCompositeOperation = compositeOperation as any\n ctx.fillStyle = fillColor\n for (let i = 0; i < compositeTimes; i++) {\n ctx.fillRect(0, 0, width, height)\n }\n const resultImage = convertImage(canvas)\n if (isFunction(<Function>onSuccess)) {\n onSuccess?.(resultImage)\n }\n })\n }\n }\n}\n\nexport { BlindWatermark }\n","import type { ImageWatermarkOptions, WatermarkOptions } from '../types'\nimport { WatermarkCanvas } from './canvas'\nimport { initialOptions } from '../utils/initialization'\nimport { renderLayout } from './layout'\nimport { convertImage } from '../utils'\n\n/**\n * ImageWatermark class\n */\nclass ImageWatermark {\n private readonly options: {} & WatermarkOptions & Partial<ImageWatermarkOptions>\n private readonly props?: Partial<ImageWatermarkOptions>\n private watermarkCanvas?: WatermarkCanvas\n private layoutCanvas?: HTMLCanvasElement\n private readonly originalSrc?: string\n private readonly backgroundImage?: HTMLImageElement\n private drew = false\n\n /**\n * ImageWatermark constructor\n * @param args - image watermark args\n */\n constructor(args: Partial<ImageWatermarkOptions> = {}) {\n this.props = args\n this.options = {\n ...initialOptions,\n ...args,\n }\n if (this.props.crossOrigin) {\n this.props.dom?.setAttribute('crossOrigin', 'anonymous')\n }\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options)\n this.originalSrc = this.props.dom?.src\n this.backgroundImage = this.getBackgroundImage()\n }\n\n async create() {\n if (this.drew) {\n return\n }\n await this.watermarkCanvas?.draw()\n this.options.layout = 'grid'\n this.options.gridLayoutOptions = {\n ...this.options.gridLayoutOptions,\n width: this.backgroundImage?.width,\n height: this.backgroundImage?.height,\n backgroundImage: this.backgroundImage,\n }\n this.layoutCanvas = renderLayout(this.options, <HTMLCanvasElement>this.watermarkCanvas?.getCanvas())\n this.options.dom!.src = convertImage(this.layoutCanvas)\n this.watermarkCanvas?.clear()\n this.drew = true\n }\n\n destroy() {\n this.options.dom!.src = <string>this.originalSrc\n this.drew = false\n }\n\n private getBackgroundImage() {\n if (this.options.dom) {\n return this.options.dom\n }\n }\n}\n\nexport { ImageWatermark }\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
|