dompurify 3.4.3 → 3.4.4
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/README.md +4 -4
- package/dist/purify.cjs.d.ts +1 -1
- package/dist/purify.cjs.js +65 -14
- package/dist/purify.cjs.js.map +1 -1
- package/dist/purify.es.d.mts +1 -1
- package/dist/purify.es.mjs +65 -14
- package/dist/purify.es.mjs.map +1 -1
- package/dist/purify.js +65 -14
- package/dist/purify.js.map +1 -1
- package/dist/purify.min.js +2 -2
- package/dist/purify.min.js.map +1 -1
- package/package.json +3 -3
- package/src/attrs.ts +2 -0
- package/src/purify.ts +73 -10
- package/src/tags.ts +1 -0
package/dist/purify.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! @license DOMPurify 3.4.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function t(t,n){return function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,i,a,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t);else for(;!(c=(o=i.call(n)).done)&&(l.push(o.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw r}}return l}}(t,n)||function(t,n){if(t){if("string"==typeof t)return e(t,n);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?e(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const n=Object.entries,o=Object.setPrototypeOf,r=Object.isFrozen,i=Object.getPrototypeOf,a=Object.getOwnPropertyDescriptor;let l=Object.freeze,c=Object.seal,s=Object.create,u="undefined"!=typeof Reflect&&Reflect,f=u.apply,m=u.construct;l||(l=function(e){return e}),c||(c=function(e){return e}),f||(f=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];return e.apply(t,o)}),m||(m=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return new e(...n)});const p=L(Array.prototype.forEach),d=L(Array.prototype.lastIndexOf),h=L(Array.prototype.pop),g=L(Array.prototype.push),y=L(Array.prototype.splice),T=Array.isArray,b=L(String.prototype.toLowerCase),A=L(String.prototype.toString),S=L(String.prototype.match),E=L(String.prototype.replace),N=L(String.prototype.indexOf),_=L(String.prototype.trim),O=L(Number.prototype.toString),D=L(Boolean.prototype.toString),R="undefined"==typeof BigInt?null:L(BigInt.prototype.toString),w="undefined"==typeof Symbol?null:L(Symbol.prototype.toString),v=L(Object.prototype.hasOwnProperty),I=L(Object.prototype.toString),x=L(RegExp.prototype.test),k=(C=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return m(C,t)});var C;function L(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return f(e,t,o)}}function M(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;if(o&&o(e,null),!T(t))return e;let i=t.length;for(;i--;){let o=t[i];if("string"==typeof o){const e=n(o);e!==o&&(r(t)||(t[i]=e),o=e)}e[o]=!0}return e}function F(e){for(let t=0;t<e.length;t++){v(e,t)||(e[t]=null)}return e}function z(e){const o=s(null);for(const i of n(e)){var r=t(i,2);const n=r[0],a=r[1];v(e,n)&&(T(a)?o[n]=F(a):a&&"object"==typeof a&&a.constructor===Object?o[n]=z(a):o[n]=a)}return o}function P(e,t){for(;null!==e;){const n=a(e,t);if(n){if(n.get)return L(n.get);if("function"==typeof n.value)return L(n.value)}e=i(e)}return function(){return null}}const U=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),H=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),B=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),G=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),j=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),W=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Y=l(["#text"]),q=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),X=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$=l(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),K=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),V=c(/{{[\w\W]*|^[\w\W]*}}/g),Z=c(/<%[\w\W]*|^[\w\W]*%>/g),J=c(/\${[\w\W]*/g),Q=c(/^data-[\-\w.\u00B7-\uFFFF]+$/),ee=c(/^aria-[\-\w]+$/),te=c(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ne=c(/^(?:\w+script|data):/i),oe=c(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),re=c(/^html$/i),ie=c(/^[a-z][.\w]*(-[.\w]+)+$/i),ae=1,le=3,ce=7,se=8,ue=9,fe=function(){return"undefined"==typeof window?null:window};var me=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fe();const o=t=>e(t);if(o.version="3.4.3",o.removed=[],!t||!t.document||t.document.nodeType!==ue||!t.Element)return o.isSupported=!1,o;let r=t.document;const i=r,a=i.currentScript,c=t.DocumentFragment,u=t.HTMLTemplateElement,f=t.Node,m=t.Element,C=t.NodeFilter,L=t.NamedNodeMap,F=void 0===L?t.NamedNodeMap||t.MozNamedAttrMap:L,me=t.HTMLFormElement,pe=t.DOMParser,de=t.trustedTypes,he=m.prototype,ge=P(he,"cloneNode"),ye=P(he,"remove"),Te=P(he,"nextSibling"),be=P(he,"childNodes"),Ae=P(he,"parentNode");if("function"==typeof u){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let Se,Ee="";const Ne=r,_e=Ne.implementation,Oe=Ne.createNodeIterator,De=Ne.createDocumentFragment,Re=Ne.getElementsByTagName,we=i.importNode;let ve={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};o.isSupported="function"==typeof n&&"function"==typeof Ae&&_e&&void 0!==_e.createHTMLDocument;const Ie=V,xe=Z,ke=J,Ce=Q,Le=ee,Me=ne,Fe=oe,ze=ie;let Pe=te,Ue=null;const He=M({},[...U,...H,...B,...j,...Y]);let Be=null;const Ge=M({},[...q,...X,...$,...K]);let je=Object.seal(s(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),We=null,Ye=null;const qe=Object.seal(s(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Xe=!0,$e=!0,Ke=!1,Ve=!0,Ze=!1,Je=!0,Qe=!1,et=!1,tt=!1,nt=!1,ot=!1,rt=!1,it=!0,at=!1;const lt="user-content-";let ct=!0,st=!1,ut={},ft=null;const mt=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let pt=null;const dt=M({},["audio","video","img","source","image","track"]);let ht=null;const gt=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),yt="http://www.w3.org/1998/Math/MathML",Tt="http://www.w3.org/2000/svg",bt="http://www.w3.org/1999/xhtml";let At=bt,St=!1,Et=null;const Nt=M({},[yt,Tt,bt],A);let _t=M({},["mi","mo","mn","ms","mtext"]),Ot=M({},["annotation-xml"]);const Dt=M({},["title","style","font","a","script"]);let Rt=null;const wt=["application/xhtml+xml","text/html"];let vt=null,It=null;const xt=r.createElement("form"),kt=function(e){return e instanceof RegExp||e instanceof Function},Ct=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(It&&It===e)return;e&&"object"==typeof e||(e={}),e=z(e),Rt=-1===wt.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,vt="application/xhtml+xml"===Rt?A:b,Ue=v(e,"ALLOWED_TAGS")&&T(e.ALLOWED_TAGS)?M({},e.ALLOWED_TAGS,vt):He,Be=v(e,"ALLOWED_ATTR")&&T(e.ALLOWED_ATTR)?M({},e.ALLOWED_ATTR,vt):Ge,Et=v(e,"ALLOWED_NAMESPACES")&&T(e.ALLOWED_NAMESPACES)?M({},e.ALLOWED_NAMESPACES,A):Nt,ht=v(e,"ADD_URI_SAFE_ATTR")&&T(e.ADD_URI_SAFE_ATTR)?M(z(gt),e.ADD_URI_SAFE_ATTR,vt):gt,pt=v(e,"ADD_DATA_URI_TAGS")&&T(e.ADD_DATA_URI_TAGS)?M(z(dt),e.ADD_DATA_URI_TAGS,vt):dt,ft=v(e,"FORBID_CONTENTS")&&T(e.FORBID_CONTENTS)?M({},e.FORBID_CONTENTS,vt):mt,We=v(e,"FORBID_TAGS")&&T(e.FORBID_TAGS)?M({},e.FORBID_TAGS,vt):z({}),Ye=v(e,"FORBID_ATTR")&&T(e.FORBID_ATTR)?M({},e.FORBID_ATTR,vt):z({}),ut=!!v(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?z(e.USE_PROFILES):e.USE_PROFILES),Xe=!1!==e.ALLOW_ARIA_ATTR,$e=!1!==e.ALLOW_DATA_ATTR,Ke=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ve=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Ze=e.SAFE_FOR_TEMPLATES||!1,Je=!1!==e.SAFE_FOR_XML,Qe=e.WHOLE_DOCUMENT||!1,nt=e.RETURN_DOM||!1,ot=e.RETURN_DOM_FRAGMENT||!1,rt=e.RETURN_TRUSTED_TYPE||!1,tt=e.FORCE_BODY||!1,it=!1!==e.SANITIZE_DOM,at=e.SANITIZE_NAMED_PROPS||!1,ct=!1!==e.KEEP_CONTENT,st=e.IN_PLACE||!1,Pe=function(e){try{return x(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:te,At="string"==typeof e.NAMESPACE?e.NAMESPACE:bt,_t=v(e,"MATHML_TEXT_INTEGRATION_POINTS")&&e.MATHML_TEXT_INTEGRATION_POINTS&&"object"==typeof e.MATHML_TEXT_INTEGRATION_POINTS?z(e.MATHML_TEXT_INTEGRATION_POINTS):M({},["mi","mo","mn","ms","mtext"]),Ot=v(e,"HTML_INTEGRATION_POINTS")&&e.HTML_INTEGRATION_POINTS&&"object"==typeof e.HTML_INTEGRATION_POINTS?z(e.HTML_INTEGRATION_POINTS):M({},["annotation-xml"]);const t=v(e,"CUSTOM_ELEMENT_HANDLING")&&e.CUSTOM_ELEMENT_HANDLING&&"object"==typeof e.CUSTOM_ELEMENT_HANDLING?z(e.CUSTOM_ELEMENT_HANDLING):s(null);if(je=s(null),v(t,"tagNameCheck")&&kt(t.tagNameCheck)&&(je.tagNameCheck=t.tagNameCheck),v(t,"attributeNameCheck")&&kt(t.attributeNameCheck)&&(je.attributeNameCheck=t.attributeNameCheck),v(t,"allowCustomizedBuiltInElements")&&"boolean"==typeof t.allowCustomizedBuiltInElements&&(je.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),Ze&&($e=!1),ot&&(nt=!0),ut&&(Ue=M({},Y),Be=s(null),!0===ut.html&&(M(Ue,U),M(Be,q)),!0===ut.svg&&(M(Ue,H),M(Be,X),M(Be,K)),!0===ut.svgFilters&&(M(Ue,B),M(Be,X),M(Be,K)),!0===ut.mathMl&&(M(Ue,j),M(Be,$),M(Be,K))),qe.tagCheck=null,qe.attributeCheck=null,v(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?qe.tagCheck=e.ADD_TAGS:T(e.ADD_TAGS)&&(Ue===He&&(Ue=z(Ue)),M(Ue,e.ADD_TAGS,vt))),v(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?qe.attributeCheck=e.ADD_ATTR:T(e.ADD_ATTR)&&(Be===Ge&&(Be=z(Be)),M(Be,e.ADD_ATTR,vt))),v(e,"ADD_URI_SAFE_ATTR")&&T(e.ADD_URI_SAFE_ATTR)&&M(ht,e.ADD_URI_SAFE_ATTR,vt),v(e,"FORBID_CONTENTS")&&T(e.FORBID_CONTENTS)&&(ft===mt&&(ft=z(ft)),M(ft,e.FORBID_CONTENTS,vt)),v(e,"ADD_FORBID_CONTENTS")&&T(e.ADD_FORBID_CONTENTS)&&(ft===mt&&(ft=z(ft)),M(ft,e.ADD_FORBID_CONTENTS,vt)),ct&&(Ue["#text"]=!0),Qe&&M(Ue,["html","head","body"]),Ue.table&&(M(Ue,["tbody"]),delete We.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Se=e.TRUSTED_TYPES_POLICY,Ee=Se.createHTML("")}else void 0===Se&&(Se=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(de,a)),null!==Se&&"string"==typeof Ee&&(Ee=Se.createHTML(""));l&&l(e),It=e},Lt=M({},[...H,...B,...G]),Mt=M({},[...j,...W]),Ft=function(e){g(o.removed,{element:e});try{Ae(e).removeChild(e)}catch(t){ye(e)}},zt=function(e,t){try{g(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){g(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(nt||ot)try{Ft(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Pt=function(e){let t=null,n=null;if(tt)e="<remove></remove>"+e;else{const t=S(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===Rt&&At===bt&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const o=Se?Se.createHTML(e):e;if(At===bt)try{t=(new pe).parseFromString(o,Rt)}catch(e){}if(!t||!t.documentElement){t=_e.createDocument(At,"template",null);try{t.documentElement.innerHTML=St?Ee:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),At===bt?Re.call(t,Qe?"html":"body")[0]:Qe?t.documentElement:i},Ut=function(e){return Oe.call(e.ownerDocument||e,e,C.SHOW_ELEMENT|C.SHOW_COMMENT|C.SHOW_TEXT|C.SHOW_PROCESSING_INSTRUCTION|C.SHOW_CDATA_SECTION,null)},Ht=function(e){return e instanceof me&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof F)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Bt=function(e){return"function"==typeof f&&e instanceof f};function Gt(e,t,n){p(e,e=>{e.call(o,t,n,It)})}const jt=function(e){let t=null;if(Gt(ve.beforeSanitizeElements,e,null),Ht(e))return Ft(e),!0;const n=vt(e.nodeName);if(Gt(ve.uponSanitizeElement,e,{tagName:n,allowedTags:Ue}),Je&&e.hasChildNodes()&&!Bt(e.firstElementChild)&&x(/<[/\w!]/g,e.innerHTML)&&x(/<[/\w!]/g,e.textContent))return Ft(e),!0;if(Je&&e.namespaceURI===bt&&"style"===n&&Bt(e.firstElementChild))return Ft(e),!0;if(e.nodeType===ce)return Ft(e),!0;if(Je&&e.nodeType===se&&x(/<[/\w]/g,e.data))return Ft(e),!0;if(We[n]||!(qe.tagCheck instanceof Function&&qe.tagCheck(n))&&!Ue[n]){if(!We[n]&&qt(n)){if(je.tagNameCheck instanceof RegExp&&x(je.tagNameCheck,n))return!1;if(je.tagNameCheck instanceof Function&&je.tagNameCheck(n))return!1}if(ct&&!ft[n]){const t=Ae(e)||e.parentNode,n=be(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=ge(n[o],!0);t.insertBefore(r,Te(e))}}}return Ft(e),!0}return e instanceof m&&!function(e){let t=Ae(e);t&&t.tagName||(t={namespaceURI:At,tagName:"template"});const n=b(e.tagName),o=b(t.tagName);return!!Et[e.namespaceURI]&&(e.namespaceURI===Tt?t.namespaceURI===bt?"svg"===n:t.namespaceURI===yt?"svg"===n&&("annotation-xml"===o||_t[o]):Boolean(Lt[n]):e.namespaceURI===yt?t.namespaceURI===bt?"math"===n:t.namespaceURI===Tt?"math"===n&&Ot[o]:Boolean(Mt[n]):e.namespaceURI===bt?!(t.namespaceURI===Tt&&!Ot[o])&&!(t.namespaceURI===yt&&!_t[o])&&!Mt[n]&&(Dt[n]||!Lt[n]):!("application/xhtml+xml"!==Rt||!Et[e.namespaceURI]))}(e)?(Ft(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!x(/<\/no(script|embed|frames)/i,e.innerHTML)?(Ze&&e.nodeType===le&&(t=e.textContent,p([Ie,xe,ke],e=>{t=E(t,e," ")}),e.textContent!==t&&(g(o.removed,{element:e.cloneNode()}),e.textContent=t)),Gt(ve.afterSanitizeElements,e,null),!1):(Ft(e),!0)},Wt=function(e,t,n){if(Ye[t])return!1;if(it&&("id"===t||"name"===t)&&(n in r||n in xt))return!1;const o=Be[t]||qe.attributeCheck instanceof Function&&qe.attributeCheck(t,e);if($e&&!Ye[t]&&x(Ce,t));else if(Xe&&x(Le,t));else if(!o||Ye[t]){if(!(qt(e)&&(je.tagNameCheck instanceof RegExp&&x(je.tagNameCheck,e)||je.tagNameCheck instanceof Function&&je.tagNameCheck(e))&&(je.attributeNameCheck instanceof RegExp&&x(je.attributeNameCheck,t)||je.attributeNameCheck instanceof Function&&je.attributeNameCheck(t,e))||"is"===t&&je.allowCustomizedBuiltInElements&&(je.tagNameCheck instanceof RegExp&&x(je.tagNameCheck,n)||je.tagNameCheck instanceof Function&&je.tagNameCheck(n))))return!1}else if(ht[t]);else if(x(Pe,E(n,Fe,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==N(n,"data:")||!pt[e]){if(Ke&&!x(Me,E(n,Fe,"")));else if(n)return!1}else;return!0},Yt=M({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),qt=function(e){return!Yt[b(e)]&&x(ze,e)},Xt=function(e){Gt(ve.beforeSanitizeAttributes,e,null);const t=e.attributes;if(!t||Ht(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Be,forceKeepAttr:void 0};let r=t.length;for(;r--;){const i=t[r],a=i.name,l=i.namespaceURI,c=i.value,s=vt(a),u=c;let f="value"===a?u:_(u);if(n.attrName=s,n.attrValue=f,n.keepAttr=!0,n.forceKeepAttr=void 0,Gt(ve.uponSanitizeAttribute,e,n),f=n.attrValue,!at||"id"!==s&&"name"!==s||0===N(f,lt)||(zt(a,e),f=lt+f),Je&&x(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,f)){zt(a,e);continue}if("attributename"===s&&S(f,"href")){zt(a,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){zt(a,e);continue}if(!Ve&&x(/\/>/i,f)){zt(a,e);continue}Ze&&p([Ie,xe,ke],e=>{f=E(f,e," ")});const m=vt(e.nodeName);if(Wt(m,s,f)){if(Se&&"object"==typeof de&&"function"==typeof de.getAttributeType)if(l);else switch(de.getAttributeType(m,s)){case"TrustedHTML":f=Se.createHTML(f);break;case"TrustedScriptURL":f=Se.createScriptURL(f)}if(f!==u)try{l?e.setAttributeNS(l,a,f):e.setAttribute(a,f),Ht(e)?Ft(e):h(o.removed)}catch(t){zt(a,e)}}else zt(a,e)}Gt(ve.afterSanitizeAttributes,e,null)},$t=function(e){let t=null;const n=Ut(e);for(Gt(ve.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)Gt(ve.uponSanitizeShadowNode,t,null),jt(t),Xt(t),t.content instanceof c&&$t(t.content);Gt(ve.afterSanitizeShadowDOM,e,null)},Kt=function(e){if(e.nodeType===ae&&e.shadowRoot instanceof c){const t=e.shadowRoot;Kt(t),$t(t)}const t=e.childNodes;if(!t)return;const n=[];p(t,e=>{g(n,e)});for(const e of n)Kt(e)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,a=null,l=null;if(St=!e,St&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Bt(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return O(e);case"boolean":return D(e);case"bigint":return R?R(e):"0";case"symbol":return w?w(e):"Symbol()";case"undefined":default:return I(e);case"function":case"object":{if(null===e)return I(e);const t=e,n=P(t,"toString");if("function"==typeof n){const e=n(t);return"string"==typeof e?e:I(e)}return I(e)}}}(e)))throw k("dirty is not a string, aborting");if(!o.isSupported)return e;if(et||Ct(t),o.removed=[],"string"==typeof e&&(st=!1),st){const t=e.nodeName;if("string"==typeof t){const e=vt(t);if(!Ue[e]||We[e])throw k("root node is forbidden and cannot be sanitized in-place")}Kt(e)}else if(e instanceof f)n=Pt("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===ae&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r),Kt(r);else{if(!nt&&!Ze&&!Qe&&-1===e.indexOf("<"))return Se&&rt?Se.createHTML(e):e;if(n=Pt(e),!n)return nt?null:rt?Ee:""}n&&tt&&Ft(n.firstChild);const s=Ut(st?e:n);for(;a=s.nextNode();)jt(a),Xt(a),a.content instanceof c&&$t(a.content);if(st)return e;if(nt){if(Ze){n.normalize();let e=n.innerHTML;p([Ie,xe,ke],t=>{e=E(e,t," ")}),n.innerHTML=e}if(ot)for(l=De.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Be.shadowroot||Be.shadowrootmode)&&(l=we.call(i,l,!0)),l}let u=Qe?n.outerHTML:n.innerHTML;return Qe&&Ue["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&x(re,n.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+u),Ze&&p([Ie,xe,ke],e=>{u=E(u,e," ")}),Se&&rt?Se.createHTML(u):u},o.setConfig=function(){Ct(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),et=!0},o.clearConfig=function(){It=null,et=!1},o.isValidAttribute=function(e,t,n){It||Ct({});const o=vt(e),r=vt(t);return Wt(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&g(ve[e],t)},o.removeHook=function(e,t){if(void 0!==t){const n=d(ve[e],t);return-1===n?void 0:y(ve[e],n,1)[0]}return h(ve[e])},o.removeHooks=function(e){ve[e]=[]},o.removeAllHooks=function(){ve={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},o}();return me});
|
|
1
|
+
/*! @license DOMPurify 3.4.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.4/LICENSE */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DOMPurify=t()}(this,function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function t(t,n){return function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,i,a,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t);else for(;!(c=(o=i.call(n)).done)&&(l.push(o.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw r}}return l}}(t,n)||function(t,n){if(t){if("string"==typeof t)return e(t,n);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?e(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const n=Object.entries,o=Object.setPrototypeOf,r=Object.isFrozen,i=Object.getPrototypeOf,a=Object.getOwnPropertyDescriptor;let l=Object.freeze,c=Object.seal,s=Object.create,u="undefined"!=typeof Reflect&&Reflect,f=u.apply,m=u.construct;l||(l=function(e){return e}),c||(c=function(e){return e}),f||(f=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];return e.apply(t,o)}),m||(m=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return new e(...n)});const p=L(Array.prototype.forEach),d=L(Array.prototype.lastIndexOf),h=L(Array.prototype.pop),g=L(Array.prototype.push),y=L(Array.prototype.splice),T=Array.isArray,b=L(String.prototype.toLowerCase),A=L(String.prototype.toString),S=L(String.prototype.match),E=L(String.prototype.replace),N=L(String.prototype.indexOf),_=L(String.prototype.trim),O=L(Number.prototype.toString),D=L(Boolean.prototype.toString),R="undefined"==typeof BigInt?null:L(BigInt.prototype.toString),w="undefined"==typeof Symbol?null:L(Symbol.prototype.toString),I=L(Object.prototype.hasOwnProperty),v=L(Object.prototype.toString),C=L(RegExp.prototype.test),x=(k=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return m(k,t)});var k;function L(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return f(e,t,o)}}function M(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:b;if(o&&o(e,null),!T(t))return e;let i=t.length;for(;i--;){let o=t[i];if("string"==typeof o){const e=n(o);e!==o&&(r(t)||(t[i]=e),o=e)}e[o]=!0}return e}function F(e){for(let t=0;t<e.length;t++){I(e,t)||(e[t]=null)}return e}function z(e){const o=s(null);for(const i of n(e)){var r=t(i,2);const n=r[0],a=r[1];I(e,n)&&(T(a)?o[n]=F(a):a&&"object"==typeof a&&a.constructor===Object?o[n]=z(a):o[n]=a)}return o}function P(e,t){for(;null!==e;){const n=a(e,t);if(n){if(n.get)return L(n.get);if("function"==typeof n.value)return L(n.value)}e=i(e)}return function(){return null}}const U=l(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","selectedcontent","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),H=l(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),B=l(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),G=l(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),j=l(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),W=l(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Y=l(["#text"]),X=l(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),q=l(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),$=l(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),K=l(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),V=c(/{{[\w\W]*|^[\w\W]*}}/g),Z=c(/<%[\w\W]*|^[\w\W]*%>/g),J=c(/\${[\w\W]*/g),Q=c(/^data-[\-\w.\u00B7-\uFFFF]+$/),ee=c(/^aria-[\-\w]+$/),te=c(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ne=c(/^(?:\w+script|data):/i),oe=c(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),re=c(/^html$/i),ie=c(/^[a-z][.\w]*(-[.\w]+)+$/i),ae=1,le=3,ce=7,se=8,ue=9,fe=function(){return"undefined"==typeof window?null:window};var me=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fe();const o=t=>e(t);if(o.version="3.4.4",o.removed=[],!t||!t.document||t.document.nodeType!==ue||!t.Element)return o.isSupported=!1,o;let r=t.document;const i=r,a=i.currentScript,c=t.DocumentFragment,u=t.HTMLTemplateElement,f=t.Node,m=t.Element,k=t.NodeFilter,L=t.NamedNodeMap,F=void 0===L?t.NamedNodeMap||t.MozNamedAttrMap:L,me=t.HTMLFormElement,pe=t.DOMParser,de=t.trustedTypes,he=m.prototype,ge=P(he,"cloneNode"),ye=P(he,"remove"),Te=P(he,"nextSibling"),be=P(he,"childNodes"),Ae=P(he,"parentNode"),Se=f&&f.prototype?P(f.prototype,"nodeType"):null;if("function"==typeof u){const e=r.createElement("template");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let Ee,Ne="";const _e=r,Oe=_e.implementation,De=_e.createNodeIterator,Re=_e.createDocumentFragment,we=_e.getElementsByTagName,Ie=i.importNode;let ve={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};o.isSupported="function"==typeof n&&"function"==typeof Ae&&Oe&&void 0!==Oe.createHTMLDocument;const Ce=V,xe=Z,ke=J,Le=Q,Me=ee,Fe=ne,ze=oe,Pe=ie;let Ue=te,He=null;const Be=M({},[...U,...H,...B,...j,...Y]);let Ge=null;const je=M({},[...X,...q,...$,...K]);let We=Object.seal(s(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ye=null,Xe=null;const qe=Object.seal(s(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let $e=!0,Ke=!0,Ve=!1,Ze=!0,Je=!1,Qe=!0,et=!1,tt=!1,nt=!1,ot=!1,rt=!1,it=!1,at=!0,lt=!1;const ct="user-content-";let st=!0,ut=!1,ft={},mt=null;const pt=M({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let dt=null;const ht=M({},["audio","video","img","source","image","track"]);let gt=null;const yt=M({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Tt="http://www.w3.org/1998/Math/MathML",bt="http://www.w3.org/2000/svg",At="http://www.w3.org/1999/xhtml";let St=At,Et=!1,Nt=null;const _t=M({},[Tt,bt,At],A);let Ot=M({},["mi","mo","mn","ms","mtext"]),Dt=M({},["annotation-xml"]);const Rt=M({},["title","style","font","a","script"]);let wt=null;const It=["application/xhtml+xml","text/html"];let vt=null,Ct=null;const xt=r.createElement("form"),kt=function(e){return e instanceof RegExp||e instanceof Function},Lt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Ct&&Ct===e)return;e&&"object"==typeof e||(e={}),e=z(e),wt=-1===It.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,vt="application/xhtml+xml"===wt?A:b,He=I(e,"ALLOWED_TAGS")&&T(e.ALLOWED_TAGS)?M({},e.ALLOWED_TAGS,vt):Be,Ge=I(e,"ALLOWED_ATTR")&&T(e.ALLOWED_ATTR)?M({},e.ALLOWED_ATTR,vt):je,Nt=I(e,"ALLOWED_NAMESPACES")&&T(e.ALLOWED_NAMESPACES)?M({},e.ALLOWED_NAMESPACES,A):_t,gt=I(e,"ADD_URI_SAFE_ATTR")&&T(e.ADD_URI_SAFE_ATTR)?M(z(yt),e.ADD_URI_SAFE_ATTR,vt):yt,dt=I(e,"ADD_DATA_URI_TAGS")&&T(e.ADD_DATA_URI_TAGS)?M(z(ht),e.ADD_DATA_URI_TAGS,vt):ht,mt=I(e,"FORBID_CONTENTS")&&T(e.FORBID_CONTENTS)?M({},e.FORBID_CONTENTS,vt):pt,Ye=I(e,"FORBID_TAGS")&&T(e.FORBID_TAGS)?M({},e.FORBID_TAGS,vt):z({}),Xe=I(e,"FORBID_ATTR")&&T(e.FORBID_ATTR)?M({},e.FORBID_ATTR,vt):z({}),ft=!!I(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?z(e.USE_PROFILES):e.USE_PROFILES),$e=!1!==e.ALLOW_ARIA_ATTR,Ke=!1!==e.ALLOW_DATA_ATTR,Ve=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ze=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Je=e.SAFE_FOR_TEMPLATES||!1,Qe=!1!==e.SAFE_FOR_XML,et=e.WHOLE_DOCUMENT||!1,ot=e.RETURN_DOM||!1,rt=e.RETURN_DOM_FRAGMENT||!1,it=e.RETURN_TRUSTED_TYPE||!1,nt=e.FORCE_BODY||!1,at=!1!==e.SANITIZE_DOM,lt=e.SANITIZE_NAMED_PROPS||!1,st=!1!==e.KEEP_CONTENT,ut=e.IN_PLACE||!1,Ue=function(e){try{return C(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:te,St="string"==typeof e.NAMESPACE?e.NAMESPACE:At,Ot=I(e,"MATHML_TEXT_INTEGRATION_POINTS")&&e.MATHML_TEXT_INTEGRATION_POINTS&&"object"==typeof e.MATHML_TEXT_INTEGRATION_POINTS?z(e.MATHML_TEXT_INTEGRATION_POINTS):M({},["mi","mo","mn","ms","mtext"]),Dt=I(e,"HTML_INTEGRATION_POINTS")&&e.HTML_INTEGRATION_POINTS&&"object"==typeof e.HTML_INTEGRATION_POINTS?z(e.HTML_INTEGRATION_POINTS):M({},["annotation-xml"]);const t=I(e,"CUSTOM_ELEMENT_HANDLING")&&e.CUSTOM_ELEMENT_HANDLING&&"object"==typeof e.CUSTOM_ELEMENT_HANDLING?z(e.CUSTOM_ELEMENT_HANDLING):s(null);if(We=s(null),I(t,"tagNameCheck")&&kt(t.tagNameCheck)&&(We.tagNameCheck=t.tagNameCheck),I(t,"attributeNameCheck")&&kt(t.attributeNameCheck)&&(We.attributeNameCheck=t.attributeNameCheck),I(t,"allowCustomizedBuiltInElements")&&"boolean"==typeof t.allowCustomizedBuiltInElements&&(We.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),Je&&(Ke=!1),rt&&(ot=!0),ft&&(He=M({},Y),Ge=s(null),!0===ft.html&&(M(He,U),M(Ge,X)),!0===ft.svg&&(M(He,H),M(Ge,q),M(Ge,K)),!0===ft.svgFilters&&(M(He,B),M(Ge,q),M(Ge,K)),!0===ft.mathMl&&(M(He,j),M(Ge,$),M(Ge,K))),qe.tagCheck=null,qe.attributeCheck=null,I(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?qe.tagCheck=e.ADD_TAGS:T(e.ADD_TAGS)&&(He===Be&&(He=z(He)),M(He,e.ADD_TAGS,vt))),I(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?qe.attributeCheck=e.ADD_ATTR:T(e.ADD_ATTR)&&(Ge===je&&(Ge=z(Ge)),M(Ge,e.ADD_ATTR,vt))),I(e,"ADD_URI_SAFE_ATTR")&&T(e.ADD_URI_SAFE_ATTR)&&M(gt,e.ADD_URI_SAFE_ATTR,vt),I(e,"FORBID_CONTENTS")&&T(e.FORBID_CONTENTS)&&(mt===pt&&(mt=z(mt)),M(mt,e.FORBID_CONTENTS,vt)),I(e,"ADD_FORBID_CONTENTS")&&T(e.ADD_FORBID_CONTENTS)&&(mt===pt&&(mt=z(mt)),M(mt,e.ADD_FORBID_CONTENTS,vt)),st&&(He["#text"]=!0),et&&M(He,["html","head","body"]),He.table&&(M(He,["tbody"]),delete Ye.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw x('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Ee=e.TRUSTED_TYPES_POLICY,Ne=Ee.createHTML("")}else void 0===Ee&&(Ee=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const o="data-tt-policy-suffix";t&&t.hasAttribute(o)&&(n=t.getAttribute(o));const r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(de,a)),null!==Ee&&"string"==typeof Ne&&(Ne=Ee.createHTML(""));l&&l(e),Ct=e},Mt=M({},[...H,...B,...G]),Ft=M({},[...j,...W]),zt=function(e){g(o.removed,{element:e});try{Ae(e).removeChild(e)}catch(t){ye(e)}},Pt=function(e,t){try{g(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){g(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(ot||rt)try{zt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Ut=function(e){let t=null,n=null;if(nt)e="<remove></remove>"+e;else{const t=S(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===wt&&St===At&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const o=Ee?Ee.createHTML(e):e;if(St===At)try{t=(new pe).parseFromString(o,wt)}catch(e){}if(!t||!t.documentElement){t=Oe.createDocument(St,"template",null);try{t.documentElement.innerHTML=Et?Ne:o}catch(e){}}const i=t.body||t.documentElement;return e&&n&&i.insertBefore(r.createTextNode(n),i.childNodes[0]||null),St===At?we.call(t,et?"html":"body")[0]:et?t.documentElement:i},Ht=function(e){return De.call(e.ownerDocument||e,e,k.SHOW_ELEMENT|k.SHOW_COMMENT|k.SHOW_TEXT|k.SHOW_PROCESSING_INSTRUCTION|k.SHOW_CDATA_SECTION,null)},Bt=function(e){e.normalize();const t=De.call(e.ownerDocument||e,e,k.SHOW_TEXT|k.SHOW_COMMENT|k.SHOW_CDATA_SECTION|k.SHOW_PROCESSING_INSTRUCTION,null);let n=t.nextNode();for(;n;){let e=n.data;p([Ce,xe,ke],t=>{e=E(e,t," ")}),n.data=e,n=t.nextNode()}},Gt=function(e){return e instanceof me&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof F)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},jt=function(e){if(!Se||"object"!=typeof e||null===e)return!1;try{return"number"==typeof Se(e)}catch(e){return!1}};function Wt(e,t,n){p(e,e=>{e.call(o,t,n,Ct)})}const Yt=function(e){let t=null;if(Wt(ve.beforeSanitizeElements,e,null),Gt(e))return zt(e),!0;const n=vt(e.nodeName);if(Wt(ve.uponSanitizeElement,e,{tagName:n,allowedTags:He}),Qe&&e.hasChildNodes()&&!jt(e.firstElementChild)&&C(/<[/\w!]/g,e.innerHTML)&&C(/<[/\w!]/g,e.textContent))return zt(e),!0;if(Qe&&e.namespaceURI===At&&"style"===n&&jt(e.firstElementChild))return zt(e),!0;if(e.nodeType===ce)return zt(e),!0;if(Qe&&e.nodeType===se&&C(/<[/\w]/g,e.data))return zt(e),!0;if(Ye[n]||!(qe.tagCheck instanceof Function&&qe.tagCheck(n))&&!He[n]){if(!Ye[n]&&$t(n)){if(We.tagNameCheck instanceof RegExp&&C(We.tagNameCheck,n))return!1;if(We.tagNameCheck instanceof Function&&We.tagNameCheck(n))return!1}if(st&&!mt[n]){const t=Ae(e)||e.parentNode,n=be(e)||e.childNodes;if(n&&t){for(let o=n.length-1;o>=0;--o){const r=ge(n[o],!0);t.insertBefore(r,Te(e))}}}return zt(e),!0}return e instanceof m&&!function(e){let t=Ae(e);t&&t.tagName||(t={namespaceURI:St,tagName:"template"});const n=b(e.tagName),o=b(t.tagName);return!!Nt[e.namespaceURI]&&(e.namespaceURI===bt?t.namespaceURI===At?"svg"===n:t.namespaceURI===Tt?"svg"===n&&("annotation-xml"===o||Ot[o]):Boolean(Mt[n]):e.namespaceURI===Tt?t.namespaceURI===At?"math"===n:t.namespaceURI===bt?"math"===n&&Dt[o]:Boolean(Ft[n]):e.namespaceURI===At?!(t.namespaceURI===bt&&!Dt[o])&&!(t.namespaceURI===Tt&&!Ot[o])&&!Ft[n]&&(Rt[n]||!Mt[n]):!("application/xhtml+xml"!==wt||!Nt[e.namespaceURI]))}(e)?(zt(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!C(/<\/no(script|embed|frames)/i,e.innerHTML)?(Je&&e.nodeType===le&&(t=e.textContent,p([Ce,xe,ke],e=>{t=E(t,e," ")}),e.textContent!==t&&(g(o.removed,{element:e.cloneNode()}),e.textContent=t)),Wt(ve.afterSanitizeElements,e,null),!1):(zt(e),!0)},Xt=function(e,t,n){if(Xe[t])return!1;if(at&&("id"===t||"name"===t)&&(n in r||n in xt))return!1;const o=Ge[t]||qe.attributeCheck instanceof Function&&qe.attributeCheck(t,e);if(Ke&&!Xe[t]&&C(Le,t));else if($e&&C(Me,t));else if(!o||Xe[t]){if(!($t(e)&&(We.tagNameCheck instanceof RegExp&&C(We.tagNameCheck,e)||We.tagNameCheck instanceof Function&&We.tagNameCheck(e))&&(We.attributeNameCheck instanceof RegExp&&C(We.attributeNameCheck,t)||We.attributeNameCheck instanceof Function&&We.attributeNameCheck(t,e))||"is"===t&&We.allowCustomizedBuiltInElements&&(We.tagNameCheck instanceof RegExp&&C(We.tagNameCheck,n)||We.tagNameCheck instanceof Function&&We.tagNameCheck(n))))return!1}else if(gt[t]);else if(C(Ue,E(n,ze,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==N(n,"data:")||!dt[e]){if(Ve&&!C(Fe,E(n,ze,"")));else if(n)return!1}else;return!0},qt=M({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),$t=function(e){return!qt[b(e)]&&C(Pe,e)},Kt=function(e){Wt(ve.beforeSanitizeAttributes,e,null);const t=e.attributes;if(!t||Gt(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ge,forceKeepAttr:void 0};let r=t.length;for(;r--;){const i=t[r],a=i.name,l=i.namespaceURI,c=i.value,s=vt(a),u=c;let f="value"===a?u:_(u);if(n.attrName=s,n.attrValue=f,n.keepAttr=!0,n.forceKeepAttr=void 0,Wt(ve.uponSanitizeAttribute,e,n),f=n.attrValue,!lt||"id"!==s&&"name"!==s||0===N(f,ct)||(Pt(a,e),f=ct+f),Qe&&C(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,f)){Pt(a,e);continue}if("attributename"===s&&S(f,"href")){Pt(a,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){Pt(a,e);continue}if(!Ze&&C(/\/>/i,f)){Pt(a,e);continue}Je&&p([Ce,xe,ke],e=>{f=E(f,e," ")});const m=vt(e.nodeName);if(Xt(m,s,f)){if(Ee&&"object"==typeof de&&"function"==typeof de.getAttributeType)if(l);else switch(de.getAttributeType(m,s)){case"TrustedHTML":f=Ee.createHTML(f);break;case"TrustedScriptURL":f=Ee.createScriptURL(f)}if(f!==u)try{l?e.setAttributeNS(l,a,f):e.setAttribute(a,f),Gt(e)?zt(e):h(o.removed)}catch(t){Pt(a,e)}}else Pt(a,e)}Wt(ve.afterSanitizeAttributes,e,null)},Vt=function(e){let t=null;const n=Ht(e);for(Wt(ve.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)Wt(ve.uponSanitizeShadowNode,t,null),Yt(t),Kt(t),t.content instanceof c&&Vt(t.content);Wt(ve.afterSanitizeShadowDOM,e,null)},Zt=function(e){if(e.nodeType===ae&&e.shadowRoot instanceof c){const t=e.shadowRoot;Zt(t),Vt(t)}const t=e.childNodes;if(!t)return;const n=[];p(t,e=>{g(n,e)});for(const e of n)Zt(e)};return o.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,r=null,a=null,l=null;if(Et=!e,Et&&(e="\x3c!--\x3e"),"string"!=typeof e&&!jt(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return O(e);case"boolean":return D(e);case"bigint":return R?R(e):"0";case"symbol":return w?w(e):"Symbol()";case"undefined":default:return v(e);case"function":case"object":{if(null===e)return v(e);const t=e,n=P(t,"toString");if("function"==typeof n){const e=n(t);return"string"==typeof e?e:v(e)}return v(e)}}}(e)))throw x("dirty is not a string, aborting");if(!o.isSupported)return e;if(tt||Lt(t),o.removed=[],"string"==typeof e&&(ut=!1),ut){const t=e.nodeName;if("string"==typeof t){const e=vt(t);if(!He[e]||Ye[e])throw x("root node is forbidden and cannot be sanitized in-place")}Zt(e)}else if(jt(e))n=Ut("\x3c!----\x3e"),r=n.ownerDocument.importNode(e,!0),r.nodeType===ae&&"BODY"===r.nodeName||"HTML"===r.nodeName?n=r:n.appendChild(r),Zt(r);else{if(!ot&&!Je&&!et&&-1===e.indexOf("<"))return Ee&&it?Ee.createHTML(e):e;if(n=Ut(e),!n)return ot?null:it?Ne:""}n&&nt&&zt(n.firstChild);const s=Ht(ut?e:n);for(;a=s.nextNode();)Yt(a),Kt(a),a.content instanceof c&&Vt(a.content);if(ut)return Je&&Bt(e),e;if(ot){if(Je&&Bt(n),rt)for(l=Re.call(n.ownerDocument);n.firstChild;)l.appendChild(n.firstChild);else l=n;return(Ge.shadowroot||Ge.shadowrootmode)&&(l=Ie.call(i,l,!0)),l}let u=et?n.outerHTML:n.innerHTML;return et&&He["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&C(re,n.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+u),Je&&p([Ce,xe,ke],e=>{u=E(u,e," ")}),Ee&&it?Ee.createHTML(u):u},o.setConfig=function(){Lt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),tt=!0},o.clearConfig=function(){Ct=null,tt=!1},o.isValidAttribute=function(e,t,n){Ct||Lt({});const o=vt(e),r=vt(t);return Xt(o,r,n)},o.addHook=function(e,t){"function"==typeof t&&g(ve[e],t)},o.removeHook=function(e,t){if(void 0!==t){const n=d(ve[e],t);return-1===n?void 0:y(ve[e],n,1)[0]}return h(ve[e])},o.removeHooks=function(e){ve[e]=[]},o.removeAllHooks=function(){ve={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},o}();return me});
|
|
3
3
|
//# sourceMappingURL=purify.min.js.map
|
package/dist/purify.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purify.min.js","sources":["../src/utils.ts","../src/tags.ts","../src/attrs.ts","../src/regexp.ts","../src/purify.ts"],"sourcesContent":[null,null,null,null,null],"names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","x","func","thisArg","_len","arguments","length","args","Array","_key","Func","_len2","_key2","arrayForEach","unapply","prototype","forEach","arrayLastIndexOf","lastIndexOf","arrayPop","pop","arrayPush","push","arraySplice","splice","arrayIsArray","isArray","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","numberToString","Number","booleanToString","Boolean","bigintToString","BigInt","symbolToString","Symbol","objectHasOwnProperty","hasOwnProperty","objectToString","regExpTest","RegExp","test","typeErrorCreate","TypeError","_len4","_key4","lastIndex","_len3","_key3","addToSet","set","array","transformCaseFunc","l","element","lcElement","cleanArray","index","clone","object","newObject","_ref2","_ref3","_slicedToArray","property","value","constructor","lookupGetter","prop","desc","get","html","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","text","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","NODE_TYPE","getGlobal","window","purify","createDOMPurify","undefined","DOMPurify","root","version","VERSION","removed","document","nodeType","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","trustedTypes","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","tagCheck","attributeCheck","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","_unused","isRegex","ALLOWED_URI_REGEXP","customElementHandling","ADD_TAGS","ADD_ATTR","ADD_FORBID_CONTENTS","table","tbody","TRUSTED_TYPES_POLICY","createHTML","createScriptURL","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","scriptUrl","_","console","warn","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","node","removeChild","_removeAttribute","name","attribute","getAttributeNode","from","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","call","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","nodeName","textContent","attributes","namespaceURI","hasChildNodes","_isNode","_executeHooks","currentNode","data","hook","_sanitizeElements","tagName","allowedTags","firstElementChild","_isBasicCustomElement","parentNode","i","childClone","parent","parentTagName","_checkValidNamespace","expr","_isValidAttribute","lcTag","lcName","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","initValue","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","_sanitizeAttachedShadowRoots","shadowRoot","sr","snapshot","child","sanitize","importedNode","returnNode","valueAsRecord","valueToString","stringified","stringifyValue","nn","appendChild","firstChild","nodeIterator","normalize","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":"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AEjCA,GACiB,iBAAVA,GACPA,EAAMC,cAAgBzF,OAEtBmF,EAAUI,GAAYN,EAAMO,GAE5BL,EAAUI,GAAYC,EAG5B,CAEA,OAAOL,CACT,CAmEA,SAASO,EACPR,EACAS,GAEA,KAAkB,OAAXT,GAAiB,CACtB,MAAMU,EAAOxF,EAAyB8E,EAAQS,GAE9C,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAOpE,EAAQmE,EAAKC,KAGtB,GAA0B,mBAAfD,EAAKJ,MACd,OAAO/D,EAAQmE,EAAKJ,MAExB,CAEAN,EAAS/E,EAAe+E,EAC1B,CAMA,OAJA,WACE,OAAO,IACT,CAGF,CC1RO,MAAMY,EAAOzF,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAGW0F,EAAM1F,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGW2F,EAAa3F,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOW4F,EAAgB5F,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGW6F,EAAS7F,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAKW8F,EAAmB9F,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGW+F,EAAO/F,EAAO,CAAC,UC1RfyF,EAAOzF,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,UAGW0F,EAAM1F,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW6F,EAAS7F,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,c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"}
|
|
1
|
+
{"version":3,"file":"purify.min.js","sources":["../src/utils.ts","../src/tags.ts","../src/attrs.ts","../src/regexp.ts","../src/purify.ts"],"sourcesContent":[null,null,null,null,null],"names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","x","func","thisArg","_len","arguments","length","args","Array","_key","Func","_len2","_key2","arrayForEach","unapply","prototype","forEach","arrayLastIndexOf","lastIndexOf","arrayPop","pop","arrayPush","push","arraySplice","splice","arrayIsArray","isArray","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","numberToString","Number","booleanToString","Boolean","bigintToString","BigInt","symbolToString","Symbol","objectHasOwnProperty","hasOwnProperty","objectToString","regExpTest","RegExp","test","typeErrorCreate","TypeError","_len4","_key4","lastIndex","_len3","_key3","addToSet","set","array","transformCaseFunc","l","element","lcElement","cleanArray","index","clone","object","newObject","_ref2","_ref3","_slicedToArray","property","value","constructor","lookupGetter","prop","desc","get","html","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","text","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","NODE_TYPE","getGlobal","window","purify","createDOMPurify","undefined","DOMPurify","root","version","VERSION","removed","document","nodeType","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","trustedTypes","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","getNodeType","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","tagCheck","attributeCheck","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","_unused","isRegex","ALLOWED_URI_REGEXP","customElementHandling","ADD_TAGS","ADD_ATTR","ADD_FORBID_CONTENTS","table","tbody","TRUSTED_TYPES_POLICY","createHTML","createScriptURL","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","scriptUrl","_","console","warn","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","node","removeChild","_removeAttribute","name","attribute","getAttributeNode","from","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","call","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_scrubTemplateExpressions","normalize","walker","currentNode","nextNode","data","expr","_isClobbered","nodeName","textContent","attributes","namespaceURI","hasChildNodes","_isNode","_executeHooks","hook","_sanitizeElements","tagName","allowedTags","firstElementChild","_isBasicCustomElement","parentNode","i","childClone","parent","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","lcName","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","initValue","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","_sanitizeAttachedShadowRoots","shadowRoot","sr","snapshot","child","sanitize","importedNode","returnNode","valueAsRecord","valueToString","stringified","stringifyValue","nn","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":"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AEjCA,GACiB,iBAAVA,GACPA,EAAMC,cAAgBzF,OAEtBmF,EAAUI,GAAYN,EAAMO,GAE5BL,EAAUI,GAAYC,EAG5B,CAEA,OAAOL,CACT,CAmEA,SAASO,EACPR,EACAS,GAEA,KAAkB,OAAXT,GAAiB,CACtB,MAAMU,EAAOxF,EAAyB8E,EAAQS,GAE9C,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAOpE,EAAQmE,EAAKC,KAGtB,GAA0B,mBAAfD,EAAKJ,MACd,OAAO/D,EAAQmE,EAAKJ,MAExB,CAEAN,EAAS/E,EAAe+E,EAC1B,CAMA,OAJA,WACE,OAAO,IACT,CAGF,CC1RO,MAAMY,EAAOzF,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,kBACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAGW0F,EAAM1F,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGW2F,EAAa3F,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOW4F,EAAgB5F,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGW6F,EAAS7F,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAKW8F,EAAmB9F,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGW+F,EAAO/F,EAAO,CAAC,UC3RfyF,EAAOzF,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,UAGW0F,EAAM1F,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW6F,EAAS7F,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,i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"}
|
package/package.json
CHANGED
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"@rollup/plugin-terser": "^1.0.0",
|
|
117
117
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
118
118
|
"@types/estree": "^1.0.9",
|
|
119
|
-
"@types/node": "^25.
|
|
119
|
+
"@types/node": "^25.8.0",
|
|
120
120
|
"cross-env": "^10.1.0",
|
|
121
121
|
"eslint-config-prettier": "^10.1.8",
|
|
122
122
|
"eslint-plugin-prettier": "^5.2.1",
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"qunit": "^2.4.1",
|
|
129
129
|
"qunit-tap": "^1.5.0",
|
|
130
130
|
"rimraf": "^6.0.1",
|
|
131
|
-
"rollup": "^4.60.
|
|
131
|
+
"rollup": "^4.60.4",
|
|
132
132
|
"rollup-plugin-dts": "^6.4.1",
|
|
133
133
|
"tslib": "^2.7.0",
|
|
134
134
|
"typescript": "^5.6.3",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
},
|
|
140
140
|
"name": "dompurify",
|
|
141
141
|
"description": "DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else using Blink or WebKit). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.",
|
|
142
|
-
"version": "3.4.
|
|
142
|
+
"version": "3.4.4",
|
|
143
143
|
"directories": {
|
|
144
144
|
"test": "test"
|
|
145
145
|
},
|
package/src/attrs.ts
CHANGED
package/src/purify.ts
CHANGED
|
@@ -166,6 +166,8 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
166
166
|
const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
|
|
167
167
|
const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
|
|
168
168
|
const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
|
|
169
|
+
const getNodeType =
|
|
170
|
+
Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeType') : null;
|
|
169
171
|
|
|
170
172
|
// As per issue #47, the web-components registry is inherited by a
|
|
171
173
|
// new document created via createHTMLDocument. As per the spec
|
|
@@ -1063,6 +1065,49 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1063
1065
|
);
|
|
1064
1066
|
};
|
|
1065
1067
|
|
|
1068
|
+
/**
|
|
1069
|
+
* Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the
|
|
1070
|
+
* character data of an element subtree. Used as the final safety net for
|
|
1071
|
+
* SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions
|
|
1072
|
+
* which only form after text-node normalization (e.g. fragments split across
|
|
1073
|
+
* stripped elements) cannot survive into a template-evaluating framework.
|
|
1074
|
+
*
|
|
1075
|
+
* Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`
|
|
1076
|
+
* in place rather than round-tripping through innerHTML. This preserves
|
|
1077
|
+
* descendant node references (important for IN_PLACE callers), avoids a
|
|
1078
|
+
* serialize/reparse cycle, and reads literal character data — which means
|
|
1079
|
+
* `<%...%>` in text content matches the ERB regex against its real bytes
|
|
1080
|
+
* instead of the HTML-entity-escaped form innerHTML would produce.
|
|
1081
|
+
*
|
|
1082
|
+
* Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for
|
|
1083
|
+
* attributes is performed during the per-node `_sanitizeAttributes` pass.
|
|
1084
|
+
*
|
|
1085
|
+
* @param node The root element whose character data should be scrubbed.
|
|
1086
|
+
*/
|
|
1087
|
+
const _scrubTemplateExpressions = function (node: Element): void {
|
|
1088
|
+
node.normalize();
|
|
1089
|
+
const walker = createNodeIterator.call(
|
|
1090
|
+
node.ownerDocument || node,
|
|
1091
|
+
node,
|
|
1092
|
+
// eslint-disable-next-line no-bitwise
|
|
1093
|
+
NodeFilter.SHOW_TEXT |
|
|
1094
|
+
NodeFilter.SHOW_COMMENT |
|
|
1095
|
+
NodeFilter.SHOW_CDATA_SECTION |
|
|
1096
|
+
NodeFilter.SHOW_PROCESSING_INSTRUCTION,
|
|
1097
|
+
null
|
|
1098
|
+
);
|
|
1099
|
+
|
|
1100
|
+
let currentNode = walker.nextNode() as CharacterData | null;
|
|
1101
|
+
while (currentNode) {
|
|
1102
|
+
let data = currentNode.data;
|
|
1103
|
+
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr: RegExp) => {
|
|
1104
|
+
data = stringReplace(data, expr, ' ');
|
|
1105
|
+
});
|
|
1106
|
+
currentNode.data = data;
|
|
1107
|
+
currentNode = walker.nextNode() as CharacterData | null;
|
|
1108
|
+
}
|
|
1109
|
+
};
|
|
1110
|
+
|
|
1066
1111
|
/**
|
|
1067
1112
|
* _isClobbered
|
|
1068
1113
|
*
|
|
@@ -1085,13 +1130,32 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1085
1130
|
};
|
|
1086
1131
|
|
|
1087
1132
|
/**
|
|
1088
|
-
* Checks whether the given object is a DOM node
|
|
1133
|
+
* Checks whether the given object is a DOM node, including nodes that
|
|
1134
|
+
* originate from a different window/realm (e.g. an iframe's
|
|
1135
|
+
* contentDocument). The previous `value instanceof Node` check was
|
|
1136
|
+
* realm-bound: nodes from a different window failed it, causing
|
|
1137
|
+
* sanitize() to silently stringify them and reset IN_PLACE to false,
|
|
1138
|
+
* returning the original node unsanitized. See GHSA-4w3q-35jp-p934.
|
|
1139
|
+
*
|
|
1140
|
+
* Implementation: call the cached `nodeType` getter from Node.prototype
|
|
1141
|
+
* directly on the value. This bypasses any clobbered instance property
|
|
1142
|
+
* (e.g. a child element named "nodeType") and works across realms
|
|
1143
|
+
* because the WebIDL `nodeType` getter reads an internal slot that
|
|
1144
|
+
* every real Node has, regardless of which window minted it.
|
|
1089
1145
|
*
|
|
1090
1146
|
* @param value object to check whether it's a DOM node
|
|
1091
|
-
* @return true
|
|
1147
|
+
* @return true if value is a DOM node from any realm
|
|
1092
1148
|
*/
|
|
1093
1149
|
const _isNode = function (value: unknown): value is Node {
|
|
1094
|
-
|
|
1150
|
+
if (!getNodeType || typeof value !== 'object' || value === null) {
|
|
1151
|
+
return false;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
try {
|
|
1155
|
+
return typeof getNodeType(value) === 'number';
|
|
1156
|
+
} catch (_) {
|
|
1157
|
+
return false;
|
|
1158
|
+
}
|
|
1095
1159
|
};
|
|
1096
1160
|
|
|
1097
1161
|
function _executeHooks<T extends HookFunction>(
|
|
@@ -1698,7 +1762,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1698
1762
|
/* Sanitize attached shadow roots before the main iterator runs.
|
|
1699
1763
|
The iterator does not descend into shadow trees. */
|
|
1700
1764
|
_sanitizeAttachedShadowRoots(dirty as Node);
|
|
1701
|
-
} else if (dirty
|
|
1765
|
+
} else if (_isNode(dirty)) {
|
|
1702
1766
|
/* If dirty is a DOM element, append to an empty document to avoid
|
|
1703
1767
|
elements being stripped by the parser */
|
|
1704
1768
|
body = _initDocument('<!---->');
|
|
@@ -1767,18 +1831,17 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1767
1831
|
|
|
1768
1832
|
/* If we sanitized `dirty` in-place, return it. */
|
|
1769
1833
|
if (IN_PLACE) {
|
|
1834
|
+
if (SAFE_FOR_TEMPLATES) {
|
|
1835
|
+
_scrubTemplateExpressions(dirty as Element);
|
|
1836
|
+
}
|
|
1837
|
+
|
|
1770
1838
|
return dirty;
|
|
1771
1839
|
}
|
|
1772
1840
|
|
|
1773
1841
|
/* Return sanitized string or DOM */
|
|
1774
1842
|
if (RETURN_DOM) {
|
|
1775
1843
|
if (SAFE_FOR_TEMPLATES) {
|
|
1776
|
-
body
|
|
1777
|
-
let html = body.innerHTML;
|
|
1778
|
-
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr: RegExp) => {
|
|
1779
|
-
html = stringReplace(html, expr, ' ');
|
|
1780
|
-
});
|
|
1781
|
-
body.innerHTML = html;
|
|
1844
|
+
_scrubTemplateExpressions(body);
|
|
1782
1845
|
}
|
|
1783
1846
|
|
|
1784
1847
|
if (RETURN_DOM_FRAGMENT) {
|