{"version":3,"sources":["https:\/\/vlm2.ub.ac.id\/theme\/boost\/amd\/src\/sanitizer.js"],"names":["define","exports","Object","defineProperty","value","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","length","domParser","window","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","elements","slice","call","body","querySelectorAll","_loop","i","el","elName","nodeName","toLowerCase","indexOf","parentNode","removeChild","attributeList","attributes","whitelistedAttributes","concat","forEach","attr","allowedAttribute","removeAttribute","len","_ret","innerHTML","uriAttrs","ARIA_ATTRIBUTE_PATTERN","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttributeList","attrName","nodeValue","match","regExp","filter","attrRegex","RegExp","l"],"mappings":"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","sourcesContent":["\"use strict\";\n\ndefine([\"exports\"], function (exports) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.sanitizeHtml = sanitizeHtml;\n\n \/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools\/sanitizer.js\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/master\/LICENSE)\n * --------------------------------------------------------------------------\n *\/\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = \/^aria-[\\w-]*$\/i;\n var DefaultWhitelist = exports.DefaultWhitelist = {\n \/\/ Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n \/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https:\/\/github.com\/angular\/angular\/blob\/7.2.4\/packages\/core\/src\/sanitization\/url_sanitizer.ts\n *\/\n\n };\n var SAFE_URL_PATTERN = \/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))\/gi;\n \/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https:\/\/github.com\/angular\/angular\/blob\/7.2.4\/packages\/core\/src\/sanitization\/url_sanitizer.ts\n *\/\n\n var DATA_URL_PATTERN = \/^data:(?:image\\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\\/(?:mpeg|mp4|ogg|webm)|audio\\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$\/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); \/\/ Check if a regular expression validates the attribute.\n\n for (var i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text\/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i, len);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n});"],"file":"sanitizer.min.js"}