@vouchfor/embeds 0.0.0-experiment.8c5a3f8 → 0.0.0-experiment.8cafed9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. package/dist/es/browser-DfO9Pnu7.js +921 -0
  2. package/dist/es/browser-DfO9Pnu7.js.map +1 -0
  3. package/dist/es/embeds.js +1 -1599
  4. package/dist/es/embeds.js.map +1 -1
  5. package/dist/es/index-5G8orrrP.js +2609 -0
  6. package/dist/es/index-5G8orrrP.js.map +1 -0
  7. package/dist/es/src/components/DialogEmbed/DialogOverlay.d.ts +20 -0
  8. package/dist/es/src/components/DialogEmbed/DialogPortal.d.ts +36 -0
  9. package/dist/es/src/components/DialogEmbed/index.d.ts +38 -0
  10. package/dist/es/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
  11. package/dist/es/src/components/{Embed → PlayerEmbed}/controllers/fetcher.d.ts +5 -4
  12. package/dist/es/src/components/{Embed/controllers/tracking.d.ts → PlayerEmbed/controllers/tracking/index.d.ts} +14 -11
  13. package/dist/es/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
  14. package/dist/es/src/components/{Embed → PlayerEmbed}/index.d.ts +28 -21
  15. package/dist/es/src/components/PlayerEmbed/tests/data.d.ts +3 -0
  16. package/dist/es/src/index.d.ts +2 -1
  17. package/dist/iife/dialog-embed/browser-DCzTItVw.js +429 -0
  18. package/dist/iife/dialog-embed/browser-DCzTItVw.js.map +1 -0
  19. package/dist/iife/dialog-embed/embed.iife.js +1750 -0
  20. package/dist/iife/dialog-embed/embed.iife.js.map +1 -0
  21. package/dist/iife/dialog-embed/embed.js +5 -0
  22. package/dist/iife/dialog-embed/embed.js.map +1 -0
  23. package/dist/iife/dialog-embed/index-CgdXxP5z.js +27698 -0
  24. package/dist/iife/dialog-embed/index-CgdXxP5z.js.map +1 -0
  25. package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogOverlay.d.ts +20 -0
  26. package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogPortal.d.ts +36 -0
  27. package/dist/iife/dialog-embed/src/components/DialogEmbed/index.d.ts +38 -0
  28. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
  29. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
  30. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
  31. package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
  32. package/dist/iife/dialog-embed/src/components/PlayerEmbed/index.d.ts +74 -0
  33. package/dist/iife/dialog-embed/src/components/PlayerEmbed/tests/data.d.ts +3 -0
  34. package/dist/iife/dialog-embed/src/index.d.ts +2 -0
  35. package/dist/iife/dialog-embed/src/utils/env.d.ts +12 -0
  36. package/dist/iife/dialog-embed/src/utils/events.d.ts +2 -0
  37. package/dist/iife/embeds.iife.js +661 -456
  38. package/dist/iife/embeds.iife.js.map +1 -1
  39. package/dist/iife/player-embed/browser-BBSMddCs.js +429 -0
  40. package/dist/iife/player-embed/browser-BBSMddCs.js.map +1 -0
  41. package/dist/iife/player-embed/embed.iife.js +1612 -0
  42. package/dist/iife/player-embed/embed.iife.js.map +1 -0
  43. package/dist/iife/player-embed/embed.js +5 -0
  44. package/dist/iife/player-embed/embed.js.map +1 -0
  45. package/dist/iife/player-embed/index-BGZl_iqR.js +27255 -0
  46. package/dist/iife/player-embed/index-BGZl_iqR.js.map +1 -0
  47. package/dist/iife/player-embed/src/components/DialogEmbed/DialogOverlay.d.ts +20 -0
  48. package/dist/iife/player-embed/src/components/DialogEmbed/DialogPortal.d.ts +36 -0
  49. package/dist/iife/player-embed/src/components/DialogEmbed/index.d.ts +38 -0
  50. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +15 -0
  51. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +14 -0
  52. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +36 -0
  53. package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +17 -0
  54. package/dist/iife/player-embed/src/components/PlayerEmbed/index.d.ts +74 -0
  55. package/dist/iife/player-embed/src/components/PlayerEmbed/tests/data.d.ts +3 -0
  56. package/dist/iife/player-embed/src/index.d.ts +2 -0
  57. package/dist/iife/player-embed/src/utils/env.d.ts +12 -0
  58. package/dist/iife/player-embed/src/utils/events.d.ts +2 -0
  59. package/package.json +43 -31
  60. package/src/components/DialogEmbed/Dialog.stories.ts +91 -0
  61. package/src/components/DialogEmbed/DialogOverlay.ts +131 -0
  62. package/src/components/DialogEmbed/DialogPortal.ts +126 -0
  63. package/src/components/DialogEmbed/index.ts +97 -0
  64. package/src/components/{Embed/Embed.stories.ts → PlayerEmbed/PlayerEmbed.stories.ts} +26 -14
  65. package/src/components/{Embed → PlayerEmbed}/controllers/event-forwarder.ts +6 -5
  66. package/src/components/{Embed → PlayerEmbed}/controllers/fetcher.ts +33 -14
  67. package/src/components/{Embed/controllers/tracking.ts → PlayerEmbed/controllers/tracking/index.ts} +47 -115
  68. package/src/components/PlayerEmbed/controllers/tracking/utils.ts +95 -0
  69. package/src/components/{Embed → PlayerEmbed}/index.ts +71 -27
  70. package/src/components/PlayerEmbed/tests/PlayerEmbed.spec.ts +80 -0
  71. package/src/components/PlayerEmbed/tests/data.ts +183 -0
  72. package/src/index.ts +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-DfO9Pnu7.js","sources":["../../../../node_modules/path-browserify/index.js","../../../../node_modules/skia-canvas/lib/io.js","../../../../node_modules/skia-canvas/lib/browser.js"],"sourcesContent":["// 'path' module extracted from Node.js v8.11.1 (only the posix part)\n// transplited with Babel\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));\n }\n}\n\n// Resolves . and .. elements in a path with directory names\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47 /*/*/)\n break;\n else\n code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nvar posix = {\n // path.resolve([from ...], to)\n resolve: function resolve() {\n var resolvedPath = '';\n var resolvedAbsolute = false;\n var cwd;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path;\n if (i >= 0)\n path = arguments[i];\n else {\n if (cwd === undefined)\n cwd = process.cwd();\n path = cwd;\n }\n\n assertPath(path);\n\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);\n\n if (resolvedAbsolute) {\n if (resolvedPath.length > 0)\n return '/' + resolvedPath;\n else\n return '/';\n } else if (resolvedPath.length > 0) {\n return resolvedPath;\n } else {\n return '.';\n }\n },\n\n normalize: function normalize(path) {\n assertPath(path);\n\n if (path.length === 0) return '.';\n\n var isAbsolute = path.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;\n\n // Normalize the path\n path = normalizeStringPosix(path, !isAbsolute);\n\n if (path.length === 0 && !isAbsolute) path = '.';\n if (path.length > 0 && trailingSeparator) path += '/';\n\n if (isAbsolute) return '/' + path;\n return path;\n },\n\n isAbsolute: function isAbsolute(path) {\n assertPath(path);\n return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return posix.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = posix.resolve(from);\n to = posix.resolve(to);\n\n if (from === to) return '';\n\n // Trim any leading backslashes\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n // Trim any leading backslashes\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n // Compare paths to find the longest common path from root\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n } else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo'; to='/'\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(path);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext.length === path.length && ext === path) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;\n return path.slice(start, end);\n } else {\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n }\n },\n\n extname: function extname(path) {\n assertPath(path);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(path) {\n assertPath(path);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) return ret;\n var code = path.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = path.length - 1;\n\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n\n // Get non-dir info\n for (; i >= start; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = path.slice(1, startDot);\n ret.base = path.slice(1, end);\n } else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n }\n ret.ext = path.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\n\nposix.posix = posix;\n\nmodule.exports = posix;\n","\"use strict\"\n\nconst {basename, extname} = require('path')\n\n//\n// Mime type <-> File extension mappings\n//\n\nclass Format{\n constructor(){\n let isWeb = (() => typeof global=='undefined')(),\n png = \"image/png\",\n jpg = \"image/jpeg\",\n jpeg = \"image/jpeg\",\n webp = \"image/webp\",\n pdf = \"application/pdf\",\n svg = \"image/svg+xml\"\n\n Object.assign(this, {\n toMime: this.toMime.bind(this),\n fromMime: this.fromMime.bind(this),\n expected: isWeb ? `\"png\", \"jpg\", or \"webp\"`\n : `\"png\", \"jpg\", \"pdf\", or \"svg\"`,\n formats: isWeb ? {png, jpg, jpeg, webp}\n : {png, jpg, jpeg, pdf, svg},\n mimes: isWeb ? {[png]: \"png\", [jpg]: \"jpg\", [webp]: \"webp\"}\n : {[png]: \"png\", [jpg]: \"jpg\", [pdf]: \"pdf\", [svg]: \"svg\"},\n })\n }\n\n toMime(ext){\n return this.formats[(ext||'').replace(/^\\./, '').toLowerCase()]\n }\n\n fromMime(mime){\n return this.mimes[mime]\n }\n}\n\n//\n// Validation of the options dict shared by the Canvas saveAs, toBuffer, and toDataURL methods\n//\n\nfunction options(pages, {filename='', extension='', format, page, quality, matte, density, outline, archive}={}){\n var {fromMime, toMime, expected} = new Format(),\n archive = archive || 'canvas',\n ext = format || extension.replace(/@\\d+x$/i,'') || extname(filename),\n format = fromMime(toMime(ext) || ext),\n mime = toMime(format),\n pp = pages.length\n\n if(!ext) throw new Error(`Cannot determine image format (use a filename extension or 'format' argument)`)\n if (!format) throw new Error(`Unsupported file format \"${ext}\" (expected ${expected})`)\n if (!pp) throw new RangeError(`Canvas has no associated contexts (try calling getContext or newPage first)`)\n\n let padding, isSequence, pattern = filename.replace(/{(\\d*)}/g, (_, width) => {\n isSequence = true\n width = parseInt(width, 10)\n padding = isFinite(width) ? width : isFinite(padding) ? padding : -1\n return \"{}\"\n })\n\n // allow negative indexing if a specific page is specified\n let idx = page > 0 ? page - 1\n : page < 0 ? pp + page\n : undefined;\n\n if (isFinite(idx) && idx < 0 || idx >= pp) throw new RangeError(\n pp == 1 ? `Canvas only has a ‘page 1’ (${idx} is out of bounds)`\n : `Canvas has pages 1–${pp} (${idx} is out of bounds)`\n )\n\n pages = isFinite(idx) ? [pages[idx]]\n : isSequence || format=='pdf' ? pages\n : pages.slice(-1) // default to the 'current' context\n\n if (quality===undefined){\n quality = 0.92\n }else{\n if (typeof quality!='number' || !isFinite(quality) || quality<0 || quality>1){\n throw new TypeError(\"The quality option must be an number in the 0.0–1.0 range\")\n }\n }\n\n if (density===undefined){\n let m = (extension || basename(filename, ext)).match(/@(\\d+)x$/i)\n density = m ? parseInt(m[1], 10) : 1\n }else if (typeof density!='number' || !Number.isInteger(density) || density<1){\n throw new TypeError(\"The density option must be a non-negative integer\")\n }\n\n if (outline===undefined){\n outline = true\n }else if (format == 'svg'){\n outline = !!outline\n }\n\n return {filename, pattern, format, mime, pages, padding, quality, matte, density, outline, archive}\n}\n\n//\n// Zip (pace Phil Katz & q.v. https://github.com/jimmywarting/StreamSaver.js)\n//\n\nclass Crc32 {\n static for(data){\n return new Crc32().append(data).get()\n }\n\n constructor(){ this.crc = -1 }\n\n get(){ return ~this.crc }\n\n append(data){\n var crc = this.crc | 0,\n table = this.table\n for (var offset = 0, len = data.length | 0; offset < len; offset++) {\n crc = (crc >>> 8) ^ table[(crc ^ data[offset]) & 0xFF]\n }\n this.crc = crc\n return this\n }\n\n}\n\nCrc32.prototype.table = (() => {\n var i, j, t, table = []\n for (i = 0; i < 256; i++) {\n t = i\n for (j = 0; j < 8; j++) {\n t = (t & 1)\n ? (t >>> 1) ^ 0xEDB88320\n : t >>> 1\n }\n table[i] = t\n }\n return table\n})()\n\nfunction calloc(size){\n let array = new Uint8Array(size),\n view = new DataView(array.buffer),\n buf = {\n array, view, size,\n set8(at, to){ view.setUint8(at, to); return buf },\n set16(at, to){ view.setUint16(at, to, true); return buf },\n set32(at, to){ view.setUint32(at, to, true); return buf },\n bytes(at, to){ array.set(to, at); return buf },\n }\n return buf\n}\n\nclass Zip{\n static encoder = new TextEncoder()\n\n constructor(directory){\n let now = new Date()\n Object.assign(this, {\n directory,\n offset: 0,\n files: [],\n time: (((now.getHours() << 6) | now.getMinutes()) << 5) | now.getSeconds() / 2,\n date: ((((now.getFullYear() - 1980) << 4) | (now.getMonth() + 1)) << 5) | now.getDate(),\n })\n this.add(directory)\n }\n\n async add(filename, blob){\n let folder = !blob,\n name = Zip.encoder.encode(`${this.directory}/${folder ? '' : filename}`),\n data = new Uint8Array(folder ? 0 : await blob.arrayBuffer()),\n preamble = 30 + name.length,\n descriptor = preamble + data.length,\n postamble = 16,\n {offset} = this\n\n let header = calloc(26)\n .set32(0, 0x08080014) // zip version\n .set16(6, this.time) // time\n .set16(8, this.date) // date\n .set32(10, Crc32.for(data)) // checksum\n .set32(14, data.length) // compressed size (w/ zero compression)\n .set32(18, data.length) // un-compressed size\n .set16(22, name.length) // filename length (utf8 bytes)\n offset += preamble\n\n let payload = calloc(preamble + data.length + postamble)\n .set32(0, 0x04034b50) // local header signature\n .bytes(4, header.array) // ...header fields...\n .bytes(30, name) // filename\n .bytes(preamble, data) // blob bytes\n offset += data.length\n\n payload\n .set32(descriptor, 0x08074b50) // signature\n .bytes(descriptor + 4, header.array.slice(10,22)) // length & filemame\n offset += postamble\n\n this.files.push({offset, folder, name, header, payload})\n this.offset = offset\n }\n\n toBuffer(){\n // central directory record\n let length = this.files.reduce((len, {name}) => 46 + name.length + len, 0),\n cdr = calloc(length + 22),\n index = 0\n\n for (var {offset, name, header, folder} of this.files){\n cdr.set32(index, 0x02014b50) // archive file signature\n .set16(index + 4, 0x0014) // version\n .bytes(index + 6, header.array) // ...header fields...\n .set8(index + 38, folder ? 0x10 : 0) // is_dir flag\n .set32(index + 42, offset) // file offset\n .bytes(index + 46, name) // filename\n index += 46 + name.length\n }\n cdr.set32(index, 0x06054b50) // signature\n .set16(index + 8, this.files.length) // № files per-segment\n .set16(index + 10, this.files.length) // № files this segment\n .set32(index + 12, length) // central directory length\n .set32(index + 16, this.offset) // file-offset of directory\n\n // concatenated zipfile data\n let output = new Uint8Array(this.offset + cdr.size),\n cursor = 0;\n\n for (var {payload} of this.files){\n output.set(payload.array, cursor)\n cursor += payload.size\n }\n output.set(cdr.array, cursor)\n\n return output\n }\n\n get blob(){\n return new Blob([this.toBuffer()], {type:\"application/zip\"})\n }\n}\n\n\n//\n// Browser helpers for converting canvas elements to blobs/buffers/files/zips\n//\n\nconst asBlob = (canvas, mime, quality, matte) => {\n if (matte){\n let {width, height} = canvas,\n comp = Object.assign(document.createElement('canvas'), {width, height}),\n ctx = comp.getContext(\"2d\")\n ctx.fillStyle = matte\n ctx.fillRect(0, 0, width, height)\n ctx.drawImage(canvas, 0, 0)\n canvas = comp\n }\n\n return new Promise((res, rej) => canvas.toBlob(res, mime, quality))\n}\n\nconst asBuffer = (...args) => asBlob(...args).then(b => b.arrayBuffer())\n\nconst asDownload = async (canvas, mime, quality, matte, filename) => {\n _download(filename, await asBlob(canvas, mime, quality, matte))\n}\n\nconst asZipDownload = async (pages, mime, quality, matte, archive, pattern, padding) => {\n let filenames = i => pattern.replace('{}', String(i+1).padStart(padding, '0')),\n folder = basename(archive, '.zip') || 'archive',\n zip = new Zip(folder)\n\n await Promise.all(pages.map(async (page, i) => {\n let filename = filenames(i) // serialize filename(s) before awaiting\n await zip.add(filename, await asBlob(page, mime, quality, matte))\n }))\n\n _download(`${folder}.zip`, zip.blob)\n}\n\nconst _download = (filename, blob) => {\n const href = window.URL.createObjectURL(blob),\n link = document.createElement('a')\n link.style.display = 'none'\n link.href = href\n link.setAttribute('download', filename)\n if (typeof link.download === 'undefined') {\n link.setAttribute('target', '_blank')\n }\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n setTimeout(() => window.URL.revokeObjectURL(href), 100)\n}\n\nconst atScale = (pages, density, matte) => pages.map(page => {\n if (density == 1 && !matte) return page.canvas\n\n let scaled = document.createElement('canvas'),\n ctx = scaled.getContext(\"2d\"),\n src = page.canvas ? page.canvas : page\n scaled.width = src.width * density\n scaled.height = src.height * density\n if (matte){\n ctx.fillStyle = matte\n ctx.fillRect(0, 0, scaled.width, scaled.height)\n }\n ctx.scale(density, density)\n ctx.drawImage(src, 0, 0)\n return scaled\n})\n\nmodule.exports = {asBuffer, asDownload, asZipDownload, atScale, options}\n","\"use strict\"\n\nconst {asBuffer, asDownload, asZipDownload, atScale, options} = require('./io')\n\n//\n// Browser equivalents of the skia-canvas convenience initializers and polyfills for\n// the Canvas object’s newPage & export methods\n//\n\nconst _toURL_ = Symbol.for(\"toDataURL\")\n\nconst loadImage = src => {\n let img = Object.assign(new Image(), {crossOrigin:'Anonymous', src})\n return img.decode().then(() => img)\n}\n\nclass Canvas{\n constructor(width, height){\n let elt = document.createElement('canvas'),\n pages = []\n\n Object.defineProperty(elt, \"async\", {value:true, writable:false, enumerable:true})\n\n for (var [prop, get] of Object.entries({\n png: () => asBuffer(elt, 'image/png'),\n jpg: () => asBuffer(elt, 'image/jpeg'),\n pages: () => pages.concat(elt).map(c => c.getContext(\"2d\")),\n })) Object.defineProperty(elt, prop, {get})\n\n return Object.assign(elt, {\n width, height,\n\n newPage(...size){\n var {width, height} = elt,\n page = Object.assign(document.createElement('canvas'), {width, height})\n page.getContext(\"2d\").drawImage(elt, 0, 0)\n pages.push(page)\n\n var [width, height] = size.length ? size : [width, height]\n return Object.assign(elt, {width, height}).getContext(\"2d\")\n },\n\n saveAs(filename, args){\n args = typeof args=='number' ? {quality:args} : args\n let opts = options(this.pages, {filename, ...args}),\n {pattern, padding, mime, quality, matte, density, archive} = opts,\n pages = atScale(opts.pages, density);\n return padding==undefined ? asDownload(pages[0], mime, quality, matte, filename)\n : asZipDownload(pages, mime, quality, matte, archive, pattern, padding)\n },\n\n toBuffer(extension=\"png\", args={}){\n args = typeof args=='number' ? {quality:args} : args\n let opts = options(this.pages, {extension, ...args}),\n {mime, quality, matte, pages, density} = opts,\n canvas = atScale(pages, density, matte)[0]\n return asBuffer(canvas, mime, quality, matte)\n },\n\n [_toURL_]: elt.toDataURL.bind(elt),\n toDataURL(extension=\"png\", args={}){\n args = typeof args=='number' ? {quality:args} : args\n let opts = options(this.pages, {extension, ...args}),\n {mime, quality, matte, pages, density} = opts,\n canvas = atScale(pages, density, matte)[0],\n url = canvas[canvas===elt ? _toURL_ : 'toDataURL'](mime, quality);\n return Promise.resolve(url)\n }\n })\n }\n}\n\nconst {CanvasRenderingContext2D, CanvasGradient, CanvasPattern,\n Image, ImageData, Path2D, DOMMatrix, DOMRect, DOMPoint} = window;\n\nmodule.exports = {\n Canvas, loadImage,\n CanvasRenderingContext2D, CanvasGradient, CanvasPattern,\n Image, ImageData, Path2D, DOMMatrix, DOMRect, DOMPoint\n}"],"names":["require$$0","global","options","asBuffer","asDownload","asZipDownload","atScale"],"mappings":"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","x_google_ignoreList":[0,1,2]}