!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["wix-dom-sanitizer"]=t():e["wix-dom-sanitizer"]=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r=n(1);e.exports=r},function(e,t,n){"use strict";var r=n(2),o=/]+)>/,i=["animateColor","animateTransform","animateMotion","linearGradient","radialGradient","clipPath","altGlyph","altGlyphItem","glyphRef","textPath","altGlyphDef","feDistantLight","fePointLight","feSpotLight","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","feFuncA","feFuncR","feFuncG","feFuncB"];function a(e,t){var n=new RegExp(t+"=(\"|')?([-\\w\\s,]+)\\1");return e.match(n)}function l(e,t){var n=a(e,t);return n?n[2]:null}var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.hasRealDOM="undefined"!=typeof window,this.purifier=r}return e.prototype.sanitizeSVG=function(e){this.purifier.addHook("afterSanitizeAttributes",(function(e){e.hasAttribute("xlink:href")&&!e.getAttribute("xlink:href").match(/^#/)&&e.removeAttribute("xlink:href")}));var t=this.purifier.sanitize(e,{RETURN_DOM_FRAGMENT:this.hasRealDOM,KEEP_CONTENT:!1,USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["use"],ADD_ATTR:["filterUnits"]});this.purifier.removeHook("afterSanitizeAttributes");var n,r,l,s,c,u=this.hasRealDOM?t.querySelector("svg"):t.match(o);if(!u)return{error:""};this.hasRealDOM?(u.setAttribute("data-type","ugc"),t=u.outerHTML):(u=u[0],n=t.replace(u,(s="ugc",(c=a(r=u,l="data-type"))?r.replace(c[2],s):r.replace("/gm,p=/^data-[\-\w.\u00B7-\uFFFF]/,m=/^aria-[\-\w]+$/,h=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,g=/^(?:\w+script|data):/i,y=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function b(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:T(),S=function(e){return x(e)};if(S.version="1.0.3",S.removed=[],!A||!A.document||9!==A.document.nodeType)return S.isSupported=!1,S;var w=A.document,E=!1,M=!1,O=A.document,k=A.DocumentFragment,_=A.HTMLTemplateElement,D=A.Node,L=A.NodeFilter,R=A.NamedNodeMap,N=void 0===R?A.NamedNodeMap||A.MozNamedAttrMap:R,C=A.Text,F=A.Comment,z=A.DOMParser,H=A.XMLHttpRequest,G=void 0===H?A.XMLHttpRequest:H,j=A.encodeURI,I=void 0===j?A.encodeURI:j;if("function"==typeof _){var P=O.createElement("template");P.content&&P.content.ownerDocument&&(O=P.content.ownerDocument)}var B=O,U=B.implementation,q=B.createNodeIterator,W=B.getElementsByTagName,V=B.createDocumentFragment,X=w.importNode,K={};S.isSupported=U&&void 0!==U.createHTMLDocument&&9!==O.documentMode;var Y=f,$=d,J=p,Q=m,Z=g,ee=y,te=h,ne=null,re=c({},[].concat(b(e),b(t),b(n),b(r),b(o))),oe=null,ie=c({},[].concat(b(i),b(a),b(l),b(s))),ae=null,le=null,se=!0,ce=!0,ue=!1,fe=!1,de=!1,pe=!1,me=!1,he=!1,ge=!1,ye=!1,ve=!1,be=!0,Te=!0,xe={},Ae=c({},["audio","head","math","script","style","template","svg","video"]),Se=c({},["audio","video","img","source","image"]),we=c({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Ee=null,Me=O.createElement("form"),Oe=function(f){"object"!==(void 0===f?"undefined":v(f))&&(f={}),ne="ALLOWED_TAGS"in f?c({},f.ALLOWED_TAGS):re,oe="ALLOWED_ATTR"in f?c({},f.ALLOWED_ATTR):ie,ae="FORBID_TAGS"in f?c({},f.FORBID_TAGS):{},le="FORBID_ATTR"in f?c({},f.FORBID_ATTR):{},xe="USE_PROFILES"in f&&f.USE_PROFILES,se=!1!==f.ALLOW_ARIA_ATTR,ce=!1!==f.ALLOW_DATA_ATTR,ue=f.ALLOW_UNKNOWN_PROTOCOLS||!1,fe=f.SAFE_FOR_JQUERY||!1,de=f.SAFE_FOR_TEMPLATES||!1,pe=f.WHOLE_DOCUMENT||!1,ge=f.RETURN_DOM||!1,ye=f.RETURN_DOM_FRAGMENT||!1,ve=f.RETURN_DOM_IMPORT||!1,he=f.FORCE_BODY||!1,be=!1!==f.SANITIZE_DOM,Te=!1!==f.KEEP_CONTENT,te=f.ALLOWED_URI_REGEXP||te,de&&(ce=!1),ye&&(ge=!0),xe&&(ne=c({},[].concat(b(o))),oe=[],!0===xe.html&&(c(ne,e),c(oe,i)),!0===xe.svg&&(c(ne,t),c(oe,a),c(oe,s)),!0===xe.svgFilters&&(c(ne,n),c(oe,a),c(oe,s)),!0===xe.mathMl&&(c(ne,r),c(oe,l),c(oe,s))),f.ADD_TAGS&&(ne===re&&(ne=u(ne)),c(ne,f.ADD_TAGS)),f.ADD_ATTR&&(oe===ie&&(oe=u(oe)),c(oe,f.ADD_ATTR)),f.ADD_URI_SAFE_ATTR&&c(we,f.ADD_URI_SAFE_ATTR),Te&&(ne["#text"]=!0),Object&&"freeze"in Object&&Object.freeze(f),Ee=f},ke=function(e){S.removed.push({element:e});try{e.parentNode.removeChild(e)}catch(t){e.outerHTML=""}},_e=function(e,t){S.removed.push({attribute:t.getAttributeNode(e),from:t}),t.removeAttribute(e)},De=function(e){var t=void 0,n=void 0;if(he&&(e=""+e),M){try{e=I(e)}catch(e){}var r=new G;r.responseType="document",r.open("GET","data:text/html;charset=utf-8,"+e,!1),r.send(null),t=r.response}if(E)try{t=(new z).parseFromString(e,"text/html")}catch(e){}return t&&t.documentElement||((n=(t=U.createHTMLDocument("")).body).parentNode.removeChild(n.parentNode.firstElementChild),n.outerHTML=e),W.call(t,pe?"html":"body")[0]};S.isSupported&&function(){var e=De('');e.querySelector("svg")||(M=!0);try{(e=De('

')).querySelector("svg img")&&(E=!0)}catch(e){}}();var Le=function(e){return q.call(e.ownerDocument||e,e,L.SHOW_ELEMENT|L.SHOW_COMMENT|L.SHOW_TEXT,(function(){return L.FILTER_ACCEPT}),!1)},Re=function(e){return!(e instanceof C||e instanceof F||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof N&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute)},Ne=function(e){return"object"===(void 0===D?"undefined":v(D))?e instanceof D:e&&"object"===(void 0===e?"undefined":v(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Ce=function(e,t,n){K[e]&&K[e].forEach((function(e){e.call(S,t,n,Ee)}))},Fe=function(e){var t=void 0;if(Ce("beforeSanitizeElements",e,null),Re(e))return ke(e),!0;var n=e.nodeName.toLowerCase();if(Ce("uponSanitizeElement",e,{tagName:n,allowedTags:ne}),!ne[n]||ae[n]){if(Te&&!Ae[n]&&"function"==typeof e.insertAdjacentHTML)try{e.insertAdjacentHTML("AfterEnd",e.innerHTML)}catch(e){}return ke(e),!0}return!fe||e.firstElementChild||e.content&&e.content.firstElementChild||!/l&&e.setAttribute("id",i.value);else{if("INPUT"===e.nodeName&&"type"===o&&"file"===r&&(oe[o]||!le[o]))continue;"id"===n&&e.setAttribute(n,""),_e(n,e)}if(s.keepAttr&&(!be||"id"!==o&&"name"!==o||!(r in O||r in Me))){if(de&&(r=(r=r.replace(Y," ")).replace($," ")),ce&&J.test(o));else if(se&&Q.test(o));else{if(!oe[o]||le[o])continue;if(we[o]);else if(te.test(r.replace(ee,"")));else if("src"!==o&&"xlink:href"!==o||0!==r.indexOf("data:")||!Se[e.nodeName.toLowerCase()])if(ue&&!Z.test(r.replace(ee,"")));else if(r)continue}try{e.setAttribute(n,r),S.removed.pop()}catch(e){}}}Ce("afterSanitizeAttributes",e,null)}},He=function e(t){var n=void 0,r=Le(t);for(Ce("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)Ce("uponSanitizeShadowNode",n,null),Fe(n)||(n.content instanceof k&&e(n.content),ze(n));Ce("afterSanitizeShadowDOM",t,null)};return S.sanitize=function(e,t){var n=void 0,r=void 0,o=void 0,i=void 0,a=void 0;if(e||(e="\x3c!--\x3e"),"string"!=typeof e&&!Ne(e)){if("function"!=typeof e.toString)throw new TypeError("toString is not a function");if("string"!=typeof(e=e.toString()))throw new TypeError("dirty is not a string, aborting")}if(!S.isSupported){if("object"===v(A.toStaticHTML)||"function"==typeof A.toStaticHTML){if("string"==typeof e)return A.toStaticHTML(e);if(Ne(e))return A.toStaticHTML(e.outerHTML)}return e}if(me||Oe(t),S.removed=[],e instanceof D)1===(r=(n=De("\x3c!--\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===r.nodeName?n=r:n.appendChild(r);else{if(!ge&&!pe&&-1===e.indexOf("<"))return e;if(!(n=De(e)))return ge?null:""}he&&ke(n.firstChild);for(var l=Le(n);o=l.nextNode();)3===o.nodeType&&o===i||Fe(o)||(o.content instanceof k&&He(o.content),ze(o),i=o);if(ge){if(ye)for(a=V.call(n.ownerDocument);n.firstChild;)a.appendChild(n.firstChild);else a=n;return ve&&(a=X.call(w,a,!0)),a}return pe?n.outerHTML:n.innerHTML},S.setConfig=function(e){Oe(e),me=!0},S.clearConfig=function(){Ee=null,me=!1},S.addHook=function(e,t){"function"==typeof t&&(K[e]=K[e]||[],K[e].push(t))},S.removeHook=function(e){K[e]&&K[e].pop()},S.removeHooks=function(e){K[e]&&(K[e]=[])},S.removeAllHooks=function(){K={}},S}()}()}])})); //# sourceMappingURL=wix-dom-sanitizer.js.map