@eswanthfrslabs/altas-dashboard-cookie-sdk 1.1.0 → 1.1.2
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/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var AtlasSDK=function(n){"use strict";var e=function(n){this.apiBaseUrl="https://play.dashboard.atlaskyc.com/v3/api",this.cookieBannerClientId=n},t="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTk0IiBoZWlnaHQ9IjU5NCIgdmlld0JveD0iMCAwIDU5NCA1OTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yOTcgMEMzMzguNTQ3IDAgMzc4LjEwMSA4LjUzMDg0IDQxNC4wMDcgMjMuOTM2NUM0MTQuMDA0IDI0LjI5MDcgNDE0IDI0LjY0NTIgNDE0IDI1QzQxNCAxMDguMzk1IDQ4MS42MDUgMTc2IDU2NSAxNzZDNTY2LjEwMSAxNzYgNTY3LjIgMTc1Ljk4NCA1NjguMjk2IDE3NS45NjFDNTg0LjgxNCAyMTIuOTI5IDU5NCAyNTMuODkyIDU5NCAyOTdDNTk0IDQ2MS4wMjkgNDYxLjAyOSA1OTQgMjk3IDU5NEMxMzIuOTcxIDU5NCAwIDQ2MS4wMjkgMCAyOTdDMCAxMzIuOTcxIDEzMi45NzEgMCAyOTcgMFoiIGZpbGw9IiNBRTBBNjAiLz4KPHJlY3QgeD0iMTAwIiB5PSIyMDgiIHdpZHRoPSIzOTQiIGhlaWdodD0iMTc5IiByeD0iODkuNSIgc3Ryb2tlPSIjQ0RDRENEIiBzdHJva2Utd2lkdGg9IjE4Ii8+CjxyZWN0IHg9IjEwMyIgeT0iMjA4IiB3aWR0aD0iMTc4IiBoZWlnaHQ9IjE3OSIgcng9Ijg5IiBzdHJva2U9IiNDRENEQ0QiIHN0cm9rZS13aWR0aD0iMTgiLz4KPC9zdmc+Cg==";function o(n,e,t,o){return new(t||(t=Promise))(function(a,i){function r(n){try{d(o.next(n))}catch(n){i(n)}}function c(n){try{d(o.throw(n))}catch(n){i(n)}}function d(n){var e;n.done?a(n.value):(e=n.value,e instanceof t?e:new t(function(n){n(e)})).then(r,c)}d((o=o.apply(n,e||[])).next())})}function a(n,e){var t,o,a,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return r.next=c(0),r.throw=c(1),r.return=c(2),"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function c(c){return function(d){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;r&&(r=0,c[0]&&(i=0)),i;)try{if(t=1,o&&(a=2&c[0]?o.return:c[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,c[1])).done)return a;switch(o=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,o=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){i.label=c[1];break}if(6===c[0]&&i.label<a[1]){i.label=a[1],a=c;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(c);break}a[2]&&i.ops.pop(),i.trys.pop();continue}c=e.call(n,i)}catch(n){c=[6,n],o=0}finally{t=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,d])}}}"function"==typeof SuppressedError&&SuppressedError;function i(n,e,t,i){return o(this,void 0,void 0,function(){var o,r,c,d,s,l;return a(this,function(a){switch(a.label){case 0:o="".concat(n.apiBaseUrl,"/cookie_scanner/submit_cookie_consent"),a.label=1;case 1:return a.trys.push([1,6,,7]),r=new Headers({Accept:"application/json"}),(c=new FormData).append("ref_id",n.cookieBannerClientId),c.append("action_type",String(e)),c.append("cookie_data",JSON.stringify(t)),i&&c.append("pre_user_id",i),[4,fetch(o,{method:"POST",headers:r,body:c})];case 2:return(d=a.sent()).ok?[3,4]:[4,d.text().catch(function(){return""})];case 3:throw s=a.sent(),new Error("Consent request failed: ".concat(d.status," ").concat(d.statusText," ").concat(s));case 4:return[4,d.json()];case 5:return[2,a.sent()];case 6:throw l=a.sent(),console.error("Error submitting cookie consent:",l),l;case 7:return[2]}})})}!function(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=n:a.appendChild(document.createTextNode(n))}}('\n.first-modal {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n padding: 16px;\n background: #f9fafb;\n border-top: 1px solid #e2e8f0;\n box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);\n z-index: 9999;\n font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;\n display: block;\n }\n \n\n.first-modal-inner {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: flex-end; \n width: 100%;\n max-width: 100%; \n margin: 0;\n gap: 16px;\n}\n\n.first-modal-content {\n flex: 1 1 auto;\n min-width: 0;\n text-align: left;\n}\n\n.first-modal-actions {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n align-items: flex-end; \n}\n \n \n.first-modal-button {\n padding: 4px 12px;\n font-size: 0.875rem;\n border-radius: 6px;\n border: 1px solid #cbd5e0;\n background: #fff;\n cursor: pointer;\n white-space: nowrap;\n }\n \n \n.overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n text-align: left;\n font-size: 16px;\n color: #1f2933;\n}\n.modal-empty-state {\n text-align: center;\n color: #616e7c;\n} \n.modal-button-outline {\n background: #fff;\n}\n.modal-section-title {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n}\n\n.modal-section-body p {\n margin: 0 0 10px 0;\n}\n\n.modal-section-body a {\n color: #2d72d9;\n text-decoration: underline;\n}\n/* je */\n\n\n\n.second-modal {\n width: 40vw;\n max-width: 40vw;\n height: 60vh; \n max-height: 60vh;\n overflow-y: auto; \n background: #ffffff;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n padding: 20px;\n margin: 40px auto;\n box-shadow: 0 10px 30px rgba(0,0,0,0.15);\n scrollbar-width: thin; \n \n}\n\n.second-accordion-body {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n \n}\n\n\n\n.second-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.second-title {\n font-size: 20px;\n font-weight: 700;\n}\n.second-back {\n padding: 6px 6px;\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n\n.second-modal-sections {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n\n.second-accordion {\n border: 1px solid #e4e7eb;\n border-radius: 10px;\n overflow: hidden;\n}\n.second-accordion-item {\n border-top: 1px solid #e4e7eb;\n}\n.second-accordion-item:first-of-type {\n border-top: none;\n}\n.second-accordion-summary {\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: flex-start; \n gap: 16px; \n cursor: pointer;\n}\n.second-accordion-text {\n flex: 1;\n min-width: 0;\n}\n\n.second-accordion-control {\n display: flex;\n align-items: center;\n flex-shrink: 0; \n}\n\n\n.second-switch {\n position: relative;\n width: 44px;\n height: 24px;\n}\n.second-switch input {\n display: none;\n}\n.second-slider {\n position: absolute;\n top: 0; left: 0; right: 0; bottom: 0;\n background: #cfd8dc;\n border-radius: 24px;\n transition: .2s;\n}\n.second-slider:before {\n content: "";\n position: absolute;\n width: 18px;\n height: 18px;\n left: 3px;\n top: 3px;\n background: white;\n border-radius: 50%;\n transition: .2s;\n}\n.second-switch input:checked + .second-slider {\n background: #1f7aed;\n}\n.second-switch input:checked + .second-slider:before {\n transform: translateX(20px);\n}\n\n\n.second-cookie-row {\n border: 1px solid #e5e7eb;\n padding: 16px;\n border-radius: 10px;\n display: flex;\n background: #fff;\n}\n.second-cookie-inner {\n display: flex;\n gap: 20px;\n}\n.second-cookie-labels {\n min-width: 140px;\n color: #6b7280;\n font-size: 12px;\n}\n.second-cookie-values {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.second-cookie-name {\n font-weight: 600;\n}\n.second-cookie-desc {\n color: #4b5563;\n}\n\n\n.second-footer-buttons {\n margin-top: 12px;\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.second-accordion-title {\n font-size: 16px; \n font-weight: 600; \n color: #111827; \n margin: 0;\n}\n\n\n.second-accordion-desc {\n font-size: 14px; \n line-height: 1.5; \n color: #4b5563; \n margin: 6px 0 0 0;\n white-space: pre-line; \n}\n\n\n.second-accordion-control {\n font-size: 14px;\n color: #1f2933;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n\n.second-cookie-desc {\n font-size: 14px;\n line-height: 1.5;\n color: #4b5563;\n}\n\n\n\n\n\n\n.modal-close{\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n cursor: pointer;\n position: relative;\n padding: 0;\n border-radius: 6px;\n transition: background-color .15s ease, transform .15s ease;\n }\n \n\n .modal-close::before,\n .modal-close::after{\n content: "";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 12px;\n height: 1.5px;\n background: #4b5563;\n border-radius: 2px;\n transform-origin: center;\n }\n \n .modal-close::before{\n transform: translate(-50%, -50%) rotate(45deg);\n }\n \n .modal-close::after{\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n \n \n .modal-close:hover{\n background-color: rgba(0,0,0,.05);\n }\n \n .modal-close:active{\n transform: scale(0.92);\n }\n \n .modal-close:focus-visible{\n outline: 2px solid #2563eb;\n outline-offset: 2px;\n }\n \n\n .modal-close .close-spinner{\n display: none;\n position: absolute;\n inset: 0;\n margin: auto;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: 2px solid rgba(0,0,0,.25);\n border-top-color: rgba(0,0,0,.65);\n animation: cookieSpin .8s linear infinite;\n }\n \n\n .modal-close.is-loading{\n pointer-events: none;\n }\n \n \n .modal-close.is-loading::before,\n .modal-close.is-loading::after{\n opacity: 0;\n }\n \n\n .modal-close.is-loading .close-spinner{\n display: block;\n }\n \n\n button.is-loading{\n position: relative;\n opacity: .85;\n pointer-events: none;\n }\n \n button.is-loading::after{\n content: "";\n display: inline-block;\n width: 14px;\n height: 14px;\n margin-left: 8px;\n border-radius: 50%;\n border: 2px solid rgba(0,0,0,.25);\n border-top-color: rgba(0,0,0,.65);\n animation: cookieSpin .8s linear infinite;\n vertical-align: middle;\n }\n \n\n @keyframes cookieSpin {\n to { transform: rotate(360deg); }\n }\n \n \n .first-modal-header{\n display: flex;\n justify-content: flex-end; \n align-items: center;\n width: 100%;\n box-sizing: border-box;\n }\n \n .second-modal-header{\n display:flex;\n align-items:center;\n justify-content:space-between;\n }\n \n ');var r=null,c=null;function d(n){var e=this;r&&(r.style.display="none");var t=document.createElement("div");t.classList.add("overlay");var d=document.createElement("div"),m=document.createElement("div");m.classList.add("modal-content"),m.innerHTML="<div>Loading...</div>",d.appendChild(m),t.appendChild(d),document.body.appendChild(t);var h=function(c){m.innerHTML="";var d=s(c,"first_layer"),h=s(c,"second_layer"),b=function(n){var e;if(!n||"object"!=typeof n)return{};return(null===(e=n.data)||void 0===e?void 0:e.cookie_data)||{}}(c),y=function(n){var e=new Map;n&&!Array.isArray(n)&&"object"==typeof n?Object.entries(n).forEach(function(n){var t=n[0],o=n[1],a=o&&"object"==typeof o&&"string"==typeof o.desc?o.desc:"",i=(Array.isArray(null==o?void 0:o.data)?o.data:[]).map(function(n){var e=n;return{name:e.normalized_name||e.name||"",category:t,domain:e.base_domain||void 0,description:e.description||null,duration_human:e.duration_human||null}}),r={name:t,desc:a||"",items:i};"boolean"==typeof o.button&&(r.button=o.button),r.raw=o,e.set(t,r)}):Array.isArray(n)&&n.forEach(function(n){var t=n&&n.category||"Other";e.has(t)||e.set(t,{name:t,desc:"",items:[]}),e.get(t).items.push(n)});var t=Array.from(e.values());return t.sort(function(n,e){var t=n.name.toLowerCase(),o=e.name.toLowerCase();return"necessary"===t?-1:"necessary"===o?1:n.name.localeCompare(e.name)}),t}(b);if(d.length){var x={view:"first"},g=function(c){return o(e,void 0,void 0,function(){var e,o,d,s,l;return a(this,function(a){switch(a.label){case 0:return e=f(),[4,new Promise(requestAnimationFrame)];case 1:a.sent(),a.label=2;case 2:return a.trys.push([2,4,5,6]),[4,i(n,c,b,e)];case 3:return o=a.sent(),(d=null!==(l=null!==(s=null==o?void 0:o.data)&&void 0!==s?s:null==o?void 0:o.pre_user_id)&&void 0!==l?l:void 0)&&d!==e&&function(n){if(!n)return;try{window.localStorage.setItem(p,n)}catch(n){}var e=new Date;e.setFullYear(e.getFullYear()+1),document.cookie="".concat(p,"=").concat(encodeURIComponent(n),"; expires=").concat(e.toUTCString(),"; path=/;")}(d),[3,6];case 4:return a.sent(),[3,6];case 5:return t.parentNode&&t.parentNode.removeChild(t),r&&(r.style.display="block"),[7];case 6:return[2]}})})},w=function(){if(m.innerHTML="","first"===x.view)!function(n,e,t){var i=this,r=document.createElement("div");r.classList.add("first-modal");var c=document.createElement("div");c.classList.add("first-modal-header"),c.innerHTML='\n <button class="modal-close first-close" aria-label="Close" type="button">\n <span class="close-spinner" aria-hidden="true"></span>\n </button>\n';var d=c.querySelector(".first-close");v(r,d,function(){return t.onAction(2)}),r.appendChild(c);var s=document.createElement("div");s.classList.add("first-modal-inner");var p=document.createElement("div");if(p.classList.add("first-modal-content"),e.length)e.forEach(function(n){p.appendChild(function(n){var e=document.createElement("div");if(e.classList.add("modal-section-block"),n.section_title){var t=document.createElement("h3");t.classList.add("modal-section-title"),t.textContent=n.section_title,e.appendChild(t)}if(n.section_body){var o=document.createElement("div");o.classList.add("modal-section-body"),o.innerHTML=n.section_body,e.appendChild(o)}return e}(n))});else{var f=document.createElement("div");f.classList.add("modal-empty-state"),f.textContent="No first-layer sections found.",p.appendChild(f)}var m=document.createElement("div");if(m.classList.add("first-modal-actions"),t.hasSecondLayer){var h=document.createElement("button");h.classList.add("first-modal-button","modal-button-outline"),h.textContent="Customise",v(r,h,function(){return o(i,void 0,void 0,function(){return a(this,function(n){return t.onCustomize(),[2]})})}),m.appendChild(h)}l(e).forEach(function(n){var e,o,a=document.createElement("button");a.classList.add("first-modal-button","modal-button-primary"),a.textContent=n.button_text||(null===(e=n.button_data)||void 0===e?void 0:e.accept_necessary_text)||(null===(o=n.button_data)||void 0===o?void 0:o.accept_selected_text)||n.button_type||"Action";var i=u(n,"first");null!==i&&v(r,a,function(){return t.onAction(i)}),m.appendChild(a)}),s.appendChild(p),s.appendChild(m),r.appendChild(s),n.appendChild(r)}(m,d,{hasSecondLayer:h.length>0,onCustomize:function(){x.view="second",w()},onAction:function(n){g(n)}});else{if(!h.length)return void(m.innerHTML='<div class="modal-empty-state">No second-layer sections found.</div>');!function(n,e,t,o){var a=document.createElement("div");a.classList.add("second-modal");var i=document.createElement("div");i.classList.add("second-modal-header"),i.innerHTML='\n <button class="second-back" aria-label="Back" type="button">←</button>\n <h2 class="second-title">Customise Consent Preferences</h2>\n <button class="modal-close second-close" aria-label="Close" type="button">\n <span class="close-spinner" aria-hidden="true"></span>\n </button>\n',i.querySelector(".second-back").addEventListener("click",o.onBack);var r=i.querySelector(".second-close");v(a,r,function(){return o.onAction(2)}),a.appendChild(i);var c=document.createElement("div");c.classList.add("second-modal-sections"),e.forEach(function(n){return c.appendChild(function(n){var e=document.createElement("div");if(n.section_title){var t=document.createElement("h3");t.classList.add("modal-section-title"),t.textContent=n.section_title,e.appendChild(t)}if(n.section_body){var o=document.createElement("div");o.classList.add("modal-section-body"),o.innerHTML=n.section_body,e.appendChild(o)}return e}(n))}),a.appendChild(c),a.appendChild(function(n){var e=document.createElement("div");return e.classList.add("second-accordion"),n.forEach(function(n){var t="necessary"===n.name.toLowerCase(),o=n,a=document.createElement("details");a.classList.add("second-accordion-item"),t&&(a.open=!0);var i=document.createElement("summary");i.classList.add("second-accordion-summary");var r=document.createElement("div");r.classList.add("second-accordion-text");var c=document.createElement("div");if(c.classList.add("second-accordion-title"),c.textContent=n.name,r.appendChild(c),n.desc){var d=document.createElement("p");d.classList.add("second-accordion-desc"),d.textContent=n.desc,r.appendChild(d)}i.appendChild(r);var s=document.createElement("div");if(s.classList.add("second-accordion-control"),t){var l=document.createElement("span");l.textContent="Always Active",s.appendChild(l),o.button=!0,o.raw&&(o.raw.button=!0)}else{var u=!!o.button;s.appendChild(function(n,e,t){var o=document.createElement("label");o.classList.add("second-switch");var a=document.createElement("input");a.type="checkbox",a.checked=e,a.dataset.categoryName=n;var i=document.createElement("span");return i.classList.add("second-slider"),a.addEventListener("change",function(){t.button=a.checked,t.raw&&(t.raw.button=a.checked)}),o.appendChild(a),o.appendChild(i),o}(n.name,u,o))}i.appendChild(s),a.appendChild(i);var p=document.createElement("div");if(p.classList.add("second-accordion-body"),n.items.length)n.items.forEach(function(n){p.appendChild(function(n){var e=document.createElement("div");e.classList.add("second-cookie-row");var t=document.createElement("div");t.classList.add("second-cookie-inner"),e.appendChild(t);var o=document.createElement("div");o.classList.add("second-cookie-labels"),o.innerHTML='\n <div class="second-cookie-label">Cookie</div>\n <div class="second-cookie-label">Duration</div>\n <div class="second-cookie-label">Description</div>\n ';var a=document.createElement("div");a.classList.add("second-cookie-values");var i=n,r=i.normalized_name||n.name||"",c=n.duration_human||"Session",d=(n.description&&n.description.trim().length?n.description:null)||"No description available.";return a.innerHTML='\n <div class="second-cookie-name">'.concat(r,'</div>\n <div class="second-cookie-duration">').concat(c,'</div>\n <div class="second-cookie-desc">').concat(d,"</div>\n "),t.appendChild(o),t.appendChild(a),e}(n))});else{var f=document.createElement("div");f.classList.add("second-empty-state"),f.textContent="No cookies found under this category.",p.appendChild(f)}a.appendChild(p),e.appendChild(a)}),e}(t));var d=l(e);if(d.length){var s=document.createElement("div");s.classList.add("second-footer-buttons"),d.forEach(function(n){var e,t,i,r,c,d,l=document.createElement("button");l.classList.add("first-modal-button","modal-button-outline");var p=null!==(d=null!==(c=null!==(i=null!==(e=n.button_text)&&void 0!==e?e:null===(t=n.button_data)||void 0===t?void 0:t.accept_necessary_text)&&void 0!==i?i:null===(r=n.button_data)||void 0===r?void 0:r.accept_selected_text)&&void 0!==c?c:n.button_type)&&void 0!==d?d:"Action";l.textContent=p;var f=u(n,"second");null!==f&&v(a,l,function(){return o.onAction(f)}),s.appendChild(l)}),a.appendChild(s)}n.appendChild(a)}(m,h,y,{onBack:function(){x.view="first",w()},onAction:function(n){g(n)}})}};w()}else m.innerHTML='<div class="modal-empty-state">No first-layer sections found.</div>'};c?h(c):function(n){return o(this,void 0,void 0,function(){var e,t,o,i,r,c;return a(this,function(a){switch(a.label){case 0:e="".concat(n.apiBaseUrl,"/cookie_scanner/fetch_cookie_banner_config"),a.label=1;case 1:return a.trys.push([1,6,,7]),t=new Headers({Accept:"application/json"}),(o=new FormData).append("ref_id",n.cookieBannerClientId),[4,fetch(e,{method:"POST",headers:t,body:o})];case 2:return(i=a.sent()).ok?[3,4]:[4,i.text().catch(function(){return""})];case 3:throw r=a.sent(),new Error("Request failed: ".concat(i.status," ").concat(i.statusText," ").concat(r));case 4:return[4,i.json()];case 5:return[2,a.sent()];case 6:throw c=a.sent(),console.error("Error calling test API:",c),c;case 7:return[2]}})})}(n).then(function(n){c=n,h(n)}).catch(function(n){m.innerHTML='<div style="color:red;">Error loading data</div>'})}function s(n,e){var t;if(!n||"object"!=typeof n)return[];var o,a=[];return o=null===(t=n.data)||void 0===t?void 0:t.section_data,Array.isArray(o)&&a.push(o),a.flat().filter(function(n){return!(!n||"object"!=typeof n)&&(!n.section_type||n.section_type===e)})}function l(n){var e=new Map;return n.forEach(function(n){var t;null===(t=n.buttons)||void 0===t||t.forEach(function(n,t){if(!1!==n.button_enabled){var o="".concat(n.button_type||"unknown","-").concat(n.button_text||t);e.has(o)||e.set(o,n)}})}),Array.from(e.values())}function u(n,e){var t,o,a=(null===(o=null===(t=n.button_type)||void 0===t?void 0:t.toLowerCase)||void 0===o?void 0:o.call(t))||"";if("first"===e)switch(a){case"accept-all":default:return 1;case"accept-necessary":return 2;case"reject-all":return 3}switch(a){case"accept-all":default:return 1;case"accept-necessary":return 4;case"reject-all":return 3}}var p="cookie_pre_user_id";function f(){try{var n=window.localStorage.getItem(p);if(n)return n}catch(n){}var e=document.cookie.match(new RegExp("(^|;\\s*)"+p+"=([^;]*)"));return e?decodeURIComponent(e[2]):null}function m(n){!function(n){if(r)return;var e=document.createElement("div");e.classList.add("cookie-floating-icon"),Object.assign(e.style,{position:"fixed",bottom:"20px",left:"20px",zIndex:"99999",width:"48px",height:"48px",display:"block"});var o=document.createElement("img");o.src=t,o.alt="Cookie settings",Object.assign(o.style,{width:"100%",height:"100%",cursor:"pointer",display:"block"}),e.appendChild(o),e.addEventListener("click",function(){d(n)}),document.body.appendChild(e),r=e}(n),f()||d(n)}function v(n,e,t){var i=this;e.addEventListener("click",function(n){return o(i,void 0,void 0,function(){return a(this,function(o){switch(o.label){case 0:if(n.preventDefault(),e.disabled)return[2];e.disabled=!0,e.classList.add("is-loading"),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,t()];case 2:return o.sent(),[3,4];case 3:return o.sent(),e.disabled=!1,e.classList.remove("is-loading"),[3,4];case 4:return[2]}})})})}var h=function(n){var e=n.attributeNames,t=n.fallbackEnv;if("undefined"==typeof document)return null!=t?t:null;var o=function(n){if(!n)return null;for(var t=0,o=e;t<o.length;t++){var a=o[t],i=n.getAttribute(a);if(i)return i}return null},a=o(document.currentScript);if(a)return a;var i=e.map(function(n){return"script[".concat(n,"]")}).join(", "),r=o(document.querySelector(i));return r||(null!=t?t:null)}({attributeNames:["data-cookiebanner-id"],fallbackEnv:void 0})||"";function b(){h?m(new e(h)):console.warn("Cookie banner client ID is not configured. Provide data-cookiebanner-id on the script tag or set COOKIEBANNER_CLIENT_ID.")}return function(){if("undefined"!=typeof document&&Boolean(h)){var n=function(){b()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}}(),n.init=b,n}({});
|
|
1
|
+
var AtlasSDK=function(n){"use strict";var e=function(n){this.apiBaseUrl="https://play.dashboard.atlaskyc.com/v3/api",this.cookieBannerClientId=n},t="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTk0IiBoZWlnaHQ9IjU5NCIgdmlld0JveD0iMCAwIDU5NCA1OTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0yOTcgMEMzMzguNTQ3IDAgMzc4LjEwMSA4LjUzMDg0IDQxNC4wMDcgMjMuOTM2NUM0MTQuMDA0IDI0LjI5MDcgNDE0IDI0LjY0NTIgNDE0IDI1QzQxNCAxMDguMzk1IDQ4MS42MDUgMTc2IDU2NSAxNzZDNTY2LjEwMSAxNzYgNTY3LjIgMTc1Ljk4NCA1NjguMjk2IDE3NS45NjFDNTg0LjgxNCAyMTIuOTI5IDU5NCAyNTMuODkyIDU5NCAyOTdDNTk0IDQ2MS4wMjkgNDYxLjAyOSA1OTQgMjk3IDU5NEMxMzIuOTcxIDU5NCAwIDQ2MS4wMjkgMCAyOTdDMCAxMzIuOTcxIDEzMi45NzEgMCAyOTcgMFoiIGZpbGw9IiNBRTBBNjAiLz4KPHJlY3QgeD0iMTAwIiB5PSIyMDgiIHdpZHRoPSIzOTQiIGhlaWdodD0iMTc5IiByeD0iODkuNSIgc3Ryb2tlPSIjQ0RDRENEIiBzdHJva2Utd2lkdGg9IjE4Ii8+CjxyZWN0IHg9IjEwMyIgeT0iMjA4IiB3aWR0aD0iMTc4IiBoZWlnaHQ9IjE3OSIgcng9Ijg5IiBzdHJva2U9IiNDRENEQ0QiIHN0cm9rZS13aWR0aD0iMTgiLz4KPC9zdmc+Cg==";function a(n,e,t,a){return new(t||(t=Promise))(function(o,i){function s(n){try{c(a.next(n))}catch(n){i(n)}}function r(n){try{c(a.throw(n))}catch(n){i(n)}}function c(n){var e;n.done?o(n.value):(e=n.value,e instanceof t?e:new t(function(n){n(e)})).then(s,r)}c((a=a.apply(n,e||[])).next())})}function o(n,e){var t,a,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=r(0),s.throw=r(1),s.return=r(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function r(r){return function(c){return function(r){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,r[0]&&(i=0)),i;)try{if(t=1,a&&(o=2&r[0]?a.return:r[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,r[1])).done)return o;switch(a=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return i.label++,{value:r[1],done:!1};case 5:i.label++,a=r[1],r=[0];continue;case 7:r=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==r[0]&&2!==r[0])){i=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){i.label=r[1];break}if(6===r[0]&&i.label<o[1]){i.label=o[1],o=r;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(r);break}o[2]&&i.ops.pop(),i.trys.pop();continue}r=e.call(n,i)}catch(n){r=[6,n],a=0}finally{t=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,c])}}}"function"==typeof SuppressedError&&SuppressedError;function i(n,e,t,i){return a(this,void 0,void 0,function(){var a,s,r,c,d,l;return o(this,function(o){switch(o.label){case 0:a="".concat(n.apiBaseUrl,"/cookie_scanner/submit_cookie_consent"),o.label=1;case 1:return o.trys.push([1,6,,7]),s=new Headers({Accept:"application/json"}),(r=new FormData).append("ref_id",n.cookieBannerClientId),r.append("action_type",String(e)),r.append("cookie_data",JSON.stringify(t)),i&&r.append("pre_user_id",i),[4,fetch(a,{method:"POST",headers:s,body:r})];case 2:return(c=o.sent()).ok?[3,4]:[4,c.text().catch(function(){return""})];case 3:throw d=o.sent(),new Error("Consent request failed: ".concat(c.status," ").concat(c.statusText," ").concat(d));case 4:return[4,c.json()];case 5:return[2,o.sent()];case 6:throw l=o.sent(),console.error("Error submitting cookie consent:",l),l;case 7:return[2]}})})}!function(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n))}}('\n.atlas-first-modal {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n padding: 16px;\n background: #f9fafb;\n border-top: 1px solid #e2e8f0;\n box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);\n z-index: 9999;\n font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;\n display: block;\n }\n \n\n.atlas-first-modal-inner {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: flex-end; \n width: 100%;\n max-width: 100%; \n margin: 0;\n gap: 16px;\n}\n\n.atlas-first-modal-content {\n flex: 1 1 auto;\n min-width: 0;\n text-align: left;\n}\n\n.atlas-first-modal-actions {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n align-items: flex-end; \n}\n \n \n.atlas-first-modal-button {\n padding: 4px 12px;\n font-size: 0.875rem;\n border-radius: 6px;\n border: 1px solid #cbd5e0;\n background: #fff;\n cursor: pointer;\n white-space: nowrap;\n }\n \n \n.atlas-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.atlas-modal-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n text-align: left;\n font-size: 16px;\n color: #1f2933;\n}\n.atlas-modal-empty-state {\n text-align: center;\n color: #616e7c;\n} \n.atlas-modal-button-outline {\n background: #fff;\n}\n.atlas-modal-section-title {\n margin: 0 0 8px 0;\n font-size: 18px;\n font-weight: 600;\n}\n\n.atlas-modal-section-body p {\n margin: 0 0 10px 0;\n}\n\n.atlas-modal-section-body a {\n color: #2d72d9;\n text-decoration: underline;\n}\n\n.atlas-second-modal {\n width: 40vw;\n max-width: 40vw;\n height: 60vh; \n max-height: 60vh;\n overflow-y: auto; \n background: #ffffff;\n border: 1px solid #e5e7eb;\n border-radius: 10px;\n padding: 20px;\n margin: 40px auto;\n box-shadow: 0 10px 30px rgba(0,0,0,0.15);\n scrollbar-width: thin; \n \n}\n\n.atlas-second-accordion-body {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n \n}\n\n\n\n.atlas-second-modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.atlas-second-title {\n font-size: 20px;\n font-weight: 700;\n}\n.atlas-second-back {\n padding: 6px 6px;\n background: transparent;\n border: none;\n cursor: pointer;\n}\n\n\n.atlas-second-modal-sections {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n\n.atlas-second-accordion {\n border: 1px solid #e4e7eb;\n border-radius: 10px;\n overflow: hidden;\n}\n.atlas-second-accordion-item {\n border-top: 1px solid #e4e7eb;\n}\n.atlas-second-accordion-item:first-of-type {\n border-top: none;\n}\n.atlas-second-accordion-summary {\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: flex-start; \n gap: 16px; \n cursor: pointer;\n}\n.atlas-second-accordion-text {\n flex: 1;\n min-width: 0;\n}\n\n.atlas-second-accordion-control {\n display: flex;\n align-items: center;\n flex-shrink: 0; \n}\n\n\n.atlas-second-switch {\n position: relative;\n width: 44px;\n height: 24px;\n}\n.atlas-second-switch input {\n display: none;\n}\n.atlas-second-slider {\n position: absolute;\n top: 0; left: 0; right: 0; bottom: 0;\n background: #cfd8dc;\n border-radius: 24px;\n transition: .2s;\n}\n.atlas-second-slider:before {\n content: "";\n position: absolute;\n width: 18px;\n height: 18px;\n left: 3px;\n top: 3px;\n background: white;\n border-radius: 50%;\n transition: .2s;\n}\n.atlas-second-switch input:checked + .second-slider {\n background: #1f7aed;\n}\n.atlas-second-switch input:checked + .second-slider:before {\n transform: translateX(20px);\n}\n\n\n.atlas-second-cookie-row {\n border: 1px solid #e5e7eb;\n padding: 16px;\n border-radius: 10px;\n display: flex;\n background: #fff;\n}\n.atlas-second-cookie-inner {\n display: flex;\n gap: 20px;\n}\n.atlas-second-cookie-labels {\n min-width: 140px;\n color: #6b7280;\n font-size: 12px;\n}\n.atlas-second-cookie-values {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.atlas-second-cookie-name {\n font-weight: 600;\n}\n.atlas-second-cookie-desc {\n color: #4b5563;\n}\n\n\n.atlas-second-footer-buttons {\n margin-top: 12px;\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.atlas-second-accordion-title {\n font-size: 16px; \n font-weight: 600; \n color: #111827; \n margin: 0;\n}\n\n\n.atlas-second-accordion-desc {\n font-size: 14px; \n line-height: 1.5; \n color: #4b5563; \n margin: 6px 0 0 0;\n white-space: pre-line; \n}\n\n\n.atlas-second-accordion-control {\n font-size: 14px;\n color: #1f2933;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n\n.atlas-second-cookie-desc {\n font-size: 14px;\n line-height: 1.5;\n color: #4b5563;\n}\n\n\n\n\n\n\n.atlas-modal-close{\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n cursor: pointer;\n position: relative;\n padding: 0;\n border-radius: 6px;\n transition: background-color .15s ease, transform .15s ease;\n }\n \n\n .atlas-modal-close::before,\n .atlas-modal-close::after{\n content: "";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 12px;\n height: 1.5px;\n background: #4b5563;\n border-radius: 2px;\n transform-origin: center;\n }\n \n .atlas-modal-close::before{\n transform: translate(-50%, -50%) rotate(45deg);\n }\n \n .atlas-modal-close::after{\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n \n \n .atlas-modal-close:hover{\n background-color: rgba(0,0,0,.05);\n }\n \n .atlas-modal-close:active{\n transform: scale(0.92);\n }\n \n .atlas-modal-close:focus-visible{\n outline: 2px solid #2563eb;\n outline-offset: 2px;\n }\n \n\n .atlas-modal-close .atlas-close-spinner{\n display: none;\n position: absolute;\n inset: 0;\n margin: auto;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n border: 2px solid rgba(0,0,0,.25);\n border-top-color: rgba(0,0,0,.65);\n animation: cookieSpin .8s linear infinite;\n }\n \n\n .atlas-modal-close.atlas-is-loading{\n pointer-events: none;\n }\n \n \n .atlas-modal-close.atlas-is-loading::before,\n .atlas-modal-close.atlas-is-loading::after{\n opacity: 0;\n }\n \n\n .atlas-modal-close.atlas-is-loading .atlas-close-spinner{\n display: block;\n }\n \n\n button.atlas-is-loading{\n position: relative;\n opacity: .85;\n pointer-events: none;\n }\n \n button.atlas-is-loading::after{\n content: "";\n display: inline-block;\n width: 14px;\n height: 14px;\n margin-left: 8px;\n border-radius: 50%;\n border: 2px solid rgba(0,0,0,.25);\n border-top-color: rgba(0,0,0,.65);\n animation: cookieSpin .8s linear infinite;\n vertical-align: middle;\n }\n \n\n @keyframes cookieSpin {\n to { transform: rotate(360deg); }\n }\n \n \n .first-modal-header{\n display: flex;\n justify-content: flex-end; \n align-items: center;\n width: 100%;\n box-sizing: border-box;\n }\n \n .second-modal-header{\n display:flex;\n align-items:center;\n justify-content:space-between;\n }\n \n ');var s=null,r=null;function c(n){var e=this;s&&(s.style.display="none");var t=document.createElement("div");t.classList.add("atlas-overlay");var c=document.createElement("div"),m=document.createElement("div");m.classList.add("atlas-modal-content"),m.innerHTML="<div>Loading...</div>",c.appendChild(m),t.appendChild(c),document.body.appendChild(t);var h=function(r){m.innerHTML="";var c=d(r,"first_layer"),h=d(r,"second_layer"),b=function(n){var e;if(!n||"object"!=typeof n)return{};return(null===(e=n.data)||void 0===e?void 0:e.cookie_data)||{}}(r),y=function(n){var e=new Map;n&&!Array.isArray(n)&&"object"==typeof n?Object.entries(n).forEach(function(n){var t=n[0],a=n[1],o=a&&"object"==typeof a&&"string"==typeof a.desc?a.desc:"",i=(Array.isArray(null==a?void 0:a.data)?a.data:[]).map(function(n){var e=n;return{name:e.normalized_name||e.name||"",category:t,domain:e.base_domain||void 0,description:e.description||null,duration_human:e.duration_human||null}}),s={name:t,desc:o||"",items:i};"boolean"==typeof a.button&&(s.button=a.button),s.raw=a,e.set(t,s)}):Array.isArray(n)&&n.forEach(function(n){var t=n&&n.category||"Other";e.has(t)||e.set(t,{name:t,desc:"",items:[]}),e.get(t).items.push(n)});var t=Array.from(e.values());return t.sort(function(n,e){var t=n.name.toLowerCase(),a=e.name.toLowerCase();return"necessary"===t?-1:"necessary"===a?1:n.name.localeCompare(e.name)}),t}(b);if(c.length){var x={view:"first"},g=function(r){return a(e,void 0,void 0,function(){var e,a,c,d,l;return o(this,function(o){switch(o.label){case 0:return e=f(),[4,new Promise(requestAnimationFrame)];case 1:o.sent(),o.label=2;case 2:return o.trys.push([2,4,5,6]),[4,i(n,r,b,e)];case 3:return a=o.sent(),(c=null!==(l=null!==(d=null==a?void 0:a.data)&&void 0!==d?d:null==a?void 0:a.pre_user_id)&&void 0!==l?l:void 0)&&c!==e&&function(n){if(!n)return;try{window.localStorage.setItem(p,n)}catch(n){}var e=new Date;e.setFullYear(e.getFullYear()+1),document.cookie="".concat(p,"=").concat(encodeURIComponent(n),"; expires=").concat(e.toUTCString(),"; path=/;")}(c),[3,6];case 4:return o.sent(),[3,6];case 5:return t.parentNode&&t.parentNode.removeChild(t),s&&(s.style.display="block"),[7];case 6:return[2]}})})},w=function(){if(m.innerHTML="","first"===x.view)!function(n,e,t){var i=this,s=document.createElement("div");s.classList.add("atlas-first-modal");var r=document.createElement("div");r.classList.add("first-modal-header"),r.innerHTML='\n <button class="atlas-modal-close first-close" aria-label="Close" type="button">\n <span class="atlas-close-spinner" aria-hidden="true"></span>\n </button>\n';var c=r.querySelector(".first-close");v(s,c,function(){return t.onAction(2)}),s.appendChild(r);var d=document.createElement("div");d.classList.add("atlas-first-modal-inner");var p=document.createElement("div");if(p.classList.add("atlas-first-modal-content"),e.length)e.forEach(function(n){p.appendChild(function(n){var e=document.createElement("div");if(e.classList.add("modal-section-block"),n.section_title){var t=document.createElement("h3");t.classList.add("atlas-modal-section-title"),t.textContent=n.section_title,e.appendChild(t)}if(n.section_body){var a=document.createElement("div");a.classList.add("atlas-modal-section-body"),a.innerHTML=n.section_body,e.appendChild(a)}return e}(n))});else{var f=document.createElement("div");f.classList.add("atlas-modal-empty-state"),f.textContent="No first-layer sections found.",p.appendChild(f)}var m=document.createElement("div");if(m.classList.add("atlas-first-modal-actions"),t.hasSecondLayer){var h=document.createElement("button");h.classList.add("atlas-first-modal-button","atlas-modal-button-outline"),h.textContent="Customise",v(s,h,function(){return a(i,void 0,void 0,function(){return o(this,function(n){return t.onCustomize(),[2]})})}),m.appendChild(h)}l(e).forEach(function(n){var e,a,o=document.createElement("button");o.classList.add("atlas-first-modal-button","modal-button-primary"),o.textContent=n.button_text||(null===(e=n.button_data)||void 0===e?void 0:e.accept_necessary_text)||(null===(a=n.button_data)||void 0===a?void 0:a.accept_selected_text)||n.button_type||"Action";var i=u(n,"first");null!==i&&v(s,o,function(){return t.onAction(i)}),m.appendChild(o)}),d.appendChild(p),d.appendChild(m),s.appendChild(d),n.appendChild(s)}(m,c,{hasSecondLayer:h.length>0,onCustomize:function(){x.view="second",w()},onAction:function(n){g(n)}});else{if(!h.length)return void(m.innerHTML='<div class="atlas-modal-empty-state">No second-layer sections found.</div>');!function(n,e,t,a){var o=document.createElement("div");o.classList.add("atlas-second-modal");var i=document.createElement("div");i.classList.add("atlas-second-modal-header"),i.innerHTML='\n <button class="atlas-second-back" aria-label="Back" type="button">←</button>\n <h2 class="atlas-second-title">Customise Consent Preferences</h2>\n <button class="atlas-modal-close second-close" aria-label="Close" type="button">\n <span class="close-spinner" aria-hidden="true"></span>\n </button>\n',i.querySelector(".atlas-second-back").addEventListener("click",a.onBack);var s=i.querySelector(".second-close");v(o,s,function(){return a.onAction(2)}),o.appendChild(i);var r=document.createElement("div");r.classList.add("atlas-second-modal-sections"),e.forEach(function(n){return r.appendChild(function(n){var e=document.createElement("div");if(n.section_title){var t=document.createElement("h3");t.classList.add("atlas-modal-section-title"),t.textContent=n.section_title,e.appendChild(t)}if(n.section_body){var a=document.createElement("div");a.classList.add("atlas-modal-section-body"),a.innerHTML=n.section_body,e.appendChild(a)}return e}(n))}),o.appendChild(r),o.appendChild(function(n){var e=document.createElement("div");return e.classList.add("atlas-second-accordion"),n.forEach(function(n){var t="necessary"===n.name.toLowerCase(),a=n,o=document.createElement("details");o.classList.add("atlas-second-accordion-item"),t&&(o.open=!0);var i=document.createElement("summary");i.classList.add("atlas-second-accordion-summary");var s=document.createElement("div");s.classList.add("atlas-second-accordion-text");var r=document.createElement("div");if(r.classList.add("atlas-second-accordion-title"),r.textContent=n.name,s.appendChild(r),n.desc){var c=document.createElement("p");c.classList.add("second-accordion-desc"),c.textContent=n.desc,s.appendChild(c)}i.appendChild(s);var d=document.createElement("div");if(d.classList.add("atlas-second-accordion-control"),t){var l=document.createElement("span");l.textContent="Always Active",d.appendChild(l),a.button=!0,a.raw&&(a.raw.button=!0)}else{var u=!!a.button;d.appendChild(function(n,e,t){var a=document.createElement("label");a.classList.add("atlas-second-switch");var o=document.createElement("input");o.type="checkbox",o.checked=e,o.dataset.categoryName=n;var i=document.createElement("span");return i.classList.add("atlas-second-slider"),o.addEventListener("change",function(){t.button=o.checked,t.raw&&(t.raw.button=o.checked)}),a.appendChild(o),a.appendChild(i),a}(n.name,u,a))}i.appendChild(d),o.appendChild(i);var p=document.createElement("div");if(p.classList.add("atlas-second-accordion-body"),n.items.length)n.items.forEach(function(n){p.appendChild(function(n){var e=document.createElement("div");e.classList.add("atlas-second-cookie-row");var t=document.createElement("div");t.classList.add("atlas-second-cookie-inner"),e.appendChild(t);var a=document.createElement("div");a.classList.add("atlas-second-cookie-labels"),a.innerHTML='\n <div class="second-cookie-label">Cookie</div>\n <div class="second-cookie-label">Duration</div>\n <div class="second-cookie-label">Description</div>\n ';var o=document.createElement("div");o.classList.add("atlas-second-cookie-values");var i=n,s=i.normalized_name||n.name||"",r=n.duration_human||"Session",c=(n.description&&n.description.trim().length?n.description:null)||"No description available.";return o.innerHTML='\n <div class="atlas-second-cookie-name">'.concat(s,'</div>\n <div class="second-cookie-duration">').concat(r,'</div>\n <div class="atlas-second-cookie-desc">').concat(c,"</div>\n "),t.appendChild(a),t.appendChild(o),e}(n))});else{var f=document.createElement("div");f.classList.add("second-empty-state"),f.textContent="No cookies found under this category.",p.appendChild(f)}o.appendChild(p),e.appendChild(o)}),e}(t));var c=l(e);if(c.length){var d=document.createElement("div");d.classList.add("atlas-second-footer-buttons"),c.forEach(function(n){var e,t,i,s,r,c,l=document.createElement("button");l.classList.add("atlas-first-modal-button","atlas-modal-button-outline");var p=null!==(c=null!==(r=null!==(i=null!==(e=n.button_text)&&void 0!==e?e:null===(t=n.button_data)||void 0===t?void 0:t.accept_necessary_text)&&void 0!==i?i:null===(s=n.button_data)||void 0===s?void 0:s.accept_selected_text)&&void 0!==r?r:n.button_type)&&void 0!==c?c:"Action";l.textContent=p;var f=u(n,"second");null!==f&&v(o,l,function(){return a.onAction(f)}),d.appendChild(l)}),o.appendChild(d)}n.appendChild(o)}(m,h,y,{onBack:function(){x.view="first",w()},onAction:function(n){g(n)}})}};w()}else m.innerHTML='<div class="atlas-modal-empty-state">No first-layer sections found.</div>'};r?h(r):function(n){return a(this,void 0,void 0,function(){var e,t,a,i,s,r;return o(this,function(o){switch(o.label){case 0:e="".concat(n.apiBaseUrl,"/cookie_scanner/fetch_cookie_banner_config"),o.label=1;case 1:return o.trys.push([1,6,,7]),t=new Headers({Accept:"application/json"}),(a=new FormData).append("ref_id",n.cookieBannerClientId),[4,fetch(e,{method:"POST",headers:t,body:a})];case 2:return(i=o.sent()).ok?[3,4]:[4,i.text().catch(function(){return""})];case 3:throw s=o.sent(),new Error("Request failed: ".concat(i.status," ").concat(i.statusText," ").concat(s));case 4:return[4,i.json()];case 5:return[2,o.sent()];case 6:throw r=o.sent(),console.error("Error calling test API:",r),r;case 7:return[2]}})})}(n).then(function(n){r=n,h(n)}).catch(function(n){m.innerHTML='<div style="color:red;">Error loading data</div>'})}function d(n,e){var t;if(!n||"object"!=typeof n)return[];var a,o=[];return a=null===(t=n.data)||void 0===t?void 0:t.section_data,Array.isArray(a)&&o.push(a),o.flat().filter(function(n){return!(!n||"object"!=typeof n)&&(!n.section_type||n.section_type===e)})}function l(n){var e=new Map;return n.forEach(function(n){var t;null===(t=n.buttons)||void 0===t||t.forEach(function(n,t){if(!1!==n.button_enabled){var a="".concat(n.button_type||"unknown","-").concat(n.button_text||t);e.has(a)||e.set(a,n)}})}),Array.from(e.values())}function u(n,e){var t,a,o=(null===(a=null===(t=n.button_type)||void 0===t?void 0:t.toLowerCase)||void 0===a?void 0:a.call(t))||"";if("first"===e)switch(o){case"accept-all":default:return 1;case"accept-necessary":return 2;case"reject-all":return 3}switch(o){case"accept-all":default:return 1;case"accept-necessary":return 4;case"reject-all":return 3}}var p="cookie_pre_user_id";function f(){try{var n=window.localStorage.getItem(p);if(n)return n}catch(n){}var e=document.cookie.match(new RegExp("(^|;\\s*)"+p+"=([^;]*)"));return e?decodeURIComponent(e[2]):null}function m(n){!function(n){if(s)return;var e=document.createElement("div");e.classList.add("cookie-floating-icon"),Object.assign(e.style,{position:"fixed",bottom:"20px",left:"20px",zIndex:"99999",width:"48px",height:"48px",display:"block"});var a=document.createElement("img");a.src=t,a.alt="Cookie settings",Object.assign(a.style,{width:"100%",height:"100%",cursor:"pointer",display:"block"}),e.appendChild(a),e.addEventListener("click",function(){c(n)}),document.body.appendChild(e),s=e}(n),f()||c(n)}function v(n,e,t){var i=this;e.addEventListener("click",function(n){return a(i,void 0,void 0,function(){return o(this,function(a){switch(a.label){case 0:if(n.preventDefault(),e.disabled)return[2];e.disabled=!0,e.classList.add("atlas-is-loading"),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,t()];case 2:return a.sent(),[3,4];case 3:return a.sent(),e.disabled=!1,e.classList.remove("atlas-is-loading"),[3,4];case 4:return[2]}})})})}var h=function(n){var e=n.attributeNames,t=n.fallbackEnv;if("undefined"==typeof document)return null!=t?t:null;var a=function(n){if(!n)return null;for(var t=0,a=e;t<a.length;t++){var o=a[t],i=n.getAttribute(o);if(i)return i}return null},o=a(document.currentScript);if(o)return o;var i=e.map(function(n){return"script[".concat(n,"]")}).join(", "),s=a(document.querySelector(i));return s||(null!=t?t:null)}({attributeNames:["data-cookiebanner-id"],fallbackEnv:void 0})||"";function b(){h?m(new e(h)):console.warn("Cookie banner client ID is not configured. Provide data-cookiebanner-id on the script tag or set COOKIEBANNER_CLIENT_ID.")}return function(){if("undefined"!=typeof document&&Boolean(h)){var n=function(){b()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}}(),n.init=b,n}({});
|