xloss
Version:
Frontend web package built with TypeScript
1 lines • 13.3 kB
JavaScript
(()=>{"use strict";var e={56:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},72:e=>{var n=[];function t(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function o(e,o){for(var s={},i=[],a=0;a<e.length;a++){var c=e[a],l=o.base?c[0]+o.base:c[0],d=s[l]||0,p="".concat(l," ").concat(d);s[l]=d+1;var u=t(p),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==u)n[u].references++,n[u].updater(m);else{var h=r(m,o);o.byIndex=a,n.splice(a,0,{identifier:p,updater:h,references:1})}i.push(p)}return i}function r(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,r){var s=o(e=e||[],r=r||{});return function(e){e=e||[];for(var i=0;i<s.length;i++){var a=t(s[i]);n[a].references--}for(var c=o(e,r),l=0;l<s.length;l++){var d=t(s[l]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}s=c}}},113:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},249:(e,n,t)=>{t.d(n,{A:()=>a});var o=t(601),r=t.n(o),s=t(314),i=t.n(s)()(r());i.push([e.id,".xloss-demo-container {\n font-family: Arial, sans-serif;\n background-color: #f0f8ff;\n border-radius: 8px;\n padding: 20px;\n margin: 20px 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n}\n\n.xloss-demo-container h2 {\n color: #1a73e8;\n margin-top: 0;\n border-bottom: 1px solid #c7dcff;\n padding-bottom: 10px;\n}\n\n.xloss-demo-container p {\n font-size: 15px;\n line-height: 1.5;\n color: #444;\n}\n\n.xloss-example {\n background-color: #fff;\n border: 1px dashed #aaa;\n padding: 15px;\n margin: 15px 0;\n min-height: 100px;\n position: relative;\n}\n\n.preloaded-examples .xloss-example {\n border: 1px solid #d1e7ff;\n box-shadow: 0 1px 3px rgba(0,0,0,0.05);\n background-color: #fafcff;\n}\n\n.preloaded-examples .xloss-example h4 {\n margin-top: 0;\n color: #0050c8;\n font-size: 14px;\n border-bottom: 1px solid #eef5ff;\n padding-bottom: 8px;\n margin-bottom: 15px;\n}\n\n.xloss-demo-container h3 {\n color: #4285f4;\n margin-top: 25px;\n font-size: 18px;\n border-left: 3px solid #4285f4;\n padding-left: 10px;\n}\n\n.xloss-demo-container button {\n background-color: #1a73e8;\n color: white;\n border: none;\n padding: 10px 16px;\n font-size: 14px;\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.3s;\n margin-top: 10px;\n}\n\n.xloss-demo-container button:hover {\n background-color: #0d62cb;\n}\n\n/* Componente demo original */\n.xloss-demo-component {\n font-family: Arial, sans-serif;\n background-color: #f8f9fa;\n border-radius: 8px;\n padding: 20px;\n margin: 20px 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n}\n\n.xloss-demo-component h2 {\n color: #333;\n margin-top: 0;\n border-bottom: 1px solid #eee;\n padding-bottom: 10px;\n}\n\n.xloss-demo-component p {\n font-size: 16px;\n line-height: 1.5;\n color: #555;\n}\n\n.xloss-demo-component button {\n background-color: #4285f4;\n color: white;\n border: none;\n padding: 10px 16px;\n font-size: 14px;\n border-radius: 4px;\n cursor: pointer;\n transition: background-color 0.3s;\n}\n\n.xloss-demo-component button:hover {\n background-color: #3367d6;\n}\n\n.xloss-demo-component button:active {\n background-color: #2a56c6;\n}\n",""]);const a=i},314:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",o=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),o&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),o&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,o,r,s){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(o)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(i[c]=!0)}for(var l=0;l<e.length;l++){var d=[].concat(e[l]);o&&i[d[0]]||(void 0!==s&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),t&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=t):d[2]=t),r&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=r):d[4]="".concat(r)),n.push(d))}},n}},540:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},601:e=>{e.exports=function(e){return e[1]}},659:e=>{var n={};e.exports=function(e,t){var o=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},825:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,r&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var s=t.sourceMap;s&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),n.styleTagTransform(o,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}}},n={};function t(o){var r=n[o];if(void 0!==r)return r.exports;var s=n[o]={id:o,exports:{}};return e[o](s,s.exports,t),s.exports}t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.nc=void 0;var o=t(72),r=t.n(o),s=t(825),i=t.n(s),a=t(659),c=t.n(a),l=t(56),d=t.n(l),p=t(540),u=t.n(p),m=t(113),h=t.n(m),f=t(249),x={};x.styleTagTransform=h(),x.setAttributes=d(),x.insert=c().bind(null,"head"),x.domAPI=i(),x.insertStyleElement=u(),r()(f.A,x),f.A&&f.A.locals&&f.A.locals;var v=function(e,n,t,o){return new(t||(t=Promise))((function(r,s){function i(e){try{c(o.next(e))}catch(e){s(e)}}function a(e){try{c(o.throw(e))}catch(e){s(e)}}function c(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(i,a)}c((o=o.apply(e,n||[])).next())}))};const y=new class{constructor(e="root-style"){this.vars={},this.id=e,this.styleEl=this.ensureStyleElement(),this._sync()}ensureStyleElement(){let e=document.getElementById(this.id);return e||(e=document.createElement("style"),e.id=this.id,document.head.appendChild(e)),e}_sync(){const e=Object.entries(this.vars).map((([e,n])=>` --${e}: "${n}";`)).join("\n");this.styleEl.textContent=`:root {\n${e}\n}`}set(e,n){this.vars[e]=n,this._sync()}setMultiple(e){Object.assign(this.vars,e),this._sync()}add(e,n){this.vars[e]=n,this._sync()}addMultiple(e){Object.assign(this.vars,e),this._sync()}update(e,n){void 0!==this.vars[e]&&(this.vars[e]=n,this._sync())}updateMultiple(e){Object.keys(e).forEach((n=>{void 0!==this.vars[n]&&(this.vars[n]=e[n])})),this._sync()}get(e){var n;return null!==(n=this.vars[e])&&void 0!==n?n:null}remove(e){delete this.vars[e],this._sync()}removeMultiple(e){e.forEach((e=>delete this.vars[e])),this._sync()}clear(){this.vars={},this._sync()}getAll(){return Object.assign({},this.vars)}exists(e){return void 0!==this.vars[e]}getCount(){return Object.keys(this.vars).length}}("xloss-global-vars"),g=[],b=[],C=[],E=[],w=[];function A(){return{htmlElements:g,cssClass:b,cssProperties:C,allXelements:E,allXContent:w}}function T(e,n,t,o){return r=this,s=void 0,a=function*(){const r=o||"body",s=document.getElementById(`${r}`)||document.body,i=function(){const e="abcdefghijklmnopqrstuvwxyz";let n="",t="";for(let o=0;o<5;o++){const o=Math.floor(26*Math.random());n+=e.charAt(o),t+=e.charAt(o)}return n+"-"+t}();g.push(i),b.push(i);const a={[`${i}`]:n};C.push(a);const c=yield function(e,n){return v(this,void 0,void 0,(function*(){const{cipher:t,iv:o,salt:r}=yield function(e,n){return v(this,void 0,void 0,(function*(){const t=new TextEncoder,o=yield crypto.subtle.importKey("raw",t.encode(n),"PBKDF2",!1,["deriveKey"]),r=crypto.getRandomValues(new Uint8Array(16)),s=crypto.getRandomValues(new Uint8Array(12)),i=yield crypto.subtle.deriveKey({name:"PBKDF2",salt:r,iterations:1e5,hash:"SHA-256"},o,{name:"AES-GCM",length:256},!1,["encrypt"]),a=yield crypto.subtle.encrypt({name:"AES-GCM",iv:s},i,t.encode(e));return{cipher:btoa(String.fromCharCode(...new Uint8Array(a))),iv:Array.from(s),salt:Array.from(r)}}))}(e,n);return[t,yield function(e,n,t,o){return v(this,void 0,void 0,(function*(){const r=new TextEncoder,s=new TextDecoder,i=yield crypto.subtle.importKey("raw",r.encode(n),"PBKDF2",!1,["deriveKey"]),a=yield crypto.subtle.deriveKey({name:"PBKDF2",salt:new Uint8Array(o),iterations:1e5,hash:"SHA-256"},i,{name:"AES-GCM",length:256},!1,["decrypt"]),c=yield crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(t)},a,Uint8Array.from(atob(e),(e=>e.charCodeAt(0))));return s.decode(c)}))}(t,n,o,r)]}))}(e,i);y.add(i,c[0]);class l extends HTMLElement{constructor(){super();const e=document.createElement("style");e.textContent=`\n ${i}::before {\n ${n}\n }\n `,s.appendChild(e)}}customElements.define(`${i}`,l),s.innerHTML+=`<${i} id="${i}" ></${i}>`;const d=document.querySelector(`${i}`);d&&(d.innerHTML+=t);const p=`<${i} class="${b}" id="${i}"></${i}>`;E.push(p),w.push(e);const u=document.getElementById(i);if(console.log(u),u){const e=document.createElement("style");e.textContent=`\n #${i}::before {\n content: "${c[1]}";\n }\n `,document.head.appendChild(e)}return{htmlElements:g,cssClass:b,cssProperties:C,allXelements:E,allXContent:w}},new((i=void 0)||(i=Promise))((function(e,n){function t(e){try{c(a.next(e))}catch(e){n(e)}}function o(e){try{c(a.throw(e))}catch(e){n(e)}}function c(n){var r;n.done?e(n.value):(r=n.value,r instanceof i?r:new i((function(e){e(r)}))).then(t,o)}c((a=a.apply(r,s||[])).next())}));var r,s,i,a}class M{constructor(){this.container=document.createElement("div"),this.container.className="xloss-demo-container"}render(){const e=document.createElement("h2");e.textContent="XLoss Anti-Scraping Demo",this.container.appendChild(e);const n=document.createElement("p");n.textContent="Este componente muestra cómo XLoss puede proteger contenido contra scraping utilizando pseudo-elementos CSS.",this.container.appendChild(n);const t=document.createElement("h3");t.textContent="Ejemplos pre-cargados de XLoss",t.style.marginTop="20px",this.container.appendChild(t);const o=document.createElement("div");o.className="preloaded-examples";const r=document.createElement("div");r.id="xloss-example-1",r.className="xloss-example",r.innerHTML="<h4>Ejemplo 1: Texto simple protegido</h4>",o.appendChild(r);const s=document.createElement("div");s.id="xloss-example-2",s.className="xloss-example",s.innerHTML="<h4>Ejemplo 2: Texto con estilos</h4>",o.appendChild(s);const i=document.createElement("div");i.id="xloss-example-3",i.className="xloss-example",i.innerHTML="<h4>Ejemplo 3: Contenido mixto (texto protegido + HTML visible)</h4>",o.appendChild(i),this.container.appendChild(o);const a=document.createElement("h3");a.textContent="Demo interactivo",a.style.marginTop="30px",this.container.appendChild(a);const c=document.createElement("div");c.id="xloss-container",c.className="xloss-example",this.container.appendChild(c),setTimeout((()=>{T("Este es un texto protegido simple","color: #e63946; font-weight: bold;","",r.id),T("Texto con estilos personalizados","color: #2a9d8f; font-weight: bold; font-size: 18px; text-decoration: underline;","",s.id),T("Contenido protegido + HTML visible","color: #4361ee; font-weight: bold; font-style: italic;",'<p style="color: #333; margin-top: 10px;">Este es contenido HTML visible normal que complementa el contenido protegido</p>',i.id);const e=A(),n=document.createElement("pre");n.style.backgroundColor="#f5f5f5",n.style.padding="10px",n.style.marginTop="20px",n.style.overflow="auto",n.style.maxHeight="300px",n.textContent=JSON.stringify(e,null,2),o.appendChild(n)}),100);const l=document.createElement("button");return l.textContent="Agregar más texto protegido",l.addEventListener("click",(()=>{T("Este texto fue agregado interactivamente","color: #6d23b6; font-weight: bold; border-bottom: 2px dotted #6d23b6;","<p>Este es contenido adicional visible que se agregó al hacer clic</p>","xloss-container");const e=A(),n=document.createElement("pre");n.style.backgroundColor="#f5f5f5",n.style.padding="10px",n.style.marginTop="10px",n.style.overflow="auto",n.style.maxHeight="200px",n.textContent=JSON.stringify(e,null,2),c.appendChild(n)})),this.container.appendChild(l),this.container}}document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("xloss-demo-container");if(e){const n=new M;e.appendChild(n.render())}}))})();