watermark-js-plus 1.1.2 → 1.2.1
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/index.cjs.js.map +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js.map +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +15 -15
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../node_modules/tslib/tslib.es6.js","../../../src/utils/index.ts","../../../src/utils/initialization.ts","../../../src/utils/bootstrap.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","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/******************************************************************************\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 */\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.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\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;\r\n return g = { next: verb(0), \"throw\": verb(1), \"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 = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\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","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 = (tagName: string, attrs: {[key: string]: string} = {}, namespaceURI = 'http://www.w3.org/2000/svg'): 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 for (let i = 0, len = text.length; i < len; i++) {\n str += text.charAt(i)\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 = (ctx: CanvasRenderingContext2D, options: WatermarkOptions): 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 const { offsetHeight, offsetWidth } = <HTMLElement>bodyElement.querySelector('.rich-text-content')\n document.body.removeChild(bodyElement)\n const width = options.richTextWidth || offsetWidth || options.width\n const height = options.richTextHeight || offsetHeight || 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\nexport const convertSVGToImage = (svg: Element): string => {\n const richContent = svg.outerHTML.replace(/\\n/g, '').replace(/\\t/g, '').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 = (url: string, width: number | undefined = undefined, height: number | undefined = undefined): 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","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 globalAlpha: 0.5,\n mode: 'default',\n mutationObserve: true,\n movable: false,\n parent: 'body',\n onSuccess: () => {},\n onBeforeDestroy: () => {},\n onDestroyed: () => {},\n onObserveError: () => {}\n}\n\nexport const generateRecommendOptions = (canvas: HTMLCanvasElement, options: WatermarkOptions, args: Partial<WatermarkOptions>) => {\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 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 = (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 () => {\n if (typeof window !== 'undefined') {\n Object.defineProperty(window, 'MutationObserver', {\n writable: false,\n configurable: false\n })\n Object.defineProperty(window, 'requestAnimationFrame', {\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.clearRect(0, 0, canvas.width, canvas.height)\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> getValue(this.options.advancedStyle?.params?.linear?.x0, this.recommendOptions.advancedStyleParams.linear.x0),\n <number> getValue(this.options.advancedStyle?.params?.linear?.y0, 0),\n <number> getValue(this.options.advancedStyle?.params?.linear?.x1, this.recommendOptions.advancedStyleParams.linear.x1),\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> getValue(this.options?.advancedStyle?.params?.conic?.x, this.recommendOptions.advancedStyleParams.conic.x),\n <number> getValue(this.options?.advancedStyle?.params?.conic?.y, this.recommendOptions.advancedStyleParams.conic.y)\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> getValue(this.options?.advancedStyle?.params?.radial?.x0, this.recommendOptions.advancedStyleParams.radial.x0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.y0, this.recommendOptions.advancedStyleParams.radial.y0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.r0, this.recommendOptions.advancedStyleParams.radial.r0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.x1, this.recommendOptions.advancedStyleParams.radial.x1),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.y1, this.recommendOptions.advancedStyleParams.radial.y1),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.r1, this.recommendOptions.advancedStyleParams.radial.r1)\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> this.options?.advancedStyle?.params?.pattern?.image,\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(\n image,\n imagePosition.x,\n imagePosition.y,\n imageWidth,\n imageHeight\n )\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, { text, x: 0, y: this.options.lineHeight * index - yOffsetValue })\n })\n resolve(ctx.canvas)\n }\n\n private drawRichText (ctx: CanvasRenderingContext2D, resolve: Function) {\n const obj = 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(\n image,\n imagePosition.x,\n imagePosition.y,\n image.width,\n image.height\n )\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 {\n WatermarkCanvas\n}\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 {\n GridLayout\n}\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 {\n const cols = options.gridLayoutOptions?.cols || 1\n const rows = options.gridLayoutOptions?.rows || 1\n const gap = options.gridLayoutOptions?.gap || [0, 0]\n return [\n options.width * cols + gap[0] * cols,\n options.height * rows + gap[1] * rows\n ]\n }\n default:\n return [\n options.width,\n options.height\n ]\n }\n}\n\nexport {\n renderLayout,\n generateBackgroundSize\n}\n","import { convertImage, isUndefined } from '../utils'\nimport type { ChangeOptionsMode, WatermarkDom, WatermarkOptions } from '../types'\nimport { initialOptions } from '../utils/initialization'\nimport bootstrap from '../utils/bootstrap'\nimport { generateBackgroundSize, renderLayout } from './layout'\nimport { WatermarkCanvas } from './canvas'\n\n/**\n * Watermark class\n */\nclass Watermark {\n private 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 checkWatermarkElementRequestID?: number\n private watermarkCanvas?: WatermarkCanvas\n\n /**\n * Watermark constructor\n * @param args - watermark args\n */\n constructor (args: Partial<WatermarkOptions> = {}) {\n this.props = args\n this.options = Object.assign({}, initialOptions, args)\n this.changeParentElement(this.options.parent)\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options)\n bootstrap()\n }\n\n /**\n * Change watermark options\n * @param args\n * @param mode\n * @param redraw\n */\n async changeOptions (args: Partial<WatermarkOptions> = {}, mode: ChangeOptionsMode = 'overwrite', redraw: boolean = true) {\n this.initConfigData(args, mode)\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.validateUnique()) {\n return\n }\n\n if (!this.validateContent()) {\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 ${this.options.movable ? 'animation: 200s ease 0s infinite normal none running watermark !important;' : ''}\n `\n this.watermarkDom.append(watermarkInnerDom)\n this.parentElement.appendChild(this.watermarkDom)\n\n if (this.options.mutationObserve) {\n try {\n this.bindMutationObserve()\n } catch (e) {\n this.options.onObserveError?.()\n }\n }\n firstDraw && this.options.onSuccess?.()\n }\n\n /**\n * Delete this watermark.\n */\n destroy () {\n this.remove()\n this.watermarkDom = undefined\n }\n\n async check () {\n if (!this.parentElement.contains(<Node> this.watermarkDom)) {\n this.remove()\n await this.create()\n }\n }\n\n private remove () {\n this.options.onBeforeDestroy?.()\n this.observer?.disconnect()\n this.parentObserve?.disconnect()\n this.unbindCheckWatermarkElementEvent()\n this.watermarkDom?.remove()\n this.options.onDestroyed?.()\n }\n\n private 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 = Object.assign({}, initialOptions, this.props)\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\n private validateUnique (): boolean {\n let result = true\n 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 return false\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 async checkWatermarkElement () {\n if (!this.parentElement.contains(<Node> this.watermarkDom)) {\n this.remove()\n await this.create()\n }\n this.bindCheckWatermarkElementEvent()\n }\n\n private bindMutationObserve (): void {\n if (!this.watermarkDom) {\n return\n }\n this.bindCheckWatermarkElementEvent()\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' && item.target === this.parentElement && 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 private bindCheckWatermarkElementEvent (): void {\n this.unbindCheckWatermarkElementEvent()\n this.checkWatermarkElementRequestID = requestAnimationFrame(this.checkWatermarkElement.bind(this))\n }\n\n private unbindCheckWatermarkElementEvent (): void {\n if (!isUndefined(this.checkWatermarkElementRequestID)) {\n cancelAnimationFrame(<number> this.checkWatermarkElementRequestID)\n }\n }\n}\n\nexport {\n Watermark\n}\n","import type { DecodeBlindWatermarkOptions, WatermarkOptions } from '../types'\nimport { convertImage, isFunction } from '../utils'\nimport { Watermark } from './watermark'\nimport { WatermarkCanvas } from './canvas'\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 props.globalAlpha = 0.005\n props.mode = 'blind'\n super(props)\n }\n\n /**\n * Decode blind watermark.\n * @param props - decode options\n */\n static decode (props: Partial<DecodeBlindWatermarkOptions>) {\n const options = Object.assign({\n url: '',\n fillColor: '#000',\n compositeOperation: 'color-burn',\n mode: 'canvas'\n }, props)\n if (!options.url) {\n return\n }\n if (options.mode === 'canvas') {\n const img = new Image()\n img.src = options.url\n img.onload = () => {\n const { width, height } = img\n const canvas = WatermarkCanvas.createCanvas(width, height)\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.drawImage(img, 0, 0, width, height)\n ctx.globalCompositeOperation = options.compositeOperation as any\n ctx.fillStyle = options.fillColor\n ctx.fillRect(0, 0, width, height)\n const resultImage = convertImage(canvas)\n if (options.onSuccess && isFunction(options.onSuccess)) {\n options.onSuccess?.(resultImage)\n }\n }\n }\n }\n}\n\nexport {\n BlindWatermark\n}\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 = Object.assign({}, initialOptions, args)\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 {\n ImageWatermark\n}\n","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"],"names":[],"mappings":"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","x_google_ignoreList":[0,10]}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../node_modules/tslib/tslib.es6.js","../src/utils/index.ts","../src/utils/initialization.ts","../src/utils/bootstrap.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","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/******************************************************************************\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 */\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.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\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;\r\n return g = { next: verb(0), \"throw\": verb(1), \"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 = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\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","export var convertImage = function (canvas) {\n return canvas.toDataURL('image/png', 1);\n};\nexport var isFunction = function (value) {\n return typeof value === 'function';\n};\nexport var isUndefined = function (value) {\n return value === undefined;\n};\nexport var isString = function (value) {\n return typeof value === 'string';\n};\nexport var createSVGElement = function (tagName, attrs, namespaceURI) {\n if (attrs === void 0) { attrs = {}; }\n if (namespaceURI === void 0) { namespaceURI = 'http://www.w3.org/2000/svg'; }\n var element = document.createElementNS(namespaceURI, tagName);\n for (var attr in attrs) {\n element.setAttribute(attr, attrs[attr]);\n }\n return element;\n};\nexport var getMultiLineData = function (ctx, text, maxWidth) {\n var result = [];\n var str = '';\n for (var i = 0, len = text.length; i < len; i++) {\n str += text.charAt(i);\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};\nexport var createCustomContentSVG = function (ctx, options) {\n var svgElement = createSVGElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg'\n });\n var 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: \".concat(ctx.font, \";\\n color: \").concat(options.fontColor, \";\\n\");\n bodyElement.innerHTML = \"<div class=\\\"rich-text-content\\\">\".concat(options.content, \"</div>\");\n document.body.appendChild(bodyElement);\n var _a = bodyElement.querySelector('.rich-text-content'), offsetHeight = _a.offsetHeight, offsetWidth = _a.offsetWidth;\n document.body.removeChild(bodyElement);\n var width = options.richTextWidth || offsetWidth || options.width;\n var height = options.richTextHeight || offsetHeight || options.height;\n svgElement.setAttribute('width', width.toString());\n svgElement.setAttribute('height', height.toString());\n var 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: width,\n height: height\n };\n};\nexport var convertSVGToImage = function (svg) {\n var richContent = svg.outerHTML.replace(/\\n/g, '').replace(/\\t/g, '').replace(/#/g, '%23');\n return \"data:image/svg+xml;charset=utf-8,\".concat(richContent);\n};\nexport var getValue = function (v1, v2) {\n if (isUndefined(v1)) {\n return v2;\n }\n else {\n return v1;\n }\n};\nexport var loadImage = function (url, width, height) {\n if (width === void 0) { width = undefined; }\n if (height === void 0) { height = undefined; }\n var image = new Image();\n image.setAttribute('crossOrigin', 'Anonymous');\n !isUndefined(width) && (image.width = width);\n !isUndefined(height) && (image.height = height);\n image.src = url;\n return new Promise(function (resolve) {\n image.onload = function () {\n resolve(image);\n };\n });\n};\nexport var generateMatrix = function (rows, columns, value) {\n return Array.from({ length: rows }, function () { return new Array(columns).fill(value); });\n};\n//# sourceMappingURL=index.js.map","import { getMultiLineData, isUndefined } from './index';\nexport var initialOptions = {\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 globalAlpha: 0.5,\n mode: 'default',\n mutationObserve: true,\n movable: false,\n parent: 'body',\n onSuccess: function () { },\n onBeforeDestroy: function () { },\n onDestroyed: function () { },\n onObserveError: function () { }\n};\nexport var generateRecommendOptions = function (canvas, options, args) {\n var ctx = canvas.getContext('2d');\n if (ctx === null) {\n throw new Error('get context error');\n }\n ctx.font = \"\".concat(options.fontStyle, \" \").concat(options.fontVariant, \" \").concat(options.fontWeight, \" \").concat(options.fontSize, \" \").concat(options.fontFamily);\n ctx.filter = options.filter;\n if (options === null || options === void 0 ? void 0 : 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 var 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: [],\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 }\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, options.textRowMaxWidth);\n break;\n // case 'image':\n // break\n // case 'rich-text':\n // break\n }\n var translateX = options.width / 2;\n var translateY = options.height / 2;\n var textBaseline = 'middle';\n var textAlign = 'center';\n if (!isUndefined(args === null || args === void 0 ? void 0 : args.translateX) && !isUndefined(args === null || args === void 0 ? void 0 : args.translateY)) {\n translateX = args === null || args === void 0 ? void 0 : args.translateX;\n translateY = args === null || args === void 0 ? void 0 : args.translateY;\n textBaseline = 'top';\n textAlign = 'left';\n }\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 === null || args === void 0 ? void 0 : args.textBaseline) && (options.textBaseline = textBaseline);\n isUndefined(args === null || args === void 0 ? void 0 : args.textAlign) && (options.textAlign = textAlign);\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 = (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 return result;\n};\n//# sourceMappingURL=initialization.js.map","export default (function () {\n if (typeof window !== 'undefined') {\n Object.defineProperty(window, 'MutationObserver', {\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'requestAnimationFrame', {\n writable: false,\n configurable: false\n });\n }\n});\n//# sourceMappingURL=bootstrap.js.map","import { convertSVGToImage, createCustomContentSVG, getValue, isFunction, isUndefined, loadImage } from '../utils';\nimport { generateRecommendOptions } from '../utils/initialization';\nvar WatermarkCanvas = /** @class */ (function () {\n function WatermarkCanvas(args, options) {\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 * Create an HD canvas.\n * @param width - width of canvas\n * @param height - height of canvas\n */\n WatermarkCanvas.createCanvas = function (width, height) {\n var _a;\n var ratio = window.devicePixelRatio || 1;\n var canvas = document.createElement('canvas');\n canvas.width = width * ratio; // actual rendered pixel\n canvas.height = height * ratio; // actual rendered pixel\n canvas.style.width = \"\".concat(width, \"px\"); // control display size\n canvas.style.height = \"\".concat(height, \"px\"); // control display size\n (_a = canvas.getContext('2d')) === null || _a === void 0 ? void 0 : _a.setTransform(ratio, 0, 0, ratio, 0, 0);\n return canvas;\n };\n /**\n * Clean the canvas\n * @param canvas\n */\n WatermarkCanvas.clearCanvas = function (canvas) {\n var ctx = canvas.getContext('2d');\n if (ctx === null) {\n throw new Error('get context error');\n }\n ctx.restore();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n };\n WatermarkCanvas.prototype.getCanvas = function () {\n return this.canvas;\n };\n WatermarkCanvas.prototype.clear = function () {\n WatermarkCanvas.clearCanvas(this.canvas);\n };\n WatermarkCanvas.prototype.draw = function () {\n var _this = this;\n var ctx = this.canvas.getContext('2d');\n if (ctx === null) {\n throw new Error('get context error');\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 ctx.beginPath();\n ctx.rect(this.options.translateX, this.options.translateY, 1, 1);\n ctx.lineWidth = 1;\n ctx.strokeStyle = '#f00';\n ctx.stroke();\n ctx.closePath();\n }\n this.setStyle(ctx);\n ctx.save();\n ctx.translate(this.options.translateX, this.options.translateY);\n ctx.rotate(this.options.rotate);\n return new Promise(function (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 WatermarkCanvas.prototype.setStyle = function (ctx) {\n var _a;\n var propName = 'fillStyle';\n if (this.options.textType === 'stroke') {\n propName = 'strokeStyle';\n }\n var style = this.options.fontColor;\n if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.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 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(this.options.extraDrawFunc)) {\n this.options.extraDrawFunc(ctx);\n }\n };\n WatermarkCanvas.prototype.createLinearGradient = function (ctx) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n var gradient = ctx.createLinearGradient(getValue((_c = (_b = (_a = this.options.advancedStyle) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.linear) === null || _c === void 0 ? void 0 : _c.x0, this.recommendOptions.advancedStyleParams.linear.x0), getValue((_f = (_e = (_d = this.options.advancedStyle) === null || _d === void 0 ? void 0 : _d.params) === null || _e === void 0 ? void 0 : _e.linear) === null || _f === void 0 ? void 0 : _f.y0, 0), getValue((_j = (_h = (_g = this.options.advancedStyle) === null || _g === void 0 ? void 0 : _g.params) === null || _h === void 0 ? void 0 : _h.linear) === null || _j === void 0 ? void 0 : _j.x1, this.recommendOptions.advancedStyleParams.linear.x1), getValue((_m = (_l = (_k = this.options.advancedStyle) === null || _k === void 0 ? void 0 : _k.params) === null || _l === void 0 ? void 0 : _l.linear) === null || _m === void 0 ? void 0 : _m.y1, 0));\n (_q = (_p = (_o = this.options) === null || _o === void 0 ? void 0 : _o.advancedStyle) === null || _p === void 0 ? void 0 : _p.colorStops) === null || _q === void 0 ? void 0 : _q.forEach(function (item) {\n gradient.addColorStop(item.offset, item.color);\n });\n return gradient;\n };\n WatermarkCanvas.prototype.createConicGradient = function (ctx) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n var gradient = ctx.createConicGradient(getValue((_d = (_c = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.advancedStyle) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.conic) === null || _d === void 0 ? void 0 : _d.startAngle, 0), getValue((_h = (_g = (_f = (_e = this.options) === null || _e === void 0 ? void 0 : _e.advancedStyle) === null || _f === void 0 ? void 0 : _f.params) === null || _g === void 0 ? void 0 : _g.conic) === null || _h === void 0 ? void 0 : _h.x, this.recommendOptions.advancedStyleParams.conic.x), getValue((_m = (_l = (_k = (_j = this.options) === null || _j === void 0 ? void 0 : _j.advancedStyle) === null || _k === void 0 ? void 0 : _k.params) === null || _l === void 0 ? void 0 : _l.conic) === null || _m === void 0 ? void 0 : _m.y, this.recommendOptions.advancedStyleParams.conic.y));\n (_q = (_p = (_o = this.options) === null || _o === void 0 ? void 0 : _o.advancedStyle) === null || _p === void 0 ? void 0 : _p.colorStops) === null || _q === void 0 ? void 0 : _q.forEach(function (item) {\n gradient.addColorStop(item.offset, item.color);\n });\n return gradient;\n };\n WatermarkCanvas.prototype.createRadialGradient = function (ctx) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;\n var gradient = ctx.createRadialGradient(getValue((_d = (_c = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.advancedStyle) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.radial) === null || _d === void 0 ? void 0 : _d.x0, this.recommendOptions.advancedStyleParams.radial.x0), getValue((_h = (_g = (_f = (_e = this.options) === null || _e === void 0 ? void 0 : _e.advancedStyle) === null || _f === void 0 ? void 0 : _f.params) === null || _g === void 0 ? void 0 : _g.radial) === null || _h === void 0 ? void 0 : _h.y0, this.recommendOptions.advancedStyleParams.radial.y0), getValue((_m = (_l = (_k = (_j = this.options) === null || _j === void 0 ? void 0 : _j.advancedStyle) === null || _k === void 0 ? void 0 : _k.params) === null || _l === void 0 ? void 0 : _l.radial) === null || _m === void 0 ? void 0 : _m.r0, this.recommendOptions.advancedStyleParams.radial.r0), getValue((_r = (_q = (_p = (_o = this.options) === null || _o === void 0 ? void 0 : _o.advancedStyle) === null || _p === void 0 ? void 0 : _p.params) === null || _q === void 0 ? void 0 : _q.radial) === null || _r === void 0 ? void 0 : _r.x1, this.recommendOptions.advancedStyleParams.radial.x1), getValue((_v = (_u = (_t = (_s = this.options) === null || _s === void 0 ? void 0 : _s.advancedStyle) === null || _t === void 0 ? void 0 : _t.params) === null || _u === void 0 ? void 0 : _u.radial) === null || _v === void 0 ? void 0 : _v.y1, this.recommendOptions.advancedStyleParams.radial.y1), getValue((_z = (_y = (_x = (_w = this.options) === null || _w === void 0 ? void 0 : _w.advancedStyle) === null || _x === void 0 ? void 0 : _x.params) === null || _y === void 0 ? void 0 : _y.radial) === null || _z === void 0 ? void 0 : _z.r1, this.recommendOptions.advancedStyleParams.radial.r1));\n (_2 = (_1 = (_0 = this.options) === null || _0 === void 0 ? void 0 : _0.advancedStyle) === null || _1 === void 0 ? void 0 : _1.colorStops) === null || _2 === void 0 ? void 0 : _2.forEach(function (item) {\n gradient.addColorStop(item.offset, item.color);\n });\n return gradient;\n };\n WatermarkCanvas.prototype.createPattern = function (ctx) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n return ctx.createPattern((_d = (_c = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.advancedStyle) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.pattern) === null || _d === void 0 ? void 0 : _d.image, ((_h = (_g = (_f = (_e = this.options) === null || _e === void 0 ? void 0 : _e.advancedStyle) === null || _f === void 0 ? void 0 : _f.params) === null || _g === void 0 ? void 0 : _g.pattern) === null || _h === void 0 ? void 0 : _h.repetition) || '');\n };\n WatermarkCanvas.prototype.setText = function (ctx, params) {\n var methodName = '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 WatermarkCanvas.prototype.drawText = function (ctx, resolve) {\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 WatermarkCanvas.prototype.drawImage = function (ctx, resolve) {\n var _this = this;\n loadImage(this.options.image).then(function (image) {\n var _a = _this.getImageRect(image), imageWidth = _a.width, imageHeight = _a.height;\n var imagePosition = _this.getDrawImagePosition(imageWidth, imageHeight);\n ctx.drawImage(image, imagePosition.x, imagePosition.y, imageWidth, imageHeight);\n resolve(ctx.canvas);\n });\n };\n WatermarkCanvas.prototype.drawMultiLineText = function (ctx, resolve) {\n var _this = this;\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 var lines = this.recommendOptions.textLine.data;\n var yOffsetValue = this.recommendOptions.textLine.yOffsetValue;\n lines.forEach(function (text, index) {\n _this.setText(ctx, { text: text, x: 0, y: _this.options.lineHeight * index - yOffsetValue });\n });\n resolve(ctx.canvas);\n };\n WatermarkCanvas.prototype.drawRichText = function (ctx, resolve) {\n var _this = this;\n var obj = createCustomContentSVG(ctx, this.options);\n loadImage(convertSVGToImage(obj.element), obj.width, obj.height).then(function (image) {\n var 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 WatermarkCanvas.prototype.getImageRect = function (image) {\n var 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 WatermarkCanvas.prototype.getDrawImagePosition = function (imageWidth, imageHeight) {\n var _a, _b;\n var 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((_a = this.props) === null || _a === void 0 ? void 0 : _a.translateX) && (result.x = 0);\n !isUndefined((_b = this.props) === null || _b === void 0 ? void 0 : _b.translateY) && (result.y = 0);\n return result;\n };\n return WatermarkCanvas;\n}());\nexport { WatermarkCanvas };\n//# sourceMappingURL=canvas.js.map","import { generateMatrix } from '../../utils';\nimport { WatermarkCanvas } from '../canvas';\nvar GridLayout = /** @class */ (function () {\n function GridLayout(args, partialCanvas) {\n var _a, _b, _c, _d;\n this.options = args;\n this.partialWidth = this.options.width;\n this.partialHeight = this.options.height;\n this.rows = ((_a = this.options.gridLayoutOptions) === null || _a === void 0 ? void 0 : _a.rows) || 1;\n this.cols = ((_b = this.options.gridLayoutOptions) === null || _b === void 0 ? void 0 : _b.cols) || 1;\n this.matrix = ((_c = this.options.gridLayoutOptions) === null || _c === void 0 ? void 0 : _c.matrix) || generateMatrix(this.rows, this.cols, 1);\n this.gap = ((_d = this.options.gridLayoutOptions) === null || _d === void 0 ? void 0 : _d.gap) || [0, 0];\n this.partialCanvas = partialCanvas;\n }\n GridLayout.prototype.draw = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var layoutCanvas = WatermarkCanvas.createCanvas(((_a = this.options.gridLayoutOptions) === null || _a === void 0 ? void 0 : _a.width) || (this.partialWidth * this.cols + this.gap[0] * this.cols), ((_b = this.options.gridLayoutOptions) === null || _b === void 0 ? void 0 : _b.height) || (this.partialHeight * this.rows + this.gap[1] * this.rows));\n var layoutContext = layoutCanvas.getContext('2d');\n if ((_c = this.options.gridLayoutOptions) === null || _c === void 0 ? void 0 : _c.backgroundImage) {\n layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.drawImage((_d = this.options.gridLayoutOptions) === null || _d === void 0 ? void 0 : _d.backgroundImage, 0, 0, (_e = this.options.gridLayoutOptions) === null || _e === void 0 ? void 0 : _e.width, (_f = this.options.gridLayoutOptions) === null || _f === void 0 ? void 0 : _f.height);\n }\n for (var rowIndex = 0; rowIndex < this.rows; rowIndex++) {\n for (var colIndex = 0; colIndex < this.cols; colIndex++) {\n if (!((_h = (_g = this.matrix) === null || _g === void 0 ? void 0 : _g[rowIndex]) === null || _h === void 0 ? void 0 : _h[colIndex])) {\n continue;\n }\n layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.drawImage(this.partialCanvas, this.partialWidth * colIndex + this.gap[0] * colIndex, this.partialHeight * rowIndex + this.gap[1] * rowIndex, this.partialWidth, this.partialHeight);\n }\n }\n return layoutCanvas;\n };\n return GridLayout;\n}());\nexport { GridLayout };\n//# sourceMappingURL=grid.js.map","import { GridLayout } from './grid';\nvar renderLayout = function (options, partialCanvas) {\n switch (options.layout) {\n case 'grid':\n return new GridLayout(options, partialCanvas).draw();\n default:\n return partialCanvas;\n }\n};\nvar generateBackgroundSize = function (options) {\n var _a, _b, _c;\n switch (options.layout) {\n case 'grid':\n {\n var cols = ((_a = options.gridLayoutOptions) === null || _a === void 0 ? void 0 : _a.cols) || 1;\n var rows = ((_b = options.gridLayoutOptions) === null || _b === void 0 ? void 0 : _b.rows) || 1;\n var gap = ((_c = options.gridLayoutOptions) === null || _c === void 0 ? void 0 : _c.gap) || [0, 0];\n return [\n options.width * cols + gap[0] * cols,\n options.height * rows + gap[1] * rows\n ];\n }\n default:\n return [\n options.width,\n options.height\n ];\n }\n};\nexport { renderLayout, generateBackgroundSize };\n//# sourceMappingURL=index.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { convertImage, isUndefined } from '../utils';\nimport { initialOptions } from '../utils/initialization';\nimport bootstrap from '../utils/bootstrap';\nimport { generateBackgroundSize, renderLayout } from './layout';\nimport { WatermarkCanvas } from './canvas';\n/**\n * Watermark class\n */\nvar Watermark = /** @class */ (function () {\n /**\n * Watermark constructor\n * @param args - watermark args\n */\n function Watermark(args) {\n if (args === void 0) { args = {}; }\n this.parentElement = document.body;\n this.props = args;\n this.options = Object.assign({}, initialOptions, args);\n this.changeParentElement(this.options.parent);\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options);\n bootstrap();\n }\n /**\n * Change watermark options\n * @param args\n * @param mode\n * @param redraw\n */\n Watermark.prototype.changeOptions = function (args, mode, redraw) {\n if (args === void 0) { args = {}; }\n if (mode === void 0) { mode = 'overwrite'; }\n if (redraw === void 0) { redraw = true; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.initConfigData(args, mode);\n if (!redraw) return [3 /*break*/, 2];\n this.remove();\n return [4 /*yield*/, this.create()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Creating a watermark.\n */\n Watermark.prototype.create = function () {\n var _a, _b, _c, _d, _e, _f, _g;\n return __awaiter(this, void 0, void 0, function () {\n var firstDraw, image, watermarkInnerDom, parentElementType, backgroundSize;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n if (!this.validateUnique()) {\n return [2 /*return*/];\n }\n if (!this.validateContent()) {\n return [2 /*return*/];\n }\n firstDraw = isUndefined(this.watermarkDom);\n return [4 /*yield*/, ((_a = this.watermarkCanvas) === null || _a === void 0 ? void 0 : _a.draw())];\n case 1:\n _h.sent();\n this.layoutCanvas = renderLayout(this.options, (_b = this.watermarkCanvas) === null || _b === void 0 ? void 0 : _b.getCanvas());\n image = convertImage(this.layoutCanvas);\n (_c = this.watermarkCanvas) === null || _c === void 0 ? void 0 : _c.clear();\n this.watermarkDom = document.createElement('div');\n watermarkInnerDom = document.createElement('div');\n this.watermarkDom.__WATERMARK__ = 'watermark';\n this.watermarkDom.__WATERMARK__INSTANCE__ = this;\n parentElementType = this.checkParentElementType();\n this.watermarkDom.style.cssText = \"\\n z-index: \".concat(this.options.zIndex, \"!important;display:block!important;visibility:visible!important;transform:none!important;scale:none!important;\\n \").concat(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 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:\".concat(parentElementType === 'root' ? 'fixed' : 'absolute', \"!important;-webkit-print-color-adjust:exact!important;width:100%!important;height:100%!important;\\n z-index:\").concat(this.options.zIndex, \"!important;background-image:url(\").concat(image, \")!important;background-repeat:\").concat(this.options.backgroundRepeat, \"!important;\\n background-size:\").concat(backgroundSize[0], \"px \").concat(backgroundSize[1], \"px!important;background-position:\").concat(this.options.backgroundPosition, \";\\n \").concat(this.options.movable ? 'animation: 200s ease 0s infinite normal none running watermark !important;' : '', \"\\n \");\n this.watermarkDom.append(watermarkInnerDom);\n this.parentElement.appendChild(this.watermarkDom);\n if (this.options.mutationObserve) {\n try {\n this.bindMutationObserve();\n }\n catch (e) {\n (_e = (_d = this.options).onObserveError) === null || _e === void 0 ? void 0 : _e.call(_d);\n }\n }\n firstDraw && ((_g = (_f = this.options).onSuccess) === null || _g === void 0 ? void 0 : _g.call(_f));\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Delete this watermark.\n */\n Watermark.prototype.destroy = function () {\n this.remove();\n this.watermarkDom = undefined;\n };\n Watermark.prototype.check = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.parentElement.contains(this.watermarkDom)) return [3 /*break*/, 2];\n this.remove();\n return [4 /*yield*/, this.create()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n Watermark.prototype.remove = function () {\n var _a, _b, _c, _d, _e, _f, _g;\n (_b = (_a = this.options).onBeforeDestroy) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_c = this.observer) === null || _c === void 0 ? void 0 : _c.disconnect();\n (_d = this.parentObserve) === null || _d === void 0 ? void 0 : _d.disconnect();\n this.unbindCheckWatermarkElementEvent();\n (_e = this.watermarkDom) === null || _e === void 0 ? void 0 : _e.remove();\n (_g = (_f = this.options).onDestroyed) === null || _g === void 0 ? void 0 : _g.call(_f);\n };\n Watermark.prototype.initConfigData = function (args, mode) {\n var _this = this;\n if (mode === void 0) { mode = 'overwrite'; }\n if (mode === 'append') {\n Object.keys(args).forEach(function (key) {\n _this.props && (_this.props[key] = args[key]);\n });\n }\n else {\n this.props = args;\n }\n this.options = Object.assign({}, initialOptions, this.props);\n this.changeParentElement(this.options.parent);\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options);\n };\n Watermark.prototype.changeParentElement = function (parent) {\n if (typeof parent === 'string') {\n var parentElement = document.querySelector(parent);\n parentElement && (this.parentElement = parentElement);\n }\n else {\n this.parentElement = parent;\n }\n };\n Watermark.prototype.validateUnique = function () {\n var result = true;\n this.parentElement.childNodes.forEach(function (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 Watermark.prototype.validateContent = function () {\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 return false;\n };\n Watermark.prototype.checkParentElementType = function () {\n if (['html', 'body'].includes(this.parentElement.tagName.toLocaleLowerCase())) {\n return 'root';\n }\n return 'custom';\n };\n Watermark.prototype.checkWatermarkElement = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.parentElement.contains(this.watermarkDom)) return [3 /*break*/, 2];\n this.remove();\n return [4 /*yield*/, this.create()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.bindCheckWatermarkElementEvent();\n return [2 /*return*/];\n }\n });\n });\n };\n Watermark.prototype.bindMutationObserve = function () {\n var _this = this;\n if (!this.watermarkDom) {\n return;\n }\n this.bindCheckWatermarkElementEvent();\n this.observer = new MutationObserver(function (mutationsList) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(mutationsList.length > 0)) return [3 /*break*/, 2];\n this.remove();\n return [4 /*yield*/, this.create()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\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(function (mutationsList) { return __awaiter(_this, void 0, void 0, function () {\n var _i, mutationsList_1, item;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _i = 0, mutationsList_1 = mutationsList;\n _b.label = 1;\n case 1:\n if (!(_i < mutationsList_1.length)) return [3 /*break*/, 4];\n item = mutationsList_1[_i];\n if (!((item === null || item === void 0 ? void 0 : item.target) === this.watermarkDom ||\n ((_a = item === null || item === void 0 ? void 0 : item.removedNodes) === null || _a === void 0 ? void 0 : _a[0]) === this.watermarkDom ||\n (item.type === 'childList' && item.target === this.parentElement && item.target.lastChild !== this.watermarkDom))) return [3 /*break*/, 3];\n this.remove();\n return [4 /*yield*/, this.create()];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n }); });\n this.parentObserve.observe(this.parentElement, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true // 节点内容或节点文本的变动。\n });\n };\n Watermark.prototype.bindCheckWatermarkElementEvent = function () {\n this.unbindCheckWatermarkElementEvent();\n this.checkWatermarkElementRequestID = requestAnimationFrame(this.checkWatermarkElement.bind(this));\n };\n Watermark.prototype.unbindCheckWatermarkElementEvent = function () {\n if (!isUndefined(this.checkWatermarkElementRequestID)) {\n cancelAnimationFrame(this.checkWatermarkElementRequestID);\n }\n };\n return Watermark;\n}());\nexport { Watermark };\n//# sourceMappingURL=watermark.js.map","import { __extends } from \"tslib\";\nimport { convertImage, isFunction } from '../utils';\nimport { Watermark } from './watermark';\nimport { WatermarkCanvas } from './canvas';\n/**\n * BlindWatermark class\n */\nvar BlindWatermark = /** @class */ (function (_super) {\n __extends(BlindWatermark, _super);\n /**\n * BlindWatermark constructor\n * @param props - blind watermark options\n */\n function BlindWatermark(props) {\n if (props === void 0) { props = {}; }\n props.globalAlpha = 0.005;\n props.mode = 'blind';\n return _super.call(this, props) || this;\n }\n /**\n * Decode blind watermark.\n * @param props - decode options\n */\n BlindWatermark.decode = function (props) {\n var options = Object.assign({\n url: '',\n fillColor: '#000',\n compositeOperation: 'color-burn',\n mode: 'canvas'\n }, props);\n if (!options.url) {\n return;\n }\n if (options.mode === 'canvas') {\n var img_1 = new Image();\n img_1.src = options.url;\n img_1.onload = function () {\n var _a;\n var width = img_1.width, height = img_1.height;\n var canvas = WatermarkCanvas.createCanvas(width, height);\n var ctx = canvas.getContext('2d');\n if (ctx === null) {\n throw new Error('get context error');\n }\n ctx.drawImage(img_1, 0, 0, width, height);\n ctx.globalCompositeOperation = options.compositeOperation;\n ctx.fillStyle = options.fillColor;\n ctx.fillRect(0, 0, width, height);\n var resultImage = convertImage(canvas);\n if (options.onSuccess && isFunction(options.onSuccess)) {\n (_a = options.onSuccess) === null || _a === void 0 ? void 0 : _a.call(options, resultImage);\n }\n };\n }\n };\n return BlindWatermark;\n}(Watermark));\nexport { BlindWatermark };\n//# sourceMappingURL=blind.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { WatermarkCanvas } from './canvas';\nimport { initialOptions } from '../utils/initialization';\nimport { renderLayout } from './layout';\nimport { convertImage } from '../utils';\n/**\n * ImageWatermark class\n */\nvar ImageWatermark = /** @class */ (function () {\n /**\n * ImageWatermark constructor\n * @param args - image watermark args\n */\n function ImageWatermark(args) {\n if (args === void 0) { args = {}; }\n var _a;\n this.drew = false;\n this.props = args;\n this.options = Object.assign({}, initialOptions, args);\n this.watermarkCanvas = new WatermarkCanvas(this.props, this.options);\n this.originalSrc = (_a = this.props.dom) === null || _a === void 0 ? void 0 : _a.src;\n this.backgroundImage = this.getBackgroundImage();\n }\n ImageWatermark.prototype.create = function () {\n var _a, _b, _c, _d, _e;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (this.drew) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, ((_a = this.watermarkCanvas) === null || _a === void 0 ? void 0 : _a.draw())];\n case 1:\n _f.sent();\n this.options.layout = 'grid';\n this.options.gridLayoutOptions = __assign(__assign({}, this.options.gridLayoutOptions), { width: (_b = this.backgroundImage) === null || _b === void 0 ? void 0 : _b.width, height: (_c = this.backgroundImage) === null || _c === void 0 ? void 0 : _c.height, backgroundImage: this.backgroundImage });\n this.layoutCanvas = renderLayout(this.options, (_d = this.watermarkCanvas) === null || _d === void 0 ? void 0 : _d.getCanvas());\n this.options.dom.src = convertImage(this.layoutCanvas);\n (_e = this.watermarkCanvas) === null || _e === void 0 ? void 0 : _e.clear();\n this.drew = true;\n return [2 /*return*/];\n }\n });\n });\n };\n ImageWatermark.prototype.destroy = function () {\n this.options.dom.src = this.originalSrc;\n this.drew = false;\n };\n ImageWatermark.prototype.getBackgroundImage = function () {\n if (this.options.dom) {\n return this.options.dom;\n }\n };\n return ImageWatermark;\n}());\nexport { ImageWatermark };\n//# sourceMappingURL=image.js.map","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"],"names":[],"mappings":"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","x_google_ignoreList":[0,10]}
|