From ab1ab1b0d525821f0402ac0b6c70a535038e976c Mon Sep 17 00:00:00 2001 From: Torben Lundsgaard Date: Sun, 6 Oct 2024 16:16:25 +0200 Subject: [PATCH] Add missing GTM container notification --- assets/admin/settings.asset.php | 2 +- assets/admin/settings.js | 2 +- assets/admin/wizard.asset.php | 2 +- assets/admin/wizard.js | 2 +- src/Admin/Suggestions.php | 57 +++++++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 4 deletions(-) diff --git a/assets/admin/settings.asset.php b/assets/admin/settings.asset.php index d8f89ea..fea6729 100644 --- a/assets/admin/settings.asset.php +++ b/assets/admin/settings.asset.php @@ -1 +1 @@ - array('lodash', 'react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-plugins', 'wp-primitives'), 'version' => 'eefd7386e2472739e9b3'); + array('lodash', 'react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n', 'wp-plugins', 'wp-primitives'), 'version' => '062cd7eeb93a06324224'); diff --git a/assets/admin/settings.js b/assets/admin/settings.js index 6ac16fb..7315648 100644 --- a/assets/admin/settings.js +++ b/assets/admin/settings.js @@ -1,4 +1,4 @@ -(()=>{var t={838:function(t){t.exports=function(){"use strict";const{entries:t,setPrototypeOf:e,isFrozen:i,getPrototypeOf:n,getOwnPropertyDescriptor:a}=Object;let{freeze:s,seal:o,create:r}=Object,{apply:l,construct:m}="undefined"!=typeof Reflect&&Reflect;s||(s=function(t){return t}),o||(o=function(t){return t}),l||(l=function(t,e,i){return t.apply(e,i)}),m||(m=function(t,e){return new t(...e)});const c=v(Array.prototype.forEach),g=v(Array.prototype.pop),d=v(Array.prototype.push),u=v(String.prototype.toLowerCase),p=v(String.prototype.toString),h=v(String.prototype.match),k=v(String.prototype.replace),_=v(String.prototype.indexOf),f=v(String.prototype.trim),x=v(Object.prototype.hasOwnProperty),S=v(RegExp.prototype.test),b=(y=TypeError,function(){for(var t=arguments.length,e=new Array(t),i=0;i1?i-1:0),a=1;a2&&void 0!==arguments[2]?arguments[2]:u;e&&e(t,null);let s=n.length;for(;s--;){let e=n[s];if("string"==typeof e){const t=a(e);t!==e&&(i(n)||(n[s]=t),e=t)}t[e]=!0}return t}function N(t){for(let e=0;e/gm),H=o(/\${[\w\W]*}/gm),B=o(/^data-[\-\w.\u00B7-\uFFFF]/),K=o(/^aria-[\-\w]+$/),W=o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=o(/^(?:\w+script|data):/i),$=o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Y=o(/^html$/i),J=o(/^[a-z][.\w]*(-[.\w]+)+$/i);var q=Object.freeze({__proto__:null,MUSTACHE_EXPR:G,ERB_EXPR:F,TMPLIT_EXPR:H,DATA_ATTR:B,ARIA_ATTR:K,IS_ALLOWED_URI:W,IS_SCRIPT_OR_DATA:z,ATTR_WHITESPACE:$,DOCTYPE_NAME:Y,CUSTOM_ELEMENT:J});const V=1,X=3,Z=7,Q=8,tt=9,et=function(){return"undefined"==typeof window?null:window};return function e(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:et();const n=t=>e(t);if(n.version="3.1.6",n.removed=[],!i||!i.document||i.document.nodeType!==tt)return n.isSupported=!1,n;let{document:a}=i;const o=a,l=o.currentScript,{DocumentFragment:m,HTMLTemplateElement:y,Node:v,Element:N,NodeFilter:G,NamedNodeMap:F=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:H,DOMParser:B,trustedTypes:K}=i,z=N.prototype,$=j(z,"cloneNode"),J=j(z,"remove"),it=j(z,"nextSibling"),nt=j(z,"childNodes"),at=j(z,"parentNode");if("function"==typeof y){const t=a.createElement("template");t.content&&t.content.ownerDocument&&(a=t.content.ownerDocument)}let st,ot="";const{implementation:rt,createNodeIterator:lt,createDocumentFragment:mt,getElementsByTagName:ct}=a,{importNode:gt}=o;let dt={};n.isSupported="function"==typeof t&&"function"==typeof at&&rt&&void 0!==rt.createHTMLDocument;const{MUSTACHE_EXPR:ut,ERB_EXPR:pt,TMPLIT_EXPR:ht,DATA_ATTR:kt,ARIA_ATTR:_t,IS_SCRIPT_OR_DATA:ft,ATTR_WHITESPACE:xt,CUSTOM_ELEMENT:St}=q;let{IS_ALLOWED_URI:bt}=q,yt=null;const vt=E({},[...T,...C,...U,...A,...O]);let Et=null;const Nt=E({},[...R,...L,...M,...P]);let wt=Object.seal(r(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}})),jt=null,Tt=null,Ct=!0,Ut=!0,Dt=!1,At=!0,It=!1,Ot=!0,Rt=!1,Lt=!1,Mt=!1,Pt=!1,Gt=!1,Ft=!1,Ht=!0,Bt=!1,Kt=!0,Wt=!1,zt={},$t=null;const Yt=E({},["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 Jt=null;const qt=E({},["audio","video","img","source","image","track"]);let Vt=null;const Xt=E({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Zt="http://www.w3.org/1998/Math/MathML",Qt="http://www.w3.org/2000/svg",te="http://www.w3.org/1999/xhtml";let ee=te,ie=!1,ne=null;const ae=E({},[Zt,Qt,te],p);let se=null;const oe=["application/xhtml+xml","text/html"];let re=null,le=null;const me=a.createElement("form"),ce=function(t){return t instanceof RegExp||t instanceof Function},ge=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!le||le!==t){if(t&&"object"==typeof t||(t={}),t=w(t),se=-1===oe.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,re="application/xhtml+xml"===se?p:u,yt=x(t,"ALLOWED_TAGS")?E({},t.ALLOWED_TAGS,re):vt,Et=x(t,"ALLOWED_ATTR")?E({},t.ALLOWED_ATTR,re):Nt,ne=x(t,"ALLOWED_NAMESPACES")?E({},t.ALLOWED_NAMESPACES,p):ae,Vt=x(t,"ADD_URI_SAFE_ATTR")?E(w(Xt),t.ADD_URI_SAFE_ATTR,re):Xt,Jt=x(t,"ADD_DATA_URI_TAGS")?E(w(qt),t.ADD_DATA_URI_TAGS,re):qt,$t=x(t,"FORBID_CONTENTS")?E({},t.FORBID_CONTENTS,re):Yt,jt=x(t,"FORBID_TAGS")?E({},t.FORBID_TAGS,re):{},Tt=x(t,"FORBID_ATTR")?E({},t.FORBID_ATTR,re):{},zt=!!x(t,"USE_PROFILES")&&t.USE_PROFILES,Ct=!1!==t.ALLOW_ARIA_ATTR,Ut=!1!==t.ALLOW_DATA_ATTR,Dt=t.ALLOW_UNKNOWN_PROTOCOLS||!1,At=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,It=t.SAFE_FOR_TEMPLATES||!1,Ot=!1!==t.SAFE_FOR_XML,Rt=t.WHOLE_DOCUMENT||!1,Pt=t.RETURN_DOM||!1,Gt=t.RETURN_DOM_FRAGMENT||!1,Ft=t.RETURN_TRUSTED_TYPE||!1,Mt=t.FORCE_BODY||!1,Ht=!1!==t.SANITIZE_DOM,Bt=t.SANITIZE_NAMED_PROPS||!1,Kt=!1!==t.KEEP_CONTENT,Wt=t.IN_PLACE||!1,bt=t.ALLOWED_URI_REGEXP||W,ee=t.NAMESPACE||te,wt=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&ce(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(wt.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&ce(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(wt.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(wt.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),It&&(Ut=!1),Gt&&(Pt=!0),zt&&(yt=E({},O),Et=[],!0===zt.html&&(E(yt,T),E(Et,R)),!0===zt.svg&&(E(yt,C),E(Et,L),E(Et,P)),!0===zt.svgFilters&&(E(yt,U),E(Et,L),E(Et,P)),!0===zt.mathMl&&(E(yt,A),E(Et,M),E(Et,P))),t.ADD_TAGS&&(yt===vt&&(yt=w(yt)),E(yt,t.ADD_TAGS,re)),t.ADD_ATTR&&(Et===Nt&&(Et=w(Et)),E(Et,t.ADD_ATTR,re)),t.ADD_URI_SAFE_ATTR&&E(Vt,t.ADD_URI_SAFE_ATTR,re),t.FORBID_CONTENTS&&($t===Yt&&($t=w($t)),E($t,t.FORBID_CONTENTS,re)),Kt&&(yt["#text"]=!0),Rt&&E(yt,["html","head","body"]),yt.table&&(E(yt,["tbody"]),delete jt.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw b('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw b('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');st=t.TRUSTED_TYPES_POLICY,ot=st.createHTML("")}else void 0===st&&(st=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let i=null;const n="data-tt-policy-suffix";e&&e.hasAttribute(n)&&(i=e.getAttribute(n));const a="dompurify"+(i?"#"+i:"");try{return t.createPolicy(a,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+a+" could not be created."),null}}(K,l)),null!==st&&"string"==typeof ot&&(ot=st.createHTML(""));s&&s(t),le=t}},de=E({},["mi","mo","mn","ms","mtext"]),ue=E({},["foreignobject","annotation-xml"]),pe=E({},["title","style","font","a","script"]),he=E({},[...C,...U,...D]),ke=E({},[...A,...I]),_e=function(t){d(n.removed,{element:t});try{at(t).removeChild(t)}catch(e){J(t)}},fe=function(t,e){try{d(n.removed,{attribute:e.getAttributeNode(t),from:e})}catch(t){d(n.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t&&!Et[t])if(Pt||Gt)try{_e(e)}catch(t){}else try{e.setAttribute(t,"")}catch(t){}},xe=function(t){let e=null,i=null;if(Mt)t=""+t;else{const e=h(t,/^[\r\n\t ]+/);i=e&&e[0]}"application/xhtml+xml"===se&&ee===te&&(t=''+t+"");const n=st?st.createHTML(t):t;if(ee===te)try{e=(new B).parseFromString(n,se)}catch(t){}if(!e||!e.documentElement){e=rt.createDocument(ee,"template",null);try{e.documentElement.innerHTML=ie?ot:n}catch(t){}}const s=e.body||e.documentElement;return t&&i&&s.insertBefore(a.createTextNode(i),s.childNodes[0]||null),ee===te?ct.call(e,Rt?"html":"body")[0]:Rt?e.documentElement:s},Se=function(t){return lt.call(t.ownerDocument||t,t,G.SHOW_ELEMENT|G.SHOW_COMMENT|G.SHOW_TEXT|G.SHOW_PROCESSING_INSTRUCTION|G.SHOW_CDATA_SECTION,null)},be=function(t){return t instanceof H&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof F)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},ye=function(t){return"function"==typeof v&&t instanceof v},ve=function(t,e,i){dt[t]&&c(dt[t],(t=>{t.call(n,e,i,le)}))},Ee=function(t){let e=null;if(ve("beforeSanitizeElements",t,null),be(t))return _e(t),!0;const i=re(t.nodeName);if(ve("uponSanitizeElement",t,{tagName:i,allowedTags:yt}),t.hasChildNodes()&&!ye(t.firstElementChild)&&S(/<[/\w]/g,t.innerHTML)&&S(/<[/\w]/g,t.textContent))return _e(t),!0;if(t.nodeType===Z)return _e(t),!0;if(Ot&&t.nodeType===Q&&S(/<[/\w]/g,t.data))return _e(t),!0;if(!yt[i]||jt[i]){if(!jt[i]&&we(i)){if(wt.tagNameCheck instanceof RegExp&&S(wt.tagNameCheck,i))return!1;if(wt.tagNameCheck instanceof Function&&wt.tagNameCheck(i))return!1}if(Kt&&!$t[i]){const e=at(t)||t.parentNode,i=nt(t)||t.childNodes;if(i&&e)for(let n=i.length-1;n>=0;--n){const a=$(i[n],!0);a.__removalCount=(t.__removalCount||0)+1,e.insertBefore(a,it(t))}}return _e(t),!0}return t instanceof N&&!function(t){let e=at(t);e&&e.tagName||(e={namespaceURI:ee,tagName:"template"});const i=u(t.tagName),n=u(e.tagName);return!!ne[t.namespaceURI]&&(t.namespaceURI===Qt?e.namespaceURI===te?"svg"===i:e.namespaceURI===Zt?"svg"===i&&("annotation-xml"===n||de[n]):Boolean(he[i]):t.namespaceURI===Zt?e.namespaceURI===te?"math"===i:e.namespaceURI===Qt?"math"===i&&ue[n]:Boolean(ke[i]):t.namespaceURI===te?!(e.namespaceURI===Qt&&!ue[n])&&!(e.namespaceURI===Zt&&!de[n])&&!ke[i]&&(pe[i]||!he[i]):!("application/xhtml+xml"!==se||!ne[t.namespaceURI]))}(t)?(_e(t),!0):"noscript"!==i&&"noembed"!==i&&"noframes"!==i||!S(/<\/no(script|embed|frames)/i,t.innerHTML)?(It&&t.nodeType===X&&(e=t.textContent,c([ut,pt,ht],(t=>{e=k(e,t," ")})),t.textContent!==e&&(d(n.removed,{element:t.cloneNode()}),t.textContent=e)),ve("afterSanitizeElements",t,null),!1):(_e(t),!0)},Ne=function(t,e,i){if(Ht&&("id"===e||"name"===e)&&(i in a||i in me))return!1;if(Ut&&!Tt[e]&&S(kt,e));else if(Ct&&S(_t,e));else if(!Et[e]||Tt[e]){if(!(we(t)&&(wt.tagNameCheck instanceof RegExp&&S(wt.tagNameCheck,t)||wt.tagNameCheck instanceof Function&&wt.tagNameCheck(t))&&(wt.attributeNameCheck instanceof RegExp&&S(wt.attributeNameCheck,e)||wt.attributeNameCheck instanceof Function&&wt.attributeNameCheck(e))||"is"===e&&wt.allowCustomizedBuiltInElements&&(wt.tagNameCheck instanceof RegExp&&S(wt.tagNameCheck,i)||wt.tagNameCheck instanceof Function&&wt.tagNameCheck(i))))return!1}else if(Vt[e]);else if(S(bt,k(i,xt,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==_(i,"data:")||!Jt[t])if(Dt&&!S(ft,k(i,xt,"")));else if(i)return!1;return!0},we=function(t){return"annotation-xml"!==t&&h(t,St)},je=function(t){ve("beforeSanitizeAttributes",t,null);const{attributes:e}=t;if(!e)return;const i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Et};let a=e.length;for(;a--;){const s=e[a],{name:o,namespaceURI:r,value:l}=s,m=re(o);let d="value"===o?l:f(l);if(i.attrName=m,i.attrValue=d,i.keepAttr=!0,i.forceKeepAttr=void 0,ve("uponSanitizeAttribute",t,i),d=i.attrValue,Ot&&S(/((--!?|])>)|<\/(style|title)/i,d)){fe(o,t);continue}if(i.forceKeepAttr)continue;if(fe(o,t),!i.keepAttr)continue;if(!At&&S(/\/>/i,d)){fe(o,t);continue}It&&c([ut,pt,ht],(t=>{d=k(d,t," ")}));const u=re(t.nodeName);if(Ne(u,m,d)){if(!Bt||"id"!==m&&"name"!==m||(fe(o,t),d="user-content-"+d),st&&"object"==typeof K&&"function"==typeof K.getAttributeType)if(r);else switch(K.getAttributeType(u,m)){case"TrustedHTML":d=st.createHTML(d);break;case"TrustedScriptURL":d=st.createScriptURL(d)}try{r?t.setAttributeNS(r,o,d):t.setAttribute(o,d),be(t)?_e(t):g(n.removed)}catch(t){}}}ve("afterSanitizeAttributes",t,null)},Te=function t(e){let i=null;const n=Se(e);for(ve("beforeSanitizeShadowDOM",e,null);i=n.nextNode();)ve("uponSanitizeShadowNode",i,null),Ee(i)||(i.content instanceof m&&t(i.content),je(i));ve("afterSanitizeShadowDOM",e,null)};return n.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,a=null,s=null,r=null;if(ie=!t,ie&&(t="\x3c!--\x3e"),"string"!=typeof t&&!ye(t)){if("function"!=typeof t.toString)throw b("toString is not a function");if("string"!=typeof(t=t.toString()))throw b("dirty is not a string, aborting")}if(!n.isSupported)return t;if(Lt||ge(e),n.removed=[],"string"==typeof t&&(Wt=!1),Wt){if(t.nodeName){const e=re(t.nodeName);if(!yt[e]||jt[e])throw b("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof v)i=xe("\x3c!----\x3e"),a=i.ownerDocument.importNode(t,!0),a.nodeType===V&&"BODY"===a.nodeName||"HTML"===a.nodeName?i=a:i.appendChild(a);else{if(!Pt&&!It&&!Rt&&-1===t.indexOf("<"))return st&&Ft?st.createHTML(t):t;if(i=xe(t),!i)return Pt?null:Ft?ot:""}i&&Mt&&_e(i.firstChild);const l=Se(Wt?t:i);for(;s=l.nextNode();)Ee(s)||(s.content instanceof m&&Te(s.content),je(s));if(Wt)return t;if(Pt){if(Gt)for(r=mt.call(i.ownerDocument);i.firstChild;)r.appendChild(i.firstChild);else r=i;return(Et.shadowroot||Et.shadowrootmode)&&(r=gt.call(o,r,!0)),r}let g=Rt?i.outerHTML:i.innerHTML;return Rt&&yt["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&S(Y,i.ownerDocument.doctype.name)&&(g="\n"+g),It&&c([ut,pt,ht],(t=>{g=k(g,t," ")})),st&&Ft?st.createHTML(g):g},n.setConfig=function(){ge(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Lt=!0},n.clearConfig=function(){le=null,Lt=!1},n.isValidAttribute=function(t,e,i){le||ge({});const n=re(t),a=re(e);return Ne(n,a,i)},n.addHook=function(t,e){"function"==typeof e&&(dt[t]=dt[t]||[],d(dt[t],e))},n.removeHook=function(t){if(dt[t])return g(dt[t])},n.removeHooks=function(t){dt[t]&&(dt[t]=[])},n.removeAllHooks=function(){dt={}},n}()}()},942:(t,e)=>{var i;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var t="",e=0;e{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";const t=window.ReactDOM;var e=i.n(t);const n=window.wp.i18n,a=window.wp.element,s=window.wp.components,o=window.lodash,r=window.wp.apiFetch;var l=i.n(r);l().use(l().createNonceMiddleware(window.gtmkitSettings.nonce)),l().use(l().createRootURLMiddleware(window.gtmkitSettings.root));const m=async(t,e,i=null,n=!1)=>{let a={};try{a=await l()({path:t,method:e,...i&&{data:i}})}catch(i){return{[`gtm_kit_api_${e}_${t}_errors`]:!0}}return!0===n?a:!0===a.success?a.data:{}},c=(t,e)=>{const i={...t};switch(e.type){case"FETCH_SETTINGS":i.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},i.stateSettings=e.payload.stateSettings,i.siteData=e.payload.siteData,i.notifications=e.payload.notifications,i.installData=e.payload.installData,i.isPending=!1,i.canSave=!1,e.payload.fetchedSettings.gtm_kit_api_fetch_settings_errors&&(i.notice=(0,n.__)("An error occurred.","gtm-kit"),i.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":i.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":i.fetchedSettings=e.payload.fetchedSettings,i.stateSettings=e.payload.stateSettings,i.isPending=!1,i.canSave=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors,i.notice=e.payload.fetchedSettings.gtm_kit_api_update_settings_errors?(0,n.__)("An error occurred.","gtm-kit"):(0,n.__)("Saved Successfully.","gtm-kit"),i.hasError=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors;break;case"UPDATE_STATE":i.fetchedSettings=e.payload.fetchedSettings||i.fetchedSettings,i.stateSettings=e.payload.stateSettings||i.stateSettings,i.isPending=e.payload.isPending||i.isPending,i.notice=e.payload.notice||i.notice,i.hasError=e.payload.hasError||i.hasError,i.canSave=e.payload.canSave||i.canSave,i.isSendingSystemData=e.payload.isSendingSystemData||i.isSendingSystemData,i.supportTicket=e.payload.supportTicket||i.supportTicket,i.isSendingLicenseKey=e.payload.isSendingLicenseKey||i.isSendingLicenseKey,i.licenseKey=e.payload.licenseKey||i.licenseKey;break;case"SEND_SUPPORT_DATA_BEFORE":i.isSendingSystemData=e.payload.isSendingSystemData||i.isSendingSystemData;break;case"SEND_SUPPORT_DATA":i.isSendingSystemData=!1,i.isSystemDataSent=e.payload.isSystemDataSent||i.isSystemDataSent,i.systemDataMessage=e.payload.systemDataMessage||i.systemDataMessage;break;case"SEND_LICENSE_KEY_BEFORE":i.isSendingLicenseKey=e.payload.isSendingLicenseKey||i.isSendingLicenseKey;break;case"SEND_LICENSE_KEY":i.isSendingLicenseKey=!1,i.isLicenseKeySent=e.payload.isLicenseKeySent||i.isLicenseKeySent,i.licenseKeyMessage=e.payload.licenseKeyMessage||i.licenseKeyMessage;break;case"SEND_NOTIFICATION_STATUS_BEFORE":i.isUpdatingNotifications=e.payload.isUpdatingNotifications||i.isUpdatingNotifications;break;case"SEND_NOTIFICATION_STATUS":i.isUpdatingNotifications=!1,i.notifications=e.payload.notifications||i.Notifications}return i},g=window.ReactJSXRuntime,d=(0,a.createContext)(),u=t=>{const[e,i]=(0,a.useReducer)(c,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1,supportTicket:"",isSystemDataSent:!1,systemDataMessage:"",licenseKey:"",isLicensenKeySent:!1,licenseKeyMessage:"",notifications:{}}),n=async()=>{const t=window.gtmkitSettings.settings?window.gtmkitSettings.settings:{},e=window.gtmkitSettings.site_data?window.gtmkitSettings.site_data:{},n=window.gtmkitSettings.notifications?window.gtmkitSettings.notifications:{metrics:{total:1}},a="wizard"===window.gtmkitSettings.currentPage?window.gtmkitSettings.install_data:{};i({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,notifications:n,installData:a}})},s=async t=>{i({type:"UPDATE_STATE",payload:t})};(0,a.useEffect)((()=>{n()}),[]);const r={useDispatch:t=>{i(t)},useUpdateSettings:async()=>{i({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(n=e.stateSettings,m("gtmkit/v1/set-options","POST",n));var n;i({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:n,useUpdateState:s,useUpdateStateSettings:async(t,i,n)=>{const a=JSON.parse(JSON.stringify(e.stateSettings));let r;a[t][i]=n,r=!(0,o.isEqual)(a,e.fetchedSettings),s({stateSettings:a,canSave:r})},useImportSettings:async(t,i)=>{const n=JSON.parse(JSON.stringify(e.stateSettings));let a;const r={};r.general={...n.general,...i.general},"integrations"in i&&(r.integrations={...n.integrations,...i.integrations}),a=!(0,o.isEqual)(r,e.fetchedSettings),s({stateSettings:r,canSave:a})},useUpdateSupportTicket:async t=>{s({supportTicket:t})},useSendSystemData:async()=>{i({type:"SEND_SUPPORT_DATA_BEFORE",payload:{isSendingSystemData:!0}});const t=await(n=e.supportTicket,m("gtmkit/v1/send-support-data","POST",n,!0));var n;i({type:"SEND_SUPPORT_DATA",payload:{isSendingSystemData:!1,isSystemDataSent:t.success,systemDataMessage:t.data}})},useUpdateLicenseKey:async t=>{s({licenseKey:t})},useSendLicenseKey:async()=>{i({type:"SEND_LICENSE_KEY_BEFORE",payload:{isSendingLicenseKey:!0}});const t=await(n=e.licenseKey,m("gtmkit/v1/send-license-key","POST",n,!0));var n;i({type:"SEND_LICENSE_KEY",payload:{isSendingLicenseKey:!1,isLicenseKeySent:t.success,licenseKeyMessage:t.data}})},useSetNotificationStatus:async(t,e)=>{i({type:"SEND_NOTIFICATION_STATUS_BEFORE",payload:{isUpdatingNotifications:"remove"!==e}});const n={"notification-id":t,action:e},a=await(t=>m("gtmkit/v1/set-notification-status","POST",t,!0))(n);i({type:"SEND_NOTIFICATION_STATUS",payload:{isUpdatingNotifications:!1,notifications:a.data}})},useSettings:e.stateSettings,useIsPending:e.isPending,useNotice:e.notice,useHasError:e.hasError,useCanSave:e.canSave,useSiteData:e.siteData,useInstallData:e.installData,useIsSending:e.isSendingSystemData,useSupportTicket:e.supportTicket,useIsSystemDataSent:e.isSystemDataSent,useSystemDataMessage:e.systemDataMessage,useIsSendingLicenseKey:e.isSendingLicenseKey,useLicenseKey:e.licenseKey,useIsLicenseKeySent:e.isLicenseKeySent,useLicenseKeyMessage:e.licenseKeyMessage,useNotifications:e.notifications,useIsUpdatingNotifications:e.isUpdatingNotifications,useUserRoles:window.gtmkitSettings.user_roles?window.gtmkitSettings.user_roles:[],isPremium:!!window.gtmkitSettings.isPremium&&window.gtmkitSettings.isPremium};return(0,g.jsx)(d.Provider,{value:r,children:t.children})},p=window.React;var h,k=i.n(p);function _(){return _=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0&&(e.hash=t.substr(i),t=t.substr(0,i));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}var N;function w(t,e,i){return void 0===i&&(i="/"),function(t,e,i,n){let a=F(("string"==typeof e?E(e):e).pathname||"/",i);if(null==a)return null;let s=j(t);!function(t){t.sort(((t,e)=>t.score!==e.score?e.score-t.score:function(t,e){return t.length===e.length&&t.slice(0,-1).every(((t,i)=>t===e[i]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(s);let o=null;for(let t=0;null==o&&t{let o={relativePath:void 0===s?t.path||"":s,caseSensitive:!0===t.caseSensitive,childrenIndex:a,route:t};o.relativePath.startsWith("/")&&(x(o.relativePath.startsWith(n),'Absolute route path "'+o.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(n.length));let r=W([n,o.relativePath]),l=i.concat(o);t.children&&t.children.length>0&&(x(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+r+'".'),j(t.children,e,l,r)),(null!=t.path||t.index)&&e.push({path:r,score:L(r,t.index),routesMeta:l})};return t.forEach(((t,e)=>{var i;if(""!==t.path&&null!=(i=t.path)&&i.includes("?"))for(let i of T(t.path))a(t,e,i);else a(t,e)})),e}function T(t){let e=t.split("/");if(0===e.length)return[];let[i,...n]=e,a=i.endsWith("?"),s=i.replace(/\?$/,"");if(0===n.length)return a?[s,""]:[s];let o=T(n.join("/")),r=[];return r.push(...o.map((t=>""===t?s:[s,t].join("/")))),a&&r.push(...o),r.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(N||(N={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const C=/^:[\w-]+$/,U=3,D=2,A=1,I=10,O=-2,R=t=>"*"===t;function L(t,e){let i=t.split("/"),n=i.length;return i.some(R)&&(n+=O),e&&(n+=D),i.filter((t=>!R(t))).reduce(((t,e)=>t+(C.test(e)?U:""===e?A:I)),n)}function M(t,e,i){void 0===i&&(i=!1);let{routesMeta:n}=t,a={},s="/",o=[];for(let t=0;t(n.push({paramName:e,isOptional:null!=i}),i?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(n.push({paramName:"*"}),a+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?a+="\\/*$":""!==t&&"/"!==t&&(a+="(?:(?=\\/|$))"),[new RegExp(a,e?void 0:"i"),n]}(t.path,t.caseSensitive,t.end),a=e.match(i);if(!a)return null;let s=a[0],o=s.replace(/(.)\/+$/,"$1"),r=a.slice(1);return{params:n.reduce(((t,e,i)=>{let{paramName:n,isOptional:a}=e;if("*"===n){let t=r[i]||"";o=s.slice(0,s.length-t.length).replace(/(.)\/+$/,"$1")}const l=r[i];return t[n]=a&&!l?void 0:(l||"").replace(/%2F/g,"/"),t}),{}),pathname:s,pathnameBase:o,pattern:t}}function G(t){try{return t.split("/").map((t=>decodeURIComponent(t).replace(/\//g,"%2F"))).join("/")}catch(e){return S(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+e+")."),t}}function F(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let i=e.endsWith("/")?e.length-1:e.length,n=t.charAt(i);return n&&"/"!==n?null:t.slice(i)||"/"}function H(t,e,i,n){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+i+'` field. Alternatively you may provide the full path as a string in and the router will parse it for you.'}function B(t,e){let i=function(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}(t);return e?i.map(((t,e)=>e===i.length-1?t.pathname:t.pathnameBase)):i.map((t=>t.pathnameBase))}function K(t,e,i,n){let a;void 0===n&&(n=!1),"string"==typeof t?a=E(t):(a=_({},t),x(!a.pathname||!a.pathname.includes("?"),H("?","pathname","search",a)),x(!a.pathname||!a.pathname.includes("#"),H("#","pathname","hash",a)),x(!a.search||!a.search.includes("#"),H("#","search","hash",a)));let s,o=""===t||""===a.pathname,r=o?"/":a.pathname;if(null==r)s=i;else{let t=e.length-1;if(!n&&r.startsWith("..")){let e=r.split("/");for(;".."===e[0];)e.shift(),t-=1;a.pathname=e.join("/")}s=t>=0?e[t]:"/"}let l=function(t,e){void 0===e&&(e="/");let{pathname:i,search:n="",hash:a=""}="string"==typeof t?E(t):t,s=i?i.startsWith("/")?i:function(t,e){let i=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?i.length>1&&i.pop():"."!==t&&i.push(t)})),i.length>1?i.join("/"):"/"}(i,e):e;return{pathname:s,search:$(n),hash:Y(a)}}(a,s),m=r&&"/"!==r&&r.endsWith("/"),c=(o||"."===r)&&i.endsWith("/");return l.pathname.endsWith("/")||!m&&!c||(l.pathname+="/"),l}const W=t=>t.join("/").replace(/\/\/+/g,"/"),z=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),$=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",Y=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const J=["post","put","patch","delete"],q=(new Set(J),["get",...J]);function V(){return V=Object.assign?Object.assign.bind():function(t){for(var e=1;e{i.current=!0})),p.useCallback((function(n,a){void 0===a&&(a={}),i.current&&("number"==typeof n?t.navigate(n):t.navigate(n,V({fromRouteId:e},a)))}),[t,e])}():function(){nt()||x(!1);let t=p.useContext(X),{basename:e,future:i,navigator:n}=p.useContext(Q),{matches:a}=p.useContext(et),{pathname:s}=at(),o=JSON.stringify(B(a,i.v7_relativeSplatPath)),r=p.useRef(!1);return st((()=>{r.current=!0})),p.useCallback((function(i,a){if(void 0===a&&(a={}),!r.current)return;if("number"==typeof i)return void n.go(i);let l=K(i,JSON.parse(o),s,"path"===a.relative);null==t&&"/"!==e&&(l.pathname="/"===l.pathname?e:W([e,l.pathname])),(a.replace?n.replace:n.push)(l,a.state,a)}),[e,n,o,s,t])}()}function rt(t,e){let{relative:i}=void 0===e?{}:e,{future:n}=p.useContext(Q),{matches:a}=p.useContext(et),{pathname:s}=at(),o=JSON.stringify(B(a,n.v7_relativeSplatPath));return p.useMemo((()=>K(t,JSON.parse(o),s,"path"===i)),[t,o,s,i])}function lt(t,e,i,n){nt()||x(!1);let{navigator:a}=p.useContext(Q),{matches:s}=p.useContext(et),o=s[s.length-1],r=o?o.params:{},l=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let m,c=at();if(e){var g;let t="string"==typeof e?E(e):e;"/"===l||(null==(g=t.pathname)?void 0:g.startsWith(l))||x(!1),m=t}else m=c;let d=m.pathname||"/",u=d;if("/"!==l){let t=l.replace(/^\//,"").split("/");u="/"+d.replace(/^\//,"").split("/").slice(t.length).join("/")}let k=w(t,{pathname:u}),_=function(t,e,i,n){var a;if(void 0===e&&(e=[]),void 0===i&&(i=null),void 0===n&&(n=null),null==t){var s;if(!i)return null;if(i.errors)t=i.matches;else{if(!(null!=(s=n)&&s.v7_partialHydration&&0===e.length&&!i.initialized&&i.matches.length>0))return null;t=i.matches}}let o=t,r=null==(a=i)?void 0:a.errors;if(null!=r){let t=o.findIndex((t=>t.route.id&&void 0!==(null==r?void 0:r[t.route.id])));t>=0||x(!1),o=o.slice(0,Math.min(o.length,t+1))}let l=!1,m=-1;if(i&&n&&n.v7_partialHydration)for(let t=0;t=0?o.slice(0,m+1):[o[0]];break}}}return o.reduceRight(((t,n,a)=>{let s,c=!1,g=null,d=null;var u;i&&(s=r&&n.route.id?r[n.route.id]:void 0,g=n.route.errorElement||ct,l&&(m<0&&0===a?(kt[u="route-fallback"]||(kt[u]=!0),c=!0,d=null):m===a&&(c=!0,d=n.route.hydrateFallbackElement||null)));let h=e.concat(o.slice(0,a+1)),k=()=>{let e;return e=s?g:c?d:n.route.Component?p.createElement(n.route.Component,null):n.route.element?n.route.element:t,p.createElement(dt,{match:n,routeContext:{outlet:t,matches:h,isDataRoute:null!=i},children:e})};return i&&(n.route.ErrorBoundary||n.route.errorElement||0===a)?p.createElement(gt,{location:i.location,revalidation:i.revalidation,component:g,error:s,children:k(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):k()}),null)}(k&&k.map((t=>Object.assign({},t,{params:Object.assign({},r,t.params),pathname:W([l,a.encodeLocation?a.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?l:W([l,a.encodeLocation?a.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),s,i,n);return e&&_?p.createElement(tt.Provider,{value:{location:V({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:h.Pop}},_):_}function mt(){let t=function(){var t;let e=p.useContext(it),i=function(){let t=p.useContext(Z);return t||x(!1),t}(pt.UseRouteError),n=ht(pt.UseRouteError);return void 0!==e?e:null==(t=i.errors)?void 0:t[n]}(),e=function(t){return null!=t&&"number"==typeof t.status&&"string"==typeof t.statusText&&"boolean"==typeof t.internal&&"data"in t}(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),i=t instanceof Error?t.stack:null,n={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},e),i?p.createElement("pre",{style:n},i):null,null)}const ct=p.createElement(mt,null);class gt extends p.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,e){return e.location!==t.location||"idle"!==e.revalidation&&"idle"===t.revalidation?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:void 0!==t.error?t.error:e.error,location:e.location,revalidation:t.revalidation||e.revalidation}}componentDidCatch(t,e){console.error("React Router caught the following error during render",t,e)}render(){return void 0!==this.state.error?p.createElement(et.Provider,{value:this.props.routeContext},p.createElement(it.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function dt(t){let{routeContext:e,match:i,children:n}=t,a=p.useContext(X);return a&&a.static&&a.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=i.route.id),p.createElement(et.Provider,{value:e},n)}var ut=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(ut||{}),pt=function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t}(pt||{});function ht(t){let e=function(){let t=p.useContext(et);return t||x(!1),t}(),i=e.matches[e.matches.length-1];return i.route.id||x(!1),i.route.id}const kt={};function _t(t){let{to:e,replace:i,state:n,relative:a}=t;nt()||x(!1);let{future:s,static:o}=p.useContext(Q),{matches:r}=p.useContext(et),{pathname:l}=at(),m=ot(),c=K(e,B(r,s.v7_relativeSplatPath),l,"path"===a),g=JSON.stringify(c);return p.useEffect((()=>m(JSON.parse(g),{replace:i,state:n,relative:a})),[m,g,a,i,n]),null}function ft(t){x(!1)}function xt(t){let{basename:e="/",children:i=null,location:n,navigationType:a=h.Pop,navigator:s,static:o=!1,future:r}=t;nt()&&x(!1);let l=e.replace(/^\/*/,"/"),m=p.useMemo((()=>({basename:l,navigator:s,static:o,future:V({v7_relativeSplatPath:!1},r)})),[l,r,s,o]);"string"==typeof n&&(n=E(n));let{pathname:c="/",search:g="",hash:d="",state:u=null,key:k="default"}=n,_=p.useMemo((()=>{let t=F(c,l);return null==t?null:{location:{pathname:t,search:g,hash:d,state:u,key:k},navigationType:a}}),[l,c,g,d,u,k,a]);return null==_?null:p.createElement(Q.Provider,{value:m},p.createElement(tt.Provider,{children:i,value:_}))}function St(t){let{children:e,location:i}=t;return lt(bt(e),i)}function bt(t,e){void 0===e&&(e=[]);let i=[];return p.Children.forEach(t,((t,n)=>{if(!p.isValidElement(t))return;let a=[...e,n];if(t.type===p.Fragment)return void i.push.apply(i,bt(t.props.children,a));t.type!==ft&&x(!1),t.props.index&&t.props.children&&x(!1);let s={id:t.props.id||a.join("-"),caseSensitive:t.props.caseSensitive,element:t.props.element,Component:t.props.Component,index:t.props.index,path:t.props.path,loader:t.props.loader,action:t.props.action,errorElement:t.props.errorElement,ErrorBoundary:t.props.ErrorBoundary,hasErrorBoundary:null!=t.props.ErrorBoundary||null!=t.props.errorElement,shouldRevalidate:t.props.shouldRevalidate,handle:t.props.handle,lazy:t.props.lazy};t.props.children&&(s.children=bt(t.props.children,a)),i.push(s)})),i}function yt(){return yt=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(a[i]=t[i]);return a}p.startTransition,new Promise((()=>{})),p.Component,new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const Et=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],Nt=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"];try{window.__reactRouterVersion="6"}catch(t){}const wt=p.createContext({isTransitioning:!1});new Map;const jt=p.startTransition;function Tt(t){let{basename:e,children:i,future:n,window:a}=t,s=p.useRef();var o;null==s.current&&(s.current=(void 0===(o={window:a,v5Compat:!0})&&(o={}),function(t,e,i,n){void 0===n&&(n={});let{window:a=document.defaultView,v5Compat:s=!1}=n,o=a.history,r=h.Pop,l=null,m=c();function c(){return(o.state||{idx:null}).idx}function g(){r=h.Pop;let t=c(),e=null==t?null:t-m;m=t,l&&l({action:r,location:u.location,delta:e})}function d(t){let e="null"!==a.location.origin?a.location.origin:a.location.href,i="string"==typeof t?t:v(t);return i=i.replace(/ $/,"%20"),x(e,"No window.location.(origin|href) available to create URL for href: "+i),new URL(i,e)}null==m&&(m=0,o.replaceState(_({},o.state,{idx:m}),""));let u={get action(){return r},get location(){return t(a,o)},listen(t){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(f,g),l=t,()=>{a.removeEventListener(f,g),l=null}},createHref:t=>e(a,t),createURL:d,encodeLocation(t){let e=d(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){r=h.Push;let n=y(u.location,t,e);i&&i(n,t),m=c()+1;let g=b(n,m),d=u.createHref(n);try{o.pushState(g,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;a.location.assign(d)}s&&l&&l({action:r,location:u.location,delta:1})},replace:function(t,e){r=h.Replace;let n=y(u.location,t,e);i&&i(n,t),m=c();let a=b(n,m),g=u.createHref(n);o.replaceState(a,"",g),s&&l&&l({action:r,location:u.location,delta:0})},go:t=>o.go(t)};return u}((function(t,e){let{pathname:i="/",search:n="",hash:a=""}=E(t.location.hash.substr(1));return i.startsWith("/")||i.startsWith(".")||(i="/"+i),y("",{pathname:i,search:n,hash:a},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let i=t.document.querySelector("base"),n="";if(i&&i.getAttribute("href")){let e=t.location.href,i=e.indexOf("#");n=-1===i?e:e.slice(0,i)}return n+"#"+("string"==typeof e?e:v(e))}),(function(t,e){S("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),o)));let r=s.current,[l,m]=p.useState({action:r.action,location:r.location}),{v7_startTransition:c}=n||{},g=p.useCallback((t=>{c&&jt?jt((()=>m(t))):m(t)}),[m,c]);return p.useLayoutEffect((()=>r.listen(g)),[r,g]),p.createElement(xt,{basename:e,children:i,location:l.location,navigationType:l.action,navigator:r,future:n})}t.flushSync,p.useId;const Ct="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Ut=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Dt=p.forwardRef((function(t,e){let i,{onClick:n,relative:a,reloadDocument:s,replace:o,state:r,target:l,to:m,preventScrollReset:c,unstable_viewTransition:g}=t,d=vt(t,Et),{basename:u}=p.useContext(Q),h=!1;if("string"==typeof m&&Ut.test(m)&&(i=m,Ct))try{let t=new URL(window.location.href),e=m.startsWith("//")?new URL(t.protocol+m):new URL(m),i=F(e.pathname,u);e.origin===t.origin&&null!=i?m=i+e.search+e.hash:h=!0}catch(t){}let k=function(t,e){let{relative:i}=void 0===e?{}:e;nt()||x(!1);let{basename:n,navigator:a}=p.useContext(Q),{hash:s,pathname:o,search:r}=rt(t,{relative:i}),l=o;return"/"!==n&&(l="/"===o?n:W([n,o])),a.createHref({pathname:l,search:r,hash:s})}(m,{relative:a}),_=function(t,e){let{target:i,replace:n,state:a,preventScrollReset:s,relative:o,unstable_viewTransition:r}=void 0===e?{}:e,l=ot(),m=at(),c=rt(t,{relative:o});return p.useCallback((e=>{if(function(t,e){return!(0!==t.button||e&&"_self"!==e||function(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}(t))}(e,i)){e.preventDefault();let i=void 0!==n?n:v(m)===v(c);l(t,{replace:i,state:a,preventScrollReset:s,relative:o,unstable_viewTransition:r})}}),[m,l,c,n,a,i,t,s,o,r])}(m,{replace:o,state:r,target:l,preventScrollReset:c,relative:a,unstable_viewTransition:g});return p.createElement("a",yt({},d,{href:i||k,onClick:h||s?n:function(t){n&&n(t),t.defaultPrevented||_(t)},ref:e,target:l}))})),At=p.forwardRef((function(t,e){let{"aria-current":i="page",caseSensitive:n=!1,className:a="",end:s=!1,style:o,to:r,unstable_viewTransition:l,children:m}=t,c=vt(t,Nt),g=rt(r,{relative:c.relative}),d=at(),u=p.useContext(Z),{navigator:h,basename:k}=p.useContext(Q),_=null!=u&&function(t,e){void 0===e&&(e={});let i=p.useContext(wt);null==i&&x(!1);let{basename:n}=function(){let t=p.useContext(X);return t||x(!1),t}(It.useViewTransitionState),a=rt(t,{relative:e.relative});if(!i.isTransitioning)return!1;let s=F(i.currentLocation.pathname,n)||i.currentLocation.pathname,o=F(i.nextLocation.pathname,n)||i.nextLocation.pathname;return null!=P(a.pathname,o)||null!=P(a.pathname,s)}(g)&&!0===l,f=h.encodeLocation?h.encodeLocation(g).pathname:g.pathname,S=d.pathname,b=u&&u.navigation&&u.navigation.location?u.navigation.location.pathname:null;n||(S=S.toLowerCase(),b=b?b.toLowerCase():null,f=f.toLowerCase()),b&&k&&(b=F(b,k)||b);const y="/"!==f&&f.endsWith("/")?f.length-1:f.length;let v,E=S===f||!s&&S.startsWith(f)&&"/"===S.charAt(y),N=null!=b&&(b===f||!s&&b.startsWith(f)&&"/"===b.charAt(f.length)),w={isActive:E,isPending:N,isTransitioning:_},j=E?i:void 0;v="function"==typeof a?a(w):[a,E?"active":null,N?"pending":null,_?"transitioning":null].filter(Boolean).join(" ");let T="function"==typeof o?o(w):o;return p.createElement(Dt,yt({},c,{"aria-current":j,className:v,ref:e,style:T,to:r,unstable_viewTransition:l}),"function"==typeof m?m(w):m)}));var It,Ot;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(It||(It={})),function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"}(Ot||(Ot={}));const Rt=({title:t})=>(0,p.createElement)(p.Fragment,null,(0,p.createElement)("header",{className:"gtmkit-px-8 gtmkit-py-6 gtmkit-sticky"},(0,p.createElement)("div",{className:"gtmkit-flex gtmkit-items-center gtmkit-justify-between"},(0,p.createElement)("h1",{className:"gtmkit-flex gtmkit-items-center gtmkit-font-medium gtmkit-text-3xl"},(0,p.createElement)("svg",{className:"gtmkit-mr-8",height:"44",viewBox:"0 0 160 54",width:"128",xmlns:"http://www.w3.org/2000/svg"},(0,p.createElement)("rect",{fill:"#888",height:"54",rx:"4.265",width:"160"}),(0,p.createElement)("path",{d:"m88.659 7.002h-49.266c-2.915 0-5.378-.184-9.23 2.596l-18.743 12.752c-4.549 3.292-4.571 6.001 0 9.302l18.743 12.751c3.652 2.646 6.299 2.597 9.23 2.597h15.686 33.58c2.931-.057 5.394-1.784 5.34-3.923v-32.21c-.012-2.134-2.409-3.865-5.34-3.865z",fill:"#3969bb",transform:"matrix(-1 0 0 -1 101.999867 53.999547)"}),(0,p.createElement)("g",{fill:"#fff",transform:"matrix(1.465202 0 0 1.465202 -4.582436 -7.553126)"},(0,p.createElement)("path",{d:"m18.316 23.086h4.632v6.052c-.75.245-1.459.415-2.121.514-.663.098-1.341.148-2.033.148-1.764 0-3.106-.517-4.035-1.554-.929-1.034-1.395-2.519-1.395-4.457 0-1.886.538-3.356 1.617-4.41 1.078-1.054 2.573-1.579 4.481-1.579 1.2 0 2.357.239 3.469.718l-.823 1.979c-.85-.425-1.737-.637-2.657-.637-1.071 0-1.932.358-2.572 1.077-.645.718-.968 1.685-.968 2.899 0 1.267.26 2.233.78 2.904.516.667 1.271.999 2.262.999.517 0 1.041-.052 1.572-.158v-2.435h-2.209zm11.912 6.555h-2.474v-9.614h-3.173v-2.06h8.816v2.06h-3.169zm9.908 0-2.811-9.158h-.072c.103 1.863.154 3.105.154 3.728v5.43h-2.213v-11.674h3.368l2.764 8.927h.048l2.934-8.927h3.369v11.674h-2.308v-5.525c0-.261 0-.561.009-.903.009-.341.048-1.246.112-2.716h-.074l-3.011 9.144z"}),(0,p.createElement)("path",{d:"m88.883 31.898h-3.811l-4.147-6.67-1.417 1.018v5.652h-3.357v-15.83h3.357v7.242l1.318-1.861 4.293-5.381h3.724l-5.523 7.006zm1.589-15.233c0-1.075.6-1.614 1.8-1.614 1.199 0 1.798.539 1.798 1.614 0 .512-.148.91-.45 1.196-.297.284-.749.429-1.348.429-1.2 0-1.8-.543-1.8-1.625zm3.449 15.233h-3.302v-12.104h3.302zm8.563-2.413c.578 0 1.271-.128 2.077-.38v2.456c-.82.37-1.831.552-3.031.552-1.324 0-2.28-.333-2.885-1.001-.602-.667-.902-1.668-.902-3.003v-5.835h-1.585v-1.399l1.823-1.103.949-2.557h2.115v2.579h3.388v2.48h-3.388v5.835c0 .467.129.815.393 1.041.264.222.614.335 1.046.335z"}))),t))));var Lt=i(942),Mt=i.n(Lt);const Pt=({count:t,important:e,nav:i=!1})=>(0,g.jsx)(g.Fragment,{children:t>0&&(0,g.jsx)("span",{className:Mt()("gtmkit-ml-2 gtmkit-text-xs gtmkit-text-white gtmkit-font-bold gtmkit-rounded-full gtmkit-py-px gtmkit-leading-[1.125rem] gtmkit-uppercase",{"gtmkit-bg-color-error":e},{"gtmkit-bg-color-success":!e},{"gtmkit-px-1.5":i},{"gtmkit-px-2":!i}),children:t})}),Gt=({metrics:t})=>(0,g.jsx)(Pt,{count:t.total,important:t.problem>0,nav:!0}),Ft=Pt,Ht=({to:t,title:e})=>{const{useNotifications:i}=(0,a.useContext)(d);return(0,g.jsx)(g.Fragment,{children:(0,g.jsxs)(At,{to:t,className:({isActive:t})=>"gtmkit-border-b-4 gtmkit-border-white gtmkit-text-color-grey gtmkit-font-semibold gtmkit-pt-5 gtmkit-pb-[18px] hover:gtmkit-border-color-grey "+(t?"gtmkit-text-color-heading gtmkit-border-b-color-primary ":""),children:[e,"notifications"===t&&(0,g.jsx)(Gt,{metrics:i.metrics})]})})},Bt=({NavList:t})=>(0,p.createElement)("nav",{className:"gtmkit-flex gtmkit-flex-wrap gtmkit-items-center gtmkit-px-8 gtmkit-border-y gtmkit-bg-white gtmkit-border-color-border gtmkit-text-[15px] gtmkit-space-x-9"},t.map((function(t){return(0,p.createElement)(Ht,{key:t.to,to:t.to,title:t.title})})));function Kt(){return Kt=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(a[i]=t[i]);return a}function zt(t,e){return zt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},zt(t,e)}function $t(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,zt(t,e)}function Yt(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}const Jt=k().createContext(null);var qt=function(t){return t.scrollTop},Vt="unmounted",Xt="exited",Zt="entering",Qt="entered",te="exiting",ee=function(t){function i(e,i){var n;n=t.call(this,e,i)||this;var a,s=i&&!i.isMounting?e.enter:e.appear;return n.appearStatus=null,e.in?s?(a=Xt,n.appearStatus=Zt):a=Qt:a=e.unmountOnExit||e.mountOnEnter?Vt:Xt,n.state={status:a},n.nextCallback=null,n}$t(i,t),i.getDerivedStateFromProps=function(t,e){return t.in&&e.status===Vt?{status:Xt}:null};var n=i.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(t){var e=null;if(t!==this.props){var i=this.state.status;this.props.in?i!==Zt&&i!==Qt&&(e=Zt):i!==Zt&&i!==Qt||(e=te)}this.updateStatus(!1,e)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var t,e,i,n=this.props.timeout;return t=e=i=n,null!=n&&"number"!=typeof n&&(t=n.exit,e=n.enter,i=void 0!==n.appear?n.appear:e),{exit:t,enter:e,appear:i}},n.updateStatus=function(t,i){if(void 0===t&&(t=!1),null!==i)if(this.cancelNextCallback(),i===Zt){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:e().findDOMNode(this);n&&qt(n)}this.performEnter(t)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Xt&&this.setState({status:Vt})},n.performEnter=function(t){var i=this,n=this.props.enter,a=this.context?this.context.isMounting:t,s=this.props.nodeRef?[a]:[e().findDOMNode(this),a],o=s[0],r=s[1],l=this.getTimeouts(),m=a?l.appear:l.enter;t||n?(this.props.onEnter(o,r),this.safeSetState({status:Zt},(function(){i.props.onEntering(o,r),i.onTransitionEnd(m,(function(){i.safeSetState({status:Qt},(function(){i.props.onEntered(o,r)}))}))}))):this.safeSetState({status:Qt},(function(){i.props.onEntered(o)}))},n.performExit=function(){var t=this,i=this.props.exit,n=this.getTimeouts(),a=this.props.nodeRef?void 0:e().findDOMNode(this);i?(this.props.onExit(a),this.safeSetState({status:te},(function(){t.props.onExiting(a),t.onTransitionEnd(n.exit,(function(){t.safeSetState({status:Xt},(function(){t.props.onExited(a)}))}))}))):this.safeSetState({status:Xt},(function(){t.props.onExited(a)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},n.setNextCallback=function(t){var e=this,i=!0;return this.nextCallback=function(n){i&&(i=!1,e.nextCallback=null,t(n))},this.nextCallback.cancel=function(){i=!1},this.nextCallback},n.onTransitionEnd=function(t,i){this.setNextCallback(i);var n=this.props.nodeRef?this.props.nodeRef.current:e().findDOMNode(this),a=null==t&&!this.props.addEndListener;if(n&&!a){if(this.props.addEndListener){var s=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],o=s[0],r=s[1];this.props.addEndListener(o,r)}null!=t&&setTimeout(this.nextCallback,t)}else setTimeout(this.nextCallback,0)},n.render=function(){var t=this.state.status;if(t===Vt)return null;var e=this.props,i=e.children,n=(e.in,e.mountOnEnter,e.unmountOnExit,e.appear,e.enter,e.exit,e.timeout,e.addEndListener,e.onEnter,e.onEntering,e.onEntered,e.onExit,e.onExiting,e.onExited,e.nodeRef,Wt(e,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return k().createElement(Jt.Provider,{value:null},"function"==typeof i?i(t,n):k().cloneElement(k().Children.only(i),n))},i}(k().Component);function ie(){}ee.contextType=Jt,ee.propTypes={},ee.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ie,onEntering:ie,onEntered:ie,onExit:ie,onExiting:ie,onExited:ie},ee.UNMOUNTED=Vt,ee.EXITED=Xt,ee.ENTERING=Zt,ee.ENTERED=Qt,ee.EXITING=te;const ne=ee;var ae=function(t,e){return t&&e&&e.split(" ").forEach((function(e){return n=e,void((i=t).classList?i.classList.remove(n):"string"==typeof i.className?i.className=Yt(i.className,n):i.setAttribute("class",Yt(i.className&&i.className.baseVal||"",n)));var i,n}))},se=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),a=0;a{const{useUpdateSettings:i,useIsPending:o,useCanSave:r}=(0,a.useContext)(d);return(0,g.jsxs)(s.Button,{className:e,onClick:()=>i(),variant:"primary",disabled:o||!r,children:[r?t:(0,n.__)("Saved","gtm-kit"),o?(0,g.jsx)(s.Spinner,{}):""]})},le=()=>{const{useCanSave:t}=(0,a.useContext)(d);return(0,p.createElement)(oe,{in:t,timeout:500,classNames:"slide",unmountOnExit:!0},(0,p.createElement)("footer",{className:"gtmkit-fixed gtmkit-bottom-0 gtmkit-w-full gtmkit-z-10 gtmkit-bg-color-grey gtmkit-text-white gtmkit-p-8"},(0,p.createElement)(re,null)))},me=({subject:t})=>{const e=!0===t||"on"===t,i=!0===e?"gtmkit-bg-color-success":"gtmkit-bg-color-button-disabled";return(0,p.createElement)("div",{className:"gtmkit-text-xs gtmkit-text-white gtmkit-font-bold gtmkit-rounded-full gtmkit-py gtmkit-px-2 gtmkit-h-5 gtmkit-leading-5 gtmkit-uppercase "+i},e?(0,n.__)("Active","gtm-kit"):(0,n.__)("Inactive","gtm-kit"))},ce=(0,a.forwardRef)((({children:t,className:e="",...i},n)=>(0,g.jsx)("div",{...i,className:"gtmkit-flex gtmkit-flex-col gtmkit-min-h-[128px] gtmkit-bg-white gtmkit-border gtmkit-border-color-border gtmkit-mb-6 gtmkit-py-4 gtmkit-px-5 gtmkit-rounded gtmkit-group gtmkit-w-full "+e,ref:n,children:t})));ce.Header=({as:t="h3",title:e="",children:i,className:n="",...a})=>(0,g.jsxs)("div",{...a,className:"gtmkit-flex gtmkit-justify-between gtmkit-items-center gtmkit-mb-5 "+n,children:[(0,g.jsx)(t,{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading",children:e}),i]}),ce.Content=({as:t="div",children:e,className:i="gtmkit-flex-auto",...n})=>(0,g.jsx)(t,{...n,className:i,children:e}),ce.Button=({url:t,destination:e,newTab:i=!1,text:n,group:a="",...o})=>{const r=ot();return(0,g.jsx)("div",{...o,className:"gtmkit-mt-4 gtmkit-mb-0.5",children:(0,g.jsx)(s.Button,{variant:"primary",className:"gtmkit-rounded !gtmkit-py-4 !gtmkit-px-8 gtmkit-w-full sm:gtmkit-w-auto gtmkit-min-w-[225px]",onClick:()=>{e&&t&&!1===i?window.gtmkitSettings.current_page===a?r(e,{replace:!0}):window.location.href=t+"#"+e:t?i?window.open(t):window.location.href=t:r(e,{replace:!0})},children:(0,g.jsx)("span",{className:"gtmkit-mx-auto gtmkit-text-sm gtmkit-font-bold",children:n})})})};const ge=ce,de=({title:t,data:e,className:i=""})=>{const{useSettings:s}=(0,a.useContext)(d);return(0,p.createElement)(p.Fragment,null,(0,p.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8 gtmkit-mt-6"},t),(0,p.createElement)("div",{className:"lg:gtmkit-grid lg:gtmkit-grid-cols-2 xl:gtmkit-grid-cols-3 gtmkit-justify-between gtmkit-gap-6 gtmkit-border-b gtmkit-border-color-border gtmkit-pb-6 gtmkit-min-h-[175px] "+i},e.map(((t,e)=>!1===t.featured?null:(0,p.createElement)(ge,{key:e},(0,p.createElement)(ge.Header,{title:t.title},t.pill?(0,p.createElement)(me,{subject:s[t.group][t.option]}):null),(0,p.createElement)(ge.Content,null,t.text.map(((t,e)=>(0,p.createElement)("p",{key:e},t)))),(0,p.createElement)(ge.Button,{url:t.link.url,destination:t.link.destination,text:t.link.text?t.link.text:(0,n.__)("Read article","gtm-kit"),newTab:t.link.external,group:t.group}))))))},ue=(t="general",e="")=>{const i=window.gtmkitSettings.adminPageUrl;return e?`${i}${t}#/${e}`:`${i}${t}`},pe=t=>((t,e,i)=>{const n=(t,i)=>({...i,title:t.title,to:t.path,group:t.group||i.group,option:t.option||i.option,text:[t.description],link:{...i.link,url:ue(e,""),destination:"/"+t.path}});return"templates"===e?Object.keys(t).map((e=>n(t[e][0],i))):Object.keys(t).map((e=>n(t[e],i)))})(window.gtmkitSettings[t],t,function(t){switch(t){case"integrations":return{pill:!0,group:"integrations",option:null,link:{internal:!0,text:(0,n.__)("Setup Integration","gtm-kit")}};case"templates":return{pill:!1,group:null,option:null,link:{internal:!0,text:(0,n.__)("Get Template","gtm-kit")}};default:return{pill:!1,group:null,option:null,link:{internal:!0,text:(0,n.__)("Read More","gtm-kit")}}}}(t)),he=()=>{const{useSettings:t,useNotifications:e}=(0,a.useContext)(d),[i,s]=(0,a.useState)(window.gtmkitSettings.tutorials),o=e.metrics;return(0,a.useEffect)((()=>{s((t=>[...t,{title:(0,n.__)("See all tutorials","gtm-kit"),text:[(0,n.__)("See all our tutorials and get the most out of GTM Kit","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=documentation&utm_content=dashboard-tutorials",text:(0,n.__)("Read articles","gtm-kit")},featured:!0}]))}),[]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8",children:(0,n.__)("General","gtm-kit")}),(0,g.jsxs)("div",{className:"lg:gtmkit-grid lg:gtmkit-grid-cols-2 xl:gtmkit-grid-cols-3 lg:gtmkit-justify-between gtmkit-gap-6 gtmkit-border-b gtmkit-border-color-border gtmkit-pb-6 gtmkit-min-h-[175px]",children:[(0,g.jsxs)(ge,{children:[(0,g.jsx)(ge.Header,{title:"Google Tag Manager Container",children:(0,g.jsx)(me,{subject:t.general.gtm_id&&t.general.container_active})}),(0,g.jsx)(ge.Content,{children:t.general.gtm_id&&t.general.container_active?(0,g.jsxs)("p",{children:[(0,n.__)("Container ID:","gtm-kit")," ",t&&t.general.gtm_id]}):(0,g.jsx)("p",{children:(0,n.__)("The container is not active but the datalayer is generated.","gtm-kit")})}),(0,g.jsx)(ge.Button,{destination:"/container",text:(0,n.__)("Edit container","gtm-kit")})]}),(0,g.jsxs)(ge,{children:[(0,g.jsx)(ge.Header,{title:(0,n.__)("Notifications","gtm-kit"),className:"!gtmkit-justify-start",children:(0,g.jsx)(Ft,{count:o.total,important:o.problem>0})}),(0,g.jsx)(ge.Content,{children:o.total?(0,g.jsx)(g.Fragment,{children:o.problem?(0,g.jsx)("p",{children:(0,n.__)("There are some problems that require your attention.","gtm-kit")}):(0,g.jsx)("p",{children:(0,n.__)("There are some notifications that may require your attention.","gtm-kit")})}):(0,g.jsx)("p",{children:(0,n.__)("No notifications at the moment.","gtm-kit")})}),(0,g.jsx)(ge.Button,{destination:"/notifications",text:(0,n.__)("See all notifications","gtm-kit")})]}),(0,g.jsxs)(ge,{children:[(0,g.jsx)(ge.Header,{title:(0,n.__)("Help improve GTM Kit","gtm-kit"),children:(0,g.jsx)(me,{subject:t.general.analytics_active})}),(0,g.jsx)(ge.Content,{children:(0,g.jsx)("p",{children:(0,n.__)("Share anonymous data with the development team to help improve GTM Kit.","gtm-kit")})}),(0,g.jsx)(ge.Button,{destination:"/misc",text:(0,n.__)("Share anonymous data","gtm-kit")})]})]}),(0,g.jsx)(de,{title:(0,n.__)("Tutorials","gtm-kit"),data:i}),(0,g.jsx)(de,{title:(0,n.__)("Integrations","gtm-kit"),data:pe("integrations")})]})},ke=({title:t,placeholder:e,help:i,className:n="gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",optionGroup:a="general",optionName:o,isDisabled:r,useSettings:l,useUpdateStateSettings:m})=>(0,p.createElement)(s.TextControl,{label:t,placeholder:e,help:i,className:n,value:l[a][o],onChange:t=>m(a,o,t),disabled:r}),_e=({title:t,label:e,optionGroup:i="general",optionName:n,disabled:o=!1,useSettings:r,useUpdateStateSettings:l,narrow:m=!1,premium:c=!1,useSetNotificationStatus:d,notificationId:u=""})=>{const p=(0,a.useId)(),h="gtmkit-settings-field-wrap "+(m?"gtmkit-py-2":"gtmkit-py-4");return(0,g.jsx)(g.Fragment,{children:(0,g.jsx)("div",{className:h,children:(0,g.jsx)(s.BaseControl,{label:c?(0,g.jsxs)(g.Fragment,{children:[t,(0,g.jsx)("span",{className:"gtmkit-text-xs gtmkit-text-white gtmkit-font-normal gtmkit-rounded-full gtmkit-py-0.5 gtmkit-px-2 gtmkit-h-5 gtmkit-leading-5 gtmkit-bg-color-success gtmkit-ml-6",children:"Premium"})]}):t,id:p,children:(0,g.jsx)(s.ToggleControl,{label:e,checked:!o&&r[i][n],onChange:()=>{l(i,n,!(r&&r[i][n])),u&&d(u,"remove")},disabled:o})})})})},fe=({title:t,options:e,help:i,className:n="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:a="general",optionName:o,disabled:r,useSettings:l,useUpdateStateSettings:m})=>(0,p.createElement)(s.RadioControl,{label:t,options:e,help:i,className:n,selected:parseInt(l[a][o]),onChange:t=>m(a,o,t),disabled:r}),xe=({title:t,help:e,items:i=[],optionGroup:n="general",optionName:o,disabled:r=!1,useSettings:l,useUpdateStateSettings:m})=>{const c=(0,a.useId)(),d=Array.isArray(l[n][o])?l[n][o]:[],[u,p]=(0,a.useState)(d);return(0,a.useEffect)((()=>{const t=Array.isArray(l[n][o])?l[n][o]:[];p(t)}),[l]),(0,g.jsx)(g.Fragment,{children:(0,g.jsx)("div",{className:"gtmkit-settings-field-wrap gtmkit-py-4",children:(0,g.jsx)(s.BaseControl,{label:t,help:e,id:c,children:i.map((t=>(0,g.jsx)(s.CheckboxControl,{label:t.name,disabled:r,checked:u.includes(t.role),onChange:e=>((t,e)=>{p((i=>{let a;return a=t?[...i,e]:i.filter((t=>t!==e)),m(n,o,a),a}))})(e,t.role)},t.role)))})})})},Se=(0,a.forwardRef)((({children:t,className:e="",disabled:i=!1,...n},a)=>(0,g.jsx)("div",{...n,className:"gtmkit-mb-12 gtmkit-border gtmkit-bg-white gtmkit-max-w-screen-lg gtmkit-border-color-grey gtmkit-rounded "+e+(i?"gtmkit-opacity-60":""),ref:a,children:t})));Se.Header=({as:t="h3",title:e="",children:i,className:n="",...a})=>(0,g.jsxs)(t,{...a,className:"gtmkit-font-bold gtmkit-text-lg gtmkit-px-8 gtmkit-py-4 gtmkit-border-b gtmkit-border-color-grey gtmkit-flex gtmkit-items-center "+n,children:[e,i]}),Se.Content=({as:t="div",children:e,className:i="",...n})=>(0,g.jsx)(t,{...n,className:"gtmkit-px-8 gtmkit-py-6 "+i,children:e});const be=Se,ye=()=>{const{useSettings:t,useUpdateStateSettings:e,useUserRoles:i}=(0,a.useContext)(d),s=!(t.general.sgtm_domain&&t.general.sgtm_domain.trim()&&t.general.sgtm_container_identifier&&t.general.sgtm_container_identifier.trim()),o=at();return(0,p.useEffect)((()=>{const t=new URLSearchParams(o.search).get("focus");if(t){const e=document.getElementById(t);e&&e.scrollIntoView()}}),[o]),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8",children:(0,n.__)("Google Tag Manager container","gtm-kit")}),(0,g.jsxs)(be,{children:[(0,g.jsx)(be.Header,{title:(0,n.__)("General Container Settings","gtm-kit")}),(0,g.jsxs)(be.Content,{children:[(0,g.jsx)("p",{className:"gtmkit-mb-4",children:(0,n.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit")}),(0,g.jsx)(ke,{title:(0,n.__)("GTM Container ID:","gtm-kit"),optionName:"gtm_id",placeholder:(0,n.__)("Enter GTM Container ID","gtm-kit"),useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(_e,{title:(0,n.__)("Inject Container Code","gtm-kit"),label:(0,n.__)("Setting this to Off will remove the Google Tag Manager container code but the data layer will remain.","gtm-kit"),optionName:"container_active",useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(_e,{title:(0,n.__)("Just the container","gtm-kit"),label:(0,n.__)("Setting this to On will reduce the functionality to just the GTM container code. No additional data will be pushed to the datalayer regardless of any other settings.","gtm-kit"),optionName:"just_the_container",useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(ke,{title:(0,n.__)("dataLayer variable name:","gtm-kit"),optionName:"datalayer_name",placeholder:"dataLayer",help:(0,n.__)("The default name of the data layer object is dataLayer. If you prefer to use a different name for your data layer, you may do so.","gtm-kit"),useSettings:t,useUpdateStateSettings:e})]})]}),(0,g.jsx)("div",{id:"sgtm"}),(0,g.jsxs)(be,{children:[(0,g.jsx)(be.Header,{title:(0,n.__)("Server-side Tagging (sGTM)","gtm-kit")}),(0,g.jsxs)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4",children:[(0,g.jsxs)(be.Content,{children:[(0,g.jsx)(ke,{title:(0,n.__)("sGTM Container Domain:","gtm-kit"),optionName:"sgtm_domain",placeholder:(0,n.__)("Enter domain","gtm-kit"),help:(0,n.__)("Enter your custom domain name if you are using a custom server side GTM container for tracking.","gtm-kit"),useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(ke,{title:(0,n.__)("sGTM container identifier:","gtm-kit"),optionName:"sgtm_container_identifier",placeholder:(0,n.__)("Enter loader name","gtm-kit"),help:(0,n.__)("Only use if you are using a custom loader.","gtm-kit"),useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(_e,{title:(0,n.__)("Cookie Keeper (for Stape users only)","gtm-kit"),label:(0,n.__)("Prolong cookie lifetime in Safari and other browsers with ITP. This only works if you use Stape sGTM hosting and have set up the Cookie Keeper power up.","gtm-kit"),optionName:"sgtm_cookie_keeper",disabled:s,useSettings:t,useUpdateStateSettings:e})]}),(0,g.jsx)("div",{className:"gtmkit-px-8 gtmkit-py-6",children:(0,g.jsxs)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3",children:[(0,g.jsx)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold",children:(0,n.__)("Google Tag Manager Server-side Tagging","gtm-kit")}),(0,g.jsxs)("p",{className:"gtmkit-mb-4",children:[(0,n.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit")," ",(0,g.jsx)("a",{href:"https://gtmkit.com/guides/google-tag-manager-server-side-tagging/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=sgtm&utm_content=dashboard-container",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer",children:(0,n.__)("Learn more","gtm-kit")})]}),(0,g.jsx)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold",children:(0,n.__)("Hosting server-side GTM containers","gtm-kit")}),(0,g.jsx)("p",{className:"gtmkit-mb-4",children:(0,n.__)("Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution.","gtm-kit")}),(0,g.jsxs)("p",{className:"gtmkit-mb-4",children:[(0,n.__)("Stape.io is a solution for hosting server-side Google Tag Manager containers, offering a simplified approach that demands less technical expertise than solutions like Google Cloud Platform.","gtm-kit")," ",(0,n.__)("Additionally, it provides valuable add-ons for enhanced functionality.","gtm-kit")]}),(0,g.jsx)("p",{className:"gtmkit-mb-4",children:(0,g.jsx)("a",{href:"https://jump.gtmkit.com/link/1-AC1E5",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer",children:(0,n.__)("Learn more about Stape.io","gtm-kit")})})]})})]})]}),(0,g.jsxs)(be,{children:[(0,g.jsx)(be.Header,{title:(0,n.__)("Page Speed Optimization","gtm-kit")}),(0,g.jsxs)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4",children:[(0,g.jsx)(be.Content,{children:(0,g.jsx)(_e,{title:(0,n.__)("load_delayed_js event","gtm-kit"),label:(0,n.__)("Setting this to On will push the event 'load_delayed_js' on page load.","gtm-kit"),optionName:"load_js_event",useSettings:t,useUpdateStateSettings:e})}),(0,g.jsx)("div",{className:"gtmkit-px-8 gtmkit-py-6",children:(0,g.jsxs)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3",children:[(0,g.jsx)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold",children:(0,n.__)("Delay JavaScript execution","gtm-kit")}),(0,g.jsxs)("p",{className:"gtmkit-mb-4",children:[(0,n.__)("Page optimization plugins can delay the 'load_delayed_js' event and this can be used to delay the triggering og tags in Google Tag Manager.","gtm-kit")," ",(0,g.jsx)("a",{href:"https://gtmkit.com/guides/delay-javascript-execution-in-gtm/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=delay-js&utm_content=dashboard-container",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer",children:(0,n.__)("Learn more","gtm-kit")})]})]})})]})]}),(0,g.jsxs)(be,{children:[(0,g.jsx)(be.Header,{title:(0,n.__)("Google Tag Manager Environment","gtm-kit")}),(0,g.jsxs)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4",children:[(0,g.jsxs)(be.Content,{children:[(0,g.jsx)(ke,{title:(0,n.__)("gtm_auth:","gtm-kit"),optionName:"gtm_auth",placeholder:(0,n.__)("Enter gtm_auth code","gtm-kit"),help:(0,n.__)("Enter the gtm_auth code for your GTM environment.","gtm-kit"),useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(ke,{title:(0,n.__)("gtm_preview:","gtm-kit"),optionName:"gtm_preview",placeholder:(0,n.__)("Enter gtm_preview code","gtm-kit"),help:(0,n.__)("Enter the gtm_preview code for your GTM environment.","gtm-kit"),useSettings:t,useUpdateStateSettings:e})]}),(0,g.jsx)("div",{className:"gtmkit-px-8 gtmkit-py-6",children:(0,g.jsxs)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3",children:[(0,g.jsx)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold",children:(0,n.__)("Environments","gtm-kit")}),(0,g.jsxs)("p",{className:"gtmkit-mb-4",children:[(0,n.__)("In Google Tag Manager you can define different environments like Live, Dev and QA.","gtm-kit")," ",(0,n.__)('To use a specific environment in GTM Kit you must enter the "gtm_auth" and "gtm_preview" codes for that environment.',"gtm-kit")," ",(0,n.__)("If left empty the default environment will be used.","gtm-kit")]}),(0,g.jsx)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold",children:(0,n.__)("Override settings in wp-config.php","gtm-kit")}),(0,g.jsxs)("p",{className:"gtmkit-mb-4",children:[(0,n.__)("You can override the values by using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments.","gtm-kit")," ",(0,g.jsx)("a",{href:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=container-settings&utm_content=dashboard-container",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer",children:(0,n.__)("Learn more","gtm-kit")})]})]})})]})]}),(0,g.jsxs)(be,{children:[(0,g.jsx)(be.Header,{title:(0,n.__)("Exclude User Roles","gtm-kit")}),(0,g.jsxs)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4",children:[(0,g.jsx)(be.Content,{children:(0,g.jsx)(xe,{title:(0,n.__)("Exclude user roles","gtm-kit"),help:(0,n.__)("Select the roles that you want to exclude from tracking.","gtm-kit"),items:i,optionName:"exclude_user_roles",useSettings:t,useUpdateStateSettings:e})}),(0,g.jsx)("div",{className:"gtmkit-px-8 gtmkit-py-6",children:(0,g.jsxs)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3",children:[(0,g.jsx)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold gtmkit-text-red-600",children:(0,n.__)("Warning!","gtm-kit")}),(0,g.jsx)("p",{className:"gtmkit-mb-4",children:(0,n.__)("Excluding user roles is not compatible with all full-page cache solutions. Some full-page cache solutions may cache the page identically for all users, regardless of their user role. This could result in users being excluded who should not be.","gtm-kit")}),(0,g.jsx)("p",{className:"gtmkit-mb-4",children:(0,n.__)("Please ensure thorough and proper testing of this.","gtm-kit")})]})})]})]}),(0,g.jsxs)(be,{children:[(0,g.jsx)(be.Header,{title:(0,n.__)("Container Code Implementation","gtm-kit")}),(0,g.jsxs)(be.Content,{children:[(0,g.jsx)(fe,{title:(0,n.__)("Container code implementation:","gtm-kit"),options:[{label:(0,n.__)("Standard implementation as recommended by Google (no delay)","gtm-kit"),value:0},{label:(0,n.__)("Load container when the browser is idle (requestIdleCallback)","gtm-kit"),value:1}],help:(0,n.__)("Depending on how you use Google Tag Manager you can delay the loading of the container script until the browser is idle.","gtm-kit"),optionName:"script_implementation",useSettings:t,useUpdateStateSettings:e}),(0,g.jsx)(fe,{title:(0,n.__)("Container code noscript implementation:","gtm-kit"),options:[{label:(0,n.__)("Just after the opening tag","gtm-kit"),value:0},{label:(0,n.__)("Footer of the page (not recommended by Google)","gtm-kit"),value:1},{label:(0,n.__)("Custom (insert function in your template)","gtm-kit"),value:2},{label:(0,n.__)("Disable