Plugin Directory

Changeset 3016305


Ignore:
Timestamp:
01/02/2024 07:36:43 AM (2 years ago)
Author:
tlamedia
Message:

Update to version 1.18 from GitHub

Location:
gtm-kit
Files:
28 edited
1 copied

Legend:

Unmodified
Added
Removed
  • gtm-kit/tags/1.18/assets/admin/settings.asset.php

    r3004949 r3016305  
    1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => '1f37e23ad62807f31c45');
     1<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'a1f5a87986f782e4c463');
  • gtm-kit/tags/1.18/assets/admin/settings.css

    r2996198 r3016305  
    1 :root{--gtmkit-background-white:#fff;--gtmkit-background-grey:#f0f0f1;--gtmkit-border-color:#ddd;--gtmkit-text-color-heading:#454545;--gtmkit-text-color-grey:#777;--gtmkit-color-grey:#888;--gtmkit-color-primary:#3969bb;--gtmkit-color-secondary:#00a32a;--gtmkit-color-button:#3969bb;--gtmkit-color-success:#00a32a;--gtmkit-color-warning:orange;--gtmkit-color-error:red;--gtmkit-space-h:2rem;--gtmkit-space-v:1.5rem;--gtmkit-font-size-l:18px;--gtmkit-font-size-m:16px;--gtmkit-font-size-s:14px;--gtmkit-font-size-xl:22px;--gtmkit-font-size-xs:12px;--gtmkit-font-size-xxl:24px;--gtmkit-button-disabled:#bbb;--gtmkit-button-disabled-bg:#f5f5f5;--gtmkit-button-disabled-border:1px solid #ddd;--gtmkit-button-disabled-text:#bbb;--gtmkit-button-primary-bg:var(--gtmkit-color-primary);--gtmkit-button-primary-bg-hover:#397eeb;--gtmkit-button-primary-text:#fff;--gtmkit-button-primary-text-hover:#fff;--gtmkit-button-secondary-bg:#f8f8f8;--gtmkit-button-secondary-bg-hover:#fff;--gtmkit-button-secondary-border:#ddd;--gtmkit-button-secondary-text:#777;--gtmkit-button-secondary-text-hover:#454545}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.gtmkit-container{width:100%}@media(min-width:640px){.gtmkit-container{max-width:640px}}@media(min-width:768px){.gtmkit-container{max-width:768px}}@media(min-width:1024px){.gtmkit-container{max-width:1024px}}@media(min-width:1280px){.gtmkit-container{max-width:1280px}}@media(min-width:1536px){.gtmkit-container{max-width:1536px}}.gtmkit-fixed{position:fixed}.gtmkit-absolute{position:absolute}.gtmkit-relative{position:relative}.gtmkit-sticky{position:sticky}.gtmkit-inset-0{inset:0}.gtmkit-bottom-0{bottom:0}.gtmkit-z-10{z-index:10}.gtmkit-m-4{margin:1rem}.\!gtmkit-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.gtmkit-mx-auto{margin-left:auto;margin-right:auto}.gtmkit-my-16{margin-bottom:4rem;margin-top:4rem}.gtmkit-my-4{margin-bottom:1rem;margin-top:1rem}.gtmkit-my-6{margin-bottom:1.5rem;margin-top:1.5rem}.gtmkit-my-8{margin-bottom:2rem;margin-top:2rem}.\!gtmkit-mt-4{margin-top:1rem!important}.gtmkit-mb-1{margin-bottom:.25rem}.gtmkit-mb-12{margin-bottom:3rem}.gtmkit-mb-14{margin-bottom:3.5rem}.gtmkit-mb-2{margin-bottom:.5rem}.gtmkit-mb-20{margin-bottom:5rem}.gtmkit-mb-4{margin-bottom:1rem}.gtmkit-mb-5{margin-bottom:1.25rem}.gtmkit-mb-6{margin-bottom:1.5rem}.gtmkit-mb-8{margin-bottom:2rem}.gtmkit-ml-2{margin-left:.5rem}.gtmkit-ml-4{margin-left:1rem}.gtmkit-mr-8{margin-right:2rem}.gtmkit-mt-12{margin-top:3rem}.gtmkit-mt-3{margin-top:.75rem}.gtmkit-mt-4{margin-top:1rem}.gtmkit-mt-6{margin-top:1.5rem}.gtmkit-mt-8{margin-top:2rem}.gtmkit-mb-0{margin-bottom:0}.gtmkit-mb-0\.5{margin-bottom:.125rem}.gtmkit-block{display:block}.gtmkit-inline-block{display:inline-block}.gtmkit-flex{display:flex}.gtmkit-grid{display:grid}.gtmkit-h-0{height:0}.gtmkit-h-0\.5{height:.125rem}.gtmkit-h-2{height:.5rem}.gtmkit-h-2\.5{height:.625rem}.gtmkit-h-5{height:1.25rem}.gtmkit-h-8{height:2rem}.gtmkit-h-screen{height:100vh}.gtmkit-min-h-\[128px\]{min-height:128px}.gtmkit-min-h-\[175px\]{min-height:175px}.gtmkit-w-2{width:.5rem}.gtmkit-w-2\.5{width:.625rem}.gtmkit-w-3\/4{width:75%}.gtmkit-w-5{width:1.25rem}.gtmkit-w-8{width:2rem}.gtmkit-w-\[225px\]{width:225px}.gtmkit-w-\[250px\]{width:250px}.gtmkit-w-full{width:100%}.gtmkit-min-w-\[225px\]{min-width:225px}.gtmkit-max-w-3xl{max-width:48rem}.gtmkit-max-w-\[1536px\]{max-width:1536px}.gtmkit-max-w-\[90\%\]{max-width:90%}.gtmkit-max-w-lg{max-width:32rem}.gtmkit-max-w-max{max-width:-moz-max-content;max-width:max-content}.gtmkit-max-w-md{max-width:28rem}.gtmkit-max-w-xl{max-width:36rem}.gtmkit-flex-auto{flex:1 1 auto}.gtmkit-shrink-0{flex-shrink:0}.gtmkit-table-fixed{table-layout:fixed}.gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gtmkit-flex-col{flex-direction:column}.gtmkit-flex-wrap{flex-wrap:wrap}.gtmkit-items-center{align-items:center}.gtmkit-justify-center{justify-content:center}.gtmkit-justify-between{justify-content:space-between}.gtmkit-gap-16{gap:4rem}.gtmkit-gap-4{gap:1rem}.gtmkit-gap-6{gap:1.5rem}.gtmkit-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.25rem*var(--tw-space-x-reverse))}.gtmkit-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-whitespace-nowrap{white-space:nowrap}.gtmkit-rounded{border-radius:.25rem}.gtmkit-rounded-full{border-radius:9999px}.gtmkit-rounded-md{border-radius:.375rem}.gtmkit-border{border-width:1px}.gtmkit-border-2{border-width:2px}.gtmkit-border-y{border-top-width:1px}.gtmkit-border-b,.gtmkit-border-y{border-bottom-width:1px}.gtmkit-border-b-2{border-bottom-width:2px}.gtmkit-border-b-4{border-bottom-width:4px}.gtmkit-border-t-4{border-top-width:4px}.gtmkit-border-color-border{border-color:var(--gtmkit-border-color)}.gtmkit-border-color-grey{border-color:var(--gtmkit-color-grey)}.gtmkit-border-color-primary{border-color:var(--gtmkit-color-primary)}.gtmkit-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.gtmkit-border-b-color-primary{border-bottom-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-border{background-color:var(--gtmkit-border-color)}.gtmkit-bg-color-button-disabled{background-color:var(--gtmkit-button-disabled)}.gtmkit-bg-color-grey{background-color:var(--gtmkit-color-grey)}.gtmkit-bg-color-primary{background-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-success{background-color:var(--gtmkit-color-success)}.gtmkit-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.gtmkit-p-3{padding:.75rem}.gtmkit-p-6{padding:1.5rem}.gtmkit-p-8{padding:2rem}.\!gtmkit-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.\!gtmkit-px-8{padding-left:2rem!important;padding-right:2rem!important}.\!gtmkit-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.\!gtmkit-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.gtmkit-px-16{padding-left:4rem;padding-right:4rem}.gtmkit-px-2{padding-left:.5rem;padding-right:.5rem}.gtmkit-px-20{padding-left:5rem;padding-right:5rem}.gtmkit-px-3{padding-left:.75rem;padding-right:.75rem}.gtmkit-px-4{padding-left:1rem;padding-right:1rem}.gtmkit-px-5{padding-left:1.25rem;padding-right:1.25rem}.gtmkit-px-8{padding-left:2rem;padding-right:2rem}.gtmkit-py-1{padding-bottom:.25rem;padding-top:.25rem}.gtmkit-py-12{padding-bottom:3rem;padding-top:3rem}.gtmkit-py-2{padding-bottom:.5rem;padding-top:.5rem}.gtmkit-py-4{padding-bottom:1rem;padding-top:1rem}.gtmkit-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.gtmkit-py-8{padding-bottom:2rem;padding-top:2rem}.gtmkit-pb-6{padding-bottom:1.5rem}.gtmkit-pb-\[18px\]{padding-bottom:18px}.gtmkit-pt-3{padding-top:.75rem}.gtmkit-pt-4{padding-top:1rem}.gtmkit-pt-5{padding-top:1.25rem}.gtmkit-pt-8{padding-top:2rem}.gtmkit-text-left{text-align:left}.gtmkit-text-center{text-align:center}.gtmkit-text-2xl{font-size:1.5rem;line-height:2rem}.gtmkit-text-3xl{font-size:1.875rem;line-height:2.25rem}.gtmkit-text-4xl{font-size:2.25rem;line-height:2.5rem}.gtmkit-text-\[15px\]{font-size:15px}.gtmkit-text-base{font-size:1rem;line-height:1.5rem}.gtmkit-text-lg{font-size:1.125rem;line-height:1.75rem}.gtmkit-text-sm{font-size:.875rem;line-height:1.25rem}.gtmkit-text-xl{font-size:1.25rem;line-height:1.75rem}.gtmkit-text-xs{font-size:.75rem;line-height:1rem}.gtmkit-font-bold{font-weight:700}.gtmkit-font-light{font-weight:300}.gtmkit-font-medium{font-weight:500}.gtmkit-font-semibold{font-weight:600}.gtmkit-uppercase{text-transform:uppercase}.gtmkit-leading-5{line-height:1.25rem}.gtmkit-text-color-grey{color:var(--gtmkit-color-grey)}.gtmkit-text-color-heading{color:var(--gtmkit-text-color-heading)}.gtmkit-text-color-primary{color:var(--gtmkit-color-primary)}.gtmkit-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.gtmkit-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.gtmkit-underline{text-decoration-line:underline}.gtmkit-opacity-100{opacity:1}.gtmkit-opacity-60{opacity:.6}.gtmkit-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.gtmkit-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gtmkit-duration-500{transition-duration:.5s}.hover\:gtmkit-border-color-grey:hover{border-color:var(--gtmkit-color-grey)}.hover\:gtmkit-underline:hover{text-decoration-line:underline}.disabled\:\!gtmkit-bg-color-button-disabled:disabled{background-color:var(--gtmkit-button-disabled)!important}.disabled\:\!gtmkit-text-color-grey:disabled{color:var(--gtmkit-color-grey)!important}@media(min-width:640px){.sm\:gtmkit-w-auto{width:auto}}@media(min-width:768px){.md\:gtmkit-mt-10{margin-top:2.5rem}.md\:gtmkit-mt-12{margin-top:3rem}.md\:gtmkit-mt-16{margin-top:4rem}.md\:gtmkit-mt-8{margin-top:2rem}.md\:gtmkit-grid{display:grid}.md\:gtmkit-max-w-xl{max-width:36rem}}@media(min-width:1024px){.lg\:gtmkit-flex{display:flex}.lg\:gtmkit-grid{display:grid}.lg\:gtmkit-w-1\/2{width:50%}.lg\:gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gtmkit-justify-between{justify-content:space-between}}@media(min-width:1280px){.xl\:gtmkit-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1536px){.\32 xl\:gtmkit-w-1\/3{width:33.333333%}}.gtmkit #wpcontent{padding-left:0!important}.gtmkit #wpcontent *,.gtmkit #wpcontent :after,.gtmkit #wpcontent :before{box-sizing:border-box}.gtmkit a:focus{box-shadow:none}.gtmkit p{font-size:14px}.gtmkit .components-button.is-primary{background-color:var(--gtmkit-color-button)}.gtmkit-settings-field-wrap .components-base-control.components-toggle-control{line-height:1.5em}.gtmkit-settings-field-wrap .components-base-control__label{font-size:14px;font-weight:600;text-transform:none}.gtmkit .slide-appear,.gtmkit .slide-enter{transform:translateY(100%)}.gtmkit .slide-appear-active,.gtmkit .slide-enter-active{transform:translateY(0);transition:transform .5s ease-in-out}.gtmkit .slide-exit{transform:translateY(0)}.gtmkit .slide-exit-active{transform:translateY(100%);transition:transform .5s ease-in-out}
     1:root{--gtmkit-background-white:#fff;--gtmkit-background-grey:#f0f0f1;--gtmkit-border-color:#ddd;--gtmkit-text-color-heading:#454545;--gtmkit-text-color-grey:#777;--gtmkit-color-grey:#888;--gtmkit-color-primary:#3969bb;--gtmkit-color-secondary:#00a32a;--gtmkit-color-button:#3969bb;--gtmkit-color-success:#00a32a;--gtmkit-color-warning:orange;--gtmkit-color-error:red;--gtmkit-space-h:2rem;--gtmkit-space-v:1.5rem;--gtmkit-font-size-l:18px;--gtmkit-font-size-m:16px;--gtmkit-font-size-s:14px;--gtmkit-font-size-xl:22px;--gtmkit-font-size-xs:12px;--gtmkit-font-size-xxl:24px;--gtmkit-button-disabled:#bbb;--gtmkit-button-disabled-bg:#f5f5f5;--gtmkit-button-disabled-border:1px solid #ddd;--gtmkit-button-disabled-text:#bbb;--gtmkit-button-primary-bg:var(--gtmkit-color-primary);--gtmkit-button-primary-bg-hover:#397eeb;--gtmkit-button-primary-text:#fff;--gtmkit-button-primary-text-hover:#fff;--gtmkit-button-secondary-bg:#f8f8f8;--gtmkit-button-secondary-bg-hover:#fff;--gtmkit-button-secondary-border:#ddd;--gtmkit-button-secondary-text:#777;--gtmkit-button-secondary-text-hover:#454545}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.gtmkit-container{width:100%}@media(min-width:640px){.gtmkit-container{max-width:640px}}@media(min-width:768px){.gtmkit-container{max-width:768px}}@media(min-width:1024px){.gtmkit-container{max-width:1024px}}@media(min-width:1280px){.gtmkit-container{max-width:1280px}}@media(min-width:1536px){.gtmkit-container{max-width:1536px}}.gtmkit-fixed{position:fixed}.gtmkit-absolute{position:absolute}.gtmkit-relative{position:relative}.gtmkit-sticky{position:sticky}.gtmkit-inset-0{inset:0}.gtmkit-bottom-0{bottom:0}.gtmkit-z-10{z-index:10}.gtmkit-m-4{margin:1rem}.\!gtmkit-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.gtmkit-mx-auto{margin-left:auto;margin-right:auto}.gtmkit-my-16{margin-bottom:4rem;margin-top:4rem}.gtmkit-my-4{margin-bottom:1rem;margin-top:1rem}.gtmkit-my-6{margin-bottom:1.5rem;margin-top:1.5rem}.gtmkit-my-8{margin-bottom:2rem;margin-top:2rem}.\!gtmkit-mt-4{margin-top:1rem!important}.gtmkit-mb-1{margin-bottom:.25rem}.gtmkit-mb-12{margin-bottom:3rem}.gtmkit-mb-14{margin-bottom:3.5rem}.gtmkit-mb-2{margin-bottom:.5rem}.gtmkit-mb-20{margin-bottom:5rem}.gtmkit-mb-4{margin-bottom:1rem}.gtmkit-mb-5{margin-bottom:1.25rem}.gtmkit-mb-6{margin-bottom:1.5rem}.gtmkit-mb-8{margin-bottom:2rem}.gtmkit-ml-2{margin-left:.5rem}.gtmkit-ml-4{margin-left:1rem}.gtmkit-mr-8{margin-right:2rem}.gtmkit-mt-12{margin-top:3rem}.gtmkit-mt-3{margin-top:.75rem}.gtmkit-mt-4{margin-top:1rem}.gtmkit-mt-6{margin-top:1.5rem}.gtmkit-mt-8{margin-top:2rem}.gtmkit-mb-0{margin-bottom:0}.gtmkit-mb-0\.5{margin-bottom:.125rem}.gtmkit-block{display:block}.gtmkit-inline-block{display:inline-block}.gtmkit-flex{display:flex}.gtmkit-grid{display:grid}.gtmkit-h-0{height:0}.gtmkit-h-0\.5{height:.125rem}.gtmkit-h-2{height:.5rem}.gtmkit-h-2\.5{height:.625rem}.gtmkit-h-5{height:1.25rem}.gtmkit-h-8{height:2rem}.gtmkit-h-screen{height:100vh}.gtmkit-min-h-\[128px\]{min-height:128px}.gtmkit-min-h-\[175px\]{min-height:175px}.gtmkit-w-2{width:.5rem}.gtmkit-w-2\.5{width:.625rem}.gtmkit-w-3\/4{width:75%}.gtmkit-w-5{width:1.25rem}.gtmkit-w-8{width:2rem}.gtmkit-w-\[225px\]{width:225px}.gtmkit-w-\[250px\]{width:250px}.gtmkit-w-full{width:100%}.gtmkit-min-w-\[225px\]{min-width:225px}.gtmkit-max-w-3xl{max-width:48rem}.gtmkit-max-w-\[1536px\]{max-width:1536px}.gtmkit-max-w-\[90\%\]{max-width:90%}.gtmkit-max-w-lg{max-width:32rem}.gtmkit-max-w-max{max-width:-moz-max-content;max-width:max-content}.gtmkit-max-w-md{max-width:28rem}.gtmkit-max-w-xl{max-width:36rem}.gtmkit-flex-auto{flex:1 1 auto}.gtmkit-shrink-0{flex-shrink:0}.gtmkit-table-fixed{table-layout:fixed}.gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gtmkit-flex-col{flex-direction:column}.gtmkit-flex-wrap{flex-wrap:wrap}.gtmkit-items-center{align-items:center}.gtmkit-justify-center{justify-content:center}.gtmkit-justify-between{justify-content:space-between}.gtmkit-gap-16{gap:4rem}.gtmkit-gap-4{gap:1rem}.gtmkit-gap-6{gap:1.5rem}.gtmkit-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.25rem*var(--tw-space-x-reverse))}.gtmkit-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-whitespace-nowrap{white-space:nowrap}.gtmkit-rounded{border-radius:.25rem}.gtmkit-rounded-full{border-radius:9999px}.gtmkit-rounded-md{border-radius:.375rem}.gtmkit-border{border-width:1px}.gtmkit-border-2{border-width:2px}.gtmkit-border-y{border-top-width:1px}.gtmkit-border-b,.gtmkit-border-y{border-bottom-width:1px}.gtmkit-border-b-2{border-bottom-width:2px}.gtmkit-border-b-4{border-bottom-width:4px}.gtmkit-border-t-4{border-top-width:4px}.gtmkit-border-color-border{border-color:var(--gtmkit-border-color)}.gtmkit-border-color-grey{border-color:var(--gtmkit-color-grey)}.gtmkit-border-color-primary{border-color:var(--gtmkit-color-primary)}.gtmkit-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.gtmkit-border-b-color-primary{border-bottom-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-border{background-color:var(--gtmkit-border-color)}.gtmkit-bg-color-button-disabled{background-color:var(--gtmkit-button-disabled)}.gtmkit-bg-color-grey{background-color:var(--gtmkit-color-grey)}.gtmkit-bg-color-primary{background-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-success{background-color:var(--gtmkit-color-success)}.gtmkit-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.gtmkit-p-3{padding:.75rem}.gtmkit-p-6{padding:1.5rem}.gtmkit-p-8{padding:2rem}.\!gtmkit-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.\!gtmkit-px-8{padding-left:2rem!important;padding-right:2rem!important}.\!gtmkit-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.\!gtmkit-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.gtmkit-px-16{padding-left:4rem;padding-right:4rem}.gtmkit-px-2{padding-left:.5rem;padding-right:.5rem}.gtmkit-px-20{padding-left:5rem;padding-right:5rem}.gtmkit-px-3{padding-left:.75rem;padding-right:.75rem}.gtmkit-px-4{padding-left:1rem;padding-right:1rem}.gtmkit-px-5{padding-left:1.25rem;padding-right:1.25rem}.gtmkit-px-8{padding-left:2rem;padding-right:2rem}.gtmkit-py-1{padding-bottom:.25rem;padding-top:.25rem}.gtmkit-py-12{padding-bottom:3rem;padding-top:3rem}.gtmkit-py-2{padding-bottom:.5rem;padding-top:.5rem}.gtmkit-py-4{padding-bottom:1rem;padding-top:1rem}.gtmkit-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.gtmkit-py-8{padding-bottom:2rem;padding-top:2rem}.gtmkit-pb-6{padding-bottom:1.5rem}.gtmkit-pb-\[18px\]{padding-bottom:18px}.gtmkit-pt-3{padding-top:.75rem}.gtmkit-pt-4{padding-top:1rem}.gtmkit-pt-5{padding-top:1.25rem}.gtmkit-pt-8{padding-top:2rem}.gtmkit-text-left{text-align:left}.gtmkit-text-center{text-align:center}.gtmkit-text-2xl{font-size:1.5rem;line-height:2rem}.gtmkit-text-3xl{font-size:1.875rem;line-height:2.25rem}.gtmkit-text-4xl{font-size:2.25rem;line-height:2.5rem}.gtmkit-text-\[15px\]{font-size:15px}.gtmkit-text-base{font-size:1rem;line-height:1.5rem}.gtmkit-text-lg{font-size:1.125rem;line-height:1.75rem}.gtmkit-text-sm{font-size:.875rem;line-height:1.25rem}.gtmkit-text-xl{font-size:1.25rem;line-height:1.75rem}.gtmkit-text-xs{font-size:.75rem;line-height:1rem}.gtmkit-font-bold{font-weight:700}.gtmkit-font-light{font-weight:300}.gtmkit-font-medium{font-weight:500}.gtmkit-font-semibold{font-weight:600}.gtmkit-uppercase{text-transform:uppercase}.gtmkit-leading-5{line-height:1.25rem}.gtmkit-text-color-grey{color:var(--gtmkit-color-grey)}.gtmkit-text-color-heading{color:var(--gtmkit-text-color-heading)}.gtmkit-text-color-primary{color:var(--gtmkit-color-primary)}.gtmkit-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.gtmkit-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.gtmkit-underline{text-decoration-line:underline}.gtmkit-opacity-100{opacity:1}.gtmkit-opacity-60{opacity:.6}.gtmkit-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.gtmkit-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gtmkit-duration-500{transition-duration:.5s}.hover\:gtmkit-border-color-grey:hover{border-color:var(--gtmkit-color-grey)}.hover\:gtmkit-underline:hover{text-decoration-line:underline}.disabled\:\!gtmkit-bg-color-button-disabled:disabled{background-color:var(--gtmkit-button-disabled)!important}.disabled\:\!gtmkit-text-color-grey:disabled{color:var(--gtmkit-color-grey)!important}@media(min-width:640px){.sm\:gtmkit-w-auto{width:auto}}@media(min-width:768px){.md\:gtmkit-mt-10{margin-top:2.5rem}.md\:gtmkit-mt-12{margin-top:3rem}.md\:gtmkit-mt-16{margin-top:4rem}.md\:gtmkit-mt-8{margin-top:2rem}.md\:gtmkit-grid{display:grid}.md\:gtmkit-max-w-xl{max-width:36rem}}@media(min-width:1024px){.lg\:gtmkit-flex{display:flex}.lg\:gtmkit-grid{display:grid}.lg\:gtmkit-w-1\/2{width:50%}.lg\:gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gtmkit-justify-between{justify-content:space-between}}@media(min-width:1280px){.xl\:gtmkit-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1536px){.\32 xl\:gtmkit-w-1\/3{width:33.333333%}}.gtmkit #wpcontent{padding-left:0!important}.gtmkit #wpcontent *,.gtmkit #wpcontent :after,.gtmkit #wpcontent :before{box-sizing:border-box}.gtmkit a:focus{box-shadow:none}.gtmkit p{font-size:14px}.gtmkit .components-button.is-primary{background-color:var(--gtmkit-color-button)}.gtmkit .components-button .components-spinner{margin:0 0 0 1rem}.gtmkit-settings-field-wrap .components-base-control.components-toggle-control{line-height:1.5em}.gtmkit-settings-field-wrap .components-base-control__label{font-size:14px;font-weight:600;text-transform:none}.gtmkit .slide-appear,.gtmkit .slide-enter{transform:translateY(100%)}.gtmkit .slide-appear-active,.gtmkit .slide-enter-active{transform:translateY(0);transition:transform .5s ease-in-out}.gtmkit .slide-exit{transform:translateY(0)}.gtmkit .slide-exit-active{transform:translateY(100%);transition:transform .5s ease-in-out}
  • gtm-kit/tags/1.18/assets/admin/settings.js

    r3004949 r3016305  
    1 !function(){"use strict";var t={n:function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},d:function(e,n){for(var a in n)t.o(n,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:n[a]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,n=t.n(e),a=window.wp.i18n,i=window.wp.element,r=window.wp.components,o=window.lodash,l=window.wp.apiFetch,s=t.n(l);s().use(s().createNonceMiddleware(window.gtmkitSettings.nonce)),s().use(s().createRootURLMiddleware(window.gtmkitSettings.root));const m=async(t,e,n=null)=>{let a={};try{a=await s()({path:t,method:e,...n&&{data:n}})}catch(n){return console.log(`${e} ${t} Errors:`,n),{[`gtm_kit_settings_${e}_${t}_errors`]:!0}}return!0===a.success?a.data:a};var c=(t,e)=>{const n={...t};switch(e.type){case"FETCH_SETTINGS":n.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},n.stateSettings=e.payload.stateSettings,n.siteData=e.payload.siteData,n.installData=e.payload.installData,n.isPending=!1,n.canSave=!1,e.payload.fetchedSettings.gtm_kit_settings_fetch_settings_errors&&(n.notice=(0,a.__)("An error occurred.","gtm-kit"),n.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":n.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":n.fetchedSettings=e.payload.fetchedSettings,n.stateSettings=e.payload.stateSettings,n.isPending=!1,n.canSave=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors,n.notice=e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors?(0,a.__)("An error occurred.","gtm-kit"):(0,a.__)("Saved Successfully.","gtm-kit"),n.hasError=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors;break;case"UPDATE_STATE":n.fetchedSettings=e.payload.fetchedSettings||n.fetchedSettings,n.stateSettings=e.payload.stateSettings||n.stateSettings,n.isPending=e.payload.isPending||n.isPending,n.notice=e.payload.notice||n.notice,n.hasError=e.payload.hasError||n.hasError,n.canSave=e.payload.canSave||n.canSave}return n};const u=(0,i.createContext)();var g,d=t=>{const[n,a]=(0,i.useReducer)(c,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1}),r=async()=>{const[t,e]=await Promise.all([m("gtmkit/v1/get-options","GET"),m("gtmkit/v1/get-site-data","GET")]),n="wizard"===window.gtmkitSettings.currentPage?await m("gtmkit/v1/get-install-data","GET"):{};a({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:n}})},l=async t=>{a({type:"UPDATE_STATE",payload:t})};(0,i.useEffect)((()=>{r()}),[]);const s={useDispatch:t=>{a(t)},useUpdateSettings:async()=>{a({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,m("gtmkit/v1/set-options","POST",e));var e;a({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:r,useUpdateState:l,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let r;i[t][e]=a,r=!(0,o.isEqual)(i,n.fetchedSettings),l({stateSettings:i,canSave:r})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const r={};r.general={...a.general,...e.general},"integrations"in e&&(r.integrations={...a.integrations,...e.integrations}),i=!(0,o.isEqual)(r,n.fetchedSettings),l({stateSettings:r,canSave:i})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData};return(0,e.createElement)(u.Provider,{value:s},t.children)};function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},p.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const h="popstate";function _(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function f(t,e){return{usr:t.state,key:t.key,idx:e}}function E(t,e,n,a){return void 0===n&&(n=null),p({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?b(e):e,{state:n,key:e&&e.key||a||Math.random().toString(36).substr(2,8)})}function v(t){let{pathname:e="/",search:n="",hash:a=""}=t;return n&&"?"!==n&&(e+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(e+="#"===a.charAt(0)?a:"#"+a),e}function b(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));let a=t.indexOf("?");a>=0&&(e.search=t.substr(a),t=t.substr(0,a)),t&&(e.pathname=t)}return e}var y;function x(t,e,n){void 0===n&&(n="/");let a=L(("string"==typeof e?b(e):e).pathname||"/",n);if(null==a)return null;let i=w(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,n)=>t===e[n]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(i);let r=null;for(let t=0;null==r&&t<i.length;++t)r=O(i[t],U(a));return r}function w(t,e,n,a){void 0===e&&(e=[]),void 0===n&&(n=[]),void 0===a&&(a="");let i=(t,i,r)=>{let o={relativePath:void 0===r?t.path||"":r,caseSensitive:!0===t.caseSensitive,childrenIndex:i,route:t};o.relativePath.startsWith("/")&&(_(o.relativePath.startsWith(a),'Absolute route path "'+o.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(a.length));let l=H([a,o.relativePath]),s=n.concat(o);t.children&&t.children.length>0&&(_(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),w(t.children,e,s,l)),(null!=t.path||t.index)&&e.push({path:l,score:M(l,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var n;if(""!==t.path&&null!=(n=t.path)&&n.includes("?"))for(let n of S(t.path))i(t,e,n);else i(t,e)})),e}function S(t){let e=t.split("/");if(0===e.length)return[];let[n,...a]=e,i=n.endsWith("?"),r=n.replace(/\?$/,"");if(0===a.length)return i?[r,""]:[r];let o=S(a.join("/")),l=[];return l.push(...o.map((t=>""===t?r:[r,t].join("/")))),i&&l.push(...o),l.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(y||(y={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const N=/^:\w+$/,C=3,T=2,G=1,D=10,I=-2,P=t=>"*"===t;function M(t,e){let n=t.split("/"),a=n.length;return n.some(P)&&(a+=I),e&&(a+=T),n.filter((t=>!P(t))).reduce(((t,e)=>t+(N.test(e)?C:""===e?G:D)),a)}function O(t,e){let{routesMeta:n}=t,a={},i="/",r=[];for(let t=0;t<n.length;++t){let o=n[t],l=t===n.length-1,s="/"===i?e:e.slice(i.length)||"/",m=R({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},s);if(!m)return null;Object.assign(a,m.params);let c=o.route;r.push({params:a,pathname:H([i,m.pathname]),pathnameBase:B(H([i,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(i=H([i,m.pathnameBase]))}return r}function R(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[n,a]=function(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let a=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,n)=>(a.push({paramName:e,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(a.push({paramName:"*"}),i+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==t&&"/"!==t&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),a]}(t.path,t.caseSensitive,t.end),i=e.match(n);if(!i)return null;let r=i[0],o=r.replace(/(.)\/+$/,"$1"),l=i.slice(1);return{params:a.reduce(((t,e,n)=>{let{paramName:a,isOptional:i}=e;if("*"===a){let t=l[n]||"";o=r.slice(0,r.length-t.length).replace(/(.)\/+$/,"$1")}const s=l[n];return t[a]=i&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(n){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+n+")."),t}}(s||"",a),t}),{}),pathname:r,pathnameBase:o,pattern:t}}function U(t){try{return decodeURI(t)}catch(e){return k(!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 L(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,a=t.charAt(n);return a&&"/"!==a?null:t.slice(n)||"/"}function A(t,e,n,a){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(a)+"].  Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function j(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}function F(t,e,n,a){let i;void 0===a&&(a=!1),"string"==typeof t?i=b(t):(i=p({},t),_(!i.pathname||!i.pathname.includes("?"),A("?","pathname","search",i)),_(!i.pathname||!i.pathname.includes("#"),A("#","pathname","hash",i)),_(!i.search||!i.search.includes("#"),A("#","search","hash",i)));let r,o=""===t||""===i.pathname,l=o?"/":i.pathname;if(null==l)r=n;else if(a){let t=e[e.length-1].replace(/^\//,"").split("/");if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t.pop();i.pathname=e.join("/")}r="/"+t.join("/")}else{let t=e.length-1;if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t-=1;i.pathname=e.join("/")}r=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:n,search:a="",hash:i=""}="string"==typeof t?b(t):t,r=n?n.startsWith("/")?n:function(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?n.length>1&&n.pop():"."!==t&&n.push(t)})),n.length>1?n.join("/"):"/"}(n,e):e;return{pathname:r,search:W(a),hash:K(i)}}(i,r),m=l&&"/"!==l&&l.endsWith("/"),c=(o||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const H=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",K=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const J=["post","put","patch","delete"],$=(new Set(J),["get",...J]);function z(){return z=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},z.apply(this,arguments)}new Set($),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const q=e.createContext(null),V=e.createContext(null),Y=e.createContext(null),X=e.createContext(null),Q=e.createContext({outlet:null,matches:[],isDataRoute:!1}),Z=e.createContext(null);function tt(){return null!=e.useContext(X)}function et(){return tt()||_(!1),e.useContext(X).location}function nt(t){e.useContext(Y).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(Q);return t?function(){let{router:t}=function(t){let n=e.useContext(q);return n||_(!1),n}(ct.UseNavigateStable),n=gt(ut.UseNavigateStable),a=e.useRef(!1);return nt((()=>{a.current=!0})),e.useCallback((function(e,i){void 0===i&&(i={}),a.current&&("number"==typeof e?t.navigate(e):t.navigate(e,z({fromRouteId:n},i)))}),[t,n])}():function(){tt()||_(!1);let t=e.useContext(q),{basename:n,navigator:a}=e.useContext(Y),{matches:i}=e.useContext(Q),{pathname:r}=et(),o=JSON.stringify(j(i).map((t=>t.pathnameBase))),l=e.useRef(!1);return nt((()=>{l.current=!0})),e.useCallback((function(e,i){if(void 0===i&&(i={}),!l.current)return;if("number"==typeof e)return void a.go(e);let s=F(e,JSON.parse(o),r,"path"===i.relative);null==t&&"/"!==n&&(s.pathname="/"===s.pathname?n:H([n,s.pathname])),(i.replace?a.replace:a.push)(s,i.state,i)}),[n,a,o,r,t])}()}function it(t,n){let{relative:a}=void 0===n?{}:n,{matches:i}=e.useContext(Q),{pathname:r}=et(),o=JSON.stringify(j(i).map(((t,e)=>e===i.length-1?t.pathname:t.pathnameBase)));return e.useMemo((()=>F(t,JSON.parse(o),r,"path"===a)),[t,o,r,a])}function rt(t,n,a){tt()||_(!1);let{navigator:i}=e.useContext(Y),{matches:r}=e.useContext(Q),o=r[r.length-1],l=o?o.params:{},s=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let m,c=et();if(n){var u;let t="string"==typeof n?b(n):n;"/"===s||(null==(u=t.pathname)?void 0:u.startsWith(s))||_(!1),m=t}else m=c;let d=m.pathname||"/",p=x(t,{pathname:"/"===s?d:d.slice(s.length)||"/"}),h=function(t,n,a){var i;if(void 0===n&&(n=[]),void 0===a&&(a=null),null==t){var r;if(null==(r=a)||!r.errors)return null;t=a.matches}let o=t,l=null==(i=a)?void 0:i.errors;if(null!=l){let t=o.findIndex((t=>t.route.id&&(null==l?void 0:l[t.route.id])));t>=0||_(!1),o=o.slice(0,Math.min(o.length,t+1))}return o.reduceRight(((t,i,r)=>{let s=i.route.id?null==l?void 0:l[i.route.id]:null,m=null;a&&(m=i.route.errorElement||lt);let c=n.concat(o.slice(0,r+1)),u=()=>{let n;return n=s?m:i.route.Component?e.createElement(i.route.Component,null):i.route.element?i.route.element:t,e.createElement(mt,{match:i,routeContext:{outlet:t,matches:c,isDataRoute:null!=a},children:n})};return a&&(i.route.ErrorBoundary||i.route.errorElement||0===r)?e.createElement(st,{location:a.location,revalidation:a.revalidation,component:m,error:s,children:u(),routeContext:{outlet:null,matches:c,isDataRoute:!0}}):u()}),null)}(p&&p.map((t=>Object.assign({},t,{params:Object.assign({},l,t.params),pathname:H([s,i.encodeLocation?i.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?s:H([s,i.encodeLocation?i.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),r,a);return n&&h?e.createElement(X.Provider,{value:{location:z({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:g.Pop}},h):h}function ot(){let t=function(){var t;let n=e.useContext(Z),a=function(t){let n=e.useContext(V);return n||_(!1),n}(ut.UseRouteError),i=gt(ut.UseRouteError);return n||(null==(t=a.errors)?void 0:t[i])}(),n=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),a=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},n),a?e.createElement("pre",{style:i},a):null,null)}const lt=e.createElement(ot,null);class st extends e.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: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 this.state.error?e.createElement(Q.Provider,{value:this.props.routeContext},e.createElement(Z.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mt(t){let{routeContext:n,match:a,children:i}=t,r=e.useContext(q);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),e.createElement(Q.Provider,{value:n},i)}var ct=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(ct||{}),ut=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}(ut||{});function gt(t){let n=function(t){let n=e.useContext(Q);return n||_(!1),n}(),a=n.matches[n.matches.length-1];return a.route.id||_(!1),a.route.id}function dt(t){let{to:n,replace:a,state:i,relative:r}=t;tt()||_(!1);let{matches:o}=e.useContext(Q),{pathname:l}=et(),s=at(),m=F(n,j(o).map((t=>t.pathnameBase)),l,"path"===r),c=JSON.stringify(m);return e.useEffect((()=>s(JSON.parse(c),{replace:a,state:i,relative:r})),[s,c,r,a,i]),null}function pt(t){_(!1)}function ht(t){let{basename:n="/",children:a=null,location:i,navigationType:r=g.Pop,navigator:o,static:l=!1}=t;tt()&&_(!1);let s=n.replace(/^\/*/,"/"),m=e.useMemo((()=>({basename:s,navigator:o,static:l})),[s,o,l]);"string"==typeof i&&(i=b(i));let{pathname:c="/",search:u="",hash:d="",state:p=null,key:h="default"}=i,k=e.useMemo((()=>{let t=L(c,s);return null==t?null:{location:{pathname:t,search:u,hash:d,state:p,key:h},navigationType:r}}),[s,c,u,d,p,h,r]);return null==k?null:e.createElement(Y.Provider,{value:m},e.createElement(X.Provider,{children:a,value:k}))}function _t(t){let{children:e,location:n}=t;return rt(kt(e),n)}function kt(t,n){void 0===n&&(n=[]);let a=[];return e.Children.forEach(t,((t,i)=>{if(!e.isValidElement(t))return;let r=[...n,i];if(t.type===e.Fragment)return void a.push.apply(a,kt(t.props.children,r));t.type!==pt&&_(!1),t.props.index&&t.props.children&&_(!1);let o={id:t.props.id||r.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&&(o.children=kt(t.props.children,r)),a.push(o)})),a}e.startTransition,new Promise((()=>{})),e.Component;var ft=window.ReactDOM,Et=t.n(ft);function vt(){return vt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},vt.apply(this,arguments)}function bt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const yt=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],xt=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],wt=e.createContext({isTransitioning:!1});new Map;const St=e.startTransition;function Nt(t){let{basename:n,children:a,future:i,window:r}=t,o=e.useRef();var l;null==o.current&&(o.current=(void 0===(l={window:r,v5Compat:!0})&&(l={}),function(t,e,n,a){void 0===a&&(a={});let{window:i=document.defaultView,v5Compat:r=!1}=a,o=i.history,l=g.Pop,s=null,m=c();function c(){return(o.state||{idx:null}).idx}function u(){l=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:l,location:k.location,delta:e})}function d(t){let e="null"!==i.location.origin?i.location.origin:i.location.href,n="string"==typeof t?t:v(t);return _(e,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,e)}null==m&&(m=0,o.replaceState(p({},o.state,{idx:m}),""));let k={get action(){return l},get location(){return t(i,o)},listen(t){if(s)throw new Error("A history only accepts one active listener");return i.addEventListener(h,u),s=t,()=>{i.removeEventListener(h,u),s=null}},createHref(t){return e(i,t)},createURL:d,encodeLocation(t){let e=d(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){l=g.Push;let a=E(k.location,t,e);n&&n(a,t),m=c()+1;let u=f(a,m),d=k.createHref(a);try{o.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;i.location.assign(d)}r&&s&&s({action:l,location:k.location,delta:1})},replace:function(t,e){l=g.Replace;let a=E(k.location,t,e);n&&n(a,t),m=c();let i=f(a,m),u=k.createHref(a);o.replaceState(i,"",u),r&&s&&s({action:l,location:k.location,delta:0})},go(t){return o.go(t)}};return k}((function(t,e){let{pathname:n="/",search:a="",hash:i=""}=b(t.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),E("",{pathname:n,search:a,hash:i},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let n=t.document.querySelector("base"),a="";if(n&&n.getAttribute("href")){let e=t.location.href,n=e.indexOf("#");a=-1===n?e:e.slice(0,n)}return a+"#"+("string"==typeof e?e:v(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),l)));let s=o.current,[m,c]=e.useState({action:s.action,location:s.location}),{v7_startTransition:u}=i||{},d=e.useCallback((t=>{u&&St?St((()=>c(t))):c(t)}),[c,u]);return e.useLayoutEffect((()=>s.listen(d)),[s,d]),e.createElement(ht,{basename:n,children:a,location:m.location,navigationType:m.action,navigator:s})}ft.flushSync;const Ct="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Tt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gt=e.forwardRef((function(t,n){let a,{onClick:i,relative:r,reloadDocument:o,replace:l,state:s,target:m,to:c,preventScrollReset:u,unstable_viewTransition:g}=t,d=bt(t,yt),{basename:p}=e.useContext(Y),h=!1;if("string"==typeof c&&Tt.test(c)&&(a=c,Ct))try{let t=new URL(window.location.href),e=c.startsWith("//")?new URL(t.protocol+c):new URL(c),n=L(e.pathname,p);e.origin===t.origin&&null!=n?c=n+e.search+e.hash:h=!0}catch(t){}let k=function(t,n){let{relative:a}=void 0===n?{}:n;tt()||_(!1);let{basename:i,navigator:r}=e.useContext(Y),{hash:o,pathname:l,search:s}=it(t,{relative:a}),m=l;return"/"!==i&&(m="/"===l?i:H([i,l])),r.createHref({pathname:m,search:s,hash:o})}(c,{relative:r}),f=function(t,n){let{target:a,replace:i,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s}=void 0===n?{}:n,m=at(),c=et(),u=it(t,{relative:l});return e.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,a)){e.preventDefault();let n=void 0!==i?i:v(c)===v(u);m(t,{replace:n,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s})}}),[c,m,u,i,r,a,t,o,l,s])}(c,{replace:l,state:s,target:m,preventScrollReset:u,relative:r,unstable_viewTransition:g});return e.createElement("a",vt({},d,{href:a||k,onClick:h||o?i:function(t){i&&i(t),t.defaultPrevented||f(t)},ref:n,target:m}))})),Dt=e.forwardRef((function(t,n){let{"aria-current":a="page",caseSensitive:i=!1,className:r="",end:o=!1,style:l,to:s,unstable_viewTransition:m,children:c}=t,u=bt(t,xt),g=it(s,{relative:u.relative}),d=et(),p=e.useContext(V),{navigator:h}=e.useContext(Y),k=null!=p&&function(t,n){void 0===n&&(n={});let a=e.useContext(wt);null==a&&_(!1);let{basename:i}=function(t){let n=e.useContext(q);return n||_(!1),n}(It.useViewTransitionState),r=it(t,{relative:n.relative});if(!a.isTransitioning)return!1;let o=L(a.currentLocation.pathname,i)||a.currentLocation.pathname,l=L(a.nextLocation.pathname,i)||a.nextLocation.pathname;return null!=R(r.pathname,l)||null!=R(r.pathname,o)}(g)&&!0===m,f=h.encodeLocation?h.encodeLocation(g).pathname:g.pathname,E=d.pathname,v=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;i||(E=E.toLowerCase(),v=v?v.toLowerCase():null,f=f.toLowerCase());const b="/"!==f&&f.endsWith("/")?f.length-1:f.length;let y,x=E===f||!o&&E.startsWith(f)&&"/"===E.charAt(b),w=null!=v&&(v===f||!o&&v.startsWith(f)&&"/"===v.charAt(f.length)),S={isActive:x,isPending:w,isTransitioning:k},N=x?a:void 0;y="function"==typeof r?r(S):[r,x?"active":null,w?"pending":null,k?"transitioning":null].filter(Boolean).join(" ");let C="function"==typeof l?l(S):l;return e.createElement(Gt,vt({},u,{"aria-current":N,className:y,ref:n,style:C,to:s,unstable_viewTransition:m}),"function"==typeof c?c(S):c)}));var It,Pt;(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"}(Pt||(Pt={}));var Mt=({title:t})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-px-8 gtmkit-py-6 gtmkit-sticky"},(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-items-center gtmkit-justify-between"},(0,e.createElement)("h1",{className:"gtmkit-flex gtmkit-items-center gtmkit-font-medium gtmkit-text-3xl"},(0,e.createElement)("svg",{className:"gtmkit-mr-8",height:"44",viewBox:"0 0 160 54",width:"128",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("rect",{fill:"#888",height:"54",rx:"4.265",width:"160"}),(0,e.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,e.createElement)("g",{fill:"#fff",transform:"matrix(1.465202 0 0 1.465202 -4.582436 -7.553126)"},(0,e.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,e.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)))),Ot=({to:t,title:n})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Dt,{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 ":"")},n)),Rt=({NavList:t})=>(0,e.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,e.createElement)(Ot,{key:t.to,to:t.to,title:t.title})})));function Ut(){return Ut=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Ut.apply(this,arguments)}function Lt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}function At(t,e){return At=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},At(t,e)}function jt(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,At(t,e)}function Ft(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var Ht=n().createContext(null),Bt=function(t){return t.scrollTop},Wt="unmounted",Kt="exited",Jt="entering",$t="entered",zt="exiting",qt=function(t){function e(e,n){var a;a=t.call(this,e,n)||this;var i,r=n&&!n.isMounting?e.enter:e.appear;return a.appearStatus=null,e.in?r?(i=Kt,a.appearStatus=Jt):i=$t:i=e.unmountOnExit||e.mountOnEnter?Wt:Kt,a.state={status:i},a.nextCallback=null,a}jt(e,t),e.getDerivedStateFromProps=function(t,e){return t.in&&e.status===Wt?{status:Kt}:null};var a=e.prototype;return a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==Jt&&n!==$t&&(e=Jt):n!==Jt&&n!==$t||(e=zt)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,a=this.props.timeout;return t=e=n=a,null!=a&&"number"!=typeof a&&(t=a.exit,e=a.enter,n=void 0!==a.appear?a.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e)if(this.cancelNextCallback(),e===Jt){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:Et().findDOMNode(this);n&&Bt(n)}this.performEnter(t)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Kt&&this.setState({status:Wt})},a.performEnter=function(t){var e=this,n=this.props.enter,a=this.context?this.context.isMounting:t,i=this.props.nodeRef?[a]:[Et().findDOMNode(this),a],r=i[0],o=i[1],l=this.getTimeouts(),s=a?l.appear:l.enter;t||n?(this.props.onEnter(r,o),this.safeSetState({status:Jt},(function(){e.props.onEntering(r,o),e.onTransitionEnd(s,(function(){e.safeSetState({status:$t},(function(){e.props.onEntered(r,o)}))}))}))):this.safeSetState({status:$t},(function(){e.props.onEntered(r)}))},a.performExit=function(){var t=this,e=this.props.exit,n=this.getTimeouts(),a=this.props.nodeRef?void 0:Et().findDOMNode(this);e?(this.props.onExit(a),this.safeSetState({status:zt},(function(){t.props.onExiting(a),t.onTransitionEnd(n.exit,(function(){t.safeSetState({status:Kt},(function(){t.props.onExited(a)}))}))}))):this.safeSetState({status:Kt},(function(){t.props.onExited(a)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(a){n&&(n=!1,e.nextCallback=null,t(a))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e){this.setNextCallback(e);var n=this.props.nodeRef?this.props.nodeRef.current:Et().findDOMNode(this),a=null==t&&!this.props.addEndListener;if(n&&!a){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],r=i[0],o=i[1];this.props.addEndListener(r,o)}null!=t&&setTimeout(this.nextCallback,t)}else setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===Wt)return null;var e=this.props,a=e.children,i=(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,Lt(e,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return n().createElement(Ht.Provider,{value:null},"function"==typeof a?a(t,i):n().cloneElement(n().Children.only(a),i))},e}(n().Component);function Vt(){}qt.contextType=Ht,qt.propTypes={},qt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Vt,onEntering:Vt,onEntered:Vt,onExit:Vt,onExiting:Vt,onExited:Vt},qt.UNMOUNTED=Wt,qt.EXITED=Kt,qt.ENTERING=Jt,qt.ENTERED=$t,qt.EXITING=zt;var Yt=qt,Xt=function(t,e){return t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.remove(a):"string"==typeof n.className?n.className=Ft(n.className,a):n.setAttribute("class",Ft(n.className&&n.className.baseVal||"",a)));var n,a}))},Qt=function(t){function e(){for(var e,n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return(e=t.call.apply(t,[this].concat(a))||this).appliedClasses={appear:{},enter:{},exit:{}},e.onEnter=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1];e.removeClasses(i,"exit"),e.addClass(i,r?"appear":"enter","base"),e.props.onEnter&&e.props.onEnter(t,n)},e.onEntering=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.addClass(i,r,"active"),e.props.onEntering&&e.props.onEntering(t,n)},e.onEntered=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.removeClasses(i,r),e.addClass(i,r,"done"),e.props.onEntered&&e.props.onEntered(t,n)},e.onExit=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"appear"),e.removeClasses(n,"enter"),e.addClass(n,"exit","base"),e.props.onExit&&e.props.onExit(t)},e.onExiting=function(t){var n=e.resolveArguments(t)[0];e.addClass(n,"exit","active"),e.props.onExiting&&e.props.onExiting(t)},e.onExited=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"exit"),e.addClass(n,"exit","done"),e.props.onExited&&e.props.onExited(t)},e.resolveArguments=function(t,n){return e.props.nodeRef?[e.props.nodeRef.current,t]:[t,n]},e.getClassNames=function(t){var n=e.props.classNames,a="string"==typeof n,i=a?(a&&n?n+"-":"")+t:n[t];return{baseClassName:i,activeClassName:a?i+"-active":n[t+"Active"],doneClassName:a?i+"-done":n[t+"Done"]}},e}jt(e,t);var a=e.prototype;return a.addClass=function(t,e,n){var a=this.getClassNames(e)[n+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===e&&"done"===n&&i&&(a+=" "+i),"active"===n&&t&&Bt(t),a&&(this.appliedClasses[e][n]=a,function(t,e){t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.add(a):function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")}(n,a)||("string"==typeof n.className?n.className=n.className+" "+a:n.setAttribute("class",(n.className&&n.className.baseVal||"")+" "+a)));var n,a}))}(t,a))},a.removeClasses=function(t,e){var n=this.appliedClasses[e],a=n.base,i=n.active,r=n.done;this.appliedClasses[e]={},a&&Xt(t,a),i&&Xt(t,i),r&&Xt(t,r)},a.render=function(){var t=this.props,e=(t.classNames,Lt(t,["classNames"]));return n().createElement(Yt,Ut({},e,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},e}(n().Component);Qt.defaultProps={classNames:""},Qt.propTypes={};var Zt=Qt,te=({title:t=(0,a.__)("Save","gtm-kit"),className:n="gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey"})=>{const{useUpdateSettings:o,useIsPending:l,useCanSave:s}=(0,i.useContext)(u);return(0,e.createElement)(r.Button,{className:n,onClick:()=>o(),variant:"primary",disabled:l||!s},s?(0,a.__)(t,"gtm-kit"):(0,a.__)("Saved","gtm-kit"),l?(0,e.createElement)(r.Spinner,null):"")},ee=()=>{const{useCanSave:t}=(0,i.useContext)(u);return(0,e.createElement)(Zt,{in:t,timeout:500,classNames:"slide",unmountOnExit:!0},(0,e.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,e.createElement)(te,null)))},ne=({subject:t})=>{const n=!0===t||"on"===t,i=!0===n?"gtmkit-bg-color-success":"gtmkit-bg-color-button-disabled";return(0,e.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},n?(0,a.__)("Active","gtm-kit"):(0,a.__)("Inactive","gtm-kit"))};const ae=(0,i.forwardRef)((({children:t,className:n="",...a},i)=>(0,e.createElement)("div",{...a,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 "+n,ref:i},t)));ae.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)("div",{...r,className:"gtmkit-flex gtmkit-justify-between gtmkit-items-center gtmkit-mb-5 "+i},(0,e.createElement)(t,{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading"},n),a),ae.Content=({as:t="div",children:n,className:a="gtmkit-flex-auto",...i})=>(0,e.createElement)(t,{...i,className:a},n),ae.Button=({url:t,destination:n,newTab:a=!1,text:i,group:o="",...l})=>{const s=at();return(0,e.createElement)("div",{...l,className:"gtmkit-mt-4 gtmkit-mb-0.5"},(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-rounded !gtmkit-py-4 !gtmkit-px-8 gtmkit-w-full sm:gtmkit-w-auto gtmkit-min-w-[225px]",onClick:()=>{n&&t&&!1===a?window.gtmkitSettings.current_poage===o?s(n,{replace:!0}):window.location.href=t+"#"+n:t?a?window.open(t):window.location.href=t:s(n,{replace:!0})}},(0,e.createElement)("span",{className:"gtmkit-mx-auto gtmkit-text-sm gtmkit-font-bold"},i)))};var ie=ae,re=({title:t,data:n,className:r=""})=>{const{useSettings:o}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8 gtmkit-mt-6"},t),(0,e.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] "+r},n.map(((t,n)=>!1===t.featured?null:(0,e.createElement)(ie,{key:n},(0,e.createElement)(ie.Header,{title:t.title},t.pill?(0,e.createElement)(ne,{subject:o[t.group][t.option]}):null),(0,e.createElement)(ie.Content,null,t.text.map(((t,n)=>(0,e.createElement)("p",{key:n},t)))),(0,e.createElement)(ie.Button,{url:t.link.url,destination:t.link.destination,text:t.link.text?t.link.text:(0,a.__)("Read article","gtm-kit"),newTab:t.link.external,group:t.group}))))))};const oe=[{title:"Woocommerce",pill:!0,group:"integrations",option:"woocommerce_integration",text:[(0,a.__)("The #1 open source eCommerce platform built for WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/woocommerce",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Contact Form 7",pill:!0,group:"integrations",option:"cf7_integration",text:[(0,a.__)("Just another contact form plugin for WordPress. Simple but flexible","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/cf7",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Easy Digital Downloads",pill:!0,group:"integrations",option:"edd_integration",text:[(0,a.__)("Easy way to sell Digital Products With WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/edd",text:(0,a.__)("Setup integration","gtm-kit")}}],le=[{title:"Getting started with GTM Kit",text:[(0,a.__)("How to get the most out of Google Tag Manager with GTM Kit.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!0},{title:(0,a.__)("WooCommerce integration","gtm-kit"),text:[(0,a.__)("Integrate WooCommerce with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=dashboard-tutorials"},featured:!0},{title:"Contact Form 7 Integration",text:[(0,a.__)("Integrate Contact Form 7 with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/contact-form-7-integration/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Easy Digital Downloads integration",text:[(0,a.__)("Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/set-up-easy-digital-downloads-for-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Advanced GTM container implementation",text:[(0,a.__)("Customization of the GTM container implementation and Server Side Tracking.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Settings, actions and filters for developers",text:[(0,a.__)("One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1}];var se=()=>{const{useSettings:t}=(0,i.useContext)(u),[n,r]=(0,i.useState)(le),o=Boolean(t.general.sgtm_domain&&t.general.sgtm_domain.trim());return(0,i.useEffect)((()=>{r((t=>[...t,{title:(0,a.__)("See all tutorials…","gtm-kit"),text:[(0,a.__)("See all our tutorial 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,a.__)("Read articles","gtm-kit")},featured:!0}]))}),[]),(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("General","gtm-kit")),(0,e.createElement)("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]"},(0,e.createElement)(ie,null,(0,e.createElement)(ie.Header,{title:"Google Tag Manager Container"},(0,e.createElement)(ne,{subject:t.general.gtm_id&&t.general.container_active})),(0,e.createElement)(ie.Content,null,t.general.gtm_id&&t.general.container_active?(0,e.createElement)("p",null,(0,a.__)("Container ID:","gtm-kit")," ",t&&t.general.gtm_id):(0,e.createElement)("p",null,(0,a.__)("The container is not active but the datalayer is generated.","gtm-kit"))),(0,e.createElement)(ie.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(ie,null,(0,e.createElement)(ie.Header,{title:(0,a.__)("Server-side GTM","gtm-kit")},(0,e.createElement)(ne,{subject:o})),(0,e.createElement)(ie.Content,null,(0,e.createElement)("p",null,(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit"))),(0,e.createElement)(ie.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(ie,null,(0,e.createElement)(ie.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")},(0,e.createElement)(ne,{subject:t.general.analytics_active})),(0,e.createElement)(ie.Content,null,(0,e.createElement)("p",null,(0,a.__)("Share anonymous data with the development team to help improve GTM Kit.","gtm-kit"))),(0,e.createElement)(ie.Button,{destination:"/misc",text:(0,a.__)("Share anonymous data","gtm-kit")}))),(0,e.createElement)(re,{title:(0,a.__)("Tutorials","gtm-kit"),data:n}),(0,e.createElement)(re,{title:(0,a.__)("Integrations","gtm-kit"),data:oe}))},me=({title:t,placeholder:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",optionGroup:l="general",optionName:s,isDisabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.TextControl,{label:t,placeholder:n,help:a,className:o,value:c[l][s],onChange:t=>g(l,s,t),disabled:m})},ce=({title:t,label:n,optionGroup:a="general",optionName:o,disabled:l=!1})=>{const{useSettings:s,useUpdateStateSettings:m}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-py-4"},(0,e.createElement)(r.BaseControl,{label:t},(0,e.createElement)(r.ToggleControl,{label:n,checked:!l&&s[a][o],onChange:()=>{m(a,o,!(s&&s[a][o]))},disabled:l}))))},ue=({title:t,options:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.RadioControl,{label:t,options:n,help:a,className:o,selected:parseInt(c[l][s]),onChange:t=>g(l,s,t),disabled:m})};const ge=(0,i.forwardRef)((({children:t,className:n="",disabled:a=!1,...i},r)=>(0,e.createElement)("div",{...i,className:"gtmkit-mb-12 gtmkit-border gtmkit-bg-white gtmkit-w-3/4 gtmkit-border-color-grey "+n+(a?"gtmkit-opacity-60":""),ref:r},t)));ge.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)(t,{...r,className:"gtmkit-font-bold gtmkit-text-lg gtmkit-px-8 gtmkit-py-4 gtmkit-border-b gtmkit-border-color-grey "+i},n,a),ge.Content=({as:t="div",children:n,className:a="",...i})=>(0,e.createElement)(t,{...i,className:"gtmkit-px-8 gtmkit-py-6 "+a},n);var de=ge,pe=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!(t.general.sgtm_domain&&t.general.sgtm_domain.trim()&&t.general.sgtm_container_identifier&&t.general.sgtm_container_identifier.trim());return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Tag Manager container","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("General Container Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit")),(0,e.createElement)(me,{title:(0,a.__)("GTM Container ID:","gtm-kit"),optionName:"gtm_id",placeholder:(0,a.__)("Enter GTM Container ID","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("Inject Container Code","gtm-kit"),label:(0,a.__)("Setting this to Off will remove the Google Tag Manager container code but the data layer will remain.","gtm-kit"),optionName:"container_active"}),(0,e.createElement)(ce,{title:(0,a.__)("Just the container","gtm-kit"),label:(0,a.__)("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"}),(0,e.createElement)(me,{title:(0,a.__)("dataLayer variable name:","gtm-kit"),optionName:"datalayer_name",placeholder:"dataLayer",help:(0,a.__)("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.","gtm-kit")}))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Server-side Tagging (sGTM)","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(de.Content,null,(0,e.createElement)(me,{title:(0,a.__)("sGTM Container Domain:","gtm-kit"),optionName:"sgtm_domain",placeholder:(0,a.__)("Enter domain …","gtm-kit"),help:(0,a.__)("Enter your custom domain name if you are using a custom server side GTM container for tracking.","gtm-kit")}),(0,e.createElement)(me,{title:(0,a.__)("sGTM container identifier:","gtm-kit"),optionName:"sgtm_container_identifier",placeholder:(0,a.__)("Enter loader name …","gtm-kit"),help:(0,a.__)("Only use if you are using a custom loader.","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("Cookie Keeper (for Stape users only)","gtm-kit"),label:(0,a.__)("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:n})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Google Tag Manager Server-side Tagging","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Hosting server-side GTM containers","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("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,a.__)("Additionally, it provides valuable add-ons for enhanced functionality.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:"https://stape.io/?pt=tlam&rs=plugin",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer"},(0,a.__)("Learn more about Stape.io","gtm-kit"))))))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Google Tag Manager Environment","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(de.Content,null,(0,e.createElement)(me,{title:(0,a.__)("gtm_auth:","gtm-kit"),optionName:"gtm_auth",placeholder:(0,a.__)("Enter gtm_auth code","gtm-kit"),help:(0,a.__)("Enter your gtm_auth code your GTM environment.","gtm-kit")}),(0,e.createElement)(me,{title:(0,a.__)("gtm_preview:","gtm-kit"),optionName:"gtm_preview",placeholder:(0,a.__)("Enter gtm_preview code","gtm-kit"),help:(0,a.__)("Enter your gtm_preview code your GTM environment.","gtm-kit")})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Environments","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("In Google Tag Manager you can define different environments like Live, Dev and QA.","gtm-kit")," ",(0,a.__)('To use a specific environment in GTM Kit you must enter the "gtm_auth" and "gtm_preview" codes for that environment.',"gtm-kit")," ",(0,a.__)("If left empty the default environment will be used.","gtm-kit")),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Override settings in wp-config.php","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))))))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Container Code Implementation","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Container code implementation:","gtm-kit"),options:[{label:(0,a.__)("Standard implementation as recommended by Google (no delay)","gtm-kit"),value:0},{label:(0,a.__)("Load container when browser is idle (requestIdleCallback)","gtm-kit"),value:1}],help:(0,a.__)("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"}),(0,e.createElement)(ue,{title:(0,a.__)("Container code noscript implementation:","gtm-kit"),options:[{label:(0,a.__)("Just after the opening <body> tag","gtm-kit"),value:0},{label:(0,a.__)("Footer of the page (not recommended by Google)","gtm-kit"),value:1},{label:(0,a.__)("Custom (insert function in your template)","gtm-kit"),value:2},{label:(0,a.__)("Disable <noscript> implementation","gtm-kit"),value:3}],help:(0,a.__)('The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the "body_open" hook. If your theme does not support this the script can be injected in the footer or you can use the function below.',"gtm-kit"),optionName:"noscript_implementation"}),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("code",null,"<?php if ( function_exists( 'gtmkit_the_noscript_tag' ) ) { gtmkit_the_noscript_tag(); } ?>")))))},he=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Post Data","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Post Data Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager.","gtm-kit")),(0,e.createElement)(ce,{title:(0,a.__)("Post type","gtm-kit"),id:"post-type",label:(0,a.__)("Include the type of the current post or archive page.","gtm-kit"),optionName:"datalayer_post_type"}),(0,e.createElement)(ce,{title:(0,a.__)("Page type","gtm-kit"),id:"page-type",label:(0,a.__)('Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. "campaign".',"gtm-kit"),optionName:"datalayer_page_type"}),(0,e.createElement)(ce,{title:(0,a.__)("Categories","gtm-kit"),id:"categories",label:(0,a.__)("Include the categories of the current post or archive page.","gtm-kit"),optionName:"datalayer_categories"}),(0,e.createElement)(ce,{title:(0,a.__)("Tags","gtm-kit"),id:"tags",label:(0,a.__)("Include the tags of the current post or archive page.","gtm-kit"),optionName:"datalayer_tags"}),(0,e.createElement)(ce,{title:(0,a.__)("Post title","gtm-kit"),id:"post-title",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_title"}),(0,e.createElement)(ce,{title:(0,a.__)("Post ID","gtm-kit"),id:"post-id",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_id"}),(0,e.createElement)(ce,{title:(0,a.__)("Post data","gtm-kit"),id:"post-date",label:(0,a.__)("Include the post date.","gtm-kit"),optionName:"datalayer_post_date"}),(0,e.createElement)(ce,{title:(0,a.__)("Post author name","gtm-kit"),id:"post-author-name",label:(0,a.__)("Include the post author name.","gtm-kit"),optionName:"datalayer_post_author_name"}),(0,e.createElement)(ce,{title:(0,a.__)("Post author ID","gtm-kit"),id:"post-author-id",label:(0,a.__)("Include the post author ID.","gtm-kit"),optionName:"datalayer_post_author_id"})))),_e=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("User Data","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Warning!","gtm-kit"),className:"gtmkit-text-red-600"}),(0,e.createElement)(de.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Including user data is not compatible with full page caching.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users.","gtm-kit")))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("User Data Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Logged in","gtm-kit"),id:"logged-in",label:(0,a.__)("Include whether the user is logged in.","gtm-kit"),optionName:"datalayer_logged_in"}),(0,e.createElement)(ce,{title:(0,a.__)("User ID","gtm-kit"),id:"user-id",label:(0,a.__)("Include the user ID if the user is logged in.","gtm-kit"),optionName:"datalayer_user_id"}),(0,e.createElement)(ce,{title:(0,a.__)("User role","gtm-kit"),id:"user-role",label:(0,a.__)("Include the user role if the user is logged in.","gtm-kit"),optionName:"datalayer_user_role"})))),ke=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!t.general.gcm_default_settings;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Consent Mode","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Google Consent Mode Activation","gtm-kit")},(0,e.createElement)("span",{className:"gtmkit-text-red-600 gtmkit-ml-2"},(0,a.__)("Warning!","gtm-kit"))),(0,e.createElement)(de.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode.","gtm-kit")),(0,e.createElement)("p",{className:"!gtmkit-mt-4"},(0,a.__)("GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-color-primary !gtmkit-my-6"},(0,e.createElement)("a",{href:"https://developers.google.com/tag-platform/security/guides/consent#implementation_example",target:"_blank",rel:"noreferrer",className:"hover:gtmkit-underline gtmkit-font-semibold"},(0,a.__)("See an example of how consent is updated","gtm-kit"))),(0,e.createElement)(ce,{title:(0,a.__)("Activate GCM settings","gtm-kit"),label:(0,a.__)("Choose this option if you would like to activate the default settings below","gtm-kit"),optionName:"gcm_default_settings"}))),(0,e.createElement)(de,{disabled:n},(0,e.createElement)(de.Header,{title:(0,a.__)("Google Consent Mode Default Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Ad Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to advertising","gtm-kit"),optionName:"gcm_ad_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Analytics Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to analytics (for example, visit duration)","gtm-kit"),optionName:"gcm_analytics_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Functionality Storage","gtm-kit"),label:(0,a.__)("Enables storage that supports the functionality of the website or app such as language settings","gtm-kit"),optionName:"gcm_functionality_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Personalization Storage","gtm-kit"),label:(0,a.__)("Enables storage related to personalization such as video recommendations","gtm-kit"),optionName:"gcm_personalization_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Security Storage","gtm-kit"),label:(0,a.__)("Enables storage related to security such as authentication functionality, fraud prevention, and other user protection","gtm-kit"),optionName:"gcm_security_storage",disabled:n}))))},fe=({label:t,value:n,tag:a})=>(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-4 gtmkit-py-2"},(0,e.createElement)("strong",null,t)),(0,e.createElement)("td",{className:"gtmkit-px-4 gtmkit-py-2"},"code"===a?(0,e.createElement)("code",{className:"gtmkit-text-sm"},n):(0,e.createElement)("em",null,n))),Ee=()=>{const{useSiteData:t}=(0,i.useContext)(u),n=Object.values(t.shared_data);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm gtmkit-my-6 gtmkit-py-6"},(0,e.createElement)("tbody",{className:"gtmkit-py-6"},n.map((function(t,n){return(0,e.createElement)(fe,{key:n,label:t.label,value:t.value,tag:t.tag})})))))},ve=()=>{const{}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Misc","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(Ee,null),(0,e.createElement)("p",{className:"gtmkit-my-4 gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit will never transmit any domain names or container ID's.","gtm-kit")),(0,e.createElement)(ce,{title:(0,a.__)("Share anonymous data","gtm-kit"),label:(0,a.__)("I agree to share anonymous data with the development team to help improve GTM Kit.","gtm-kit"),optionName:"analytics_active"}))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Logging and debugging","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Console log","gtm-kit"),label:(0,a.__)("Log helpful messages and warnings to the browser log.","gtm-kit"),optionName:"console_log"}))))},be=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(re,{title:(0,a.__)("Integrations","gtm-kit"),data:oe})),ye=({pluginName:t})=>(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.sprintf)((0,a.__)("%s is not active","gtm-kit"),t),className:"gtmkit-text-red-600"}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,a.sprintf)((0,a.__)("If you haven't installed and activated %s you must do that.","gtm-kit"),t)),(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-sm disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.pluginInstallUrl+t}},(0,a.sprintf)((0,a.__)("Install %s","gtm-kit"),t)))),xe=({title:t,options:n,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m=!1,help:c="",notSet:g=!1})=>{const{useSettings:d,useUpdateStateSettings:p}=(0,i.useContext)(u),h=g?[{label:(0,a.__)("(not set)","gtm-kit"),value:""},...n]:n;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(r.SelectControl,{label:t,value:d&&d[l][s],options:h,className:o,onChange:t=>p(l,s,t),disabled:m,help:c}))},we=({pluginName:t,optionName:n,pluginInactive:i})=>(0,e.createElement)(de,{disabled:i},(0,e.createElement)(de.Header,{title:(0,a.sprintf)((0,a.__)("%s Integration","gtm-kit"),t)}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.sprintf)((0,a.__)("Track %s","gtm-kit"),t),label:(0,a.sprintf)((0,a.__)("Activate the %s integration","gtm-kit"),t),optionGroup:"integrations",optionName:n,disabled:i})));const Se=[{label:(0,a.__)("Retail","gtm-kit"),value:"retail"},{label:(0,a.__)("Education","gtm-kit"),value:"education"},{label:(0,a.__)("Flights","gtm-kit"),value:"flights"},{label:(0,a.__)("Hotel rental","gtm-kit"),value:"hotel_rental"},{label:(0,a.__)("Jobs","gtm-kit"),value:"jobs"},{label:(0,a.__)("Local deals","gtm-kit"),value:"local"},{label:(0,a.__)("Real estate","gtm-kit"),value:"real_estate"},{label:(0,a.__)("Travel","gtm-kit"),value:"travel"},{label:(0,a.__)("Custom","gtm-kit"),value:"custom"}];var Ne=()=>{const{useSettings:t}=(0,i.useContext)(u),n="WooCommerce",r=!window.gtmkitSettings.plugins.woocommerce,o=r||!t.integrations.woocommerce_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("WooCommerce","gtm-kit")),r?(0,e.createElement)(ye,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"woocommerce_integration",pluginInactive:r}),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Basic settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(xe,{title:(0,a.__)("Brand","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_brand",options:window.gtmkitSettings.taxonomyOptions,help:(0,a.__)("Select the taxonomy that is used for product brands","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_use_sku",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_tax",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Exclude shipping from revenue","gtm-kit"),label:(0,a.__)("Exclude shipping from revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_shipping",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_customer_data",disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Event customization","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ue,{title:"view_item_list (with product filter)",options:[{label:(0,a.__)("Push view_item_list when the list is updated using a product filter.","gtm-kit"),value:0},{label:(0,a.__)("Only only push view_item_list once per per page for each list.","gtm-kit"),value:1}],help:(0,a.__)("Do you what to push the view_item_list event if the list is updated using a filter or just once per page view.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_view_item_list_limit",disabled:o}),(0,e.createElement)(ue,{title:"view_item",options:[{label:(0,a.__)("Only push view_item on the master product","gtm-kit"),value:0},{label:(0,a.__)("Push view_item on master and variation products (higher number of views).","gtm-kit"),value:1},{label:(0,a.__)("Only push view_item on variation products.","gtm-kit"),value:2}],help:(0,a.__)('When do you want to fire the "view_item" event on variable products?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_variable_product_tracking",disabled:o}),(0,e.createElement)(ue,{title:"add_shipping_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a shipment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_shipment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_shipment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_shipping_info",disabled:o}),(0,e.createElement)(ue,{title:"add_payment_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a payment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_payment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_payment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_payment_info",disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(xe,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_google_business_vertical",options:Se,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(me,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_dequeue_script",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include permalink structure","gtm-kit"),label:(0,a.__)("Enable this option to include the permalink structure of the product base, category base, tag base and attribute base.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_permalink_structure",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include path of pages","gtm-kit"),label:(0,a.__)("Enable this option to include the path of cart, checkout, order received and my account page.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_pages",disabled:o}))))},Ce=()=>{const{useSettings:t}=(0,i.useContext)(u),n="Contact Form 7",r=!window.gtmkitSettings.plugins.cf7,o=r||!t.integrations.cf7_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Contact Form 7","gtm-kit")),r?(0,e.createElement)(ye,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"cf7_integration",pluginInactive:r}),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Load JavaScript","gtm-kit"),options:[{label:(0,a.__)("Only on pages where where the Contact Form 7 script is registered (recommended).","gtm-kit"),value:1},{label:(0,a.__)("On all pages","gtm-kit"),value:2}],help:(0,a.__)("Where do you want load the JavaScript?","gtm-kit"),optionGroup:"integrations",optionName:"cf7_load_js",disabled:o}))))},Te=()=>{const t="Easy Digital Downloads",n=!window.gtmkitSettings.plugins.edd,{useSettings:r}=(0,i.useContext)(u),o=n||!r.integrations.edd_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Easy Digital Downloads","gtm-kit")),n?(0,e.createElement)(ye,{pluginName:t}):null,(0,e.createElement)(we,{pluginName:t,optionName:"edd_integration",pluginInactive:n}),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"edd_use_sku",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"edd_exclude_tax",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"edd_include_customer_data",disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(xe,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"edd_google_business_vertical",options:Se,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(me,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"edd_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(de,{disabled:n},(0,e.createElement)(de.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"edd_dequeue_script",disabled:o}))))},Ge=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Help","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Google Tag Manager templates","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit"),(0,a.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/"},(0,a.__)("Read guide","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-font-bold"},(0,a.__)("GTM container import files:","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - eCommerce","gtm-kit")))))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Tutorials","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("ul",null,le.map(((t,n)=>(0,e.createElement)("li",{key:n,className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:t.link.url,target:"_blank",rel:"noreferrer",className:"gtmkit-font-semibold gtmkit-text-color-primary hover:gtmkit-underline"},t.title),t.text.map(((t,n)=>(0,e.createElement)("div",{key:n,className:"gtmkit-text-sm"},t)))))))))),De=()=>{const{useSiteData:t}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Get support","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Support options","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://wordpress.org/support/plugin/gtm-kit/",target:"_blank",rel:"noreferrer"},(0,a.__)("WordPress.org Support Forum","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("GITHub repository","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/",target:"_blank",rel:"noreferrer"},(0,a.__)("Plugin Homepage","gtm-kit"))," ","(gtmkit.com)")))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("About GTM Kit","gtm-kit"),className:"gtmkit-flex gtmkit-items-center"},(0,e.createElement)("span",{className:"gtmkit-text-sm gtmkit-text-color-grey gtmkit-font-light gtmkit-ml-2"},"(",(0,a.__)("Version:","gtm-kit")," ",t.gtmkit_version,")")),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",null,(0,a.__)("You can see the changes of all versions in:","gtm-kit"),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary gtmkit-ml-2 hover:gtmkit-underline",href:"https://gtmkit.com/changelog/",target:"_blank",rel:"noreferrer"},(0,a.__)("The changelog","gtm-kit")),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary gtmkit-ml-2 hover:gtmkit-underline",href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("The Github repository","gtm-kit"))))))};const Ie={integrations:(0,a.__)("Integrations","gtm-kit"),help:(0,a.__)("Help","gtm-kit")},Pe=()=>{const{useSettings:t}=(0,i.useContext)(u),n=window.gtmkitSettings.currentPage,o=function({page:t}){const e=[{to:"general",title:(0,a.__)("Dashboard","gtm-kit")},{to:"container",title:(0,a.__)("Container","gtm-kit")},{to:"post-data",title:(0,a.__)("Post data","gtm-kit")},{to:"user-data",title:(0,a.__)("User data","gtm-kit")},{to:"google-consent-mode",title:(0,a.__)("Google Consent Mode","gtm-kit")},{to:"misc",title:(0,a.__)("Misc","gtm-kit")}],n=[{to:"integrations",title:(0,a.__)("Integrations","gtm-kit")},{to:"woocommerce",title:"WooCommerce"},{to:"cf7",title:"Contact Form 7"},{to:"edd",title:"Easy Digital Downloads"}],i=[{to:"help",title:(0,a.__)("Help","gtm-kit")},{to:"support",title:(0,a.__)("Support","gtm-kit")}];switch(t){case"general":return e;case"integrations":return n;case"help":return i}}({page:n}),l=Ie[n]||(0,a.__)("Settings","gtm-kit");return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Mt,{title:l}),(0,e.createElement)(Rt,{NavList:o}),(0,e.createElement)("main",{className:"gtmkit-max-w-[1536px] gtmkit-px-8 gtmkit-pt-8 gtmkit-text-base"},(0,e.createElement)(_t,null,(0,e.createElement)(pt,{exact:!0,path:"/general",element:(0,e.createElement)(se,null)}),(0,e.createElement)(pt,{exact:!0,path:"/container",element:(0,e.createElement)(pe,null)}),(0,e.createElement)(pt,{exact:!0,path:"/post-data",element:(0,e.createElement)(he,null)}),(0,e.createElement)(pt,{exact:!0,path:"/user-data",element:(0,e.createElement)(_e,null)}),(0,e.createElement)(pt,{exact:!0,path:"/google-consent-mode",element:(0,e.createElement)(ke,null)}),(0,e.createElement)(pt,{exact:!0,path:"/misc",element:(0,e.createElement)(ve,null)}),(0,e.createElement)(pt,{exact:!0,path:"/integrations",element:(0,e.createElement)(be,null)}),(0,e.createElement)(pt,{exact:!0,path:"/woocommerce",element:(0,e.createElement)(Ne,null)}),(0,e.createElement)(pt,{exact:!0,path:"/cf7",element:(0,e.createElement)(Ce,null)}),(0,e.createElement)(pt,{exact:!0,path:"/edd",element:(0,e.createElement)(Te,null)}),(0,e.createElement)(pt,{exact:!0,path:"/help",element:(0,e.createElement)(Ge,null)}),(0,e.createElement)(pt,{exact:!0,path:"/support",element:(0,e.createElement)(De,null)}),(0,e.createElement)(pt,{path:"/",element:(0,e.createElement)(dt,{replace:!0,to:"/"+n})}))),(0,e.createElement)(ee,null)):(0,e.createElement)("div",{className:"gtmkit-h-screen gtmkit-flex gtmkit-items-center gtmkit-justify-center"},(0,e.createElement)(r.Spinner,null))},Me=()=>(0,e.createElement)(Nt,{basename:"/"},(0,e.createElement)(d,null,(0,e.createElement)(Pe,null)));document.addEventListener("DOMContentLoaded",(()=>{const t=document.getElementById(window.gtmkitSettings.rootId);null!=t&&(0,i.render)((0,e.createElement)(Me,null),t)}))}();
     1!function(){"use strict";var t={n:function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},d:function(e,n){for(var a in n)t.o(n,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:n[a]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,n=t.n(e),a=window.wp.i18n,i=window.wp.element,r=window.wp.components,o=window.lodash,l=window.wp.apiFetch,s=t.n(l);s().use(s().createNonceMiddleware(window.gtmkitSettings.nonce)),s().use(s().createRootURLMiddleware(window.gtmkitSettings.root));const m=async(t,e,n=null,a=!1)=>{let i={};try{i=await s()({path:t,method:e,...n&&{data:n}})}catch(n){return console.log(`${e} ${t} Errors:`,n),{[`gtm_kit_api_${e}_${t}_errors`]:!0}}return!0===a?i:!0===i.success?i.data:options};var c=(t,e)=>{const n={...t};switch(e.type){case"FETCH_SETTINGS":n.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},n.stateSettings=e.payload.stateSettings,n.siteData=e.payload.siteData,n.installData=e.payload.installData,n.isPending=!1,n.canSave=!1,e.payload.fetchedSettings.gtm_kit_api_fetch_settings_errors&&(n.notice=(0,a.__)("An error occurred.","gtm-kit"),n.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":n.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":n.fetchedSettings=e.payload.fetchedSettings,n.stateSettings=e.payload.stateSettings,n.isPending=!1,n.canSave=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors,n.notice=e.payload.fetchedSettings.gtm_kit_api_update_settings_errors?(0,a.__)("An error occurred.","gtm-kit"):(0,a.__)("Saved Successfully.","gtm-kit"),n.hasError=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors;break;case"UPDATE_STATE":n.fetchedSettings=e.payload.fetchedSettings||n.fetchedSettings,n.stateSettings=e.payload.stateSettings||n.stateSettings,n.isPending=e.payload.isPending||n.isPending,n.notice=e.payload.notice||n.notice,n.hasError=e.payload.hasError||n.hasError,n.canSave=e.payload.canSave||n.canSave,n.isSendingSystemData=e.payload.isSendingSystemData||n.isSendingSystemData,n.supportTicket=e.payload.supportTicket||n.supportTicket;break;case"SEND_SUPPORT_DATA_BEFORE":n.isSendingSystemData=e.payload.isSendingSystemData||n.isSendingSystemData;break;case"SEND_SUPPORT_DATA":n.isSendingSystemData=!1,n.isSystemDataSent=e.payload.isSystemDataSent||n.isSystemDataSent,n.systemDataMessage=e.payload.systemDataMessage||n.systemDataMessage}return n};const u=(0,i.createContext)();var g,d=t=>{const[n,a]=(0,i.useReducer)(c,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1,supportTicket:"",isSystemDataSent:!1,systemDataMessage:""}),r=async()=>{const[t,e]=await Promise.all([m("gtmkit/v1/get-options","GET"),m("gtmkit/v1/get-site-data","GET")]),n="wizard"===window.gtmkitSettings.currentPage?await m("gtmkit/v1/get-install-data","GET"):{};a({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:n}})},l=async t=>{a({type:"UPDATE_STATE",payload:t})};(0,i.useEffect)((()=>{r()}),[]);const s={useDispatch:t=>{a(t)},useUpdateSettings:async()=>{a({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,m("gtmkit/v1/set-options","POST",e));var e;a({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:r,useUpdateState:l,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let r;i[t][e]=a,r=!(0,o.isEqual)(i,n.fetchedSettings),l({stateSettings:i,canSave:r})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const r={};r.general={...a.general,...e.general},"integrations"in e&&(r.integrations={...a.integrations,...e.integrations}),i=!(0,o.isEqual)(r,n.fetchedSettings),l({stateSettings:r,canSave:i})},useUpdateSupportTicket:async t=>{l({supportTicket:t})},useSendSystemData:async()=>{a({type:"SEND_SUPPORT_DATA_BEFORE",payload:{isSendingSystemData:!0}});const t=await(e=n.supportTicket,m("gtmkit/v1/send-support-data","POST",e,!0));var e;a({type:"SEND_SUPPORT_DATA",payload:{isSendingSystemData:!1,isSystemDataSent:t.success,systemDataMessage:t.data}})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData,useIsSending:n.isSendingSystemData,useSupportTicket:n.supportTicket,useIsSystemDataSent:n.isSystemDataSent,useSystemDataMessage:n.systemDataMessage};return(0,e.createElement)(u.Provider,{value:s},t.children)};function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},p.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const h="popstate";function _(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function f(t,e){return{usr:t.state,key:t.key,idx:e}}function E(t,e,n,a){return void 0===n&&(n=null),p({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?b(e):e,{state:n,key:e&&e.key||a||Math.random().toString(36).substr(2,8)})}function v(t){let{pathname:e="/",search:n="",hash:a=""}=t;return n&&"?"!==n&&(e+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(e+="#"===a.charAt(0)?a:"#"+a),e}function b(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));let a=t.indexOf("?");a>=0&&(e.search=t.substr(a),t=t.substr(0,a)),t&&(e.pathname=t)}return e}var y;function x(t,e,n){void 0===n&&(n="/");let a=A(("string"==typeof e?b(e):e).pathname||"/",n);if(null==a)return null;let i=S(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,n)=>t===e[n]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(i);let r=null;for(let t=0;null==r&&t<i.length;++t)r=O(i[t],U(a));return r}function S(t,e,n,a){void 0===e&&(e=[]),void 0===n&&(n=[]),void 0===a&&(a="");let i=(t,i,r)=>{let o={relativePath:void 0===r?t.path||"":r,caseSensitive:!0===t.caseSensitive,childrenIndex:i,route:t};o.relativePath.startsWith("/")&&(_(o.relativePath.startsWith(a),'Absolute route path "'+o.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(a.length));let l=H([a,o.relativePath]),s=n.concat(o);t.children&&t.children.length>0&&(_(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),S(t.children,e,s,l)),(null!=t.path||t.index)&&e.push({path:l,score:M(l,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var n;if(""!==t.path&&null!=(n=t.path)&&n.includes("?"))for(let n of w(t.path))i(t,e,n);else i(t,e)})),e}function w(t){let e=t.split("/");if(0===e.length)return[];let[n,...a]=e,i=n.endsWith("?"),r=n.replace(/\?$/,"");if(0===a.length)return i?[r,""]:[r];let o=w(a.join("/")),l=[];return l.push(...o.map((t=>""===t?r:[r,t].join("/")))),i&&l.push(...o),l.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(y||(y={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const N=/^:\w+$/,C=3,T=2,D=1,G=10,P=-2,I=t=>"*"===t;function M(t,e){let n=t.split("/"),a=n.length;return n.some(I)&&(a+=P),e&&(a+=T),n.filter((t=>!I(t))).reduce(((t,e)=>t+(N.test(e)?C:""===e?D:G)),a)}function O(t,e){let{routesMeta:n}=t,a={},i="/",r=[];for(let t=0;t<n.length;++t){let o=n[t],l=t===n.length-1,s="/"===i?e:e.slice(i.length)||"/",m=R({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},s);if(!m)return null;Object.assign(a,m.params);let c=o.route;r.push({params:a,pathname:H([i,m.pathname]),pathnameBase:B(H([i,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(i=H([i,m.pathnameBase]))}return r}function R(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[n,a]=function(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let a=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,n)=>(a.push({paramName:e,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(a.push({paramName:"*"}),i+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==t&&"/"!==t&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),a]}(t.path,t.caseSensitive,t.end),i=e.match(n);if(!i)return null;let r=i[0],o=r.replace(/(.)\/+$/,"$1"),l=i.slice(1);return{params:a.reduce(((t,e,n)=>{let{paramName:a,isOptional:i}=e;if("*"===a){let t=l[n]||"";o=r.slice(0,r.length-t.length).replace(/(.)\/+$/,"$1")}const s=l[n];return t[a]=i&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(n){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+n+")."),t}}(s||"",a),t}),{}),pathname:r,pathnameBase:o,pattern:t}}function U(t){try{return decodeURI(t)}catch(e){return k(!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 A(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,a=t.charAt(n);return a&&"/"!==a?null:t.slice(n)||"/"}function L(t,e,n,a){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(a)+"].  Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function F(t,e){let n=function(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}(t);return e?n.map(((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)):n.map((t=>t.pathnameBase))}function j(t,e,n,a){let i;void 0===a&&(a=!1),"string"==typeof t?i=b(t):(i=p({},t),_(!i.pathname||!i.pathname.includes("?"),L("?","pathname","search",i)),_(!i.pathname||!i.pathname.includes("#"),L("#","pathname","hash",i)),_(!i.search||!i.search.includes("#"),L("#","search","hash",i)));let r,o=""===t||""===i.pathname,l=o?"/":i.pathname;if(null==l)r=n;else if(a){let t=0===e.length?[]:e[e.length-1].replace(/^\//,"").split("/");if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t.pop();i.pathname=e.join("/")}r="/"+t.join("/")}else{let t=e.length-1;if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t-=1;i.pathname=e.join("/")}r=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:n,search:a="",hash:i=""}="string"==typeof t?b(t):t,r=n?n.startsWith("/")?n:function(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?n.length>1&&n.pop():"."!==t&&n.push(t)})),n.length>1?n.join("/"):"/"}(n,e):e;return{pathname:r,search:W(a),hash:K(i)}}(i,r),m=l&&"/"!==l&&l.endsWith("/"),c=(o||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const H=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",K=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const J=["post","put","patch","delete"],$=(new Set(J),["get",...J]);function z(){return z=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},z.apply(this,arguments)}new Set($),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const q=e.createContext(null),V=e.createContext(null),Y=e.createContext(null),X=e.createContext(null),Q=e.createContext({outlet:null,matches:[],isDataRoute:!1}),Z=e.createContext(null);function tt(){return null!=e.useContext(X)}function et(){return tt()||_(!1),e.useContext(X).location}function nt(t){e.useContext(Y).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(Q);return t?function(){let{router:t}=function(t){let n=e.useContext(q);return n||_(!1),n}(ct.UseNavigateStable),n=gt(ut.UseNavigateStable),a=e.useRef(!1);return nt((()=>{a.current=!0})),e.useCallback((function(e,i){void 0===i&&(i={}),a.current&&("number"==typeof e?t.navigate(e):t.navigate(e,z({fromRouteId:n},i)))}),[t,n])}():function(){tt()||_(!1);let t=e.useContext(q),{basename:n,future:a,navigator:i}=e.useContext(Y),{matches:r}=e.useContext(Q),{pathname:o}=et(),l=JSON.stringify(F(r,a.v7_relativeSplatPath)),s=e.useRef(!1);return nt((()=>{s.current=!0})),e.useCallback((function(e,a){if(void 0===a&&(a={}),!s.current)return;if("number"==typeof e)return void i.go(e);let r=j(e,JSON.parse(l),o,"path"===a.relative);null==t&&"/"!==n&&(r.pathname="/"===r.pathname?n:H([n,r.pathname])),(a.replace?i.replace:i.push)(r,a.state,a)}),[n,i,l,o,t])}()}function it(t,n){let{relative:a}=void 0===n?{}:n,{future:i}=e.useContext(Y),{matches:r}=e.useContext(Q),{pathname:o}=et(),l=JSON.stringify(F(r,i.v7_relativeSplatPath));return e.useMemo((()=>j(t,JSON.parse(l),o,"path"===a)),[t,l,o,a])}function rt(t,n,a,i){tt()||_(!1);let{navigator:r}=e.useContext(Y),{matches:o}=e.useContext(Q),l=o[o.length-1],s=l?l.params:{},m=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let c,u=et();if(n){var d;let t="string"==typeof n?b(n):n;"/"===m||(null==(d=t.pathname)?void 0:d.startsWith(m))||_(!1),c=t}else c=u;let p=c.pathname||"/",h=x(t,{pathname:"/"===m?p:p.slice(m.length)||"/"}),k=function(t,n,a,i){var r;if(void 0===n&&(n=[]),void 0===a&&(a=null),void 0===i&&(i=null),null==t){var o;if(null==(o=a)||!o.errors)return null;t=a.matches}let l=t,s=null==(r=a)?void 0:r.errors;if(null!=s){let t=l.findIndex((t=>t.route.id&&(null==s?void 0:s[t.route.id])));t>=0||_(!1),l=l.slice(0,Math.min(l.length,t+1))}let m=!1,c=-1;if(a&&i&&i.v7_partialHydration)for(let t=0;t<l.length;t++){let e=l[t];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=t),e.route.loader&&e.route.id&&void 0===a.loaderData[e.route.id]&&(!a.errors||void 0===a.errors[e.route.id])){m=!0,l=c>=0?l.slice(0,c+1):[l[0]];break}}return l.reduceRight(((t,i,r)=>{let o,u=!1,g=null,d=null;var p;a&&(o=s&&i.route.id?s[i.route.id]:void 0,g=i.route.errorElement||lt,m&&(c<0&&0===r?(dt[p="route-fallback"]||(dt[p]=!0),u=!0,d=null):c===r&&(u=!0,d=i.route.hydrateFallbackElement||null)));let h=n.concat(l.slice(0,r+1)),_=()=>{let n;return n=o?g:u?d:i.route.Component?e.createElement(i.route.Component,null):i.route.element?i.route.element:t,e.createElement(mt,{match:i,routeContext:{outlet:t,matches:h,isDataRoute:null!=a},children:n})};return a&&(i.route.ErrorBoundary||i.route.errorElement||0===r)?e.createElement(st,{location:a.location,revalidation:a.revalidation,component:g,error:o,children:_(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):_()}),null)}(h&&h.map((t=>Object.assign({},t,{params:Object.assign({},s,t.params),pathname:H([m,r.encodeLocation?r.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?m:H([m,r.encodeLocation?r.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),o,a,i);return n&&k?e.createElement(X.Provider,{value:{location:z({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:g.Pop}},k):k}function ot(){let t=function(){var t;let n=e.useContext(Z),a=function(t){let n=e.useContext(V);return n||_(!1),n}(ut.UseRouteError),i=gt(ut.UseRouteError);return void 0!==n?n:null==(t=a.errors)?void 0:t[i]}(),n=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),a=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},n),a?e.createElement("pre",{style:i},a):null,null)}const lt=e.createElement(ot,null);class st extends e.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?e.createElement(Q.Provider,{value:this.props.routeContext},e.createElement(Z.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mt(t){let{routeContext:n,match:a,children:i}=t,r=e.useContext(q);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),e.createElement(Q.Provider,{value:n},i)}var ct=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(ct||{}),ut=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}(ut||{});function gt(t){let n=function(t){let n=e.useContext(Q);return n||_(!1),n}(),a=n.matches[n.matches.length-1];return a.route.id||_(!1),a.route.id}const dt={};function pt(t){let{to:n,replace:a,state:i,relative:r}=t;tt()||_(!1);let{future:o,static:l}=e.useContext(Y),{matches:s}=e.useContext(Q),{pathname:m}=et(),c=at(),u=j(n,F(s,o.v7_relativeSplatPath),m,"path"===r),g=JSON.stringify(u);return e.useEffect((()=>c(JSON.parse(g),{replace:a,state:i,relative:r})),[c,g,r,a,i]),null}function ht(t){_(!1)}function _t(t){let{basename:n="/",children:a=null,location:i,navigationType:r=g.Pop,navigator:o,static:l=!1,future:s}=t;tt()&&_(!1);let m=n.replace(/^\/*/,"/"),c=e.useMemo((()=>({basename:m,navigator:o,static:l,future:z({v7_relativeSplatPath:!1},s)})),[m,s,o,l]);"string"==typeof i&&(i=b(i));let{pathname:u="/",search:d="",hash:p="",state:h=null,key:k="default"}=i,f=e.useMemo((()=>{let t=A(u,m);return null==t?null:{location:{pathname:t,search:d,hash:p,state:h,key:k},navigationType:r}}),[m,u,d,p,h,k,r]);return null==f?null:e.createElement(Y.Provider,{value:c},e.createElement(X.Provider,{children:a,value:f}))}function kt(t){let{children:e,location:n}=t;return rt(ft(e),n)}function ft(t,n){void 0===n&&(n=[]);let a=[];return e.Children.forEach(t,((t,i)=>{if(!e.isValidElement(t))return;let r=[...n,i];if(t.type===e.Fragment)return void a.push.apply(a,ft(t.props.children,r));t.type!==ht&&_(!1),t.props.index&&t.props.children&&_(!1);let o={id:t.props.id||r.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&&(o.children=ft(t.props.children,r)),a.push(o)})),a}e.startTransition,new Promise((()=>{})),e.Component;var Et=window.ReactDOM,vt=t.n(Et);function bt(){return bt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},bt.apply(this,arguments)}function yt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const xt=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],St=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],wt=e.createContext({isTransitioning:!1});new Map;const Nt=e.startTransition;function Ct(t){let{basename:n,children:a,future:i,window:r}=t,o=e.useRef();null==o.current&&(o.current=function(t){return void 0===t&&(t={}),function(t,e,n,a){void 0===a&&(a={});let{window:i=document.defaultView,v5Compat:r=!1}=a,o=i.history,l=g.Pop,s=null,m=c();function c(){return(o.state||{idx:null}).idx}function u(){l=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:l,location:k.location,delta:e})}function d(t){let e="null"!==i.location.origin?i.location.origin:i.location.href,n="string"==typeof t?t:v(t);return _(e,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,e)}null==m&&(m=0,o.replaceState(p({},o.state,{idx:m}),""));let k={get action(){return l},get location(){return t(i,o)},listen(t){if(s)throw new Error("A history only accepts one active listener");return i.addEventListener(h,u),s=t,()=>{i.removeEventListener(h,u),s=null}},createHref(t){return e(i,t)},createURL:d,encodeLocation(t){let e=d(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){l=g.Push;let a=E(k.location,t,e);n&&n(a,t),m=c()+1;let u=f(a,m),d=k.createHref(a);try{o.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;i.location.assign(d)}r&&s&&s({action:l,location:k.location,delta:1})},replace:function(t,e){l=g.Replace;let a=E(k.location,t,e);n&&n(a,t),m=c();let i=f(a,m),u=k.createHref(a);o.replaceState(i,"",u),r&&s&&s({action:l,location:k.location,delta:0})},go(t){return o.go(t)}};return k}((function(t,e){let{pathname:n="/",search:a="",hash:i=""}=b(t.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),E("",{pathname:n,search:a,hash:i},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let n=t.document.querySelector("base"),a="";if(n&&n.getAttribute("href")){let e=t.location.href,n=e.indexOf("#");a=-1===n?e:e.slice(0,n)}return a+"#"+("string"==typeof e?e:v(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),t)}({window:r,v5Compat:!0}));let l=o.current,[s,m]=e.useState({action:l.action,location:l.location}),{v7_startTransition:c}=i||{},u=e.useCallback((t=>{c&&Nt?Nt((()=>m(t))):m(t)}),[m,c]);return e.useLayoutEffect((()=>l.listen(u)),[l,u]),e.createElement(_t,{basename:n,children:a,location:s.location,navigationType:s.action,navigator:l,future:i})}Et.flushSync;const Tt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Dt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gt=e.forwardRef((function(t,n){let a,{onClick:i,relative:r,reloadDocument:o,replace:l,state:s,target:m,to:c,preventScrollReset:u,unstable_viewTransition:g}=t,d=yt(t,xt),{basename:p}=e.useContext(Y),h=!1;if("string"==typeof c&&Dt.test(c)&&(a=c,Tt))try{let t=new URL(window.location.href),e=c.startsWith("//")?new URL(t.protocol+c):new URL(c),n=A(e.pathname,p);e.origin===t.origin&&null!=n?c=n+e.search+e.hash:h=!0}catch(t){}let k=function(t,n){let{relative:a}=void 0===n?{}:n;tt()||_(!1);let{basename:i,navigator:r}=e.useContext(Y),{hash:o,pathname:l,search:s}=it(t,{relative:a}),m=l;return"/"!==i&&(m="/"===l?i:H([i,l])),r.createHref({pathname:m,search:s,hash:o})}(c,{relative:r}),f=function(t,n){let{target:a,replace:i,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s}=void 0===n?{}:n,m=at(),c=et(),u=it(t,{relative:l});return e.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,a)){e.preventDefault();let n=void 0!==i?i:v(c)===v(u);m(t,{replace:n,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s})}}),[c,m,u,i,r,a,t,o,l,s])}(c,{replace:l,state:s,target:m,preventScrollReset:u,relative:r,unstable_viewTransition:g});return e.createElement("a",bt({},d,{href:a||k,onClick:h||o?i:function(t){i&&i(t),t.defaultPrevented||f(t)},ref:n,target:m}))})),Pt=e.forwardRef((function(t,n){let{"aria-current":a="page",caseSensitive:i=!1,className:r="",end:o=!1,style:l,to:s,unstable_viewTransition:m,children:c}=t,u=yt(t,St),g=it(s,{relative:u.relative}),d=et(),p=e.useContext(V),{navigator:h}=e.useContext(Y),k=null!=p&&function(t,n){void 0===n&&(n={});let a=e.useContext(wt);null==a&&_(!1);let{basename:i}=function(t){let n=e.useContext(q);return n||_(!1),n}(It.useViewTransitionState),r=it(t,{relative:n.relative});if(!a.isTransitioning)return!1;let o=A(a.currentLocation.pathname,i)||a.currentLocation.pathname,l=A(a.nextLocation.pathname,i)||a.nextLocation.pathname;return null!=R(r.pathname,l)||null!=R(r.pathname,o)}(g)&&!0===m,f=h.encodeLocation?h.encodeLocation(g).pathname:g.pathname,E=d.pathname,v=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;i||(E=E.toLowerCase(),v=v?v.toLowerCase():null,f=f.toLowerCase());const b="/"!==f&&f.endsWith("/")?f.length-1:f.length;let y,x=E===f||!o&&E.startsWith(f)&&"/"===E.charAt(b),S=null!=v&&(v===f||!o&&v.startsWith(f)&&"/"===v.charAt(f.length)),w={isActive:x,isPending:S,isTransitioning:k},N=x?a:void 0;y="function"==typeof r?r(w):[r,x?"active":null,S?"pending":null,k?"transitioning":null].filter(Boolean).join(" ");let C="function"==typeof l?l(w):l;return e.createElement(Gt,bt({},u,{"aria-current":N,className:y,ref:n,style:C,to:s,unstable_viewTransition:m}),"function"==typeof c?c(w):c)}));var It,Mt;(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"}(Mt||(Mt={}));var Ot=({title:t})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-px-8 gtmkit-py-6 gtmkit-sticky"},(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-items-center gtmkit-justify-between"},(0,e.createElement)("h1",{className:"gtmkit-flex gtmkit-items-center gtmkit-font-medium gtmkit-text-3xl"},(0,e.createElement)("svg",{className:"gtmkit-mr-8",height:"44",viewBox:"0 0 160 54",width:"128",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("rect",{fill:"#888",height:"54",rx:"4.265",width:"160"}),(0,e.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,e.createElement)("g",{fill:"#fff",transform:"matrix(1.465202 0 0 1.465202 -4.582436 -7.553126)"},(0,e.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,e.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)))),Rt=({to:t,title:n})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Pt,{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 ":"")},n)),Ut=({NavList:t})=>(0,e.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,e.createElement)(Rt,{key:t.to,to:t.to,title:t.title})})));function At(){return At=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},At.apply(this,arguments)}function Lt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}function Ft(t,e){return Ft=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ft(t,e)}function jt(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Ft(t,e)}function Ht(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var Bt=n().createContext(null),Wt=function(t){return t.scrollTop},Kt="unmounted",Jt="exited",$t="entering",zt="entered",qt="exiting",Vt=function(t){function e(e,n){var a;a=t.call(this,e,n)||this;var i,r=n&&!n.isMounting?e.enter:e.appear;return a.appearStatus=null,e.in?r?(i=Jt,a.appearStatus=$t):i=zt:i=e.unmountOnExit||e.mountOnEnter?Kt:Jt,a.state={status:i},a.nextCallback=null,a}jt(e,t),e.getDerivedStateFromProps=function(t,e){return t.in&&e.status===Kt?{status:Jt}:null};var a=e.prototype;return a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==$t&&n!==zt&&(e=$t):n!==$t&&n!==zt||(e=qt)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,a=this.props.timeout;return t=e=n=a,null!=a&&"number"!=typeof a&&(t=a.exit,e=a.enter,n=void 0!==a.appear?a.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e)if(this.cancelNextCallback(),e===$t){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:vt().findDOMNode(this);n&&Wt(n)}this.performEnter(t)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Jt&&this.setState({status:Kt})},a.performEnter=function(t){var e=this,n=this.props.enter,a=this.context?this.context.isMounting:t,i=this.props.nodeRef?[a]:[vt().findDOMNode(this),a],r=i[0],o=i[1],l=this.getTimeouts(),s=a?l.appear:l.enter;t||n?(this.props.onEnter(r,o),this.safeSetState({status:$t},(function(){e.props.onEntering(r,o),e.onTransitionEnd(s,(function(){e.safeSetState({status:zt},(function(){e.props.onEntered(r,o)}))}))}))):this.safeSetState({status:zt},(function(){e.props.onEntered(r)}))},a.performExit=function(){var t=this,e=this.props.exit,n=this.getTimeouts(),a=this.props.nodeRef?void 0:vt().findDOMNode(this);e?(this.props.onExit(a),this.safeSetState({status:qt},(function(){t.props.onExiting(a),t.onTransitionEnd(n.exit,(function(){t.safeSetState({status:Jt},(function(){t.props.onExited(a)}))}))}))):this.safeSetState({status:Jt},(function(){t.props.onExited(a)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(a){n&&(n=!1,e.nextCallback=null,t(a))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e){this.setNextCallback(e);var n=this.props.nodeRef?this.props.nodeRef.current:vt().findDOMNode(this),a=null==t&&!this.props.addEndListener;if(n&&!a){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],r=i[0],o=i[1];this.props.addEndListener(r,o)}null!=t&&setTimeout(this.nextCallback,t)}else setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===Kt)return null;var e=this.props,a=e.children,i=(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,Lt(e,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return n().createElement(Bt.Provider,{value:null},"function"==typeof a?a(t,i):n().cloneElement(n().Children.only(a),i))},e}(n().Component);function Yt(){}Vt.contextType=Bt,Vt.propTypes={},Vt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Yt,onEntering:Yt,onEntered:Yt,onExit:Yt,onExiting:Yt,onExited:Yt},Vt.UNMOUNTED=Kt,Vt.EXITED=Jt,Vt.ENTERING=$t,Vt.ENTERED=zt,Vt.EXITING=qt;var Xt=Vt,Qt=function(t,e){return t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.remove(a):"string"==typeof n.className?n.className=Ht(n.className,a):n.setAttribute("class",Ht(n.className&&n.className.baseVal||"",a)));var n,a}))},Zt=function(t){function e(){for(var e,n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return(e=t.call.apply(t,[this].concat(a))||this).appliedClasses={appear:{},enter:{},exit:{}},e.onEnter=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1];e.removeClasses(i,"exit"),e.addClass(i,r?"appear":"enter","base"),e.props.onEnter&&e.props.onEnter(t,n)},e.onEntering=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.addClass(i,r,"active"),e.props.onEntering&&e.props.onEntering(t,n)},e.onEntered=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.removeClasses(i,r),e.addClass(i,r,"done"),e.props.onEntered&&e.props.onEntered(t,n)},e.onExit=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"appear"),e.removeClasses(n,"enter"),e.addClass(n,"exit","base"),e.props.onExit&&e.props.onExit(t)},e.onExiting=function(t){var n=e.resolveArguments(t)[0];e.addClass(n,"exit","active"),e.props.onExiting&&e.props.onExiting(t)},e.onExited=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"exit"),e.addClass(n,"exit","done"),e.props.onExited&&e.props.onExited(t)},e.resolveArguments=function(t,n){return e.props.nodeRef?[e.props.nodeRef.current,t]:[t,n]},e.getClassNames=function(t){var n=e.props.classNames,a="string"==typeof n,i=a?(a&&n?n+"-":"")+t:n[t];return{baseClassName:i,activeClassName:a?i+"-active":n[t+"Active"],doneClassName:a?i+"-done":n[t+"Done"]}},e}jt(e,t);var a=e.prototype;return a.addClass=function(t,e,n){var a=this.getClassNames(e)[n+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===e&&"done"===n&&i&&(a+=" "+i),"active"===n&&t&&Wt(t),a&&(this.appliedClasses[e][n]=a,function(t,e){t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.add(a):function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")}(n,a)||("string"==typeof n.className?n.className=n.className+" "+a:n.setAttribute("class",(n.className&&n.className.baseVal||"")+" "+a)));var n,a}))}(t,a))},a.removeClasses=function(t,e){var n=this.appliedClasses[e],a=n.base,i=n.active,r=n.done;this.appliedClasses[e]={},a&&Qt(t,a),i&&Qt(t,i),r&&Qt(t,r)},a.render=function(){var t=this.props,e=(t.classNames,Lt(t,["classNames"]));return n().createElement(Xt,At({},e,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},e}(n().Component);Zt.defaultProps={classNames:""},Zt.propTypes={};var te=Zt,ee=({title:t=(0,a.__)("Save","gtm-kit"),className:n="gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey"})=>{const{useUpdateSettings:o,useIsPending:l,useCanSave:s}=(0,i.useContext)(u);return(0,e.createElement)(r.Button,{className:n,onClick:()=>o(),variant:"primary",disabled:l||!s},s?(0,a.__)(t,"gtm-kit"):(0,a.__)("Saved","gtm-kit"),l?(0,e.createElement)(r.Spinner,null):"")},ne=()=>{const{useCanSave:t}=(0,i.useContext)(u);return(0,e.createElement)(te,{in:t,timeout:500,classNames:"slide",unmountOnExit:!0},(0,e.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,e.createElement)(ee,null)))},ae=({subject:t})=>{const n=!0===t||"on"===t,i=!0===n?"gtmkit-bg-color-success":"gtmkit-bg-color-button-disabled";return(0,e.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},n?(0,a.__)("Active","gtm-kit"):(0,a.__)("Inactive","gtm-kit"))};const ie=(0,i.forwardRef)((({children:t,className:n="",...a},i)=>(0,e.createElement)("div",{...a,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 "+n,ref:i},t)));ie.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)("div",{...r,className:"gtmkit-flex gtmkit-justify-between gtmkit-items-center gtmkit-mb-5 "+i},(0,e.createElement)(t,{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading"},n),a),ie.Content=({as:t="div",children:n,className:a="gtmkit-flex-auto",...i})=>(0,e.createElement)(t,{...i,className:a},n),ie.Button=({url:t,destination:n,newTab:a=!1,text:i,group:o="",...l})=>{const s=at();return(0,e.createElement)("div",{...l,className:"gtmkit-mt-4 gtmkit-mb-0.5"},(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-rounded !gtmkit-py-4 !gtmkit-px-8 gtmkit-w-full sm:gtmkit-w-auto gtmkit-min-w-[225px]",onClick:()=>{n&&t&&!1===a?window.gtmkitSettings.current_poage===o?s(n,{replace:!0}):window.location.href=t+"#"+n:t?a?window.open(t):window.location.href=t:s(n,{replace:!0})}},(0,e.createElement)("span",{className:"gtmkit-mx-auto gtmkit-text-sm gtmkit-font-bold"},i)))};var re=ie,oe=({title:t,data:n,className:r=""})=>{const{useSettings:o}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8 gtmkit-mt-6"},t),(0,e.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] "+r},n.map(((t,n)=>!1===t.featured?null:(0,e.createElement)(re,{key:n},(0,e.createElement)(re.Header,{title:t.title},t.pill?(0,e.createElement)(ae,{subject:o[t.group][t.option]}):null),(0,e.createElement)(re.Content,null,t.text.map(((t,n)=>(0,e.createElement)("p",{key:n},t)))),(0,e.createElement)(re.Button,{url:t.link.url,destination:t.link.destination,text:t.link.text?t.link.text:(0,a.__)("Read article","gtm-kit"),newTab:t.link.external,group:t.group}))))))};const le=[{title:"Woocommerce",pill:!0,group:"integrations",option:"woocommerce_integration",text:[(0,a.__)("The #1 open source eCommerce platform built for WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/woocommerce",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Contact Form 7",pill:!0,group:"integrations",option:"cf7_integration",text:[(0,a.__)("Just another contact form plugin for WordPress. Simple but flexible","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/cf7",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Easy Digital Downloads",pill:!0,group:"integrations",option:"edd_integration",text:[(0,a.__)("Easy way to sell Digital Products With WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/edd",text:(0,a.__)("Setup integration","gtm-kit")}}],se=[{title:"Getting started with GTM Kit",text:[(0,a.__)("How to get the most out of Google Tag Manager with GTM Kit.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!0},{title:(0,a.__)("WooCommerce integration","gtm-kit"),text:[(0,a.__)("Integrate WooCommerce with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=dashboard-tutorials"},featured:!0},{title:"Contact Form 7 Integration",text:[(0,a.__)("Integrate Contact Form 7 with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/contact-form-7-integration/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Easy Digital Downloads integration",text:[(0,a.__)("Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/set-up-easy-digital-downloads-for-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Advanced GTM container implementation",text:[(0,a.__)("Customization of the GTM container implementation and Server Side Tracking.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Settings, actions and filters for developers",text:[(0,a.__)("One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1}];var me=()=>{const{useSettings:t}=(0,i.useContext)(u),[n,r]=(0,i.useState)(se),o=Boolean(t.general.sgtm_domain&&t.general.sgtm_domain.trim());return(0,i.useEffect)((()=>{r((t=>[...t,{title:(0,a.__)("See all tutorials…","gtm-kit"),text:[(0,a.__)("See all our tutorial 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,a.__)("Read articles","gtm-kit")},featured:!0}]))}),[]),(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("General","gtm-kit")),(0,e.createElement)("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]"},(0,e.createElement)(re,null,(0,e.createElement)(re.Header,{title:"Google Tag Manager Container"},(0,e.createElement)(ae,{subject:t.general.gtm_id&&t.general.container_active})),(0,e.createElement)(re.Content,null,t.general.gtm_id&&t.general.container_active?(0,e.createElement)("p",null,(0,a.__)("Container ID:","gtm-kit")," ",t&&t.general.gtm_id):(0,e.createElement)("p",null,(0,a.__)("The container is not active but the datalayer is generated.","gtm-kit"))),(0,e.createElement)(re.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(re,null,(0,e.createElement)(re.Header,{title:(0,a.__)("Server-side GTM","gtm-kit")},(0,e.createElement)(ae,{subject:o})),(0,e.createElement)(re.Content,null,(0,e.createElement)("p",null,(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit"))),(0,e.createElement)(re.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(re,null,(0,e.createElement)(re.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")},(0,e.createElement)(ae,{subject:t.general.analytics_active})),(0,e.createElement)(re.Content,null,(0,e.createElement)("p",null,(0,a.__)("Share anonymous data with the development team to help improve GTM Kit.","gtm-kit"))),(0,e.createElement)(re.Button,{destination:"/misc",text:(0,a.__)("Share anonymous data","gtm-kit")}))),(0,e.createElement)(oe,{title:(0,a.__)("Tutorials","gtm-kit"),data:n}),(0,e.createElement)(oe,{title:(0,a.__)("Integrations","gtm-kit"),data:le}))},ce=({title:t,placeholder:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",optionGroup:l="general",optionName:s,isDisabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.TextControl,{label:t,placeholder:n,help:a,className:o,value:c[l][s],onChange:t=>g(l,s,t),disabled:m})},ue=({title:t,label:n,optionGroup:a="general",optionName:o,disabled:l=!1})=>{const{useSettings:s,useUpdateStateSettings:m}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-py-4"},(0,e.createElement)(r.BaseControl,{label:t},(0,e.createElement)(r.ToggleControl,{label:n,checked:!l&&s[a][o],onChange:()=>{m(a,o,!(s&&s[a][o]))},disabled:l}))))},ge=({title:t,options:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.RadioControl,{label:t,options:n,help:a,className:o,selected:parseInt(c[l][s]),onChange:t=>g(l,s,t),disabled:m})};const de=(0,i.forwardRef)((({children:t,className:n="",disabled:a=!1,...i},r)=>(0,e.createElement)("div",{...i,className:"gtmkit-mb-12 gtmkit-border gtmkit-bg-white gtmkit-w-3/4 gtmkit-border-color-grey "+n+(a?"gtmkit-opacity-60":""),ref:r},t)));de.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)(t,{...r,className:"gtmkit-font-bold gtmkit-text-lg gtmkit-px-8 gtmkit-py-4 gtmkit-border-b gtmkit-border-color-grey "+i},n,a),de.Content=({as:t="div",children:n,className:a="",...i})=>(0,e.createElement)(t,{...i,className:"gtmkit-px-8 gtmkit-py-6 "+a},n);var pe=de,he=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!(t.general.sgtm_domain&&t.general.sgtm_domain.trim()&&t.general.sgtm_container_identifier&&t.general.sgtm_container_identifier.trim());return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Tag Manager container","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("General Container Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit")),(0,e.createElement)(ce,{title:(0,a.__)("GTM Container ID:","gtm-kit"),optionName:"gtm_id",placeholder:(0,a.__)("Enter GTM Container ID","gtm-kit")}),(0,e.createElement)(ue,{title:(0,a.__)("Inject Container Code","gtm-kit"),label:(0,a.__)("Setting this to Off will remove the Google Tag Manager container code but the data layer will remain.","gtm-kit"),optionName:"container_active"}),(0,e.createElement)(ue,{title:(0,a.__)("Just the container","gtm-kit"),label:(0,a.__)("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"}),(0,e.createElement)(ce,{title:(0,a.__)("dataLayer variable name:","gtm-kit"),optionName:"datalayer_name",placeholder:"dataLayer",help:(0,a.__)("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.","gtm-kit")}))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Server-side Tagging (sGTM)","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(pe.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("sGTM Container Domain:","gtm-kit"),optionName:"sgtm_domain",placeholder:(0,a.__)("Enter domain …","gtm-kit"),help:(0,a.__)("Enter your custom domain name if you are using a custom server side GTM container for tracking.","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("sGTM container identifier:","gtm-kit"),optionName:"sgtm_container_identifier",placeholder:(0,a.__)("Enter loader name …","gtm-kit"),help:(0,a.__)("Only use if you are using a custom loader.","gtm-kit")}),(0,e.createElement)(ue,{title:(0,a.__)("Cookie Keeper (for Stape users only)","gtm-kit"),label:(0,a.__)("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:n})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Google Tag Manager Server-side Tagging","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Hosting server-side GTM containers","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("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,a.__)("Additionally, it provides valuable add-ons for enhanced functionality.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:"https://stape.io/?pt=tlam&rs=plugin",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer"},(0,a.__)("Learn more about Stape.io","gtm-kit"))))))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Tag Manager Environment","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(pe.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("gtm_auth:","gtm-kit"),optionName:"gtm_auth",placeholder:(0,a.__)("Enter gtm_auth code","gtm-kit"),help:(0,a.__)("Enter your gtm_auth code your GTM environment.","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("gtm_preview:","gtm-kit"),optionName:"gtm_preview",placeholder:(0,a.__)("Enter gtm_preview code","gtm-kit"),help:(0,a.__)("Enter your gtm_preview code your GTM environment.","gtm-kit")})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Environments","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("In Google Tag Manager you can define different environments like Live, Dev and QA.","gtm-kit")," ",(0,a.__)('To use a specific environment in GTM Kit you must enter the "gtm_auth" and "gtm_preview" codes for that environment.',"gtm-kit")," ",(0,a.__)("If left empty the default environment will be used.","gtm-kit")),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Override settings in wp-config.php","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))))))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Container Code Implementation","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ge,{title:(0,a.__)("Container code implementation:","gtm-kit"),options:[{label:(0,a.__)("Standard implementation as recommended by Google (no delay)","gtm-kit"),value:0},{label:(0,a.__)("Load container when browser is idle (requestIdleCallback)","gtm-kit"),value:1}],help:(0,a.__)("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"}),(0,e.createElement)(ge,{title:(0,a.__)("Container code noscript implementation:","gtm-kit"),options:[{label:(0,a.__)("Just after the opening <body> tag","gtm-kit"),value:0},{label:(0,a.__)("Footer of the page (not recommended by Google)","gtm-kit"),value:1},{label:(0,a.__)("Custom (insert function in your template)","gtm-kit"),value:2},{label:(0,a.__)("Disable <noscript> implementation","gtm-kit"),value:3}],help:(0,a.__)('The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the "body_open" hook. If your theme does not support this the script can be injected in the footer or you can use the function below.',"gtm-kit"),optionName:"noscript_implementation"}),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("code",null,"<?php if ( function_exists( 'gtmkit_the_noscript_tag' ) ) { gtmkit_the_noscript_tag(); } ?>")))))},_e=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Post Data","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Post Data Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager.","gtm-kit")),(0,e.createElement)(ue,{title:(0,a.__)("Post type","gtm-kit"),id:"post-type",label:(0,a.__)("Include the type of the current post or archive page.","gtm-kit"),optionName:"datalayer_post_type"}),(0,e.createElement)(ue,{title:(0,a.__)("Page type","gtm-kit"),id:"page-type",label:(0,a.__)('Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. "campaign".',"gtm-kit"),optionName:"datalayer_page_type"}),(0,e.createElement)(ue,{title:(0,a.__)("Categories","gtm-kit"),id:"categories",label:(0,a.__)("Include the categories of the current post or archive page.","gtm-kit"),optionName:"datalayer_categories"}),(0,e.createElement)(ue,{title:(0,a.__)("Tags","gtm-kit"),id:"tags",label:(0,a.__)("Include the tags of the current post or archive page.","gtm-kit"),optionName:"datalayer_tags"}),(0,e.createElement)(ue,{title:(0,a.__)("Post title","gtm-kit"),id:"post-title",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_title"}),(0,e.createElement)(ue,{title:(0,a.__)("Post ID","gtm-kit"),id:"post-id",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_id"}),(0,e.createElement)(ue,{title:(0,a.__)("Post data","gtm-kit"),id:"post-date",label:(0,a.__)("Include the post date.","gtm-kit"),optionName:"datalayer_post_date"}),(0,e.createElement)(ue,{title:(0,a.__)("Post author name","gtm-kit"),id:"post-author-name",label:(0,a.__)("Include the post author name.","gtm-kit"),optionName:"datalayer_post_author_name"}),(0,e.createElement)(ue,{title:(0,a.__)("Post author ID","gtm-kit"),id:"post-author-id",label:(0,a.__)("Include the post author ID.","gtm-kit"),optionName:"datalayer_post_author_id"})))),ke=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("User Data","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Warning!","gtm-kit"),className:"gtmkit-text-red-600"}),(0,e.createElement)(pe.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Including user data is not compatible with full page caching.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users.","gtm-kit")))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("User Data Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Logged in","gtm-kit"),id:"logged-in",label:(0,a.__)("Include whether the user is logged in.","gtm-kit"),optionName:"datalayer_logged_in"}),(0,e.createElement)(ue,{title:(0,a.__)("User ID","gtm-kit"),id:"user-id",label:(0,a.__)("Include the user ID if the user is logged in.","gtm-kit"),optionName:"datalayer_user_id"}),(0,e.createElement)(ue,{title:(0,a.__)("User role","gtm-kit"),id:"user-role",label:(0,a.__)("Include the user role if the user is logged in.","gtm-kit"),optionName:"datalayer_user_role"})))),fe=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!t.general.gcm_default_settings;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Consent Mode","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Consent Mode Activation","gtm-kit")},(0,e.createElement)("span",{className:"gtmkit-text-red-600 gtmkit-ml-2"},(0,a.__)("Warning!","gtm-kit"))),(0,e.createElement)(pe.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode.","gtm-kit")),(0,e.createElement)("p",{className:"!gtmkit-mt-4"},(0,a.__)("GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-color-primary !gtmkit-my-6"},(0,e.createElement)("a",{href:"https://developers.google.com/tag-platform/security/guides/consent#implementation_example",target:"_blank",rel:"noreferrer",className:"hover:gtmkit-underline gtmkit-font-semibold"},(0,a.__)("See an example of how consent is updated","gtm-kit"))),(0,e.createElement)(ue,{title:(0,a.__)("Activate GCM settings","gtm-kit"),label:(0,a.__)("Choose this option if you would like to activate the default settings below","gtm-kit"),optionName:"gcm_default_settings"}))),(0,e.createElement)(pe,{disabled:n},(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Consent Mode Default Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Ad Personalization","gtm-kit"),label:(0,a.__)("Enables personalized advertising","gtm-kit"),optionName:"gcm_ad_personalization",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Ad Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to advertising","gtm-kit"),optionName:"gcm_ad_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Ad User Data","gtm-kit"),label:(0,a.__)("Enables sending user data related to advertising to Google","gtm-kit"),optionName:"gcm_ad_user_data",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Analytics Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to analytics (for example, visit duration)","gtm-kit"),optionName:"gcm_analytics_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Functionality Storage","gtm-kit"),label:(0,a.__)("Enables storage that supports the functionality of the website or app such as language settings","gtm-kit"),optionName:"gcm_functionality_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Personalization Storage","gtm-kit"),label:(0,a.__)("Enables storage related to personalization such as video recommendations","gtm-kit"),optionName:"gcm_personalization_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Security Storage","gtm-kit"),label:(0,a.__)("Enables storage related to security such as authentication functionality, fraud prevention, and other user protection","gtm-kit"),optionName:"gcm_security_storage",disabled:n}))))},Ee=({label:t,value:n,tag:a})=>(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-4 gtmkit-py-2"},(0,e.createElement)("strong",null,t)),(0,e.createElement)("td",{className:"gtmkit-px-4 gtmkit-py-2"},"code"===a?(0,e.createElement)("code",{className:"gtmkit-text-sm"},n):(0,e.createElement)("em",null,n))),ve=()=>{const{useSiteData:t}=(0,i.useContext)(u),n=Object.values(t.shared_data);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm gtmkit-my-6 gtmkit-py-6"},(0,e.createElement)("tbody",{className:"gtmkit-py-6"},n.map((function(t,n){return(0,e.createElement)(Ee,{key:n,label:t.label,value:t.value,tag:t.tag})})))))},be=()=>{const{}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Misc","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ve,null),(0,e.createElement)("p",{className:"gtmkit-my-4 gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit will never transmit any domain names or container ID's.","gtm-kit")),(0,e.createElement)(ue,{title:(0,a.__)("Share anonymous data","gtm-kit"),label:(0,a.__)("I agree to share anonymous data with the development team to help improve GTM Kit.","gtm-kit"),optionName:"analytics_active"}))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Logging and debugging","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Console log","gtm-kit"),label:(0,a.__)("Log helpful messages and warnings to the browser log.","gtm-kit"),optionName:"console_log"}))))},ye=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(oe,{title:(0,a.__)("Integrations","gtm-kit"),data:le})),xe=({pluginName:t})=>(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.sprintf)((0,a.__)("%s is not active","gtm-kit"),t),className:"gtmkit-text-red-600"}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,a.sprintf)((0,a.__)("If you haven't installed and activated %s you must do that.","gtm-kit"),t)),(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-sm disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.pluginInstallUrl+t}},(0,a.sprintf)((0,a.__)("Install %s","gtm-kit"),t)))),Se=({title:t,options:n,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m=!1,help:c="",notSet:g=!1})=>{const{useSettings:d,useUpdateStateSettings:p}=(0,i.useContext)(u),h=g?[{label:(0,a.__)("(not set)","gtm-kit"),value:""},...n]:n;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(r.SelectControl,{label:t,value:d&&d[l][s],options:h,className:o,onChange:t=>p(l,s,t),disabled:m,help:c}))},we=({pluginName:t,optionName:n,pluginInactive:i})=>(0,e.createElement)(pe,{disabled:i},(0,e.createElement)(pe.Header,{title:(0,a.sprintf)((0,a.__)("%s Integration","gtm-kit"),t)}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.sprintf)((0,a.__)("Track %s","gtm-kit"),t),label:(0,a.sprintf)((0,a.__)("Activate the %s integration","gtm-kit"),t),optionGroup:"integrations",optionName:n,disabled:i})));const Ne=[{label:(0,a.__)("Retail","gtm-kit"),value:"retail"},{label:(0,a.__)("Education","gtm-kit"),value:"education"},{label:(0,a.__)("Flights","gtm-kit"),value:"flights"},{label:(0,a.__)("Hotel rental","gtm-kit"),value:"hotel_rental"},{label:(0,a.__)("Jobs","gtm-kit"),value:"jobs"},{label:(0,a.__)("Local deals","gtm-kit"),value:"local"},{label:(0,a.__)("Real estate","gtm-kit"),value:"real_estate"},{label:(0,a.__)("Travel","gtm-kit"),value:"travel"},{label:(0,a.__)("Custom","gtm-kit"),value:"custom"}];var Ce=()=>{const{useSettings:t}=(0,i.useContext)(u),n="WooCommerce",r=!window.gtmkitSettings.plugins.woocommerce,o=r||!t.integrations.woocommerce_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("WooCommerce","gtm-kit")),r?(0,e.createElement)(xe,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"woocommerce_integration",pluginInactive:r}),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Basic settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(Se,{title:(0,a.__)("Brand","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_brand",options:window.gtmkitSettings.taxonomyOptions,help:(0,a.__)("Select the taxonomy that is used for product brands","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_use_sku",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_tax",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Exclude shipping from revenue","gtm-kit"),label:(0,a.__)("Exclude shipping from revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_shipping",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_customer_data",disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Event customization","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ge,{title:"view_item_list (with product filter)",options:[{label:(0,a.__)("Push view_item_list when the list is updated using a product filter.","gtm-kit"),value:0},{label:(0,a.__)("Only only push view_item_list once per per page for each list.","gtm-kit"),value:1}],help:(0,a.__)("Do you what to push the view_item_list event if the list is updated using a filter or just once per page view.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_view_item_list_limit",disabled:o}),(0,e.createElement)(ge,{title:"view_item",options:[{label:(0,a.__)("Only push view_item on the master product","gtm-kit"),value:0},{label:(0,a.__)("Push view_item on master and variation products (higher number of views).","gtm-kit"),value:1},{label:(0,a.__)("Only push view_item on variation products.","gtm-kit"),value:2}],help:(0,a.__)('When do you want to fire the "view_item" event on variable products?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_variable_product_tracking",disabled:o}),(0,e.createElement)(ge,{title:"add_shipping_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a shipment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_shipment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_shipment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_shipping_info",disabled:o}),(0,e.createElement)(ge,{title:"add_payment_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a payment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_payment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_payment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_payment_info",disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(Se,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_google_business_vertical",options:Ne,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_dequeue_script",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include permalink structure","gtm-kit"),label:(0,a.__)("Enable this option to include the permalink structure of the product base, category base, tag base and attribute base.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_permalink_structure",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include path of pages","gtm-kit"),label:(0,a.__)("Enable this option to include the path of cart, checkout, order received and my account page.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_pages",disabled:o}))))},Te=()=>{const{useSettings:t}=(0,i.useContext)(u),n="Contact Form 7",r=!window.gtmkitSettings.plugins.cf7,o=r||!t.integrations.cf7_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Contact Form 7","gtm-kit")),r?(0,e.createElement)(xe,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"cf7_integration",pluginInactive:r}),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ge,{title:(0,a.__)("Load JavaScript","gtm-kit"),options:[{label:(0,a.__)("Only on pages where where the Contact Form 7 script is registered (recommended).","gtm-kit"),value:1},{label:(0,a.__)("On all pages","gtm-kit"),value:2}],help:(0,a.__)("Where do you want load the JavaScript?","gtm-kit"),optionGroup:"integrations",optionName:"cf7_load_js",disabled:o}))))},De=()=>{const t="Easy Digital Downloads",n=!window.gtmkitSettings.plugins.edd,{useSettings:r}=(0,i.useContext)(u),o=n||!r.integrations.edd_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Easy Digital Downloads","gtm-kit")),n?(0,e.createElement)(xe,{pluginName:t}):null,(0,e.createElement)(we,{pluginName:t,optionName:"edd_integration",pluginInactive:n}),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"edd_use_sku",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"edd_exclude_tax",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"edd_include_customer_data",disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(Se,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"edd_google_business_vertical",options:Ne,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"edd_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(pe,{disabled:n},(0,e.createElement)(pe.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"edd_dequeue_script",disabled:o}))))},Ge=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Help","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Tag Manager templates","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit"),(0,a.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/"},(0,a.__)("Read guide","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-font-bold"},(0,a.__)("GTM container import files:","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - eCommerce","gtm-kit")))))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Tutorials","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("ul",null,se.map(((t,n)=>(0,e.createElement)("li",{key:n,className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:t.link.url,target:"_blank",rel:"noreferrer",className:"gtmkit-font-semibold gtmkit-text-color-primary hover:gtmkit-underline"},t.title),t.text.map(((t,n)=>(0,e.createElement)("div",{key:n,className:"gtmkit-text-sm"},t)))))))))),Pe=()=>{const{useIsSending:t,useSiteData:n,useUpdateSupportTicket:o,useSupportTicket:l,useSendSystemData:s,useIsSystemDataSent:m,useSystemDataMessage:c}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Get support","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Support options","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://wordpress.org/support/plugin/gtm-kit/",target:"_blank",rel:"noreferrer"},(0,a.__)("WordPress.org Support Forum","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("GITHub repository","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/",target:"_blank",rel:"noreferrer"},(0,a.__)("Plugin Homepage","gtm-kit"))," ","(gtmkit.com)")))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Share system data with the GTM Kit support team","gtm-kit")}),(0,e.createElement)(pe.Content,null,m?(0,e.createElement)("p",{className:"gtmkit-mb-2"},c):(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",{className:"gtmkit-mb-2"},(0,a.__)("If the GTM Kit support team has asked you to send your system data you can do so by entering the support ticket below:","gtm-kit")),(0,e.createElement)(r.TextControl,{label:(0,e.createElement)("span",{className:"gtmkit-text-red-600"},c," "),placeholder:(0,a.__)("Enter support ticket","gtm-kit"),className:"gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",value:l,onChange:t=>o(t)}),(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{s()},disabled:!l.toUpperCase().startsWith("FS")},(0,e.createElement)("span",null,(0,a.__)("Send system data","gtm-kit")),t?(0,e.createElement)(r.Spinner,null):"")))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("About GTM Kit","gtm-kit"),className:"gtmkit-flex gtmkit-items-center"},(0,e.createElement)("span",{className:"gtmkit-text-sm gtmkit-text-color-grey gtmkit-font-light gtmkit-ml-2"},"(",(0,a.__)("Version:","gtm-kit")," ",n.gtmkit_version,")")),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",null,(0,a.__)("Learn about changes and follow the development of GTM Kit:","gtm-kit"),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary hover:gtmkit-underline",href:"https://gtmkit.com/changelog/",target:"_blank",rel:"noreferrer"},(0,a.__)("The changelog","gtm-kit")),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary  hover:gtmkit-underline",href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("The Github repository","gtm-kit"))))))};const Ie={integrations:(0,a.__)("Integrations","gtm-kit"),help:(0,a.__)("Help","gtm-kit")},Me=()=>{const{useSettings:t}=(0,i.useContext)(u),n=window.gtmkitSettings.currentPage,o=function({page:t}){const e=[{to:"general",title:(0,a.__)("Dashboard","gtm-kit")},{to:"container",title:(0,a.__)("Container","gtm-kit")},{to:"post-data",title:(0,a.__)("Post data","gtm-kit")},{to:"user-data",title:(0,a.__)("User data","gtm-kit")},{to:"google-consent-mode",title:(0,a.__)("Google Consent Mode","gtm-kit")},{to:"misc",title:(0,a.__)("Misc","gtm-kit")}],n=[{to:"integrations",title:(0,a.__)("Integrations","gtm-kit")},{to:"woocommerce",title:"WooCommerce"},{to:"cf7",title:"Contact Form 7"},{to:"edd",title:"Easy Digital Downloads"}],i=[{to:"help",title:(0,a.__)("Help","gtm-kit")},{to:"support",title:(0,a.__)("Support","gtm-kit")}];switch(t){case"general":return e;case"integrations":return n;case"help":return i}}({page:n}),l=Ie[n]||(0,a.__)("Settings","gtm-kit");return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Ot,{title:l}),(0,e.createElement)(Ut,{NavList:o}),(0,e.createElement)("main",{className:"gtmkit-max-w-[1536px] gtmkit-px-8 gtmkit-pt-8 gtmkit-text-base"},(0,e.createElement)(kt,null,(0,e.createElement)(ht,{exact:!0,path:"/general",element:(0,e.createElement)(me,null)}),(0,e.createElement)(ht,{exact:!0,path:"/container",element:(0,e.createElement)(he,null)}),(0,e.createElement)(ht,{exact:!0,path:"/post-data",element:(0,e.createElement)(_e,null)}),(0,e.createElement)(ht,{exact:!0,path:"/user-data",element:(0,e.createElement)(ke,null)}),(0,e.createElement)(ht,{exact:!0,path:"/google-consent-mode",element:(0,e.createElement)(fe,null)}),(0,e.createElement)(ht,{exact:!0,path:"/misc",element:(0,e.createElement)(be,null)}),(0,e.createElement)(ht,{exact:!0,path:"/integrations",element:(0,e.createElement)(ye,null)}),(0,e.createElement)(ht,{exact:!0,path:"/woocommerce",element:(0,e.createElement)(Ce,null)}),(0,e.createElement)(ht,{exact:!0,path:"/cf7",element:(0,e.createElement)(Te,null)}),(0,e.createElement)(ht,{exact:!0,path:"/edd",element:(0,e.createElement)(De,null)}),(0,e.createElement)(ht,{exact:!0,path:"/help",element:(0,e.createElement)(Ge,null)}),(0,e.createElement)(ht,{exact:!0,path:"/support",element:(0,e.createElement)(Pe,null)}),(0,e.createElement)(ht,{path:"/",element:(0,e.createElement)(pt,{replace:!0,to:"/"+n})}))),(0,e.createElement)(ne,null)):(0,e.createElement)("div",{className:"gtmkit-h-screen gtmkit-flex gtmkit-items-center gtmkit-justify-center"},(0,e.createElement)(r.Spinner,null))},Oe=()=>(0,e.createElement)(Ct,{basename:"/"},(0,e.createElement)(d,null,(0,e.createElement)(Me,null)));document.addEventListener("DOMContentLoaded",(()=>{const t=document.getElementById(window.gtmkitSettings.rootId);null!=t&&(0,i.render)((0,e.createElement)(Oe,null),t)}))}();
  • gtm-kit/tags/1.18/assets/admin/wizard.asset.php

    r3004949 r3016305  
    1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'f4e2c66c51685108a403');
     1<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'c9a2c63156ea6655e237');
  • gtm-kit/tags/1.18/assets/admin/wizard.js

    r3004949 r3016305  
    1 !function(){"use strict";var t={n:function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,{a:a}),a},d:function(e,a){for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,a=window.wp.element,n=window.wp.components,r=window.lodash,i=window.wp.apiFetch,l=t.n(i);l().use(l().createNonceMiddleware(window.gtmkitSettings.nonce)),l().use(l().createRootURLMiddleware(window.gtmkitSettings.root));const o=async(t,e,a=null)=>{let n={};try{n=await l()({path:t,method:e,...a&&{data:a}})}catch(a){return console.log(`${e} ${t} Errors:`,a),{[`gtm_kit_settings_${e}_${t}_errors`]:!0}}return!0===n.success?n.data:n};var s=window.wp.i18n,m=(t,e)=>{const a={...t};switch(e.type){case"FETCH_SETTINGS":a.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},a.stateSettings=e.payload.stateSettings,a.siteData=e.payload.siteData,a.installData=e.payload.installData,a.isPending=!1,a.canSave=!1,e.payload.fetchedSettings.gtm_kit_settings_fetch_settings_errors&&(a.notice=(0,s.__)("An error occurred.","gtm-kit"),a.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":a.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":a.fetchedSettings=e.payload.fetchedSettings,a.stateSettings=e.payload.stateSettings,a.isPending=!1,a.canSave=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors,a.notice=e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors?(0,s.__)("An error occurred.","gtm-kit"):(0,s.__)("Saved Successfully.","gtm-kit"),a.hasError=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors;break;case"UPDATE_STATE":a.fetchedSettings=e.payload.fetchedSettings||a.fetchedSettings,a.stateSettings=e.payload.stateSettings||a.stateSettings,a.isPending=e.payload.isPending||a.isPending,a.notice=e.payload.notice||a.notice,a.hasError=e.payload.hasError||a.hasError,a.canSave=e.payload.canSave||a.canSave}return a};const c=(0,a.createContext)();var g,u=t=>{const[n,i]=(0,a.useReducer)(m,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1}),l=async()=>{const[t,e]=await Promise.all([o("gtmkit/v1/get-options","GET"),o("gtmkit/v1/get-site-data","GET")]),a="wizard"===window.gtmkitSettings.currentPage?await o("gtmkit/v1/get-install-data","GET"):{};i({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:a}})},s=async t=>{i({type:"UPDATE_STATE",payload:t})};(0,a.useEffect)((()=>{l()}),[]);const g={useDispatch:t=>{i(t)},useUpdateSettings:async()=>{i({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,o("gtmkit/v1/set-options","POST",e));var e;i({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:l,useUpdateState:s,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let l;i[t][e]=a,l=!(0,r.isEqual)(i,n.fetchedSettings),s({stateSettings:i,canSave:l})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const l={};l.general={...a.general,...e.general},"integrations"in e&&(l.integrations={...a.integrations,...e.integrations}),i=!(0,r.isEqual)(l,n.fetchedSettings),s({stateSettings:l,canSave:i})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData};return(0,e.createElement)(c.Provider,{value:g},t.children)};function d(){return d=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},d.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const p="popstate";function h(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function f(t,e){return{usr:t.state,key:t.key,idx:e}}function E(t,e,a,n){return void 0===a&&(a=null),d({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?x(e):e,{state:a,key:e&&e.key||n||Math.random().toString(36).substr(2,8)})}function y(t){let{pathname:e="/",search:a="",hash:n=""}=t;return a&&"?"!==a&&(e+="?"===a.charAt(0)?a:"?"+a),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function x(t){let e={};if(t){let a=t.indexOf("#");a>=0&&(e.hash=t.substr(a),t=t.substr(0,a));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}var M;function N(t,e,a){void 0===a&&(a="/");let n=A(("string"==typeof e?x(e):e).pathname||"/",a);if(null==n)return null;let r=S(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,a)=>t===e[a]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(r);let i=null;for(let t=0;null==i&&t<r.length;++t)i=D(r[t],z(n));return i}function S(t,e,a,n){void 0===e&&(e=[]),void 0===a&&(a=[]),void 0===n&&(n="");let r=(t,r,i)=>{let l={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:r,route:t};l.relativePath.startsWith("/")&&(h(l.relativePath.startsWith(n),'Absolute route path "'+l.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),l.relativePath=l.relativePath.slice(n.length));let o=G([n,l.relativePath]),s=a.concat(l);t.children&&t.children.length>0&&(h(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),S(t.children,e,s,o)),(null!=t.path||t.index)&&e.push({path:o,score:I(o,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var a;if(""!==t.path&&null!=(a=t.path)&&a.includes("?"))for(let a of v(t.path))r(t,e,a);else r(t,e)})),e}function v(t){let e=t.split("/");if(0===e.length)return[];let[a,...n]=e,r=a.endsWith("?"),i=a.replace(/\?$/,"");if(0===n.length)return r?[i,""]:[i];let l=v(n.join("/")),o=[];return o.push(...l.map((t=>""===t?i:[i,t].join("/")))),r&&o.push(...l),o.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(M||(M={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const b=/^:\w+$/,w=3,_=2,T=1,j=10,L=-2,C=t=>"*"===t;function I(t,e){let a=t.split("/"),n=a.length;return a.some(C)&&(n+=L),e&&(n+=_),a.filter((t=>!C(t))).reduce(((t,e)=>t+(b.test(e)?w:""===e?T:j)),n)}function D(t,e){let{routesMeta:a}=t,n={},r="/",i=[];for(let t=0;t<a.length;++t){let l=a[t],o=t===a.length-1,s="/"===r?e:e.slice(r.length)||"/",m=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:o},s);if(!m)return null;Object.assign(n,m.params);let c=l.route;i.push({params:n,pathname:G([r,m.pathname]),pathnameBase:B(G([r,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(r=G([r,m.pathnameBase]))}return i}function O(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[a,n]=function(t,e,a){void 0===e&&(e=!1),void 0===a&&(a=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let n=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,a)=>(n.push({paramName:e,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(n.push({paramName:"*"}),r+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":""!==t&&"/"!==t&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),n]}(t.path,t.caseSensitive,t.end),r=e.match(a);if(!r)return null;let i=r[0],l=i.replace(/(.)\/+$/,"$1"),o=r.slice(1);return{params:n.reduce(((t,e,a)=>{let{paramName:n,isOptional:r}=e;if("*"===n){let t=o[a]||"";l=i.slice(0,i.length-t.length).replace(/(.)\/+$/,"$1")}const s=o[a];return t[n]=r&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(a){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+a+")."),t}}(s||"",n),t}),{}),pathname:i,pathnameBase:l,pattern:t}}function z(t){try{return decodeURI(t)}catch(e){return k(!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 A(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let a=e.endsWith("/")?e.length-1:e.length,n=t.charAt(a);return n&&"/"!==n?null:t.slice(a)||"/"}function U(t,e,a,n){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(n)+"].  Please separate it out to the `to."+a+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function P(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}function R(t,e,a,n){let r;void 0===n&&(n=!1),"string"==typeof t?r=x(t):(r=d({},t),h(!r.pathname||!r.pathname.includes("?"),U("?","pathname","search",r)),h(!r.pathname||!r.pathname.includes("#"),U("#","pathname","hash",r)),h(!r.search||!r.search.includes("#"),U("#","search","hash",r)));let i,l=""===t||""===r.pathname,o=l?"/":r.pathname;if(null==o)i=a;else if(n){let t=e[e.length-1].replace(/^\//,"").split("/");if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t.pop();r.pathname=e.join("/")}i="/"+t.join("/")}else{let t=e.length-1;if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t-=1;r.pathname=e.join("/")}i=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:a,search:n="",hash:r=""}="string"==typeof t?x(t):t,i=a?a.startsWith("/")?a:function(t,e){let a=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?a.length>1&&a.pop():"."!==t&&a.push(t)})),a.length>1?a.join("/"):"/"}(a,e):e;return{pathname:i,search:W(n),hash:Y(r)}}(r,i),m=o&&"/"!==o&&o.endsWith("/"),c=(l||"."===o)&&a.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const G=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",Y=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const Q=["post","put","patch","delete"],F=(new Set(Q),["get",...Q]);function J(){return J=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},J.apply(this,arguments)}new Set(F),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const $=e.createContext(null),H=e.createContext(null),Z=e.createContext(null),K=e.createContext(null),V=e.createContext({outlet:null,matches:[],isDataRoute:!1}),X=e.createContext(null);function q(){return null!=e.useContext(K)}function tt(){return q()||h(!1),e.useContext(K).location}function et(t){e.useContext(Z).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(V);return t?function(){let{router:t}=function(t){let a=e.useContext($);return a||h(!1),a}(st.UseNavigateStable),a=ct(mt.UseNavigateStable),n=e.useRef(!1);return et((()=>{n.current=!0})),e.useCallback((function(e,r){void 0===r&&(r={}),n.current&&("number"==typeof e?t.navigate(e):t.navigate(e,J({fromRouteId:a},r)))}),[t,a])}():function(){q()||h(!1);let t=e.useContext($),{basename:a,navigator:n}=e.useContext(Z),{matches:r}=e.useContext(V),{pathname:i}=tt(),l=JSON.stringify(P(r).map((t=>t.pathnameBase))),o=e.useRef(!1);return et((()=>{o.current=!0})),e.useCallback((function(e,r){if(void 0===r&&(r={}),!o.current)return;if("number"==typeof e)return void n.go(e);let s=R(e,JSON.parse(l),i,"path"===r.relative);null==t&&"/"!==a&&(s.pathname="/"===s.pathname?a:G([a,s.pathname])),(r.replace?n.replace:n.push)(s,r.state,r)}),[a,n,l,i,t])}()}function nt(t,a,n){q()||h(!1);let{navigator:r}=e.useContext(Z),{matches:i}=e.useContext(V),l=i[i.length-1],o=l?l.params:{},s=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let m,c=tt();if(a){var u;let t="string"==typeof a?x(a):a;"/"===s||(null==(u=t.pathname)?void 0:u.startsWith(s))||h(!1),m=t}else m=c;let d=m.pathname||"/",p=N(t,{pathname:"/"===s?d:d.slice(s.length)||"/"}),k=function(t,a,n){var r;if(void 0===a&&(a=[]),void 0===n&&(n=null),null==t){var i;if(null==(i=n)||!i.errors)return null;t=n.matches}let l=t,o=null==(r=n)?void 0:r.errors;if(null!=o){let t=l.findIndex((t=>t.route.id&&(null==o?void 0:o[t.route.id])));t>=0||h(!1),l=l.slice(0,Math.min(l.length,t+1))}return l.reduceRight(((t,r,i)=>{let s=r.route.id?null==o?void 0:o[r.route.id]:null,m=null;n&&(m=r.route.errorElement||it);let c=a.concat(l.slice(0,i+1)),g=()=>{let a;return a=s?m:r.route.Component?e.createElement(r.route.Component,null):r.route.element?r.route.element:t,e.createElement(ot,{match:r,routeContext:{outlet:t,matches:c,isDataRoute:null!=n},children:a})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===i)?e.createElement(lt,{location:n.location,revalidation:n.revalidation,component:m,error:s,children:g(),routeContext:{outlet:null,matches:c,isDataRoute:!0}}):g()}),null)}(p&&p.map((t=>Object.assign({},t,{params:Object.assign({},o,t.params),pathname:G([s,r.encodeLocation?r.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?s:G([s,r.encodeLocation?r.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),i,n);return a&&k?e.createElement(K.Provider,{value:{location:J({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:g.Pop}},k):k}function rt(){let t=function(){var t;let a=e.useContext(X),n=function(t){let a=e.useContext(H);return a||h(!1),a}(mt.UseRouteError),r=ct(mt.UseRouteError);return a||(null==(t=n.errors)?void 0:t[r])}(),a=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),n=t instanceof Error?t.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},a),n?e.createElement("pre",{style:r},n):null,null)}const it=e.createElement(rt,null);class lt extends e.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: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 this.state.error?e.createElement(V.Provider,{value:this.props.routeContext},e.createElement(X.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ot(t){let{routeContext:a,match:n,children:r}=t,i=e.useContext($);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),e.createElement(V.Provider,{value:a},r)}var st=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(st||{}),mt=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}(mt||{});function ct(t){let a=function(t){let a=e.useContext(V);return a||h(!1),a}(),n=a.matches[a.matches.length-1];return n.route.id||h(!1),n.route.id}function gt(t){let{to:a,replace:n,state:r,relative:i}=t;q()||h(!1);let{matches:l}=e.useContext(V),{pathname:o}=tt(),s=at(),m=R(a,P(l).map((t=>t.pathnameBase)),o,"path"===i),c=JSON.stringify(m);return e.useEffect((()=>s(JSON.parse(c),{replace:n,state:r,relative:i})),[s,c,i,n,r]),null}function ut(t){h(!1)}function dt(t){let{basename:a="/",children:n=null,location:r,navigationType:i=g.Pop,navigator:l,static:o=!1}=t;q()&&h(!1);let s=a.replace(/^\/*/,"/"),m=e.useMemo((()=>({basename:s,navigator:l,static:o})),[s,l,o]);"string"==typeof r&&(r=x(r));let{pathname:c="/",search:u="",hash:d="",state:p=null,key:k="default"}=r,f=e.useMemo((()=>{let t=A(c,s);return null==t?null:{location:{pathname:t,search:u,hash:d,state:p,key:k},navigationType:i}}),[s,c,u,d,p,k,i]);return null==f?null:e.createElement(Z.Provider,{value:m},e.createElement(K.Provider,{children:n,value:f}))}function pt(t){let{children:e,location:a}=t;return nt(ht(e),a)}function ht(t,a){void 0===a&&(a=[]);let n=[];return e.Children.forEach(t,((t,r)=>{if(!e.isValidElement(t))return;let i=[...a,r];if(t.type===e.Fragment)return void n.push.apply(n,ht(t.props.children,i));t.type!==ut&&h(!1),t.props.index&&t.props.children&&h(!1);let l={id:t.props.id||i.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&&(l.children=ht(t.props.children,i)),n.push(l)})),n}e.startTransition,new Promise((()=>{})),e.Component;var kt=window.ReactDOM;new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]),new Map;const ft=e.startTransition;function Et(t){let{basename:a,children:n,future:r,window:i}=t,l=e.useRef();var o;null==l.current&&(l.current=(void 0===(o={window:i,v5Compat:!0})&&(o={}),function(t,e,a,n){void 0===n&&(n={});let{window:r=document.defaultView,v5Compat:i=!1}=n,l=r.history,o=g.Pop,s=null,m=c();function c(){return(l.state||{idx:null}).idx}function u(){o=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:o,location:x.location,delta:e})}function k(t){let e="null"!==r.location.origin?r.location.origin:r.location.href,a="string"==typeof t?t:y(t);return h(e,"No window.location.(origin|href) available to create URL for href: "+a),new URL(a,e)}null==m&&(m=0,l.replaceState(d({},l.state,{idx:m}),""));let x={get action(){return o},get location(){return t(r,l)},listen(t){if(s)throw new Error("A history only accepts one active listener");return r.addEventListener(p,u),s=t,()=>{r.removeEventListener(p,u),s=null}},createHref(t){return e(r,t)},createURL:k,encodeLocation(t){let e=k(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){o=g.Push;let n=E(x.location,t,e);a&&a(n,t),m=c()+1;let u=f(n,m),d=x.createHref(n);try{l.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;r.location.assign(d)}i&&s&&s({action:o,location:x.location,delta:1})},replace:function(t,e){o=g.Replace;let n=E(x.location,t,e);a&&a(n,t),m=c();let r=f(n,m),u=x.createHref(n);l.replaceState(r,"",u),i&&s&&s({action:o,location:x.location,delta:0})},go(t){return l.go(t)}};return x}((function(t,e){let{pathname:a="/",search:n="",hash:r=""}=x(t.location.hash.substr(1));return a.startsWith("/")||a.startsWith(".")||(a="/"+a),E("",{pathname:a,search:n,hash:r},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let a=t.document.querySelector("base"),n="";if(a&&a.getAttribute("href")){let e=t.location.href,a=e.indexOf("#");n=-1===a?e:e.slice(0,a)}return n+"#"+("string"==typeof e?e:y(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),o)));let s=l.current,[m,c]=e.useState({action:s.action,location:s.location}),{v7_startTransition:u}=r||{},M=e.useCallback((t=>{u&&ft?ft((()=>c(t))):c(t)}),[c,u]);return e.useLayoutEffect((()=>s.listen(M)),[s,M]),e.createElement(dt,{basename:a,children:n,location:m.location,navigationType:m.action,navigator:s})}var yt,xt;kt.flushSync,"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"}(yt||(yt={})),function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"}(xt||(xt={}));var Mt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l}=(0,a.useContext)(c),o=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"md:gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-16 gtmkit-mb-20"},(0,e.createElement)("div",{className:""},(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-w-full !gtmkit-px-8 "},(0,e.createElement)(n.TextControl,{label:(0,s.__)("Container ID","gtm-kit"),placeholder:(0,s.__)("Enter Container ID","gtm-kit"),value:t&&t.general.gtm_id,className:"gtmkit-text-center",onChange:t=>r("general","gtm_id",t)})),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),o("/essential-settings",{replace:!0})},disabled:l||!t.general.gtm_id.includes("-")},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):""))),(0,e.createElement)("div",{className:"gtmkit-mt-8 gtmkit-border gtmkit-p-6 gtmkit-text-left gtmkit-text-color-grey gtmkit-text-center"},(0,e.createElement)("h2",{className:"gtmkit-font-bold gtmkit-text-base gtmkit-mb-4"},"Need help?"),(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,s.__)("Find your GTM container ID on","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-underline",href:"https://tagmanager.google.com/",target:"_blank",rel:"noreferrer"},"Google Tag Manager")),(0,e.createElement)("p",null,(0,s.__)("It should look something like this:","gtm-kit")," ","GTM-12ZM7SF4"))),(0,e.createElement)("div",{className:"gtmkit-mt-3 md:gtmkit-mt-10 gtmkit-text-color-grey gtmkit-text-base"},(0,e.createElement)("span",{className:"gtmkit-block"},(0,s.__)("No thanks. I know what I'm doing.","gtm-kit")),(0,e.createElement)("a",{className:"gtmkit-underline gtmkit-ml-4",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit"))))},Nt=()=>{const{useImportSettings:t,useIsPending:r,useInstallData:i}=(0,a.useContext)(c),[l,o]=(0,a.useState)(!0),m=Object.keys(i.import_data)[0],[g,u]=(0,a.useState)(m),d=[];return Object.keys(i.import_data).forEach((t=>{d.push({value:t,label:i.import_data[t].name})})),l?(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto gtmkit-border gtmkit-py-8 gtmkit-my-8"},(0,e.createElement)("h2",{className:"gtmkit-text-lg gtmkit-text-color-heading gtmkit-font-bold"},(0,s.__)("Would you like to import plugin settings?","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-my-4 gtmkit-text-color-grey"},(0,s.__)("We have found the configuration of other plugins in the database.","gtm-kit")," ",(0,s.__)("Would you like to import your settings to GTM Kit?","gtm-kit")),(0,e.createElement)(n.RadioControl,{help:(0,s.__)("Select the plugin you want to import settings from.","gtm-kit"),selected:g,options:d,onChange:t=>u(t)}),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{t(g,i.import_data[g]),o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("Yes","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):""),(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("No","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):"")))):(0,e.createElement)(Mt,null)},St=()=>{const{useInstallData:t}=(0,a.useContext)(c),{firstInstall:n}=t,{importAvailable:r}=t;return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("You've successfully installed GTM Kit!","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit"))),n&&r?(0,e.createElement)(Nt,null):(0,e.createElement)(Mt,null))},vt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useInstallData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("Essential Settings","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("There are a lot of settings in GTM Kit and we recommend that you uses our recommended settings but you can also choose to use the default settings and go through the settings at your convenience.","gtm-kit"))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Page type","gtm-kit"),id:"page-type"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Include the page type i.e. page, product, category, cart, checkout etc in the datalayer?","gtm-kit"),checked:t&&t.general.datalayer_page_type,onChange:()=>{r("general","datalayer_page_type",!(t&&t.general.datalayer_page_type))}}))),o.woocommerce_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track WooCommerce","gtm-kit"),id:"track-wooCommerce"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from WooCommerce?","gtm-kit"),checked:t&&t.integrations.woocommerce_integration,onChange:()=>{r("integrations","woocommerce_integration",!(t&&t.integrations.woocommerce_integration))}}))):null,o.cf7_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Contact Form 7","gtm-kit"),id:"track-cf7"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track form submissions from Contact Form 7?","gtm-kit"),checked:t&&t.integrations.cf7_integration,onChange:()=>{r("integrations","cf7_integration",!(t&&t.integrations.cf7_integration))}}))):null,o.edd_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Easy Digital Downloads","gtm-kit"),id:"track-edd"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from Easy Digital Downloads?","gtm-kit"),checked:t&&t.integrations.edd_integration,onChange:()=>{r("integrations","edd_integration",!(t&&t.integrations.edd_integration))}}))):null,(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/share-anonymous-data",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},bt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useSiteData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Help improve GTM Kit","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-8 gtmkit-text-color-grey"},(0,s.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm"},(0,e.createElement)("tbody",null,(0,e.createElement)("tr",{className:""},(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Server type:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.web_server))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"PHP version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.php_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.wordpress_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress multisite:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.multisite?(0,s.__)("Yes","gtm-kit"):(0,s.__)("No","gtm-kit")))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current theme:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.current_theme))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current site language:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.locale))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Active plugins:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Plugin names of all active plugins"))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Anonymized GTM Kit settings:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Which GTM Kit settings are active"))))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-max !gtmkit-px-8 gtmkit-mx-auto "},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Share anonymous data","gtm-kit"),id:"share-anonymous-data"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("I agree to share anonymous data with the development team to help improve GTM Kit. ","gtm-kit"),checked:t&&t.general.analytics_active,onChange:()=>{r("general","analytics_active",!(t&&t.general.analytics_active))}}))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/getting-started",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},wt=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Your are ready to use GTM Kit!","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Your Google Tag Manager Container is now sending data to Google Tag Manager.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-12 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit")," "),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto gtmkit-mb-8"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Google Tag Manager templates","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-text-color-grey gtmkit-m-4"},(0,s.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit")," ",(0,e.createElement)("a",{target:"_blank",className:"gtmkit-text-color-primary gtmkit-whitespace-nowrap",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",rel:"noreferrer"},(0,s.__)("Read the guide","gtm-kit"))),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - eCommerce","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Tutorials","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Getting started with GTM Kit","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("WooCommerce Integration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=advanced-container-implementation&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Advanced GTM container implementation","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=settings-actions-and-filters-for-developers&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Settings, actions and filters for developers","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.dashboardUrl}},(0,s.__)("Go to the dashboard","gtm-kit"))));const _t=[{step:1,path:"/welcome",element:"Welcome",title:(0,s.__)("Welcome","gtm-kit")},{step:2,path:"/essential-settings",element:"EssentialSettings",title:(0,s.__)("Essential Settings","gtm-kit")},{step:3,path:"/share-anonymous-data",element:"ShareAnonymousData",title:(0,s.__)("Help improve GTM Kit","gtm-kit")},{step:4,path:"/getting-started",element:"GettingStarted",title:(0,s.__)("Getting Started","gtm-kit")}];var Tt=({step:t,currentStep:a,totalSteps:n})=>{if(t===n)return;let r="gtmkit-h-0.5 gtmkit-w-full";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-color-border",(0,e.createElement)("div",{className:r})},jt=({step:t,currentStep:a})=>t<a?(0,e.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"gtmkit-w-5 gtmkit-h-5 gtmkit-text-white"},(0,e.createElement)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})):t===a?(0,e.createElement)("span",{className:"gtmkit-h-2.5 gtmkit-w-2.5 gtmkit-rounded-full gtmkit-bg-color-primary"}):void 0,Lt=({step:t,currentStep:a,totalSteps:n})=>{if(0===t)return;let r="gtmkit-transition-opacity gtmkit-duration-500 gtmkit-absolute gtmkit-inset-0 gtmkit-border-2 gtmkit-flex gtmkit-items-center gtmkit-justify-center gtmkit-rounded-full gtmkit-opacity-100";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-white",r+=t>a?" gtmkit-border-color-border":" gtmkit-border-color-primary",(0,e.createElement)(e.Fragment,null,(0,e.createElement)("span",{className:"gtmkit-relative gtmkit-shrink-0 gtmkit-z-10 gtmkit-w-8 gtmkit-h-8 gtmkit-rounded-full"},(0,e.createElement)("span",{className:r},(0,e.createElement)(jt,{step:t,currentStep:a,totalSteps:n}))),(0,e.createElement)(Tt,{step:t,currentStep:a,totalSteps:n}))},Ct=()=>{const t=_t.length-1+_t[0].step;let a=((t,e)=>{const a=Object.keys(e);return t.filter((function(t){for(let n=0;n<a.length;n++)if(!t.hasOwnProperty(a[n])||t[a[n]]!==e[a[n]])return!1;return!0}))})(_t,{path:tt().pathname});return a=a.length?a[0].step:0,0===a?(0,e.createElement)("div",{className:"gtmkit-my-16"}):(0,e.createElement)("div",{className:"gtmkit-mt-6 gtmkit-inset-0 gtmkit-mx-auto gtmkit-my-6 gtmkit-flex gtmkit-items-center gtmkit-max-w-xl","aria-hidden":"true"},_t.map((function(n){return(0,e.createElement)(Lt,{key:n.step,step:n.step,currentStep:a,totalSteps:t})})))},It=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-text-center gtmkit-px-3"},(0,e.createElement)("h1",{className:"gtmkit-mt-3 md:gtmkit-mt-8 gtmkit-mb-4 gtmkit-w-[225px] gtmkit-inline-block"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNDY3LjEgMTU4Ni40IiBoZWlnaHQ9IjU0IiB2aWV3Qm94PSIwIDAgMTYwIDU0IiB3aWR0aD0iMTYwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IGZpbGw9IiM4ODgiIGhlaWdodD0iNTQiIHJ4PSI0LjI2NSIgd2lkdGg9IjE2MCIvPjxwYXRoIGQ9Im04OC42NTkgNy4wMDJoLTQ5LjI2NmMtMi45MTUgMC01LjM3OC0uMTg0LTkuMjMgMi41OTZsLTE4Ljc0MyAxMi43NTJjLTQuNTQ5IDMuMjkyLTQuNTcxIDYuMDAxIDAgOS4zMDJsMTguNzQzIDEyLjc1MWMzLjY1MiAyLjY0NiA2LjI5OSAyLjU5NyA5LjIzIDIuNTk3aDE1LjY4NiAzMy41OGMyLjkzMS0uMDU3IDUuMzk0LTEuNzg0IDUuMzQtMy45MjN2LTMyLjIxYy0uMDEyLTIuMTM0LTIuNDA5LTMuODY1LTUuMzQtMy44NjV6IiBmaWxsPSIjMzk2OWJiIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgLTEgMTAxLjk5OTg2NyA1My45OTk1NDcpIi8+PGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoMS40NjUyMDIgMCAwIDEuNDY1MjAyIC00LjU4MjQzNiAtNy41NTMxMjYpIj48cGF0aCBkPSJtMTguMzE2IDIzLjA4Nmg0LjYzMnY2LjA1MmMtLjc1LjI0NS0xLjQ1OS40MTUtMi4xMjEuNTE0LS42NjMuMDk4LTEuMzQxLjE0OC0yLjAzMy4xNDgtMS43NjQgMC0zLjEwNi0uNTE3LTQuMDM1LTEuNTU0LS45MjktMS4wMzQtMS4zOTUtMi41MTktMS4zOTUtNC40NTcgMC0xLjg4Ni41MzgtMy4zNTYgMS42MTctNC40MSAxLjA3OC0xLjA1NCAyLjU3My0xLjU3OSA0LjQ4MS0xLjU3OSAxLjIgMCAyLjM1Ny4yMzkgMy40NjkuNzE4bC0uODIzIDEuOTc5Yy0uODUtLjQyNS0xLjczNy0uNjM3LTIuNjU3LS42MzctMS4wNzEgMC0xLjkzMi4zNTgtMi41NzIgMS4wNzctLjY0NS43MTgtLjk2OCAxLjY4NS0uOTY4IDIuODk5IDAgMS4yNjcuMjYgMi4yMzMuNzggMi45MDQuNTE2LjY2NyAxLjI3MS45OTkgMi4yNjIuOTk5LjUxNyAwIDEuMDQxLS4wNTIgMS41NzItLjE1OHYtMi40MzVoLTIuMjA5em0xMS45MTIgNi41NTVoLTIuNDc0di05LjYxNGgtMy4xNzN2LTIuMDZoOC44MTZ2Mi4wNmgtMy4xNjl6bTkuOTA4IDAtMi44MTEtOS4xNThoLS4wNzJjLjEwMyAxLjg2My4xNTQgMy4xMDUuMTU0IDMuNzI4djUuNDNoLTIuMjEzdi0xMS42NzRoMy4zNjhsMi43NjQgOC45MjdoLjA0OGwyLjkzNC04LjkyN2gzLjM2OXYxMS42NzRoLTIuMzA4di01LjUyNWMwLS4yNjEgMC0uNTYxLjAwOS0uOTAzLjAwOS0uMzQxLjA0OC0xLjI0Ni4xMTItMi43MTZoLS4wNzRsLTMuMDExIDkuMTQ0eiIvPjxwYXRoIGQ9Im04OC44ODMgMzEuODk4aC0zLjgxMWwtNC4xNDctNi42Ny0xLjQxNyAxLjAxOHY1LjY1MmgtMy4zNTd2LTE1LjgzaDMuMzU3djcuMjQybDEuMzE4LTEuODYxIDQuMjkzLTUuMzgxaDMuNzI0bC01LjUyMyA3LjAwNnptMS41ODktMTUuMjMzYzAtMS4wNzUuNi0xLjYxNCAxLjgtMS42MTQgMS4xOTkgMCAxLjc5OC41MzkgMS43OTggMS42MTQgMCAuNTEyLS4xNDguOTEtLjQ1IDEuMTk2LS4yOTcuMjg0LS43NDkuNDI5LTEuMzQ4LjQyOS0xLjIgMC0xLjgtLjU0My0xLjgtMS42MjV6bTMuNDQ5IDE1LjIzM2gtMy4zMDJ2LTEyLjEwNGgzLjMwMnptOC41NjMtMi40MTNjLjU3OCAwIDEuMjcxLS4xMjggMi4wNzctLjM4djIuNDU2Yy0uODIuMzctMS44MzEuNTUyLTMuMDMxLjU1Mi0xLjMyNCAwLTIuMjgtLjMzMy0yLjg4NS0xLjAwMS0uNjAyLS42NjctLjkwMi0xLjY2OC0uOTAyLTMuMDAzdi01LjgzNWgtMS41ODV2LTEuMzk5bDEuODIzLTEuMTAzLjk0OS0yLjU1N2gyLjExNXYyLjU3OWgzLjM4OHYyLjQ4aC0zLjM4OHY1LjgzNWMwIC40NjcuMTI5LjgxNS4zOTMgMS4wNDEuMjY0LjIyMi42MTQuMzM1IDEuMDQ2LjMzNXoiLz48L2c+PC9zdmc+",alt:(0,s.__)("GTM Kit","gtm-kit"),className:"gtmkit-w-full"}))),(0,e.createElement)(Ct,null)),Dt=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("footer",{className:"gtm-kit-settings-footer gtmkit-my-8 gtmkit-text-color-grey"},(0,e.createElement)("p",{className:"gtmkit-mx-auto gtmkit-max-w-max"},(0,e.createElement)("a",{className:"gtmkit-underline",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit")))));const Ot=()=>{const{useSettings:t}=(0,a.useContext)(c);return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(It,null),(0,e.createElement)("main",{className:"gtmkit-max-w-3xl gtmkit-bg-white gtmkit-border-1 gtmkit-border-color-border gtmkit-rounded-md gtmkit-mx-auto gtmkit-py-12 gtmkit-px-16 gtmkit-text-base"},(0,e.createElement)(pt,null,(0,e.createElement)(ut,{exact:!0,path:"/welcome",element:(0,e.createElement)(St,null)}),(0,e.createElement)(ut,{exact:!0,path:"/essential-settings",element:(0,e.createElement)(vt,null)}),(0,e.createElement)(ut,{exact:!0,path:"/share-anonymous-data",element:(0,e.createElement)(bt,null)}),(0,e.createElement)(ut,{exact:!0,path:"/getting-started",element:(0,e.createElement)(wt,null)}),(0,e.createElement)(ut,{path:"/",element:(0,e.createElement)(gt,{replace:!0,to:"/welcome"})}))),(0,e.createElement)(Dt,null)):(0,e.createElement)(n.Spinner,{className:"gtm-kit-settings-page-loader"})},zt=()=>(0,e.createElement)(Et,{basename:"/"},(0,e.createElement)(u,null,(0,e.createElement)(Ot,null)));document.addEventListener("DOMContentLoaded",(()=>{void 0!==document.getElementById(window.gtmkitSettings.rootId)&&null!==document.getElementById(window.gtmkitSettings.rootId)&&(0,a.render)((0,e.createElement)(zt,null),document.getElementById(window.gtmkitSettings.rootId))}))}();
     1!function(){"use strict";var t={n:function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,{a:a}),a},d:function(e,a){for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,a=window.wp.element,n=window.wp.components,r=window.lodash,i=window.wp.apiFetch,l=t.n(i);l().use(l().createNonceMiddleware(window.gtmkitSettings.nonce)),l().use(l().createRootURLMiddleware(window.gtmkitSettings.root));const o=async(t,e,a=null,n=!1)=>{let r={};try{r=await l()({path:t,method:e,...a&&{data:a}})}catch(a){return console.log(`${e} ${t} Errors:`,a),{[`gtm_kit_api_${e}_${t}_errors`]:!0}}return!0===n?r:!0===r.success?r.data:options};var s=window.wp.i18n,m=(t,e)=>{const a={...t};switch(e.type){case"FETCH_SETTINGS":a.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},a.stateSettings=e.payload.stateSettings,a.siteData=e.payload.siteData,a.installData=e.payload.installData,a.isPending=!1,a.canSave=!1,e.payload.fetchedSettings.gtm_kit_api_fetch_settings_errors&&(a.notice=(0,s.__)("An error occurred.","gtm-kit"),a.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":a.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":a.fetchedSettings=e.payload.fetchedSettings,a.stateSettings=e.payload.stateSettings,a.isPending=!1,a.canSave=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors,a.notice=e.payload.fetchedSettings.gtm_kit_api_update_settings_errors?(0,s.__)("An error occurred.","gtm-kit"):(0,s.__)("Saved Successfully.","gtm-kit"),a.hasError=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors;break;case"UPDATE_STATE":a.fetchedSettings=e.payload.fetchedSettings||a.fetchedSettings,a.stateSettings=e.payload.stateSettings||a.stateSettings,a.isPending=e.payload.isPending||a.isPending,a.notice=e.payload.notice||a.notice,a.hasError=e.payload.hasError||a.hasError,a.canSave=e.payload.canSave||a.canSave,a.isSendingSystemData=e.payload.isSendingSystemData||a.isSendingSystemData,a.supportTicket=e.payload.supportTicket||a.supportTicket;break;case"SEND_SUPPORT_DATA_BEFORE":a.isSendingSystemData=e.payload.isSendingSystemData||a.isSendingSystemData;break;case"SEND_SUPPORT_DATA":a.isSendingSystemData=!1,a.isSystemDataSent=e.payload.isSystemDataSent||a.isSystemDataSent,a.systemDataMessage=e.payload.systemDataMessage||a.systemDataMessage}return a};const c=(0,a.createContext)();var g,u=t=>{const[n,i]=(0,a.useReducer)(m,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1,supportTicket:"",isSystemDataSent:!1,systemDataMessage:""}),l=async()=>{const[t,e]=await Promise.all([o("gtmkit/v1/get-options","GET"),o("gtmkit/v1/get-site-data","GET")]),a="wizard"===window.gtmkitSettings.currentPage?await o("gtmkit/v1/get-install-data","GET"):{};i({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:a}})},s=async t=>{i({type:"UPDATE_STATE",payload:t})};(0,a.useEffect)((()=>{l()}),[]);const g={useDispatch:t=>{i(t)},useUpdateSettings:async()=>{i({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,o("gtmkit/v1/set-options","POST",e));var e;i({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:l,useUpdateState:s,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let l;i[t][e]=a,l=!(0,r.isEqual)(i,n.fetchedSettings),s({stateSettings:i,canSave:l})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const l={};l.general={...a.general,...e.general},"integrations"in e&&(l.integrations={...a.integrations,...e.integrations}),i=!(0,r.isEqual)(l,n.fetchedSettings),s({stateSettings:l,canSave:i})},useUpdateSupportTicket:async t=>{s({supportTicket:t})},useSendSystemData:async()=>{i({type:"SEND_SUPPORT_DATA_BEFORE",payload:{isSendingSystemData:!0}});const t=await(e=n.supportTicket,o("gtmkit/v1/send-support-data","POST",e,!0));var e;i({type:"SEND_SUPPORT_DATA",payload:{isSendingSystemData:!1,isSystemDataSent:t.success,systemDataMessage:t.data}})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData,useIsSending:n.isSendingSystemData,useSupportTicket:n.supportTicket,useIsSystemDataSent:n.isSystemDataSent,useSystemDataMessage:n.systemDataMessage};return(0,e.createElement)(c.Provider,{value:g},t.children)};function d(){return d=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},d.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const p="popstate";function h(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function y(t,e){return{usr:t.state,key:t.key,idx:e}}function f(t,e,a,n){return void 0===a&&(a=null),d({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?S(e):e,{state:a,key:e&&e.key||n||Math.random().toString(36).substr(2,8)})}function E(t){let{pathname:e="/",search:a="",hash:n=""}=t;return a&&"?"!==a&&(e+="?"===a.charAt(0)?a:"?"+a),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function S(t){let e={};if(t){let a=t.indexOf("#");a>=0&&(e.hash=t.substr(a),t=t.substr(0,a));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}var x;function M(t,e,a){void 0===a&&(a="/");let n=U(("string"==typeof e?S(e):e).pathname||"/",a);if(null==n)return null;let r=N(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,a)=>t===e[a]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(r);let i=null;for(let t=0;null==i&&t<r.length;++t)i=I(r[t],A(n));return i}function N(t,e,a,n){void 0===e&&(e=[]),void 0===a&&(a=[]),void 0===n&&(n="");let r=(t,r,i)=>{let l={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:r,route:t};l.relativePath.startsWith("/")&&(h(l.relativePath.startsWith(n),'Absolute route path "'+l.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),l.relativePath=l.relativePath.slice(n.length));let o=G([n,l.relativePath]),s=a.concat(l);t.children&&t.children.length>0&&(h(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),N(t.children,e,s,o)),(null!=t.path||t.index)&&e.push({path:o,score:C(o,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var a;if(""!==t.path&&null!=(a=t.path)&&a.includes("?"))for(let a of v(t.path))r(t,e,a);else r(t,e)})),e}function v(t){let e=t.split("/");if(0===e.length)return[];let[a,...n]=e,r=a.endsWith("?"),i=a.replace(/\?$/,"");if(0===n.length)return r?[i,""]:[i];let l=v(n.join("/")),o=[];return o.push(...l.map((t=>""===t?i:[i,t].join("/")))),r&&o.push(...l),o.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(x||(x={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const _=/^:\w+$/,b=3,w=2,T=1,j=10,L=-2,D=t=>"*"===t;function C(t,e){let a=t.split("/"),n=a.length;return a.some(D)&&(n+=L),e&&(n+=w),a.filter((t=>!D(t))).reduce(((t,e)=>t+(_.test(e)?b:""===e?T:j)),n)}function I(t,e){let{routesMeta:a}=t,n={},r="/",i=[];for(let t=0;t<a.length;++t){let l=a[t],o=t===a.length-1,s="/"===r?e:e.slice(r.length)||"/",m=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:o},s);if(!m)return null;Object.assign(n,m.params);let c=l.route;i.push({params:n,pathname:G([r,m.pathname]),pathnameBase:B(G([r,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(r=G([r,m.pathnameBase]))}return i}function O(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[a,n]=function(t,e,a){void 0===e&&(e=!1),void 0===a&&(a=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let n=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,a)=>(n.push({paramName:e,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(n.push({paramName:"*"}),r+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":""!==t&&"/"!==t&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),n]}(t.path,t.caseSensitive,t.end),r=e.match(a);if(!r)return null;let i=r[0],l=i.replace(/(.)\/+$/,"$1"),o=r.slice(1);return{params:n.reduce(((t,e,a)=>{let{paramName:n,isOptional:r}=e;if("*"===n){let t=o[a]||"";l=i.slice(0,i.length-t.length).replace(/(.)\/+$/,"$1")}const s=o[a];return t[n]=r&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(a){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+a+")."),t}}(s||"",n),t}),{}),pathname:i,pathnameBase:l,pattern:t}}function A(t){try{return decodeURI(t)}catch(e){return k(!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 U(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let a=e.endsWith("/")?e.length-1:e.length,n=t.charAt(a);return n&&"/"!==n?null:t.slice(a)||"/"}function z(t,e,a,n){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(n)+"].  Please separate it out to the `to."+a+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function P(t,e){let a=function(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}(t);return e?a.map(((e,a)=>a===t.length-1?e.pathname:e.pathnameBase)):a.map((t=>t.pathnameBase))}function R(t,e,a,n){let r;void 0===n&&(n=!1),"string"==typeof t?r=S(t):(r=d({},t),h(!r.pathname||!r.pathname.includes("?"),z("?","pathname","search",r)),h(!r.pathname||!r.pathname.includes("#"),z("#","pathname","hash",r)),h(!r.search||!r.search.includes("#"),z("#","search","hash",r)));let i,l=""===t||""===r.pathname,o=l?"/":r.pathname;if(null==o)i=a;else if(n){let t=0===e.length?[]:e[e.length-1].replace(/^\//,"").split("/");if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t.pop();r.pathname=e.join("/")}i="/"+t.join("/")}else{let t=e.length-1;if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t-=1;r.pathname=e.join("/")}i=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:a,search:n="",hash:r=""}="string"==typeof t?S(t):t,i=a?a.startsWith("/")?a:function(t,e){let a=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?a.length>1&&a.pop():"."!==t&&a.push(t)})),a.length>1?a.join("/"):"/"}(a,e):e;return{pathname:i,search:W(n),hash:Y(r)}}(r,i),m=o&&"/"!==o&&o.endsWith("/"),c=(l||"."===o)&&a.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const G=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",Y=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const F=["post","put","patch","delete"],Q=(new Set(F),["get",...F]);function J(){return J=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},J.apply(this,arguments)}new Set(Q),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const H=e.createContext(null),$=e.createContext(null),Z=e.createContext(null),K=e.createContext(null),V=e.createContext({outlet:null,matches:[],isDataRoute:!1}),X=e.createContext(null);function q(){return null!=e.useContext(K)}function tt(){return q()||h(!1),e.useContext(K).location}function et(t){e.useContext(Z).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(V);return t?function(){let{router:t}=function(t){let a=e.useContext(H);return a||h(!1),a}(st.UseNavigateStable),a=ct(mt.UseNavigateStable),n=e.useRef(!1);return et((()=>{n.current=!0})),e.useCallback((function(e,r){void 0===r&&(r={}),n.current&&("number"==typeof e?t.navigate(e):t.navigate(e,J({fromRouteId:a},r)))}),[t,a])}():function(){q()||h(!1);let t=e.useContext(H),{basename:a,future:n,navigator:r}=e.useContext(Z),{matches:i}=e.useContext(V),{pathname:l}=tt(),o=JSON.stringify(P(i,n.v7_relativeSplatPath)),s=e.useRef(!1);return et((()=>{s.current=!0})),e.useCallback((function(e,n){if(void 0===n&&(n={}),!s.current)return;if("number"==typeof e)return void r.go(e);let i=R(e,JSON.parse(o),l,"path"===n.relative);null==t&&"/"!==a&&(i.pathname="/"===i.pathname?a:G([a,i.pathname])),(n.replace?r.replace:r.push)(i,n.state,n)}),[a,r,o,l,t])}()}function nt(t,a,n,r){q()||h(!1);let{navigator:i}=e.useContext(Z),{matches:l}=e.useContext(V),o=l[l.length-1],s=o?o.params:{},m=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let c,u=tt();if(a){var d;let t="string"==typeof a?S(a):a;"/"===m||(null==(d=t.pathname)?void 0:d.startsWith(m))||h(!1),c=t}else c=u;let p=c.pathname||"/",k=M(t,{pathname:"/"===m?p:p.slice(m.length)||"/"}),y=function(t,a,n,r){var i;if(void 0===a&&(a=[]),void 0===n&&(n=null),void 0===r&&(r=null),null==t){var l;if(null==(l=n)||!l.errors)return null;t=n.matches}let o=t,s=null==(i=n)?void 0:i.errors;if(null!=s){let t=o.findIndex((t=>t.route.id&&(null==s?void 0:s[t.route.id])));t>=0||h(!1),o=o.slice(0,Math.min(o.length,t+1))}let m=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let t=0;t<o.length;t++){let e=o[t];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=t),e.route.loader&&e.route.id&&void 0===n.loaderData[e.route.id]&&(!n.errors||void 0===n.errors[e.route.id])){m=!0,o=c>=0?o.slice(0,c+1):[o[0]];break}}return o.reduceRight(((t,r,i)=>{let l,g=!1,u=null,d=null;var p;n&&(l=s&&r.route.id?s[r.route.id]:void 0,u=r.route.errorElement||it,m&&(c<0&&0===i?(gt[p="route-fallback"]||(gt[p]=!0),g=!0,d=null):c===i&&(g=!0,d=r.route.hydrateFallbackElement||null)));let h=a.concat(o.slice(0,i+1)),k=()=>{let a;return a=l?u:g?d:r.route.Component?e.createElement(r.route.Component,null):r.route.element?r.route.element:t,e.createElement(ot,{match:r,routeContext:{outlet:t,matches:h,isDataRoute:null!=n},children:a})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===i)?e.createElement(lt,{location:n.location,revalidation:n.revalidation,component:u,error:l,children:k(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):k()}),null)}(k&&k.map((t=>Object.assign({},t,{params:Object.assign({},s,t.params),pathname:G([m,i.encodeLocation?i.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?m:G([m,i.encodeLocation?i.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),l,n,r);return a&&y?e.createElement(K.Provider,{value:{location:J({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:g.Pop}},y):y}function rt(){let t=function(){var t;let a=e.useContext(X),n=function(t){let a=e.useContext($);return a||h(!1),a}(mt.UseRouteError),r=ct(mt.UseRouteError);return void 0!==a?a:null==(t=n.errors)?void 0:t[r]}(),a=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),n=t instanceof Error?t.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},a),n?e.createElement("pre",{style:r},n):null,null)}const it=e.createElement(rt,null);class lt extends e.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?e.createElement(V.Provider,{value:this.props.routeContext},e.createElement(X.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ot(t){let{routeContext:a,match:n,children:r}=t,i=e.useContext(H);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),e.createElement(V.Provider,{value:a},r)}var st=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(st||{}),mt=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}(mt||{});function ct(t){let a=function(t){let a=e.useContext(V);return a||h(!1),a}(),n=a.matches[a.matches.length-1];return n.route.id||h(!1),n.route.id}const gt={};function ut(t){let{to:a,replace:n,state:r,relative:i}=t;q()||h(!1);let{future:l,static:o}=e.useContext(Z),{matches:s}=e.useContext(V),{pathname:m}=tt(),c=at(),g=R(a,P(s,l.v7_relativeSplatPath),m,"path"===i),u=JSON.stringify(g);return e.useEffect((()=>c(JSON.parse(u),{replace:n,state:r,relative:i})),[c,u,i,n,r]),null}function dt(t){h(!1)}function pt(t){let{basename:a="/",children:n=null,location:r,navigationType:i=g.Pop,navigator:l,static:o=!1,future:s}=t;q()&&h(!1);let m=a.replace(/^\/*/,"/"),c=e.useMemo((()=>({basename:m,navigator:l,static:o,future:J({v7_relativeSplatPath:!1},s)})),[m,s,l,o]);"string"==typeof r&&(r=S(r));let{pathname:u="/",search:d="",hash:p="",state:k=null,key:y="default"}=r,f=e.useMemo((()=>{let t=U(u,m);return null==t?null:{location:{pathname:t,search:d,hash:p,state:k,key:y},navigationType:i}}),[m,u,d,p,k,y,i]);return null==f?null:e.createElement(Z.Provider,{value:c},e.createElement(K.Provider,{children:n,value:f}))}function ht(t){let{children:e,location:a}=t;return nt(kt(e),a)}function kt(t,a){void 0===a&&(a=[]);let n=[];return e.Children.forEach(t,((t,r)=>{if(!e.isValidElement(t))return;let i=[...a,r];if(t.type===e.Fragment)return void n.push.apply(n,kt(t.props.children,i));t.type!==dt&&h(!1),t.props.index&&t.props.children&&h(!1);let l={id:t.props.id||i.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&&(l.children=kt(t.props.children,i)),n.push(l)})),n}e.startTransition,new Promise((()=>{})),e.Component;var yt=window.ReactDOM;new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]),new Map;const ft=e.startTransition;function Et(t){let{basename:a,children:n,future:r,window:i}=t,l=e.useRef();null==l.current&&(l.current=function(t){return void 0===t&&(t={}),function(t,e,a,n){void 0===n&&(n={});let{window:r=document.defaultView,v5Compat:i=!1}=n,l=r.history,o=g.Pop,s=null,m=c();function c(){return(l.state||{idx:null}).idx}function u(){o=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:o,location:S.location,delta:e})}function k(t){let e="null"!==r.location.origin?r.location.origin:r.location.href,a="string"==typeof t?t:E(t);return h(e,"No window.location.(origin|href) available to create URL for href: "+a),new URL(a,e)}null==m&&(m=0,l.replaceState(d({},l.state,{idx:m}),""));let S={get action(){return o},get location(){return t(r,l)},listen(t){if(s)throw new Error("A history only accepts one active listener");return r.addEventListener(p,u),s=t,()=>{r.removeEventListener(p,u),s=null}},createHref(t){return e(r,t)},createURL:k,encodeLocation(t){let e=k(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){o=g.Push;let n=f(S.location,t,e);a&&a(n,t),m=c()+1;let u=y(n,m),d=S.createHref(n);try{l.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;r.location.assign(d)}i&&s&&s({action:o,location:S.location,delta:1})},replace:function(t,e){o=g.Replace;let n=f(S.location,t,e);a&&a(n,t),m=c();let r=y(n,m),u=S.createHref(n);l.replaceState(r,"",u),i&&s&&s({action:o,location:S.location,delta:0})},go(t){return l.go(t)}};return S}((function(t,e){let{pathname:a="/",search:n="",hash:r=""}=S(t.location.hash.substr(1));return a.startsWith("/")||a.startsWith(".")||(a="/"+a),f("",{pathname:a,search:n,hash:r},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let a=t.document.querySelector("base"),n="";if(a&&a.getAttribute("href")){let e=t.location.href,a=e.indexOf("#");n=-1===a?e:e.slice(0,a)}return n+"#"+("string"==typeof e?e:E(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),t)}({window:i,v5Compat:!0}));let o=l.current,[s,m]=e.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},u=e.useCallback((t=>{c&&ft?ft((()=>m(t))):m(t)}),[m,c]);return e.useLayoutEffect((()=>o.listen(u)),[o,u]),e.createElement(pt,{basename:a,children:n,location:s.location,navigationType:s.action,navigator:o,future:r})}var St,xt;yt.flushSync,"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"}(St||(St={})),function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"}(xt||(xt={}));var Mt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l}=(0,a.useContext)(c),o=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"md:gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-16 gtmkit-mb-20"},(0,e.createElement)("div",{className:""},(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-w-full !gtmkit-px-8 "},(0,e.createElement)(n.TextControl,{label:(0,s.__)("Container ID","gtm-kit"),placeholder:(0,s.__)("Enter Container ID","gtm-kit"),value:t&&t.general.gtm_id,className:"gtmkit-text-center",onChange:t=>r("general","gtm_id",t)})),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),o("/essential-settings",{replace:!0})},disabled:l||!t.general.gtm_id.includes("-")},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):""))),(0,e.createElement)("div",{className:"gtmkit-mt-8 gtmkit-border gtmkit-p-6 gtmkit-text-left gtmkit-text-color-grey gtmkit-text-center"},(0,e.createElement)("h2",{className:"gtmkit-font-bold gtmkit-text-base gtmkit-mb-4"},"Need help?"),(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,s.__)("Find your GTM container ID on","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-underline",href:"https://tagmanager.google.com/",target:"_blank",rel:"noreferrer"},"Google Tag Manager")),(0,e.createElement)("p",null,(0,s.__)("It should look something like this:","gtm-kit")," ","GTM-12ZM7SF4"))),(0,e.createElement)("div",{className:"gtmkit-mt-3 md:gtmkit-mt-10 gtmkit-text-color-grey gtmkit-text-base"},(0,e.createElement)("span",{className:"gtmkit-block"},(0,s.__)("No thanks. I know what I'm doing.","gtm-kit")),(0,e.createElement)("a",{className:"gtmkit-underline gtmkit-ml-4",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit"))))},Nt=()=>{const{useImportSettings:t,useIsPending:r,useInstallData:i}=(0,a.useContext)(c),[l,o]=(0,a.useState)(!0),m=Object.keys(i.import_data)[0],[g,u]=(0,a.useState)(m),d=[];return Object.keys(i.import_data).forEach((t=>{d.push({value:t,label:i.import_data[t].name})})),l?(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto gtmkit-border gtmkit-py-8 gtmkit-my-8"},(0,e.createElement)("h2",{className:"gtmkit-text-lg gtmkit-text-color-heading gtmkit-font-bold"},(0,s.__)("Would you like to import plugin settings?","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-my-4 gtmkit-text-color-grey"},(0,s.__)("We have found the configuration of other plugins in the database.","gtm-kit")," ",(0,s.__)("Would you like to import your settings to GTM Kit?","gtm-kit")),(0,e.createElement)(n.RadioControl,{help:(0,s.__)("Select the plugin you want to import settings from.","gtm-kit"),selected:g,options:d,onChange:t=>u(t)}),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{t(g,i.import_data[g]),o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("Yes","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):""),(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("No","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):"")))):(0,e.createElement)(Mt,null)},vt=()=>{const{useInstallData:t}=(0,a.useContext)(c),{firstInstall:n}=t,{importAvailable:r}=t;return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("You've successfully installed GTM Kit!","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit"))),n&&r?(0,e.createElement)(Nt,null):(0,e.createElement)(Mt,null))},_t=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useInstallData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("Essential Settings","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("There are a lot of settings in GTM Kit and we recommend that you uses our recommended settings but you can also choose to use the default settings and go through the settings at your convenience.","gtm-kit"))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Page type","gtm-kit"),id:"page-type"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Include the page type i.e. page, product, category, cart, checkout etc in the datalayer?","gtm-kit"),checked:t&&t.general.datalayer_page_type,onChange:()=>{r("general","datalayer_page_type",!(t&&t.general.datalayer_page_type))}}))),o.woocommerce_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track WooCommerce","gtm-kit"),id:"track-wooCommerce"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from WooCommerce?","gtm-kit"),checked:t&&t.integrations.woocommerce_integration,onChange:()=>{r("integrations","woocommerce_integration",!(t&&t.integrations.woocommerce_integration))}}))):null,o.cf7_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Contact Form 7","gtm-kit"),id:"track-cf7"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track form submissions from Contact Form 7?","gtm-kit"),checked:t&&t.integrations.cf7_integration,onChange:()=>{r("integrations","cf7_integration",!(t&&t.integrations.cf7_integration))}}))):null,o.edd_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Easy Digital Downloads","gtm-kit"),id:"track-edd"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from Easy Digital Downloads?","gtm-kit"),checked:t&&t.integrations.edd_integration,onChange:()=>{r("integrations","edd_integration",!(t&&t.integrations.edd_integration))}}))):null,(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/share-anonymous-data",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},bt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useSiteData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Help improve GTM Kit","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-8 gtmkit-text-color-grey"},(0,s.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm"},(0,e.createElement)("tbody",null,(0,e.createElement)("tr",{className:""},(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Server type:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.web_server))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"PHP version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.php_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.wordpress_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress multisite:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.multisite?(0,s.__)("Yes","gtm-kit"):(0,s.__)("No","gtm-kit")))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current theme:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.current_theme))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current site language:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.locale))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Active plugins:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Plugin names of all active plugins"))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Anonymized GTM Kit settings:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Which GTM Kit settings are active"))))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-max !gtmkit-px-8 gtmkit-mx-auto "},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Share anonymous data","gtm-kit"),id:"share-anonymous-data"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("I agree to share anonymous data with the development team to help improve GTM Kit. ","gtm-kit"),checked:t&&t.general.analytics_active,onChange:()=>{r("general","analytics_active",!(t&&t.general.analytics_active))}}))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/getting-started",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},wt=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Your are ready to use GTM Kit!","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Your Google Tag Manager Container is now sending data to Google Tag Manager.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-12 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit")," "),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto gtmkit-mb-8"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Google Tag Manager templates","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-text-color-grey gtmkit-m-4"},(0,s.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit")," ",(0,e.createElement)("a",{target:"_blank",className:"gtmkit-text-color-primary gtmkit-whitespace-nowrap",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",rel:"noreferrer"},(0,s.__)("Read the guide","gtm-kit"))),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - eCommerce","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Tutorials","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Getting started with GTM Kit","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("WooCommerce Integration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=advanced-container-implementation&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Advanced GTM container implementation","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=settings-actions-and-filters-for-developers&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Settings, actions and filters for developers","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.dashboardUrl}},(0,s.__)("Go to the dashboard","gtm-kit"))));const Tt=[{step:1,path:"/welcome",element:"Welcome",title:(0,s.__)("Welcome","gtm-kit")},{step:2,path:"/essential-settings",element:"EssentialSettings",title:(0,s.__)("Essential Settings","gtm-kit")},{step:3,path:"/share-anonymous-data",element:"ShareAnonymousData",title:(0,s.__)("Help improve GTM Kit","gtm-kit")},{step:4,path:"/getting-started",element:"GettingStarted",title:(0,s.__)("Getting Started","gtm-kit")}];var jt=({step:t,currentStep:a,totalSteps:n})=>{if(t===n)return;let r="gtmkit-h-0.5 gtmkit-w-full";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-color-border",(0,e.createElement)("div",{className:r})},Lt=({step:t,currentStep:a})=>t<a?(0,e.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"gtmkit-w-5 gtmkit-h-5 gtmkit-text-white"},(0,e.createElement)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})):t===a?(0,e.createElement)("span",{className:"gtmkit-h-2.5 gtmkit-w-2.5 gtmkit-rounded-full gtmkit-bg-color-primary"}):void 0,Dt=({step:t,currentStep:a,totalSteps:n})=>{if(0===t)return;let r="gtmkit-transition-opacity gtmkit-duration-500 gtmkit-absolute gtmkit-inset-0 gtmkit-border-2 gtmkit-flex gtmkit-items-center gtmkit-justify-center gtmkit-rounded-full gtmkit-opacity-100";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-white",r+=t>a?" gtmkit-border-color-border":" gtmkit-border-color-primary",(0,e.createElement)(e.Fragment,null,(0,e.createElement)("span",{className:"gtmkit-relative gtmkit-shrink-0 gtmkit-z-10 gtmkit-w-8 gtmkit-h-8 gtmkit-rounded-full"},(0,e.createElement)("span",{className:r},(0,e.createElement)(Lt,{step:t,currentStep:a,totalSteps:n}))),(0,e.createElement)(jt,{step:t,currentStep:a,totalSteps:n}))},Ct=()=>{const t=Tt.length-1+Tt[0].step;let a=((t,e)=>{const a=Object.keys(e);return t.filter((function(t){for(let n=0;n<a.length;n++)if(!t.hasOwnProperty(a[n])||t[a[n]]!==e[a[n]])return!1;return!0}))})(Tt,{path:tt().pathname});return a=a.length?a[0].step:0,0===a?(0,e.createElement)("div",{className:"gtmkit-my-16"}):(0,e.createElement)("div",{className:"gtmkit-mt-6 gtmkit-inset-0 gtmkit-mx-auto gtmkit-my-6 gtmkit-flex gtmkit-items-center gtmkit-max-w-xl","aria-hidden":"true"},Tt.map((function(n){return(0,e.createElement)(Dt,{key:n.step,step:n.step,currentStep:a,totalSteps:t})})))},It=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-text-center gtmkit-px-3"},(0,e.createElement)("h1",{className:"gtmkit-mt-3 md:gtmkit-mt-8 gtmkit-mb-4 gtmkit-w-[225px] gtmkit-inline-block"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNDY3LjEgMTU4Ni40IiBoZWlnaHQ9IjU0IiB2aWV3Qm94PSIwIDAgMTYwIDU0IiB3aWR0aD0iMTYwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IGZpbGw9IiM4ODgiIGhlaWdodD0iNTQiIHJ4PSI0LjI2NSIgd2lkdGg9IjE2MCIvPjxwYXRoIGQ9Im04OC42NTkgNy4wMDJoLTQ5LjI2NmMtMi45MTUgMC01LjM3OC0uMTg0LTkuMjMgMi41OTZsLTE4Ljc0MyAxMi43NTJjLTQuNTQ5IDMuMjkyLTQuNTcxIDYuMDAxIDAgOS4zMDJsMTguNzQzIDEyLjc1MWMzLjY1MiAyLjY0NiA2LjI5OSAyLjU5NyA5LjIzIDIuNTk3aDE1LjY4NiAzMy41OGMyLjkzMS0uMDU3IDUuMzk0LTEuNzg0IDUuMzQtMy45MjN2LTMyLjIxYy0uMDEyLTIuMTM0LTIuNDA5LTMuODY1LTUuMzQtMy44NjV6IiBmaWxsPSIjMzk2OWJiIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgLTEgMTAxLjk5OTg2NyA1My45OTk1NDcpIi8+PGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoMS40NjUyMDIgMCAwIDEuNDY1MjAyIC00LjU4MjQzNiAtNy41NTMxMjYpIj48cGF0aCBkPSJtMTguMzE2IDIzLjA4Nmg0LjYzMnY2LjA1MmMtLjc1LjI0NS0xLjQ1OS40MTUtMi4xMjEuNTE0LS42NjMuMDk4LTEuMzQxLjE0OC0yLjAzMy4xNDgtMS43NjQgMC0zLjEwNi0uNTE3LTQuMDM1LTEuNTU0LS45MjktMS4wMzQtMS4zOTUtMi41MTktMS4zOTUtNC40NTcgMC0xLjg4Ni41MzgtMy4zNTYgMS42MTctNC40MSAxLjA3OC0xLjA1NCAyLjU3My0xLjU3OSA0LjQ4MS0xLjU3OSAxLjIgMCAyLjM1Ny4yMzkgMy40NjkuNzE4bC0uODIzIDEuOTc5Yy0uODUtLjQyNS0xLjczNy0uNjM3LTIuNjU3LS42MzctMS4wNzEgMC0xLjkzMi4zNTgtMi41NzIgMS4wNzctLjY0NS43MTgtLjk2OCAxLjY4NS0uOTY4IDIuODk5IDAgMS4yNjcuMjYgMi4yMzMuNzggMi45MDQuNTE2LjY2NyAxLjI3MS45OTkgMi4yNjIuOTk5LjUxNyAwIDEuMDQxLS4wNTIgMS41NzItLjE1OHYtMi40MzVoLTIuMjA5em0xMS45MTIgNi41NTVoLTIuNDc0di05LjYxNGgtMy4xNzN2LTIuMDZoOC44MTZ2Mi4wNmgtMy4xNjl6bTkuOTA4IDAtMi44MTEtOS4xNThoLS4wNzJjLjEwMyAxLjg2My4xNTQgMy4xMDUuMTU0IDMuNzI4djUuNDNoLTIuMjEzdi0xMS42NzRoMy4zNjhsMi43NjQgOC45MjdoLjA0OGwyLjkzNC04LjkyN2gzLjM2OXYxMS42NzRoLTIuMzA4di01LjUyNWMwLS4yNjEgMC0uNTYxLjAwOS0uOTAzLjAwOS0uMzQxLjA0OC0xLjI0Ni4xMTItMi43MTZoLS4wNzRsLTMuMDExIDkuMTQ0eiIvPjxwYXRoIGQ9Im04OC44ODMgMzEuODk4aC0zLjgxMWwtNC4xNDctNi42Ny0xLjQxNyAxLjAxOHY1LjY1MmgtMy4zNTd2LTE1LjgzaDMuMzU3djcuMjQybDEuMzE4LTEuODYxIDQuMjkzLTUuMzgxaDMuNzI0bC01LjUyMyA3LjAwNnptMS41ODktMTUuMjMzYzAtMS4wNzUuNi0xLjYxNCAxLjgtMS42MTQgMS4xOTkgMCAxLjc5OC41MzkgMS43OTggMS42MTQgMCAuNTEyLS4xNDguOTEtLjQ1IDEuMTk2LS4yOTcuMjg0LS43NDkuNDI5LTEuMzQ4LjQyOS0xLjIgMC0xLjgtLjU0My0xLjgtMS42MjV6bTMuNDQ5IDE1LjIzM2gtMy4zMDJ2LTEyLjEwNGgzLjMwMnptOC41NjMtMi40MTNjLjU3OCAwIDEuMjcxLS4xMjggMi4wNzctLjM4djIuNDU2Yy0uODIuMzctMS44MzEuNTUyLTMuMDMxLjU1Mi0xLjMyNCAwLTIuMjgtLjMzMy0yLjg4NS0xLjAwMS0uNjAyLS42NjctLjkwMi0xLjY2OC0uOTAyLTMuMDAzdi01LjgzNWgtMS41ODV2LTEuMzk5bDEuODIzLTEuMTAzLjk0OS0yLjU1N2gyLjExNXYyLjU3OWgzLjM4OHYyLjQ4aC0zLjM4OHY1LjgzNWMwIC40NjcuMTI5LjgxNS4zOTMgMS4wNDEuMjY0LjIyMi42MTQuMzM1IDEuMDQ2LjMzNXoiLz48L2c+PC9zdmc+",alt:(0,s.__)("GTM Kit","gtm-kit"),className:"gtmkit-w-full"}))),(0,e.createElement)(Ct,null)),Ot=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("footer",{className:"gtm-kit-settings-footer gtmkit-my-8 gtmkit-text-color-grey"},(0,e.createElement)("p",{className:"gtmkit-mx-auto gtmkit-max-w-max"},(0,e.createElement)("a",{className:"gtmkit-underline",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit")))));const At=()=>{const{useSettings:t}=(0,a.useContext)(c);return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(It,null),(0,e.createElement)("main",{className:"gtmkit-max-w-3xl gtmkit-bg-white gtmkit-border-1 gtmkit-border-color-border gtmkit-rounded-md gtmkit-mx-auto gtmkit-py-12 gtmkit-px-16 gtmkit-text-base"},(0,e.createElement)(ht,null,(0,e.createElement)(dt,{exact:!0,path:"/welcome",element:(0,e.createElement)(vt,null)}),(0,e.createElement)(dt,{exact:!0,path:"/essential-settings",element:(0,e.createElement)(_t,null)}),(0,e.createElement)(dt,{exact:!0,path:"/share-anonymous-data",element:(0,e.createElement)(bt,null)}),(0,e.createElement)(dt,{exact:!0,path:"/getting-started",element:(0,e.createElement)(wt,null)}),(0,e.createElement)(dt,{path:"/",element:(0,e.createElement)(ut,{replace:!0,to:"/welcome"})}))),(0,e.createElement)(Ot,null)):(0,e.createElement)(n.Spinner,{className:"gtm-kit-settings-page-loader"})},Ut=()=>(0,e.createElement)(Et,{basename:"/"},(0,e.createElement)(u,null,(0,e.createElement)(At,null)));document.addEventListener("DOMContentLoaded",(()=>{void 0!==document.getElementById(window.gtmkitSettings.rootId)&&null!==document.getElementById(window.gtmkitSettings.rootId)&&(0,a.render)((0,e.createElement)(Ut,null),document.getElementById(window.gtmkitSettings.rootId))}))}();
  • gtm-kit/tags/1.18/assets/integration/woocommerce.js

    r3004949 r3016305  
    1 function gtmkitLoad(){const a=window.gtmkit_settings.datalayer_name;let d;const n={"wp-block-handpicked-products":1,"wp-block-product-best-sellers":1,"wp-block-product-category":1,"wp-block-product-new":1,"wp-block-product-on-sale":1,"wp-block-products-by-attribute":1,"wp-block-product-tag":1,"wp-block-product-top-rated":1};document.querySelectorAll(".wc-block-grid .wc-block-grid__product").forEach(function(t){var e=t.closest(".wc-block-grid"),i=t.querySelector(".gtmkit_product_data");if(e&&i){var o,r=e.classList;if(r)for(const c in n)r.contains(c)&&((o=JSON.parse(i.getAttribute("data-gtmkit_product_data"))).item_list_name=window.gtmkit_settings.wc.text[c],o.index=n[c],i.setAttribute("data-gtmkit_product_data",JSON.stringify(o)),n[c]++)}});var t=document.querySelectorAll(".gtmkit_product_data");if(t.length){const i=[];let e;t.forEach(function(t){e=JSON.parse(t.getAttribute("data-gtmkit_product_data")),i.push(e)}),window[a].push({ecommerce:null}),window[a].push({event:"view_item_list",ecommerce:{items:i}})}document.addEventListener("click",function(t){t=t.target;let e;if(!t)return!0;if(t.closest(".add_to_cart_button.ajax_add_to_cart:not(.single_add_to_cart_button)"))e="add_to_cart";else{if(!t.closest(".products")&&!t.closest(".wc-block-grid__products")||!t.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list)"))return!0;e="add_to_wishlist"}t=t.closest(".product,.wc-block-grid__product"),t=t&&t.querySelector(".gtmkit_product_data");if(!t)return!0;t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));window[a].push({ecommerce:null}),window[a].push({event:e,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}})}),document.addEventListener("click",function(o){o=o.target;if(!o)return!0;let r,i=o.closest("form.cart");if(!i){let t=o.parentNode;for(;!i&&t;)i=t.querySelector("form.cart"),t=t.parentNode}if(!i)return!0;o.closest(".single_add_to_cart_button:not(.disabled,.input-needed)")?r="add_to_cart":o.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list,.disabled-add-wishlist)")&&(r="add_to_wishlist");var o=i.querySelectorAll("[name=variation_id]"),t=i.classList&&i.classList.contains("grouped_form")&&!i.classList.contains("bundle_form");if(o.length){let t=1,e;d&&(o=i.querySelector("[name=quantity]"),d.quantity=o&&o.value||1,t=d.quantity,e=d.price),(d&&"add_to_cart"===r||"add_to_wishlist"===r)&&(window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:e*t,items:[d]}}))}else if(t){o=document.querySelectorAll(".grouped_form .gtmkit_product_data");const c=[];let i=0;if(o.forEach(function(t){let e=document.querySelectorAll("input[name=quantity\\["+t.getAttribute("data-gtmkit_product_id")+"\\]]");if(e=Number(e[0].value),0===(e=isNaN(e)?0:e)&&"add_to_cart"===r)return!0;0===e&&"add_to_wishlist"===r&&(e=1);t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));t.quantity=e,c.push(t),i+=t.price*t.quantity}),0===c.length)return!0;window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:i,items:c}})}else{t=JSON.parse(i.querySelector("[name=gtmkit_product_data]")&&i.querySelector("[name=gtmkit_product_data]").value);t.quantity=i.querySelector("[name=quantity]")&&i.querySelector("[name=quantity]").value,window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price*t.quantity,items:[t]}})}}),document.addEventListener("click",function(t){var t=t.target;return!t||!t.closest(".mini_cart_item a.remove,.product-remove a.remove")||!(t=JSON.parse(t.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"remove_from_cart",ecommerce:{items:[t]}})});document.addEventListener("click",function(t){t=t.target;if(!t.closest(".products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.woocommerce-grouped-product-list-item__label a:not(.add_to_wishlist,.tinvwl_add_to_wishlist_button)"))return!0;var t=t.closest(".product,.wc-block-grid__product");let e;return!t||!(e=t.querySelector(".gtmkit_product_data"))||void 0===e.getAttribute("data-gtmkit_product_data")||!(t=JSON.parse(e.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"select_item",ecommerce:{items:[t]}})}),jQuery(document).on("found_variation",function(t,e){if(void 0!==e){t=t.target;if(t.querySelector("[name=gtmkit_product_data]")){var t=JSON.parse(t.querySelector("[name=gtmkit_product_data]")&&t.querySelector("[name=gtmkit_product_data]").value),i=(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.variation_id,window.gtmkit_settings.wc.use_sku&&e.sku&&""!==e.sku&&(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.sku),t.price=e.display_price,[]);for(const o in e.attributes)i.push(e.attributes[o]);t.item_variant=i.filter(t=>t).join("|"),d=t,0!==window.gtmkit_settings.wc.view_item.config&&(window[a].push({ecommerce:null}),window[a].push({event:"view_item",ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}}))}}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",gtmkitLoad):gtmkitLoad();
     1function gtmkitLoad(){const a=window.gtmkit_settings.datalayer_name;let d;const n={"wp-block-handpicked-products":1,"wp-block-product-best-sellers":1,"wp-block-product-category":1,"wp-block-product-new":1,"wp-block-product-on-sale":1,"wp-block-products-by-attribute":1,"wp-block-product-tag":1,"wp-block-product-top-rated":1};document.querySelectorAll(".wc-block-grid .wc-block-grid__product").forEach(function(t){var e=t.closest(".wc-block-grid"),i=t.querySelector(".gtmkit_product_data");if(e&&i){var o,r=e.classList;if(r)for(const c in n)r.contains(c)&&((o=JSON.parse(i.getAttribute("data-gtmkit_product_data"))).item_list_name=window.gtmkit_settings.wc.text[c],o.index=n[c],i.setAttribute("data-gtmkit_product_data",JSON.stringify(o)),n[c]++)}});var t=document.querySelectorAll(".gtmkit_product_data");if(t.length){const i=[];let e;t.forEach(function(t){e=JSON.parse(t.getAttribute("data-gtmkit_product_data")),i.push(e)}),window[a].push({ecommerce:null}),window[a].push({event:"view_item_list",ecommerce:{items:i}})}document.addEventListener("click",function(t){t=t.target;let e;if(!t)return!0;if(t.closest(".add_to_cart_button.ajax_add_to_cart:not(.single_add_to_cart_button)"))e="add_to_cart";else{if(!t.closest(".products")&&!t.closest(".wc-block-grid__products")||!t.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list)"))return!0;e="add_to_wishlist"}t=t.closest(".product,.wc-block-grid__product"),t=t&&t.querySelector(".gtmkit_product_data");if(!t)return!0;t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));t.quantity=1,window[a].push({ecommerce:null}),window[a].push({event:e,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}})}),document.addEventListener("click",function(o){o=o.target;if(!o)return!0;let r,i=o.closest("form.cart");if(!i){let t=o.parentNode;for(;!i&&t;)i=t.querySelector("form.cart"),t=t.parentNode}if(!i)return!0;if(o.closest(".single_add_to_cart_button:not(.disabled,.input-needed)"))r="add_to_cart";else{if(!o.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list,.disabled-add-wishlist)"))return!0;r="add_to_wishlist"}var o=i.querySelectorAll("[name=variation_id]"),t=i.classList&&i.classList.contains("grouped_form")&&!i.classList.contains("bundle_form");if(o.length){let t=1,e;d&&(o=i.querySelector("[name=quantity]"),d.quantity=o&&o.value||1,t=d.quantity,e=d.price),(d&&"add_to_cart"===r||"add_to_wishlist"===r)&&(window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:e*t,items:[d]}}))}else if(t){o=document.querySelectorAll(".grouped_form .gtmkit_product_data");const c=[];let i=0;if(o.forEach(function(t){let e=document.querySelectorAll("input[name=quantity\\["+t.getAttribute("data-gtmkit_product_id")+"\\]]");if(e=Number(e[0].value),0===(e=isNaN(e)?0:e)&&"add_to_cart"===r)return!0;0===e&&"add_to_wishlist"===r&&(e=1);t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));t.quantity=e,c.push(t),i+=t.price*t.quantity}),0===c.length)return!0;window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:i,items:c}})}else{t=JSON.parse(i.querySelector("[name=gtmkit_product_data]")&&i.querySelector("[name=gtmkit_product_data]").value);t.quantity=i.querySelector("[name=quantity]")&&i.querySelector("[name=quantity]").value,window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price*t.quantity,items:[t]}})}}),document.addEventListener("click",function(t){var t=t.target;return!t||!t.closest(".mini_cart_item a.remove,.product-remove a.remove")||!(t=JSON.parse(t.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"remove_from_cart",ecommerce:{items:[t]}})});document.addEventListener("click",function(t){t=t.target;if(!t.closest(".products .product:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.woocommerce-grouped-product-list-item__label a:not(.add_to_wishlist,.tinvwl_add_to_wishlist_button)"))return!0;var t=t.closest(".product,.wc-block-grid__product");let e;return!t||!(e=t.querySelector(".gtmkit_product_data"))||void 0===e.getAttribute("data-gtmkit_product_data")||!(t=JSON.parse(e.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"select_item",ecommerce:{items:[t]}})}),jQuery(document).on("found_variation",function(t,e){if(void 0!==e){t=t.target;if(t.querySelector("[name=gtmkit_product_data]")){var t=JSON.parse(t.querySelector("[name=gtmkit_product_data]")&&t.querySelector("[name=gtmkit_product_data]").value),i=(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.variation_id,window.gtmkit_settings.wc.use_sku&&e.sku&&""!==e.sku&&(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.sku),t.price=e.display_price,[]);for(const o in e.attributes)i.push(e.attributes[o]);t.item_variant=i.filter(t=>t).join("|"),d=t,0!==window.gtmkit_settings.wc.view_item.config&&(window[a].push({ecommerce:null}),window[a].push({event:"view_item",ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}}))}}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",gtmkitLoad):gtmkitLoad();
  • gtm-kit/tags/1.18/gtm-kit.php

    r3009201 r3016305  
    44 *
    55 * Plugin Name: GTM Kit
    6  * Version:     1.17.2
     6 * Version:     1.18
    77 * Plugin URI:  https://gtmkit.com/
    88 * Description: Google Tag Manager implementation focusing on flexibility and pagespeed.
     
    2828}
    2929
    30 const GTMKIT_VERSION = '1.17.2';
     30const GTMKIT_VERSION = '1.18';
    3131
    3232if ( ! defined( 'GTMKIT_FILE' ) ) {
  • gtm-kit/tags/1.18/languages/gtm-kit.pot

    r3009201 r3016305  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: GTM Kit 1.17.2\n"
     5"Project-Id-Version: GTM Kit 1.18\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/gtm-kit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2023-12-13T06:41:32+00:00\n"
     12"POT-Creation-Date: 2023-12-30T11:07:06+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.9.0\n"
     
    1717#. Plugin Name of the plugin
    1818#: src/Admin/MetaBox.php:64
    19 #: assets/admin/wizard.js:4500
    20 #: assets/admin/wizard.js:4407
     19#: assets/admin/wizard.js:1
    2120msgid "GTM Kit"
    2221msgstr ""
     
    4342
    4443#: inc/main.php:80
    45 #: assets/admin/settings.js:6318
    46 #: assets/admin/settings.js:6747
     44#: assets/admin/settings.js:1
    4745msgid "Settings"
    4846msgstr ""
     
    6967msgstr ""
    7068
     69#: src/Admin/AdminAPI.php:188
     70#: src/Admin/AdminAPI.php:193
     71msgid "The support ticket was not found. Please check that you have entered the correct ticket."
     72msgstr ""
     73
     74#: src/Admin/AdminAPI.php:190
     75msgid "Thank you! We have received the data."
     76msgstr ""
     77
    7178#: src/Admin/GeneralOptionsPage.php:67
    72 #: assets/admin/settings.js:5531
    73 #: assets/admin/settings.js:5609
     79#: assets/admin/settings.js:1
    7480msgid "General"
    7581msgstr ""
     
    8187#: src/Admin/HelpOptionsPage.php:44
    8288#: src/Admin/HelpOptionsPage.php:53
    83 #: assets/admin/settings.js:5677
    84 #: assets/admin/settings.js:6308
    85 #: assets/admin/settings.js:6553
    86 #: assets/admin/settings.js:5852
    87 #: assets/admin/settings.js:6739
    88 #: assets/admin/settings.js:6975
     89#: assets/admin/settings.js:1
    8990msgid "Help"
    9091msgstr ""
     
    9293#: src/Admin/IntegrationsOptionsPage.php:44
    9394#: src/Admin/IntegrationsOptionsPage.php:53
    94 #: assets/admin/settings.js:5558
    95 #: assets/admin/settings.js:5742
    96 #: assets/admin/settings.js:6307
    97 #: assets/admin/settings.js:6540
    98 #: assets/admin/settings.js:5695
    99 #: assets/admin/settings.js:5959
    100 #: assets/admin/settings.js:6738
    101 #: assets/admin/settings.js:6956
     95#: assets/admin/settings.js:1
    10296msgid "Integrations"
    10397msgstr ""
     
    108102
    109103#: src/Admin/MetaBox.php:90
    110 #: assets/admin/settings.js:5838
    111 #: assets/admin/wizard.js:4708
    112 #: assets/admin/settings.js:6072
    113 #: assets/admin/wizard.js:4655
     104#: assets/admin/settings.js:1
     105#: assets/admin/wizard.js:1
    114106msgid "Page type"
    115107msgstr ""
     
    120112msgstr ""
    121113
    122 #: src/Common/Util.php:94
     114#: src/Common/Util.php:102
    123115msgid "Server type:"
    124116msgstr ""
    125117
    126 #: src/Common/Util.php:99
     118#: src/Common/Util.php:107
    127119msgid "PHP version number:"
    128120msgstr ""
    129121
    130 #: src/Common/Util.php:104
     122#: src/Common/Util.php:112
    131123msgid "WordPress version number:"
    132124msgstr ""
    133125
    134 #: src/Common/Util.php:109
     126#: src/Common/Util.php:117
    135127msgid "WordPress multisite:"
    136128msgstr ""
    137129
    138 #: src/Common/Util.php:110
    139 #: assets/admin/wizard.js:4569
    140 #: assets/admin/wizard.js:4917
    141 #: assets/admin/wizard.js:4486
    142 #: assets/admin/wizard.js:5016
     130#: src/Common/Util.php:118
     131#: assets/admin/wizard.js:1
    143132msgid "Yes"
    144133msgstr ""
    145134
    146 #: src/Common/Util.php:110
    147 #: assets/admin/wizard.js:4577
    148 #: assets/admin/wizard.js:4917
    149 #: assets/admin/wizard.js:4499
    150 #: assets/admin/wizard.js:5017
     135#: src/Common/Util.php:118
     136#: assets/admin/wizard.js:1
    151137msgid "No"
    152138msgstr ""
    153139
    154 #: src/Common/Util.php:114
     140#: src/Common/Util.php:122
    155141msgid "Current theme:"
    156142msgstr ""
    157143
    158 #: src/Common/Util.php:119
     144#: src/Common/Util.php:127
    159145msgid "Current site language:"
    160146msgstr ""
    161147
    162 #: src/Common/Util.php:124
     148#: src/Common/Util.php:132
    163149msgid "Active plugins:"
    164150msgstr ""
    165151
    166 #: src/Common/Util.php:125
     152#: src/Common/Util.php:133
    167153msgid "Plugin name and version of all active plugins"
    168154msgstr ""
    169155
    170 #: src/Common/Util.php:129
     156#: src/Common/Util.php:137
    171157msgid "Anonymized GTM Kit settings:"
    172158msgstr ""
    173159
    174 #: src/Common/Util.php:130
     160#: src/Common/Util.php:138
    175161msgid "Which GTM Kit settings are active"
    176162msgstr ""
     
    237223msgstr ""
    238224
    239 #: assets/admin/settings.js:4343
    240 #: assets/admin/settings.js:4281
     225#: assets/admin/settings.js:1
     226#: assets/admin/wizard.js:1
     227msgid "An error occurred."
     228msgstr ""
     229
     230#: assets/admin/settings.js:1
     231#: assets/admin/wizard.js:1
     232msgid "Saved Successfully."
     233msgstr ""
     234
     235#: assets/admin/settings.js:1
     236msgid "Save"
     237msgstr ""
     238
     239#: assets/admin/settings.js:1
     240msgid "Saved"
     241msgstr ""
     242
     243#: assets/admin/settings.js:1
    241244msgid "Active"
    242245msgstr ""
    243246
    244 #: assets/admin/settings.js:4343
    245 #: assets/admin/settings.js:4281
     247#: assets/admin/settings.js:1
    246248msgid "Inactive"
    247249msgstr ""
    248250
    249 #: assets/admin/settings.js:4424
    250 #: assets/admin/settings.js:4333
    251 msgid "Save"
    252 msgstr ""
    253 
    254 #: assets/admin/settings.js:4437
    255 #: assets/admin/settings.js:4346
    256 msgid "Saved"
    257 msgstr ""
    258 
    259 #: assets/admin/settings.js:4483
    260 #: assets/admin/settings.js:4375
     251#: assets/admin/settings.js:1
     252msgid "Read article"
     253msgstr ""
     254
     255#: assets/admin/settings.js:1
     256msgid "The #1 open source eCommerce platform built for WordPress"
     257msgstr ""
     258
     259#: assets/admin/settings.js:1
     260msgid "Setup integration"
     261msgstr ""
     262
     263#: assets/admin/settings.js:1
     264msgid "Just another contact form plugin for WordPress. Simple but flexible"
     265msgstr ""
     266
     267#: assets/admin/settings.js:1
     268msgid "Easy way to sell Digital Products With WordPress"
     269msgstr ""
     270
     271#: assets/admin/settings.js:1
     272msgid "How to get the most out of Google Tag Manager with GTM Kit."
     273msgstr ""
     274
     275#: assets/admin/settings.js:1
     276msgid "WooCommerce integration"
     277msgstr ""
     278
     279#: assets/admin/settings.js:1
     280msgid "Integrate WooCommerce with Google Tag Manager and Google Analytics."
     281msgstr ""
     282
     283#: assets/admin/settings.js:1
     284msgid "Integrate Contact Form 7 with Google Tag Manager and Google Analytics."
     285msgstr ""
     286
     287#: assets/admin/settings.js:1
     288msgid "Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics."
     289msgstr ""
     290
     291#: assets/admin/settings.js:1
     292msgid "Customization of the GTM container implementation and Server Side Tracking."
     293msgstr ""
     294
     295#: assets/admin/settings.js:1
     296msgid "One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php."
     297msgstr ""
     298
     299#: assets/admin/settings.js:1
     300msgid "See all tutorials…"
     301msgstr ""
     302
     303#: assets/admin/settings.js:1
     304msgid "See all our tutorial and get the most out of GTM Kit"
     305msgstr ""
     306
     307#: assets/admin/settings.js:1
     308msgid "Read articles"
     309msgstr ""
     310
     311#: assets/admin/settings.js:1
     312msgid "Container ID:"
     313msgstr ""
     314
     315#: assets/admin/settings.js:1
     316msgid "The container is not active but the datalayer is generated."
     317msgstr ""
     318
     319#: assets/admin/settings.js:1
     320msgid "Edit container"
     321msgstr ""
     322
     323#: assets/admin/settings.js:1
     324msgid "Server-side GTM"
     325msgstr ""
     326
     327#: assets/admin/settings.js:1
     328msgid "Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility."
     329msgstr ""
     330
     331#: assets/admin/settings.js:1
     332#: assets/admin/wizard.js:1
     333msgid "Help improve GTM Kit"
     334msgstr ""
     335
     336#: assets/admin/settings.js:1
     337msgid "Share anonymous data with the development team to help improve GTM Kit."
     338msgstr ""
     339
     340#: assets/admin/settings.js:1
     341#: assets/admin/wizard.js:1
     342msgid "Share anonymous data"
     343msgstr ""
     344
     345#: assets/admin/settings.js:1
     346#: assets/admin/wizard.js:1
     347msgid "Tutorials"
     348msgstr ""
     349
     350#: assets/admin/settings.js:1
     351msgid "Google Tag Manager container"
     352msgstr ""
     353
     354#: assets/admin/settings.js:1
     355msgid "General Container Settings"
     356msgstr ""
     357
     358#: assets/admin/settings.js:1
     359#: assets/admin/wizard.js:1
     360msgid "To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container."
     361msgstr ""
     362
     363#: assets/admin/settings.js:1
     364msgid "GTM Container ID:"
     365msgstr ""
     366
     367#: assets/admin/settings.js:1
     368msgid "Enter GTM Container ID"
     369msgstr ""
     370
     371#: assets/admin/settings.js:1
     372msgid "Inject Container Code"
     373msgstr ""
     374
     375#: assets/admin/settings.js:1
     376msgid "Setting this to Off will remove the Google Tag Manager container code but the data layer will remain."
     377msgstr ""
     378
     379#: assets/admin/settings.js:1
     380msgid "Just the container"
     381msgstr ""
     382
     383#: assets/admin/settings.js:1
     384msgid "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."
     385msgstr ""
     386
     387#: assets/admin/settings.js:1
     388msgid "dataLayer variable name:"
     389msgstr ""
     390
     391#: assets/admin/settings.js:1
     392msgid "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."
     393msgstr ""
     394
     395#: assets/admin/settings.js:1
     396msgid "Server-side Tagging (sGTM)"
     397msgstr ""
     398
     399#: assets/admin/settings.js:1
     400msgid "sGTM Container Domain:"
     401msgstr ""
     402
     403#: assets/admin/settings.js:1
     404msgid "Enter domain …"
     405msgstr ""
     406
     407#: assets/admin/settings.js:1
     408msgid "Enter your custom domain name if you are using a custom server side GTM container for tracking."
     409msgstr ""
     410
     411#: assets/admin/settings.js:1
     412msgid "sGTM container identifier:"
     413msgstr ""
     414
     415#: assets/admin/settings.js:1
     416msgid "Enter loader name …"
     417msgstr ""
     418
     419#: assets/admin/settings.js:1
     420msgid "Only use if you are using a custom loader."
     421msgstr ""
     422
     423#: assets/admin/settings.js:1
     424msgid "Cookie Keeper (for Stape users only)"
     425msgstr ""
     426
     427#: assets/admin/settings.js:1
     428msgid "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."
     429msgstr ""
     430
     431#: assets/admin/settings.js:1
     432msgid "Google Tag Manager Server-side Tagging"
     433msgstr ""
     434
     435#: assets/admin/settings.js:1
     436msgid "Learn more"
     437msgstr ""
     438
     439#: assets/admin/settings.js:1
     440msgid "Hosting server-side GTM containers"
     441msgstr ""
     442
     443#: assets/admin/settings.js:1
     444msgid "Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution."
     445msgstr ""
     446
     447#: assets/admin/settings.js:1
     448msgid "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."
     449msgstr ""
     450
     451#: assets/admin/settings.js:1
     452msgid "Additionally, it provides valuable add-ons for enhanced functionality."
     453msgstr ""
     454
     455#: assets/admin/settings.js:1
     456msgid "Learn more about Stape.io"
     457msgstr ""
     458
     459#: assets/admin/settings.js:1
     460msgid "Google Tag Manager Environment"
     461msgstr ""
     462
     463#: assets/admin/settings.js:1
     464msgid "gtm_auth:"
     465msgstr ""
     466
     467#: assets/admin/settings.js:1
     468msgid "Enter gtm_auth code"
     469msgstr ""
     470
     471#: assets/admin/settings.js:1
     472msgid "Enter your gtm_auth code your GTM environment."
     473msgstr ""
     474
     475#: assets/admin/settings.js:1
     476msgid "gtm_preview:"
     477msgstr ""
     478
     479#: assets/admin/settings.js:1
     480msgid "Enter gtm_preview code"
     481msgstr ""
     482
     483#: assets/admin/settings.js:1
     484msgid "Enter your gtm_preview code your GTM environment."
     485msgstr ""
     486
     487#: assets/admin/settings.js:1
     488msgid "Environments"
     489msgstr ""
     490
     491#: assets/admin/settings.js:1
     492msgid "In Google Tag Manager you can define different environments like Live, Dev and QA."
     493msgstr ""
     494
     495#: assets/admin/settings.js:1
     496msgid "To use a specific environment in GTM Kit you must enter the \"gtm_auth\" and \"gtm_preview\" codes for that environment."
     497msgstr ""
     498
     499#: assets/admin/settings.js:1
     500msgid "If left empty the default environment will be used."
     501msgstr ""
     502
     503#: assets/admin/settings.js:1
     504msgid "Override settings in wp-config.php"
     505msgstr ""
     506
     507#: assets/admin/settings.js:1
     508msgid "You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments."
     509msgstr ""
     510
     511#: assets/admin/settings.js:1
     512msgid "Container Code Implementation"
     513msgstr ""
     514
     515#: assets/admin/settings.js:1
     516msgid "Container code implementation:"
     517msgstr ""
     518
     519#: assets/admin/settings.js:1
     520msgid "Standard implementation as recommended by Google (no delay)"
     521msgstr ""
     522
     523#: assets/admin/settings.js:1
     524msgid "Load container when browser is idle (requestIdleCallback)"
     525msgstr ""
     526
     527#: assets/admin/settings.js:1
     528msgid "Depending on how you use Google Tag Manager you can delay the loading of the container script until the browser is idle."
     529msgstr ""
     530
     531#: assets/admin/settings.js:1
     532msgid "Container code noscript implementation:"
     533msgstr ""
     534
     535#: assets/admin/settings.js:1
     536msgid "Just after the opening <body> tag"
     537msgstr ""
     538
     539#: assets/admin/settings.js:1
     540msgid "Footer of the page (not recommended by Google)"
     541msgstr ""
     542
     543#: assets/admin/settings.js:1
     544msgid "Custom (insert function in your template)"
     545msgstr ""
     546
     547#: assets/admin/settings.js:1
     548msgid "Disable <noscript> implementation"
     549msgstr ""
     550
     551#: assets/admin/settings.js:1
     552msgid "The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the \"body_open\" hook. If your theme does not support this the script can be injected in the footer or you can use the function below."
     553msgstr ""
     554
     555#: assets/admin/settings.js:1
     556msgid "Post Data"
     557msgstr ""
     558
     559#: assets/admin/settings.js:1
     560msgid "Post Data Settings"
     561msgstr ""
     562
     563#: assets/admin/settings.js:1
     564msgid "Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager."
     565msgstr ""
     566
     567#: assets/admin/settings.js:1
     568msgid "Post type"
     569msgstr ""
     570
     571#: assets/admin/settings.js:1
     572msgid "Include the type of the current post or archive page."
     573msgstr ""
     574
     575#: assets/admin/settings.js:1
     576msgid "Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. \"campaign\"."
     577msgstr ""
     578
     579#: assets/admin/settings.js:1
     580msgid "Categories"
     581msgstr ""
     582
     583#: assets/admin/settings.js:1
     584msgid "Include the categories of the current post or archive page."
     585msgstr ""
     586
     587#: assets/admin/settings.js:1
     588msgid "Tags"
     589msgstr ""
     590
     591#: assets/admin/settings.js:1
     592msgid "Include the tags of the current post or archive page."
     593msgstr ""
     594
     595#: assets/admin/settings.js:1
     596msgid "Post title"
     597msgstr ""
     598
     599#: assets/admin/settings.js:1
     600msgid "Include the Post ID of the current post."
     601msgstr ""
     602
     603#: assets/admin/settings.js:1
     604msgid "Post ID"
     605msgstr ""
     606
     607#: assets/admin/settings.js:1
     608msgid "Post data"
     609msgstr ""
     610
     611#: assets/admin/settings.js:1
     612msgid "Include the post date."
     613msgstr ""
     614
     615#: assets/admin/settings.js:1
     616msgid "Post author name"
     617msgstr ""
     618
     619#: assets/admin/settings.js:1
     620msgid "Include the post author name."
     621msgstr ""
     622
     623#: assets/admin/settings.js:1
     624msgid "Post author ID"
     625msgstr ""
     626
     627#: assets/admin/settings.js:1
     628msgid "Include the post author ID."
     629msgstr ""
     630
     631#: assets/admin/settings.js:1
     632msgid "User Data"
     633msgstr ""
     634
     635#: assets/admin/settings.js:1
     636msgid "Warning!"
     637msgstr ""
     638
     639#: assets/admin/settings.js:1
     640msgid "Including user data is not compatible with full page caching."
     641msgstr ""
     642
     643#: assets/admin/settings.js:1
     644msgid "Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users."
     645msgstr ""
     646
     647#: assets/admin/settings.js:1
     648msgid "User Data Settings"
     649msgstr ""
     650
     651#: assets/admin/settings.js:1
     652msgid "Logged in"
     653msgstr ""
     654
     655#: assets/admin/settings.js:1
     656msgid "Include whether the user is logged in."
     657msgstr ""
     658
     659#: assets/admin/settings.js:1
     660msgid "User ID"
     661msgstr ""
     662
     663#: assets/admin/settings.js:1
     664msgid "Include the user ID if the user is logged in."
     665msgstr ""
     666
     667#: assets/admin/settings.js:1
     668msgid "User role"
     669msgstr ""
     670
     671#: assets/admin/settings.js:1
     672msgid "Include the user role if the user is logged in."
     673msgstr ""
     674
     675#: assets/admin/settings.js:1
     676msgid "Google Consent Mode"
     677msgstr ""
     678
     679#: assets/admin/settings.js:1
     680msgid "Google Consent Mode Activation"
     681msgstr ""
     682
     683#: assets/admin/settings.js:1
     684msgid "Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors."
     685msgstr ""
     686
     687#: assets/admin/settings.js:1
     688msgid "You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode."
     689msgstr ""
     690
     691#: assets/admin/settings.js:1
     692msgid "GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent."
     693msgstr ""
     694
     695#: assets/admin/settings.js:1
     696msgid "See an example of how consent is updated"
     697msgstr ""
     698
     699#: assets/admin/settings.js:1
     700msgid "Activate GCM settings"
     701msgstr ""
     702
     703#: assets/admin/settings.js:1
     704msgid "Choose this option if you would like to activate the default settings below"
     705msgstr ""
     706
     707#: assets/admin/settings.js:1
     708msgid "Google Consent Mode Default Settings"
     709msgstr ""
     710
     711#: assets/admin/settings.js:1
     712msgid "Ad Personalization"
     713msgstr ""
     714
     715#: assets/admin/settings.js:1
     716msgid "Enables personalized advertising"
     717msgstr ""
     718
     719#: assets/admin/settings.js:1
     720msgid "Ad Storage"
     721msgstr ""
     722
     723#: assets/admin/settings.js:1
     724msgid "Enables storage, such as cookies, related to advertising"
     725msgstr ""
     726
     727#: assets/admin/settings.js:1
     728msgid "Ad User Data"
     729msgstr ""
     730
     731#: assets/admin/settings.js:1
     732msgid "Enables sending user data related to advertising to Google"
     733msgstr ""
     734
     735#: assets/admin/settings.js:1
     736msgid "Analytics Storage"
     737msgstr ""
     738
     739#: assets/admin/settings.js:1
     740msgid "Enables storage, such as cookies, related to analytics (for example, visit duration)"
     741msgstr ""
     742
     743#: assets/admin/settings.js:1
     744msgid "Functionality Storage"
     745msgstr ""
     746
     747#: assets/admin/settings.js:1
     748msgid "Enables storage that supports the functionality of the website or app such as language settings"
     749msgstr ""
     750
     751#: assets/admin/settings.js:1
     752msgid "Personalization Storage"
     753msgstr ""
     754
     755#: assets/admin/settings.js:1
     756msgid "Enables storage related to personalization such as video recommendations"
     757msgstr ""
     758
     759#: assets/admin/settings.js:1
     760msgid "Security Storage"
     761msgstr ""
     762
     763#: assets/admin/settings.js:1
     764msgid "Enables storage related to security such as authentication functionality, fraud prevention, and other user protection"
     765msgstr ""
     766
     767#: assets/admin/settings.js:1
     768#: assets/admin/wizard.js:1
     769msgid "GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations."
     770msgstr ""
     771
     772#: assets/admin/settings.js:1
     773#: assets/admin/wizard.js:1
     774msgid "You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:"
     775msgstr ""
     776
     777#: assets/admin/settings.js:1
     778msgid "Misc"
     779msgstr ""
     780
     781#: assets/admin/settings.js:1
     782msgid "GTM Kit will never transmit any domain names or container ID's."
     783msgstr ""
     784
     785#: assets/admin/settings.js:1
     786msgid "I agree to share anonymous data with the development team to help improve GTM Kit."
     787msgstr ""
     788
     789#: assets/admin/settings.js:1
     790msgid "Logging and debugging"
     791msgstr ""
     792
     793#: assets/admin/settings.js:1
     794msgid "Console log"
     795msgstr ""
     796
     797#: assets/admin/settings.js:1
     798msgid "Log helpful messages and warnings to the browser log."
     799msgstr ""
     800
     801#: assets/admin/settings.js:1
     802msgid "%s is not active"
     803msgstr ""
     804
     805#: assets/admin/settings.js:1
     806msgid "If you haven't installed and activated %s you must do that."
     807msgstr ""
     808
     809#: assets/admin/settings.js:1
     810msgid "Install %s"
     811msgstr ""
     812
     813#: assets/admin/settings.js:1
    261814msgid "(not set)"
    262815msgstr ""
    263816
    264 #: assets/admin/settings.js:4626
    265 #: assets/admin/settings.js:4492
     817#: assets/admin/settings.js:1
    266818msgid "%s Integration"
    267819msgstr ""
    268820
    269 #: assets/admin/settings.js:4628
    270 #: assets/admin/settings.js:4498
     821#: assets/admin/settings.js:1
    271822msgid "Track %s"
    272823msgstr ""
    273824
    274 #: assets/admin/settings.js:4629
    275 #: assets/admin/settings.js:4500
     825#: assets/admin/settings.js:1
    276826msgid "Activate the %s integration"
    277827msgstr ""
    278828
    279 #: assets/admin/settings.js:4689
    280 #: assets/admin/settings.js:4563
    281 msgid "Read article"
    282 msgstr ""
    283 
    284 #: assets/admin/settings.js:4878
    285 #: assets/admin/settings.js:4735
    286 msgid "%s is not active"
    287 msgstr ""
    288 
    289 #: assets/admin/settings.js:4882
    290 #: assets/admin/settings.js:4743
    291 msgid "If you haven't installed and activated %s you must do that."
    292 msgstr ""
    293 
    294 #: assets/admin/settings.js:4888
    295 #: assets/admin/settings.js:4758
    296 msgid "Install %s"
    297 msgstr ""
    298 
    299 #: assets/admin/settings.js:5110
    300 #: assets/admin/wizard.js:4887
    301 #: assets/admin/settings.js:4944
    302 #: assets/admin/wizard.js:4965
    303 msgid "GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations."
    304 msgstr ""
    305 
    306 #: assets/admin/settings.js:5112
    307 #: assets/admin/wizard.js:4889
    308 #: assets/admin/settings.js:4950
    309 #: assets/admin/wizard.js:4971
    310 msgid "You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:"
    311 msgstr ""
    312 
    313 #: assets/admin/settings.js:5168
    314 #: assets/admin/settings.js:4997
     829#: assets/admin/settings.js:1
     830msgid "Retail"
     831msgstr ""
     832
     833#: assets/admin/settings.js:1
     834msgid "Education"
     835msgstr ""
     836
     837#: assets/admin/settings.js:1
     838msgid "Flights"
     839msgstr ""
     840
     841#: assets/admin/settings.js:1
     842msgid "Hotel rental"
     843msgstr ""
     844
     845#: assets/admin/settings.js:1
     846msgid "Jobs"
     847msgstr ""
     848
     849#: assets/admin/settings.js:1
     850msgid "Local deals"
     851msgstr ""
     852
     853#: assets/admin/settings.js:1
     854msgid "Real estate"
     855msgstr ""
     856
     857#: assets/admin/settings.js:1
     858msgid "Travel"
     859msgstr ""
     860
     861#: assets/admin/settings.js:1
     862msgid "Custom"
     863msgstr ""
     864
     865#: assets/admin/settings.js:1
     866msgid "WooCommerce"
     867msgstr ""
     868
     869#: assets/admin/settings.js:1
     870msgid "Basic settings"
     871msgstr ""
     872
     873#: assets/admin/settings.js:1
     874msgid "Brand"
     875msgstr ""
     876
     877#: assets/admin/settings.js:1
     878msgid "Select the taxonomy that is used for product brands"
     879msgstr ""
     880
     881#: assets/admin/settings.js:1
     882msgid "Use SKU instead of ID"
     883msgstr ""
     884
     885#: assets/admin/settings.js:1
     886msgid "Use SKU instead of the product ID with fallback to ID if no SKU is set."
     887msgstr ""
     888
     889#: assets/admin/settings.js:1
     890msgid "Exclude tax"
     891msgstr ""
     892
     893#: assets/admin/settings.js:1
     894msgid "Exclude tax from prices and revenue"
     895msgstr ""
     896
     897#: assets/admin/settings.js:1
     898msgid "Exclude shipping from revenue"
     899msgstr ""
     900
     901#: assets/admin/settings.js:1
     902msgid "Include customer data"
     903msgstr ""
     904
     905#: assets/admin/settings.js:1
     906msgid "Enable this option to include customer data in the data layer on the \"purchase\" event."
     907msgstr ""
     908
     909#: assets/admin/settings.js:1
     910msgid "Event customization"
     911msgstr ""
     912
     913#: assets/admin/settings.js:1
     914msgid "Push view_item_list when the list is updated using a product filter."
     915msgstr ""
     916
     917#: assets/admin/settings.js:1
     918msgid "Only only push view_item_list once per per page for each list."
     919msgstr ""
     920
     921#: assets/admin/settings.js:1
     922msgid "Do you what to push the view_item_list event if the list is updated using a filter or just once per page view."
     923msgstr ""
     924
     925#: assets/admin/settings.js:1
     926msgid "Only push view_item on the master product"
     927msgstr ""
     928
     929#: assets/admin/settings.js:1
     930msgid "Push view_item on master and variation products (higher number of views)."
     931msgstr ""
     932
     933#: assets/admin/settings.js:1
     934msgid "Only push view_item on variation products."
     935msgstr ""
     936
     937#: assets/admin/settings.js:1
     938msgid "When do you want to fire the \"view_item\" event on variable products?"
     939msgstr ""
     940
     941#: assets/admin/settings.js:1
     942msgid "When the 'Place order' button is clicked"
     943msgstr ""
     944
     945#: assets/admin/settings.js:1
     946msgid "When a shipment method is selected with fallback to the 'Place order' button."
     947msgstr ""
     948
     949#: assets/admin/settings.js:1
     950msgid "Disable the 'add_shipment_info' event."
     951msgstr ""
     952
     953#: assets/admin/settings.js:1
     954msgid "When do you want to fire the \"add_shipment_info\" event?"
     955msgstr ""
     956
     957#: assets/admin/settings.js:1
     958msgid "When a payment method is selected with fallback to the 'Place order' button."
     959msgstr ""
     960
     961#: assets/admin/settings.js:1
     962msgid "Disable the 'add_payment_info' event."
     963msgstr ""
     964
     965#: assets/admin/settings.js:1
     966msgid "When do you want to fire the \"add_payment_info\" event?"
     967msgstr ""
     968
     969#: assets/admin/settings.js:1
     970msgid "Google Ads Settings"
     971msgstr ""
     972
     973#: assets/admin/settings.js:1
     974msgid "Google Business Vertical"
     975msgstr ""
     976
     977#: assets/admin/settings.js:1
     978msgid "In order to use Google Ads Remarketing you must select your business type (vertical)."
     979msgstr ""
     980
     981#: assets/admin/settings.js:1
     982msgid "Product ID prefix"
     983msgstr ""
     984
     985#: assets/admin/settings.js:1
     986msgid "Enter prefix …"
     987msgstr ""
     988
     989#: assets/admin/settings.js:1
     990msgid "If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer."
     991msgstr ""
     992
     993#: assets/admin/settings.js:1
     994msgid "Advanced settings"
     995msgstr ""
     996
     997#: assets/admin/settings.js:1
     998msgid "Dequeue the default JavaScript"
     999msgstr ""
     1000
     1001#: assets/admin/settings.js:1
     1002msgid "Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript."
     1003msgstr ""
     1004
     1005#: assets/admin/settings.js:1
     1006msgid "Include permalink structure"
     1007msgstr ""
     1008
     1009#: assets/admin/settings.js:1
     1010msgid "Enable this option to include the permalink structure of the product base, category base, tag base and attribute base."
     1011msgstr ""
     1012
     1013#: assets/admin/settings.js:1
     1014msgid "Include path of pages"
     1015msgstr ""
     1016
     1017#: assets/admin/settings.js:1
     1018msgid "Enable this option to include the path of cart, checkout, order received and my account page."
     1019msgstr ""
     1020
     1021#: assets/admin/settings.js:1
    3151022msgid "Contact Form 7"
    3161023msgstr ""
    3171024
    318 #: assets/admin/settings.js:5177
    319 #: assets/admin/settings.js:5423
    320 #: assets/admin/settings.js:5012
    321 #: assets/admin/settings.js:5467
     1025#: assets/admin/settings.js:1
    3221026msgid "Basic Settings"
    3231027msgstr ""
    3241028
    325 #: assets/admin/settings.js:5179
    326 #: assets/admin/settings.js:5016
     1029#: assets/admin/settings.js:1
    3271030msgid "Load JavaScript"
    3281031msgstr ""
    3291032
    330 #: assets/admin/settings.js:5181
    331 #: assets/admin/settings.js:5019
     1033#: assets/admin/settings.js:1
    3321034msgid "Only on pages where where the Contact Form 7 script is registered (recommended)."
    3331035msgstr ""
    3341036
    335 #: assets/admin/settings.js:5184
    336 #: assets/admin/settings.js:5026
     1037#: assets/admin/settings.js:1
    3371038msgid "On all pages"
    3381039msgstr ""
    3391040
    340 #: assets/admin/settings.js:5187
    341 #: assets/admin/settings.js:5030
     1041#: assets/admin/settings.js:1
    3421042msgid "Where do you want load the JavaScript?"
    3431043msgstr ""
    3441044
    345 #: assets/admin/settings.js:5234
    346 #: assets/admin/settings.js:5069
    347 msgid "Google Tag Manager container"
    348 msgstr ""
    349 
    350 #: assets/admin/settings.js:5235
    351 #: assets/admin/settings.js:5074
    352 msgid "General Container Settings"
    353 msgstr ""
    354 
    355 #: assets/admin/settings.js:5238
    356 #: assets/admin/wizard.js:5011
    357 #: assets/admin/settings.js:5078
    358 #: assets/admin/wizard.js:5131
    359 msgid "To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container."
    360 msgstr ""
    361 
    362 #: assets/admin/settings.js:5239
    363 #: assets/admin/settings.js:5085
    364 msgid "GTM Container ID:"
    365 msgstr ""
    366 
    367 #: assets/admin/settings.js:5241
    368 #: assets/admin/settings.js:5087
    369 msgid "Enter GTM Container ID"
    370 msgstr ""
    371 
    372 #: assets/admin/settings.js:5243
    373 #: assets/admin/settings.js:5094
    374 msgid "Inject Container Code"
    375 msgstr ""
    376 
    377 #: assets/admin/settings.js:5244
    378 #: assets/admin/settings.js:5095
    379 msgid "Setting this to Off will remove the Google Tag Manager container code but the data layer will remain."
    380 msgstr ""
    381 
    382 #: assets/admin/settings.js:5247
    383 #: assets/admin/settings.js:5103
    384 msgid "Just the container"
    385 msgstr ""
    386 
    387 #: assets/admin/settings.js:5248
    388 #: assets/admin/settings.js:5104
    389 msgid "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."
    390 msgstr ""
    391 
    392 #: assets/admin/settings.js:5251
    393 #: assets/admin/settings.js:5112
    394 msgid "dataLayer variable name:"
    395 msgstr ""
    396 
    397 #: assets/admin/settings.js:5254
    398 #: assets/admin/settings.js:5115
    399 msgid "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."
    400 msgstr ""
    401 
    402 #: assets/admin/settings.js:5256
    403 #: assets/admin/settings.js:5125
    404 msgid "Server-side Tagging (sGTM)"
    405 msgstr ""
    406 
    407 #: assets/admin/settings.js:5260
    408 #: assets/admin/settings.js:5132
    409 msgid "sGTM Container Domain:"
    410 msgstr ""
    411 
    412 #: assets/admin/settings.js:5262
    413 #: assets/admin/settings.js:5134
    414 msgid "Enter domain …"
    415 msgstr ""
    416 
    417 #: assets/admin/settings.js:5263
    418 #: assets/admin/settings.js:5135
    419 msgid "Enter your custom domain name if you are using a custom server side GTM container for tracking."
    420 msgstr ""
    421 
    422 #: assets/admin/settings.js:5265
    423 #: assets/admin/settings.js:5142
    424 msgid "sGTM container identifier:"
    425 msgstr ""
    426 
    427 #: assets/admin/settings.js:5267
    428 #: assets/admin/settings.js:5147
    429 msgid "Enter loader name …"
    430 msgstr ""
    431 
    432 #: assets/admin/settings.js:5268
    433 #: assets/admin/settings.js:5151
    434 msgid "Only use if you are using a custom loader."
    435 msgstr ""
    436 
    437 #: assets/admin/settings.js:5270
    438 #: assets/admin/settings.js:5158
    439 msgid "Cookie Keeper (for Stape users only)"
    440 msgstr ""
    441 
    442 #: assets/admin/settings.js:5271
    443 #: assets/admin/settings.js:5162
    444 msgid "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."
    445 msgstr ""
    446 
    447 #: assets/admin/settings.js:5280
    448 #: assets/admin/settings.js:5181
    449 msgid "Google Tag Manager Server-side Tagging"
    450 msgstr ""
    451 
    452 #: assets/admin/settings.js:5282
    453 #: assets/admin/settings.js:5544
    454 #: assets/admin/settings.js:5187
    455 #: assets/admin/settings.js:5654
    456 msgid "Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility."
    457 msgstr ""
    458 
    459 #: assets/admin/settings.js:5287
    460 #: assets/admin/settings.js:5331
    461 #: assets/admin/settings.js:5198
    462 msgid "Learn more"
    463 msgstr ""
    464 
    465 #: assets/admin/settings.js:5289
    466 #: assets/admin/settings.js:5206
    467 msgid "Hosting server-side GTM containers"
    468 msgstr ""
    469 
    470 #: assets/admin/settings.js:5291
    471 #: assets/admin/settings.js:5212
    472 msgid "Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution."
    473 msgstr ""
    474 
    475 #: assets/admin/settings.js:5293
    476 #: assets/admin/settings.js:5218
    477 msgid "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."
    478 msgstr ""
    479 
    480 #: assets/admin/settings.js:5293
    481 #: assets/admin/settings.js:5223
    482 msgid "Additionally, it provides valuable add-ons for enhanced functionality."
    483 msgstr ""
    484 
    485 #: assets/admin/settings.js:5300
    486 #: assets/admin/settings.js:5235
    487 msgid "Learn more about Stape.io"
    488 msgstr ""
    489 
    490 #: assets/admin/settings.js:5301
    491 #: assets/admin/settings.js:5248
    492 msgid "Google Tag Manager Environment"
    493 msgstr ""
    494 
    495 #: assets/admin/settings.js:5305
    496 #: assets/admin/settings.js:5255
    497 msgid "gtm_auth:"
    498 msgstr ""
    499 
    500 #: assets/admin/settings.js:5307
    501 #: assets/admin/settings.js:5257
    502 msgid "Enter gtm_auth code"
    503 msgstr ""
    504 
    505 #: assets/admin/settings.js:5308
    506 #: assets/admin/settings.js:5261
    507 msgid "Enter your gtm_auth code your GTM environment."
    508 msgstr ""
    509 
    510 #: assets/admin/settings.js:5310
    511 #: assets/admin/settings.js:5268
    512 msgid "gtm_preview:"
    513 msgstr ""
    514 
    515 #: assets/admin/settings.js:5312
    516 #: assets/admin/settings.js:5270
    517 msgid "Enter gtm_preview code"
    518 msgstr ""
    519 
    520 #: assets/admin/settings.js:5313
    521 #: assets/admin/settings.js:5274
    522 msgid "Enter your gtm_preview code your GTM environment."
    523 msgstr ""
    524 
    525 #: assets/admin/settings.js:5320
    526 #: assets/admin/settings.js:5291
    527 msgid "Environments"
    528 msgstr ""
    529 
    530 #: assets/admin/settings.js:5322
    531 #: assets/admin/settings.js:5294
    532 msgid "In Google Tag Manager you can define different environments like Live, Dev and QA."
    533 msgstr ""
    534 
    535 #: assets/admin/settings.js:5322
    536 #: assets/admin/settings.js:5299
    537 msgid "To use a specific environment in GTM Kit you must enter the \"gtm_auth\" and \"gtm_preview\" codes for that environment."
    538 msgstr ""
    539 
    540 #: assets/admin/settings.js:5322
    541 #: assets/admin/settings.js:5304
    542 msgid "If left empty the default environment will be used."
    543 msgstr ""
    544 
    545 #: assets/admin/settings.js:5324
    546 #: assets/admin/settings.js:5314
    547 msgid "Override settings in wp-config.php"
    548 msgstr ""
    549 
    550 #: assets/admin/settings.js:5326
    551 #: assets/admin/settings.js:5320
    552 msgid "You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments."
    553 msgstr ""
    554 
    555 #: assets/admin/settings.js:5332
    556 #: assets/admin/settings.js:5341
    557 msgid "Container Code Implementation"
    558 msgstr ""
    559 
    560 #: assets/admin/settings.js:5334
    561 #: assets/admin/settings.js:5345
    562 msgid "Container code implementation:"
    563 msgstr ""
    564 
    565 #: assets/admin/settings.js:5336
    566 #: assets/admin/settings.js:5351
    567 msgid "Standard implementation as recommended by Google (no delay)"
    568 msgstr ""
    569 
    570 #: assets/admin/settings.js:5339
    571 #: assets/admin/settings.js:5358
    572 msgid "Load container when browser is idle (requestIdleCallback)"
    573 msgstr ""
    574 
    575 #: assets/admin/settings.js:5342
    576 #: assets/admin/settings.js:5365
    577 msgid "Depending on how you use Google Tag Manager you can delay the loading of the container script until the browser is idle."
    578 msgstr ""
    579 
    580 #: assets/admin/settings.js:5345
    581 #: assets/admin/settings.js:5373
    582 msgid "Container code noscript implementation:"
    583 msgstr ""
    584 
    585 #: assets/admin/settings.js:5347
    586 #: assets/admin/settings.js:5379
    587 msgid "Just after the opening <body> tag"
    588 msgstr ""
    589 
    590 #: assets/admin/settings.js:5350
    591 #: assets/admin/settings.js:5386
    592 msgid "Footer of the page (not recommended by Google)"
    593 msgstr ""
    594 
    595 #: assets/admin/settings.js:5353
    596 #: assets/admin/settings.js:5393
    597 msgid "Custom (insert function in your template)"
    598 msgstr ""
    599 
    600 #: assets/admin/settings.js:5356
    601 #: assets/admin/settings.js:5400
    602 msgid "Disable <noscript> implementation"
    603 msgstr ""
    604 
    605 #: assets/admin/settings.js:5359
    606 #: assets/admin/settings.js:5407
    607 msgid "The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the \"body_open\" hook. If your theme does not support this the script can be injected in the footer or you can use the function below."
    608 msgstr ""
    609 
    610 #: assets/admin/settings.js:5414
    611 #: assets/admin/settings.js:5452
     1045#: assets/admin/settings.js:1
    6121046msgid "Easy Digital Downloads"
    6131047msgstr ""
    6141048
    615 #: assets/admin/settings.js:5425
    616 #: assets/admin/settings.js:6101
    617 #: assets/admin/settings.js:5471
    618 #: assets/admin/settings.js:6437
    619 msgid "Use SKU instead of ID"
    620 msgstr ""
    621 
    622 #: assets/admin/settings.js:5426
    623 #: assets/admin/settings.js:6102
    624 #: assets/admin/settings.js:5472
    625 #: assets/admin/settings.js:6438
    626 msgid "Use SKU instead of the product ID with fallback to ID if no SKU is set."
    627 msgstr ""
    628 
    629 #: assets/admin/settings.js:5431
    630 #: assets/admin/settings.js:6107
    631 #: assets/admin/settings.js:5482
    632 #: assets/admin/settings.js:6448
    633 msgid "Exclude tax"
    634 msgstr ""
    635 
    636 #: assets/admin/settings.js:5432
    637 #: assets/admin/settings.js:6108
    638 #: assets/admin/settings.js:5483
    639 #: assets/admin/settings.js:6449
    640 msgid "Exclude tax from prices and revenue"
    641 msgstr ""
    642 
    643 #: assets/admin/settings.js:5437
    644 #: assets/admin/settings.js:6119
    645 #: assets/admin/settings.js:5493
    646 #: assets/admin/settings.js:6473
    647 msgid "Include customer data"
    648 msgstr ""
    649 
    650 #: assets/admin/settings.js:5438
    651 #: assets/admin/settings.js:6120
    652 #: assets/admin/settings.js:5494
    653 #: assets/admin/settings.js:6474
    654 msgid "Enable this option to include customer data in the data layer on the \"purchase\" event."
    655 msgstr ""
    656 
    657 #: assets/admin/settings.js:5445
    658 #: assets/admin/settings.js:6192
    659 #: assets/admin/settings.js:5507
    660 #: assets/admin/settings.js:6623
    661 msgid "Google Ads Settings"
    662 msgstr ""
    663 
    664 #: assets/admin/settings.js:5447
    665 #: assets/admin/settings.js:6194
    666 #: assets/admin/settings.js:5511
    667 #: assets/admin/settings.js:6627
    668 msgid "Google Business Vertical"
    669 msgstr ""
    670 
    671 #: assets/admin/settings.js:5451
    672 #: assets/admin/settings.js:6198
    673 #: assets/admin/settings.js:5515
    674 #: assets/admin/settings.js:6631
    675 msgid "In order to use Google Ads Remarketing you must select your business type (vertical)."
    676 msgstr ""
    677 
    678 #: assets/admin/settings.js:5455
    679 #: assets/admin/settings.js:6202
    680 #: assets/admin/settings.js:5524
    681 #: assets/admin/settings.js:6640
    682 msgid "Product ID prefix"
    683 msgstr ""
    684 
    685 #: assets/admin/settings.js:5458
    686 #: assets/admin/settings.js:6205
    687 #: assets/admin/settings.js:5527
    688 #: assets/admin/settings.js:6643
    689 msgid "Enter prefix …"
    690 msgstr ""
    691 
    692 #: assets/admin/settings.js:5459
    693 #: assets/admin/settings.js:6206
    694 #: assets/admin/settings.js:5528
    695 #: assets/admin/settings.js:6644
    696 msgid "If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer."
    697 msgstr ""
    698 
    699 #: assets/admin/settings.js:5464
    700 #: assets/admin/settings.js:6211
    701 #: assets/admin/settings.js:5539
    702 #: assets/admin/settings.js:6655
    703 msgid "Advanced settings"
    704 msgstr ""
    705 
    706 #: assets/admin/settings.js:5466
    707 #: assets/admin/settings.js:6213
    708 #: assets/admin/settings.js:5543
    709 #: assets/admin/settings.js:6659
    710 msgid "Dequeue the default JavaScript"
    711 msgstr ""
    712 
    713 #: assets/admin/settings.js:5467
    714 #: assets/admin/settings.js:6214
    715 #: assets/admin/settings.js:5547
    716 #: assets/admin/settings.js:6663
    717 msgid "Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript."
    718 msgstr ""
    719 
    720 #: assets/admin/settings.js:5519
    721 #: assets/admin/settings.js:5589
    722 msgid "See all tutorials…"
    723 msgstr ""
    724 
    725 #: assets/admin/settings.js:5520
    726 #: assets/admin/settings.js:5591
    727 msgid "See all our tutorial and get the most out of GTM Kit"
    728 msgstr ""
    729 
    730 #: assets/admin/settings.js:5524
    731 #: assets/admin/settings.js:5599
    732 msgid "Read articles"
    733 msgstr ""
    734 
    735 #: assets/admin/settings.js:5537
    736 #: assets/admin/settings.js:5628
    737 msgid "Container ID:"
    738 msgstr ""
    739 
    740 #: assets/admin/settings.js:5537
    741 #: assets/admin/settings.js:5633
    742 msgid "The container is not active but the datalayer is generated."
    743 msgstr ""
    744 
    745 #: assets/admin/settings.js:5539
    746 #: assets/admin/settings.js:5546
    747 #: assets/admin/settings.js:5642
    748 #: assets/admin/settings.js:5662
    749 msgid "Edit container"
    750 msgstr ""
    751 
    752 #: assets/admin/settings.js:5541
    753 #: assets/admin/settings.js:5648
    754 msgid "Server-side GTM"
    755 msgstr ""
    756 
    757 #: assets/admin/settings.js:5548
    758 #: assets/admin/settings.js:5785
    759 #: assets/admin/wizard.js:4885
    760 #: assets/admin/wizard.js:5139
    761 #: assets/admin/settings.js:5668
    762 #: assets/admin/settings.js:5991
    763 #: assets/admin/wizard.js:4962
    764 #: assets/admin/wizard.js:5257
    765 msgid "Help improve GTM Kit"
    766 msgstr ""
    767 
    768 #: assets/admin/settings.js:5551
    769 #: assets/admin/settings.js:5676
    770 msgid "Share anonymous data with the development team to help improve GTM Kit."
    771 msgstr ""
    772 
    773 #: assets/admin/settings.js:5553
    774 #: assets/admin/settings.js:5789
    775 #: assets/admin/wizard.js:4940
    776 #: assets/admin/settings.js:5684
    777 #: assets/admin/settings.js:6004
    778 #: assets/admin/wizard.js:5062
    779 msgid "Share anonymous data"
    780 msgstr ""
    781 
    782 #: assets/admin/settings.js:5555
    783 #: assets/admin/settings.js:5699
    784 #: assets/admin/wizard.js:4816
    785 #: assets/admin/settings.js:5690
    786 #: assets/admin/settings.js:5912
    787 #: assets/admin/wizard.js:4868
    788 msgid "Tutorials"
    789 msgstr ""
    790 
    791 #: assets/admin/settings.js:5599
    792 #: assets/admin/settings.js:6533
    793 #: assets/admin/settings.js:5720
    794 #: assets/admin/settings.js:6945
    795 msgid "Google Consent Mode"
    796 msgstr ""
    797 
    798 #: assets/admin/settings.js:5600
    799 #: assets/admin/settings.js:5725
    800 msgid "Google Consent Mode Activation"
    801 msgstr ""
    802 
    803 #: assets/admin/settings.js:5603
    804 #: assets/admin/settings.js:6008
    805 #: assets/admin/settings.js:5728
    806 #: assets/admin/settings.js:6319
    807 msgid "Warning!"
    808 msgstr ""
    809 
    810 #: assets/admin/settings.js:5605
    811 #: assets/admin/settings.js:5733
    812 msgid "Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors."
    813 msgstr ""
    814 
    815 #: assets/admin/settings.js:5605
    816 #: assets/admin/settings.js:5739
    817 msgid "You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode."
    818 msgstr ""
    819 
    820 #: assets/admin/settings.js:5607
    821 #: assets/admin/settings.js:5745
    822 msgid "GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent."
    823 msgstr ""
    824 
    825 #: assets/admin/settings.js:5614
    826 #: assets/admin/settings.js:5759
    827 msgid "See an example of how consent is updated"
    828 msgstr ""
    829 
    830 #: assets/admin/settings.js:5615
    831 #: assets/admin/settings.js:5766
    832 msgid "Activate GCM settings"
    833 msgstr ""
    834 
    835 #: assets/admin/settings.js:5616
    836 #: assets/admin/settings.js:5767
    837 msgid "Choose this option if you would like to activate the default settings below"
    838 msgstr ""
    839 
    840 #: assets/admin/settings.js:5621
    841 #: assets/admin/settings.js:5778
    842 msgid "Google Consent Mode Default Settings"
    843 msgstr ""
    844 
    845 #: assets/admin/settings.js:5623
    846 #: assets/admin/settings.js:5785
    847 msgid "Ad Storage"
    848 msgstr ""
    849 
    850 #: assets/admin/settings.js:5624
    851 #: assets/admin/settings.js:5786
    852 msgid "Enables storage, such as cookies, related to advertising"
    853 msgstr ""
    854 
    855 #: assets/admin/settings.js:5628
    856 #: assets/admin/settings.js:5795
    857 msgid "Analytics Storage"
    858 msgstr ""
    859 
    860 #: assets/admin/settings.js:5629
    861 #: assets/admin/settings.js:5796
    862 msgid "Enables storage, such as cookies, related to analytics (for example, visit duration)"
    863 msgstr ""
    864 
    865 #: assets/admin/settings.js:5633
    866 #: assets/admin/settings.js:5805
    867 msgid "Functionality Storage"
    868 msgstr ""
    869 
    870 #: assets/admin/settings.js:5634
    871 #: assets/admin/settings.js:5806
    872 msgid "Enables storage that supports the functionality of the website or app such as language settings"
    873 msgstr ""
    874 
    875 #: assets/admin/settings.js:5638
    876 #: assets/admin/settings.js:5815
    877 msgid "Personalization Storage"
    878 msgstr ""
    879 
    880 #: assets/admin/settings.js:5639
    881 #: assets/admin/settings.js:5816
    882 msgid "Enables storage related to personalization such as video recommendations"
    883 msgstr ""
    884 
    885 #: assets/admin/settings.js:5643
    886 #: assets/admin/settings.js:5825
    887 msgid "Security Storage"
    888 msgstr ""
    889 
    890 #: assets/admin/settings.js:5644
    891 #: assets/admin/settings.js:5826
    892 msgid "Enables storage related to security such as authentication functionality, fraud prevention, and other user protection"
    893 msgstr ""
    894 
    895 #: assets/admin/settings.js:5678
    896 #: assets/admin/wizard.js:4795
    897 #: assets/admin/settings.js:5857
    898 #: assets/admin/wizard.js:4821
     1049#: assets/admin/settings.js:1
     1050#: assets/admin/wizard.js:1
    8991051msgid "Google Tag Manager templates"
    9001052msgstr ""
    9011053
    902 #: assets/admin/settings.js:5681
    903 #: assets/admin/wizard.js:4791
    904 #: assets/admin/settings.js:5861
    905 #: assets/admin/wizard.js:4812
     1054#: assets/admin/settings.js:1
     1055#: assets/admin/wizard.js:1
    9061056msgid "Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4."
    9071057msgstr ""
    9081058
    909 #: assets/admin/settings.js:5681
    910 #: assets/admin/wizard.js:4797
    911 #: assets/admin/settings.js:5865
    912 #: assets/admin/wizard.js:4824
     1059#: assets/admin/settings.js:1
     1060#: assets/admin/wizard.js:1
    9131061msgid "Please read the guide on how to use the import files and configure GTM."
    9141062msgstr ""
    9151063
    916 #: assets/admin/settings.js:5684
    917 #: assets/admin/settings.js:5873
     1064#: assets/admin/settings.js:1
    9181065msgid "Read guide"
    9191066msgstr ""
    9201067
    921 #: assets/admin/settings.js:5686
    922 #: assets/admin/settings.js:5877
     1068#: assets/admin/settings.js:1
    9231069msgid "GTM container import files:"
    9241070msgstr ""
    9251071
    926 #: assets/admin/settings.js:5693
    927 #: assets/admin/wizard.js:4808
    928 #: assets/admin/settings.js:5888
    929 #: assets/admin/wizard.js:4845
     1072#: assets/admin/settings.js:1
     1073#: assets/admin/wizard.js:1
    9301074msgid "Google Analytics 4 - Basic Configuration"
    9311075msgstr ""
    9321076
    933 #: assets/admin/settings.js:5698
    934 #: assets/admin/wizard.js:4812
    935 #: assets/admin/settings.js:5901
    936 #: assets/admin/wizard.js:4857
     1077#: assets/admin/settings.js:1
     1078#: assets/admin/wizard.js:1
    9371079msgid "Google Analytics 4 - eCommerce"
    9381080msgstr ""
    9391081
    940 #: assets/admin/settings.js:5784
    941 #: assets/admin/settings.js:6536
    942 #: assets/admin/settings.js:5986
    943 #: assets/admin/settings.js:6949
    944 msgid "Misc"
    945 msgstr ""
    946 
    947 #: assets/admin/settings.js:5788
    948 #: assets/admin/settings.js:5997
    949 msgid "GTM Kit will never transmit any domain names or container ID's."
    950 msgstr ""
    951 
    952 #: assets/admin/settings.js:5790
    953 #: assets/admin/settings.js:6005
    954 msgid "I agree to share anonymous data with the development team to help improve GTM Kit."
    955 msgstr ""
    956 
    957 #: assets/admin/settings.js:5793
    958 #: assets/admin/settings.js:6016
    959 msgid "Logging and debugging"
    960 msgstr ""
    961 
    962 #: assets/admin/settings.js:5795
    963 #: assets/admin/settings.js:6020
    964 msgid "Console log"
    965 msgstr ""
    966 
    967 #: assets/admin/settings.js:5796
    968 #: assets/admin/settings.js:6021
    969 msgid "Log helpful messages and warnings to the browser log."
    970 msgstr ""
    971 
    972 #: assets/admin/settings.js:5828
    973 #: assets/admin/settings.js:6046
    974 msgid "Post Data"
    975 msgstr ""
    976 
    977 #: assets/admin/settings.js:5829
    978 #: assets/admin/settings.js:6051
    979 msgid "Post Data Settings"
    980 msgstr ""
    981 
    982 #: assets/admin/settings.js:5832
    983 #: assets/admin/settings.js:6055
    984 msgid "Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager."
    985 msgstr ""
    986 
    987 #: assets/admin/settings.js:5833
    988 #: assets/admin/settings.js:6062
    989 msgid "Post type"
    990 msgstr ""
    991 
    992 #: assets/admin/settings.js:5835
    993 #: assets/admin/settings.js:6064
    994 msgid "Include the type of the current post or archive page."
    995 msgstr ""
    996 
    997 #: assets/admin/settings.js:5840
    998 #: assets/admin/settings.js:6074
    999 msgid "Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. \"campaign\"."
    1000 msgstr ""
    1001 
    1002 #: assets/admin/settings.js:5843
    1003 #: assets/admin/settings.js:6082
    1004 msgid "Categories"
    1005 msgstr ""
    1006 
    1007 #: assets/admin/settings.js:5845
    1008 #: assets/admin/settings.js:6084
    1009 msgid "Include the categories of the current post or archive page."
    1010 msgstr ""
    1011 
    1012 #: assets/admin/settings.js:5848
    1013 #: assets/admin/settings.js:6092
    1014 msgid "Tags"
    1015 msgstr ""
    1016 
    1017 #: assets/admin/settings.js:5850
    1018 #: assets/admin/settings.js:6094
    1019 msgid "Include the tags of the current post or archive page."
    1020 msgstr ""
    1021 
    1022 #: assets/admin/settings.js:5853
    1023 #: assets/admin/settings.js:6102
    1024 msgid "Post title"
    1025 msgstr ""
    1026 
    1027 #: assets/admin/settings.js:5855
    1028 #: assets/admin/settings.js:5860
    1029 #: assets/admin/settings.js:6104
    1030 #: assets/admin/settings.js:6114
    1031 msgid "Include the Post ID of the current post."
    1032 msgstr ""
    1033 
    1034 #: assets/admin/settings.js:5858
    1035 #: assets/admin/settings.js:6112
    1036 msgid "Post ID"
    1037 msgstr ""
    1038 
    1039 #: assets/admin/settings.js:5863
    1040 #: assets/admin/settings.js:6527
    1041 #: assets/admin/settings.js:6122
    1042 #: assets/admin/settings.js:6937
    1043 msgid "Post data"
    1044 msgstr ""
    1045 
    1046 #: assets/admin/settings.js:5865
    1047 #: assets/admin/settings.js:6124
    1048 msgid "Include the post date."
    1049 msgstr ""
    1050 
    1051 #: assets/admin/settings.js:5868
    1052 #: assets/admin/settings.js:6129
    1053 msgid "Post author name"
    1054 msgstr ""
    1055 
    1056 #: assets/admin/settings.js:5870
    1057 #: assets/admin/settings.js:6131
    1058 msgid "Include the post author name."
    1059 msgstr ""
    1060 
    1061 #: assets/admin/settings.js:5873
    1062 #: assets/admin/settings.js:6139
    1063 msgid "Post author ID"
    1064 msgstr ""
    1065 
    1066 #: assets/admin/settings.js:5875
    1067 #: assets/admin/settings.js:6141
    1068 msgid "Include the post author ID."
    1069 msgstr ""
    1070 
    1071 #: assets/admin/settings.js:5925
    1072 #: assets/admin/settings.js:6170
     1082#: assets/admin/settings.js:1
    10731083msgid "Get support"
    10741084msgstr ""
    10751085
    1076 #: assets/admin/settings.js:5926
    1077 #: assets/admin/settings.js:6175
     1086#: assets/admin/settings.js:1
    10781087msgid "Support options"
    10791088msgstr ""
    10801089
    1081 #: assets/admin/settings.js:5933
    1082 #: assets/admin/settings.js:6185
     1090#: assets/admin/settings.js:1
    10831091msgid "WordPress.org Support Forum"
    10841092msgstr ""
    10851093
    1086 #: assets/admin/settings.js:5937
    1087 #: assets/admin/settings.js:6197
     1094#: assets/admin/settings.js:1
    10881095msgid "GITHub repository"
    10891096msgstr ""
    10901097
    1091 #: assets/admin/settings.js:5941
    1092 #: assets/admin/settings.js:6206
     1098#: assets/admin/settings.js:1
    10931099msgid "Plugin Homepage"
    10941100msgstr ""
    10951101
    1096 #: assets/admin/settings.js:5942
    1097 #: assets/admin/settings.js:6216
     1102#: assets/admin/settings.js:1
    10981103msgid "Share system data with the GTM Kit support team"
    10991104msgstr ""
    11001105
    1101 #: assets/admin/settings.js:5947
    1102 #: assets/admin/settings.js:6226
     1106#: assets/admin/settings.js:1
    11031107msgid "If the GTM Kit support team has asked you to send your system data you can do so by entering the support ticket below:"
    11041108msgstr ""
    11051109
    1106 #: assets/admin/settings.js:5951
    1107 #: assets/admin/settings.js:6234
     1110#: assets/admin/settings.js:1
    11081111msgid "Enter support ticket"
    11091112msgstr ""
    11101113
    1111 #: assets/admin/settings.js:5962
    1112 #: assets/admin/settings.js:6251
     1114#: assets/admin/settings.js:1
    11131115msgid "Send system data"
    11141116msgstr ""
    11151117
    1116 #: assets/admin/settings.js:5963
    1117 #: assets/admin/settings.js:6262
     1118#: assets/admin/settings.js:1
    11181119msgid "About GTM Kit"
    11191120msgstr ""
    11201121
    1121 #: assets/admin/settings.js:5967
    1122 #: assets/admin/settings.js:6266
     1122#: assets/admin/settings.js:1
    11231123msgid "Version:"
    11241124msgstr ""
    11251125
    1126 #: assets/admin/settings.js:5967
    1127 #: assets/admin/settings.js:6272
     1126#: assets/admin/settings.js:1
    11281127msgid "Learn about changes and follow the development of GTM Kit:"
    11291128msgstr ""
    11301129
    1131 #: assets/admin/settings.js:5972
    1132 #: assets/admin/settings.js:6283
     1130#: assets/admin/settings.js:1
    11331131msgid "The changelog"
    11341132msgstr ""
    11351133
    1136 #: assets/admin/settings.js:5977
    1137 #: assets/admin/settings.js:6292
     1134#: assets/admin/settings.js:1
    11381135msgid "The Github repository"
    11391136msgstr ""
    11401137
    1141 #: assets/admin/settings.js:6007
    1142 #: assets/admin/settings.js:6314
    1143 msgid "User Data"
    1144 msgstr ""
    1145 
    1146 #: assets/admin/settings.js:6012
    1147 #: assets/admin/settings.js:6324
    1148 msgid "Including user data is not compatible with full page caching."
    1149 msgstr ""
    1150 
    1151 #: assets/admin/settings.js:6012
    1152 #: assets/admin/settings.js:6330
    1153 msgid "Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users."
    1154 msgstr ""
    1155 
    1156 #: assets/admin/settings.js:6013
    1157 #: assets/admin/settings.js:6340
    1158 msgid "User Data Settings"
    1159 msgstr ""
    1160 
    1161 #: assets/admin/settings.js:6015
    1162 #: assets/admin/settings.js:6344
    1163 msgid "Logged in"
    1164 msgstr ""
    1165 
    1166 #: assets/admin/settings.js:6017
    1167 #: assets/admin/settings.js:6346
    1168 msgid "Include whether the user is logged in."
    1169 msgstr ""
    1170 
    1171 #: assets/admin/settings.js:6020
    1172 #: assets/admin/settings.js:6354
    1173 msgid "User ID"
    1174 msgstr ""
    1175 
    1176 #: assets/admin/settings.js:6022
    1177 #: assets/admin/settings.js:6356
    1178 msgid "Include the user ID if the user is logged in."
    1179 msgstr ""
    1180 
    1181 #: assets/admin/settings.js:6025
    1182 #: assets/admin/settings.js:6364
    1183 msgid "User role"
    1184 msgstr ""
    1185 
    1186 #: assets/admin/settings.js:6027
    1187 #: assets/admin/settings.js:6366
    1188 msgid "Include the user role if the user is logged in."
    1189 msgstr ""
    1190 
    1191 #: assets/admin/settings.js:6082
    1192 #: assets/admin/settings.js:6405
    1193 msgid "WooCommerce"
    1194 msgstr ""
    1195 
    1196 #: assets/admin/settings.js:6091
    1197 #: assets/admin/settings.js:6420
    1198 msgid "Basic settings"
    1199 msgstr ""
    1200 
    1201 #: assets/admin/settings.js:6093
    1202 #: assets/admin/settings.js:6424
    1203 msgid "Brand"
    1204 msgstr ""
    1205 
    1206 #: assets/admin/settings.js:6097
    1207 #: assets/admin/settings.js:6428
    1208 msgid "Select the taxonomy that is used for product brands"
    1209 msgstr ""
    1210 
    1211 #: assets/admin/settings.js:6113
    1212 #: assets/admin/settings.js:6114
    1213 #: assets/admin/settings.js:6459
    1214 #: assets/admin/settings.js:6463
    1215 msgid "Exclude shipping from revenue"
    1216 msgstr ""
    1217 
    1218 #: assets/admin/settings.js:6127
    1219 #: assets/admin/settings.js:6487
    1220 msgid "Event customization"
    1221 msgstr ""
    1222 
    1223 #: assets/admin/settings.js:6131
    1224 #: assets/admin/settings.js:6494
    1225 msgid "Push view_item_list when the list is updated using a product filter."
    1226 msgstr ""
    1227 
    1228 #: assets/admin/settings.js:6134
    1229 #: assets/admin/settings.js:6501
    1230 msgid "Only only push view_item_list once per per page for each list."
    1231 msgstr ""
    1232 
    1233 #: assets/admin/settings.js:6137
    1234 #: assets/admin/settings.js:6508
    1235 msgid "Do you what to push the view_item_list event if the list is updated using a filter or just once per page view."
    1236 msgstr ""
    1237 
    1238 #: assets/admin/settings.js:6144
    1239 #: assets/admin/settings.js:6521
    1240 msgid "Only push view_item on the master product"
    1241 msgstr ""
    1242 
    1243 #: assets/admin/settings.js:6147
    1244 #: assets/admin/settings.js:6528
    1245 msgid "Push view_item on master and variation products (higher number of views)."
    1246 msgstr ""
    1247 
    1248 #: assets/admin/settings.js:6150
    1249 #: assets/admin/settings.js:6535
    1250 msgid "Only push view_item on variation products."
    1251 msgstr ""
    1252 
    1253 #: assets/admin/settings.js:6153
    1254 #: assets/admin/settings.js:6542
    1255 msgid "When do you want to fire the \"view_item\" event on variable products?"
    1256 msgstr ""
    1257 
    1258 #: assets/admin/settings.js:6160
    1259 #: assets/admin/settings.js:6176
    1260 #: assets/admin/settings.js:6555
    1261 #: assets/admin/settings.js:6589
    1262 msgid "When the 'Place order' button is clicked"
    1263 msgstr ""
    1264 
    1265 #: assets/admin/settings.js:6163
    1266 #: assets/admin/settings.js:6562
    1267 msgid "When a shipment method is selected with fallback to the 'Place order' button."
    1268 msgstr ""
    1269 
    1270 #: assets/admin/settings.js:6166
    1271 #: assets/admin/settings.js:6569
    1272 msgid "Disable the 'add_shipment_info' event."
    1273 msgstr ""
    1274 
    1275 #: assets/admin/settings.js:6169
    1276 #: assets/admin/settings.js:6576
    1277 msgid "When do you want to fire the \"add_shipment_info\" event?"
    1278 msgstr ""
    1279 
    1280 #: assets/admin/settings.js:6179
    1281 #: assets/admin/settings.js:6596
    1282 msgid "When a payment method is selected with fallback to the 'Place order' button."
    1283 msgstr ""
    1284 
    1285 #: assets/admin/settings.js:6182
    1286 #: assets/admin/settings.js:6603
    1287 msgid "Disable the 'add_payment_info' event."
    1288 msgstr ""
    1289 
    1290 #: assets/admin/settings.js:6185
    1291 #: assets/admin/settings.js:6610
    1292 msgid "When do you want to fire the \"add_payment_info\" event?"
    1293 msgstr ""
    1294 
    1295 #: assets/admin/settings.js:6219
    1296 #: assets/admin/settings.js:6673
    1297 msgid "Include permalink structure"
    1298 msgstr ""
    1299 
    1300 #: assets/admin/settings.js:6220
    1301 #: assets/admin/settings.js:6674
    1302 msgid "Enable this option to include the permalink structure of the product base, category base, tag base and attribute base."
    1303 msgstr ""
    1304 
    1305 #: assets/admin/settings.js:6225
    1306 #: assets/admin/settings.js:6684
    1307 msgid "Include path of pages"
    1308 msgstr ""
    1309 
    1310 #: assets/admin/settings.js:6226
    1311 #: assets/admin/settings.js:6685
    1312 msgid "Enable this option to include the path of cart, checkout, order received and my account page."
    1313 msgstr ""
    1314 
    1315 #: assets/admin/settings.js:6416
    1316 #: assets/admin/settings.js:6828
    1317 msgid "Retail"
    1318 msgstr ""
    1319 
    1320 #: assets/admin/settings.js:6419
    1321 #: assets/admin/settings.js:6832
    1322 msgid "Education"
    1323 msgstr ""
    1324 
    1325 #: assets/admin/settings.js:6422
    1326 #: assets/admin/settings.js:6836
    1327 msgid "Flights"
    1328 msgstr ""
    1329 
    1330 #: assets/admin/settings.js:6425
    1331 #: assets/admin/settings.js:6840
    1332 msgid "Hotel rental"
    1333 msgstr ""
    1334 
    1335 #: assets/admin/settings.js:6428
    1336 #: assets/admin/settings.js:6844
    1337 msgid "Jobs"
    1338 msgstr ""
    1339 
    1340 #: assets/admin/settings.js:6431
    1341 #: assets/admin/settings.js:6848
    1342 msgid "Local deals"
    1343 msgstr ""
    1344 
    1345 #: assets/admin/settings.js:6434
    1346 #: assets/admin/settings.js:6852
    1347 msgid "Real estate"
    1348 msgstr ""
    1349 
    1350 #: assets/admin/settings.js:6437
    1351 #: assets/admin/settings.js:6856
    1352 msgid "Travel"
    1353 msgstr ""
    1354 
    1355 #: assets/admin/settings.js:6440
    1356 #: assets/admin/settings.js:6860
    1357 msgid "Custom"
    1358 msgstr ""
    1359 
    1360 #: assets/admin/settings.js:6466
    1361 #: assets/admin/settings.js:6875
    1362 msgid "The #1 open source eCommerce platform built for WordPress"
    1363 msgstr ""
    1364 
    1365 #: assets/admin/settings.js:6471
    1366 #: assets/admin/settings.js:6483
    1367 #: assets/admin/settings.js:6495
    1368 #: assets/admin/settings.js:6884
    1369 #: assets/admin/settings.js:6902
    1370 #: assets/admin/settings.js:6917
    1371 msgid "Setup integration"
    1372 msgstr ""
    1373 
    1374 #: assets/admin/settings.js:6478
    1375 #: assets/admin/settings.js:6893
    1376 msgid "Just another contact form plugin for WordPress. Simple but flexible"
    1377 msgstr ""
    1378 
    1379 #: assets/admin/settings.js:6490
    1380 #: assets/admin/settings.js:6911
    1381 msgid "Easy way to sell Digital Products With WordPress"
    1382 msgstr ""
    1383 
    1384 #: assets/admin/settings.js:6521
    1385 #: assets/admin/settings.js:6929
     1138#: assets/admin/settings.js:1
    13861139msgid "Dashboard"
    13871140msgstr ""
    13881141
    1389 #: assets/admin/settings.js:6524
    1390 #: assets/admin/settings.js:6933
     1142#: assets/admin/settings.js:1
    13911143msgid "Container"
    13921144msgstr ""
    13931145
    1394 #: assets/admin/settings.js:6530
    1395 #: assets/admin/settings.js:6941
     1146#: assets/admin/settings.js:1
    13961147msgid "User data"
    13971148msgstr ""
    13981149
    1399 #: assets/admin/settings.js:6556
    1400 #: assets/admin/settings.js:6979
     1150#: assets/admin/settings.js:1
    14011151msgid "Support"
    14021152msgstr ""
    14031153
    1404 #: assets/admin/settings.js:6588
    1405 #: assets/admin/settings.js:7004
    1406 msgid "How to get the most out of Google Tag Manager with GTM Kit."
    1407 msgstr ""
    1408 
    1409 #: assets/admin/settings.js:6595
    1410 #: assets/admin/settings.js:7016
    1411 msgid "WooCommerce integration"
    1412 msgstr ""
    1413 
    1414 #: assets/admin/settings.js:6596
    1415 #: assets/admin/settings.js:7018
    1416 msgid "Integrate WooCommerce with Google Tag Manager and Google Analytics."
    1417 msgstr ""
    1418 
    1419 #: assets/admin/settings.js:6604
    1420 #: assets/admin/settings.js:7032
    1421 msgid "Integrate Contact Form 7 with Google Tag Manager and Google Analytics."
    1422 msgstr ""
    1423 
    1424 #: assets/admin/settings.js:6612
    1425 #: assets/admin/settings.js:7046
    1426 msgid "Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics."
    1427 msgstr ""
    1428 
    1429 #: assets/admin/settings.js:6620
    1430 #: assets/admin/settings.js:7060
    1431 msgid "Customization of the GTM container implementation and Server Side Tracking."
    1432 msgstr ""
    1433 
    1434 #: assets/admin/settings.js:6628
    1435 #: assets/admin/settings.js:7074
    1436 msgid "One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php."
    1437 msgstr ""
    1438 
    1439 #: assets/admin/settings.js:6943
    1440 #: assets/admin/settings.js:6955
    1441 #: assets/admin/wizard.js:5451
    1442 #: assets/admin/wizard.js:5463
    1443 #: assets/admin/settings.js:7380
    1444 #: assets/admin/settings.js:7392
    1445 #: assets/admin/wizard.js:5560
    1446 #: assets/admin/wizard.js:5572
    1447 msgid "An error occurred."
    1448 msgstr ""
    1449 
    1450 #: assets/admin/settings.js:6955
    1451 #: assets/admin/wizard.js:5463
    1452 #: assets/admin/settings.js:7392
    1453 #: assets/admin/wizard.js:5572
    1454 msgid "Saved Successfully."
    1455 msgstr ""
    1456 
    1457 #: assets/admin/wizard.js:4469
    1458 #: assets/admin/wizard.js:4656
    1459 #: assets/admin/wizard.js:4384
    1460 #: assets/admin/wizard.js:4604
     1154#: assets/admin/wizard.js:1
     1155msgid "Container ID"
     1156msgstr ""
     1157
     1158#: assets/admin/wizard.js:1
     1159msgid "Enter Container ID"
     1160msgstr ""
     1161
     1162#: assets/admin/wizard.js:1
     1163msgid "Save and continue"
     1164msgstr ""
     1165
     1166#: assets/admin/wizard.js:1
     1167msgid "Find your GTM container ID on"
     1168msgstr ""
     1169
     1170#: assets/admin/wizard.js:1
     1171msgid "It should look something like this:"
     1172msgstr ""
     1173
     1174#: assets/admin/wizard.js:1
     1175msgid "No thanks. I know what I'm doing."
     1176msgstr ""
     1177
     1178#: assets/admin/wizard.js:1
    14611179msgid "Go to the dashboard."
    14621180msgstr ""
    14631181
    1464 #: assets/admin/wizard.js:4551
    1465 #: assets/admin/wizard.js:4447
     1182#: assets/admin/wizard.js:1
    14661183msgid "Would you like to import plugin settings?"
    14671184msgstr ""
    14681185
    1469 #: assets/admin/wizard.js:4553
    1470 #: assets/admin/wizard.js:4453
     1186#: assets/admin/wizard.js:1
    14711187msgid "We have found the configuration of other plugins in the database."
    14721188msgstr ""
    14731189
    1474 #: assets/admin/wizard.js:4553
    1475 #: assets/admin/wizard.js:4458
     1190#: assets/admin/wizard.js:1
    14761191msgid "Would you like to import your settings to GTM Kit?"
    14771192msgstr ""
    14781193
    1479 #: assets/admin/wizard.js:4554
    1480 #: assets/admin/wizard.js:4464
     1194#: assets/admin/wizard.js:1
    14811195msgid "Select the plugin you want to import settings from."
    14821196msgstr ""
    14831197
    1484 #: assets/admin/wizard.js:4621
    1485 #: assets/admin/wizard.js:4534
    1486 msgid "Container ID"
    1487 msgstr ""
    1488 
    1489 #: assets/admin/wizard.js:4622
    1490 #: assets/admin/wizard.js:4535
    1491 msgid "Enter Container ID"
    1492 msgstr ""
    1493 
    1494 #: assets/admin/wizard.js:4638
    1495 #: assets/admin/wizard.js:4761
    1496 #: assets/admin/wizard.js:4960
    1497 #: assets/admin/wizard.js:4566
    1498 #: assets/admin/wizard.js:4785
    1499 #: assets/admin/wizard.js:5097
    1500 msgid "Save and continue"
    1501 msgstr ""
    1502 
    1503 #: assets/admin/wizard.js:4644
    1504 #: assets/admin/wizard.js:4576
    1505 msgid "Find your GTM container ID on"
    1506 msgstr ""
    1507 
    1508 #: assets/admin/wizard.js:4649
    1509 #: assets/admin/wizard.js:4588
    1510 msgid "It should look something like this:"
    1511 msgstr ""
    1512 
    1513 #: assets/admin/wizard.js:4653
    1514 #: assets/admin/wizard.js:4598
    1515 msgid "No thanks. I know what I'm doing."
    1516 msgstr ""
    1517 
    1518 #: assets/admin/wizard.js:4701
    1519 #: assets/admin/wizard.js:5134
    1520 #: assets/admin/wizard.js:4641
    1521 #: assets/admin/wizard.js:5251
     1198#: assets/admin/wizard.js:1
     1199msgid "You've successfully installed GTM Kit!"
     1200msgstr ""
     1201
     1202#: assets/admin/wizard.js:1
    15221203msgid "Essential Settings"
    15231204msgstr ""
    15241205
    1525 #: assets/admin/wizard.js:4705
    1526 #: assets/admin/wizard.js:4646
     1206#: assets/admin/wizard.js:1
    15271207msgid "There are a lot of settings in GTM Kit and we recommend that you uses our recommended settings but you can also choose to use the default settings and go through the settings at your convenience."
    15281208msgstr ""
    15291209
    1530 #: assets/admin/wizard.js:4711
    1531 #: assets/admin/wizard.js:4659
     1210#: assets/admin/wizard.js:1
    15321211msgid "Include the page type i.e. page, product, category, cart, checkout etc in the datalayer?"
    15331212msgstr ""
    15341213
    1535 #: assets/admin/wizard.js:4719
    1536 #: assets/admin/wizard.js:4684
     1214#: assets/admin/wizard.js:1
    15371215msgid "Track WooCommerce"
    15381216msgstr ""
    15391217
    1540 #: assets/admin/wizard.js:4722
    1541 #: assets/admin/wizard.js:4688
     1218#: assets/admin/wizard.js:1
    15421219msgid "Would you like to track e-commerce data from WooCommerce?"
    15431220msgstr ""
    15441221
    1545 #: assets/admin/wizard.js:4730
    1546 #: assets/admin/wizard.js:4715
     1222#: assets/admin/wizard.js:1
    15471223msgid "Track Contact Form 7"
    15481224msgstr ""
    15491225
    1550 #: assets/admin/wizard.js:4733
    1551 #: assets/admin/wizard.js:4719
     1226#: assets/admin/wizard.js:1
    15521227msgid "Would you like to track form submissions from Contact Form 7?"
    15531228msgstr ""
    15541229
    1555 #: assets/admin/wizard.js:4741
    1556 #: assets/admin/wizard.js:4745
     1230#: assets/admin/wizard.js:1
    15571231msgid "Track Easy Digital Downloads"
    15581232msgstr ""
    15591233
    1560 #: assets/admin/wizard.js:4744
    1561 #: assets/admin/wizard.js:4752
     1234#: assets/admin/wizard.js:1
    15621235msgid "Would you like to track e-commerce data from Easy Digital Downloads?"
    15631236msgstr ""
    15641237
    1565 #: assets/admin/wizard.js:4787
    1566 #: assets/admin/wizard.js:4803
     1238#: assets/admin/wizard.js:1
     1239msgid "I agree to share anonymous data with the development team to help improve GTM Kit. "
     1240msgstr ""
     1241
     1242#: assets/admin/wizard.js:1
    15671243msgid "Your are ready to use GTM Kit!"
    15681244msgstr ""
    15691245
    1570 #: assets/admin/wizard.js:4789
    1571 #: assets/admin/wizard.js:4806
     1246#: assets/admin/wizard.js:1
    15721247msgid "Your Google Tag Manager Container is now sending data to Google Tag Manager."
    15731248msgstr ""
    15741249
    1575 #: assets/admin/wizard.js:4802
    1576 #: assets/admin/wizard.js:4835
     1250#: assets/admin/wizard.js:1
    15771251msgid "Read the guide"
    15781252msgstr ""
    15791253
    1580 #: assets/admin/wizard.js:4822
    1581 #: assets/admin/wizard.js:4877
     1254#: assets/admin/wizard.js:1
    15821255msgid "Getting started with GTM Kit"
    15831256msgstr ""
    15841257
    1585 #: assets/admin/wizard.js:4826
    1586 #: assets/admin/wizard.js:4886
     1258#: assets/admin/wizard.js:1
    15871259msgid "WooCommerce Integration"
    15881260msgstr ""
    15891261
    1590 #: assets/admin/wizard.js:4830
    1591 #: assets/admin/wizard.js:4895
     1262#: assets/admin/wizard.js:1
    15921263msgid "Advanced GTM container implementation"
    15931264msgstr ""
    15941265
    1595 #: assets/admin/wizard.js:4834
    1596 #: assets/admin/wizard.js:4907
     1266#: assets/admin/wizard.js:1
    15971267msgid "Settings, actions and filters for developers"
    15981268msgstr ""
    15991269
    1600 #: assets/admin/wizard.js:4842
    1601 #: assets/admin/wizard.js:4925
     1270#: assets/admin/wizard.js:1
    16021271msgid "Go to the dashboard"
    16031272msgstr ""
    16041273
    1605 #: assets/admin/wizard.js:4943
    1606 #: assets/admin/wizard.js:5066
    1607 msgid "I agree to share anonymous data with the development team to help improve GTM Kit. "
    1608 msgstr ""
    1609 
    1610 #: assets/admin/wizard.js:5007
    1611 #: assets/admin/wizard.js:5126
    1612 msgid "You've successfully installed GTM Kit!"
    1613 msgstr ""
    1614 
    1615 #: assets/admin/wizard.js:5129
    1616 #: assets/admin/wizard.js:5245
     1274#: assets/admin/wizard.js:1
    16171275msgid "Welcome"
    16181276msgstr ""
    16191277
    1620 #: assets/admin/wizard.js:5144
    1621 #: assets/admin/wizard.js:5263
     1278#: assets/admin/wizard.js:1
    16221279msgid "Getting Started"
    16231280msgstr ""
  • gtm-kit/tags/1.18/readme.txt

    r3009201 r3016305  
    44Tags: google tag manager, gtm, woocommerce, analytics, ga4, gtag, easy digital downloads
    55Tested up to: 6.4
    6 Stable tag: 1.17.2
     6Stable tag: 1.18
    77License: GPLv3
    88License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    8989== Changelog ==
    9090
     91= 1.18 =
     92
     93Release date: 2024-01-02
     94
     95Find out about what's new in our [our release post](https://gtmkit.com/gtm-kit-1-18/).
     96
     97#### Enhancements:
     98* Add support for Google Consent Mode v2
     99* Added a function to share system data with the GTM Kit support team. If you have registered a support request on WordPress.org and the GTM Kit support team has asked you to send your system data you can now do that in a secure way without posting any private information in the support forum.
     100* Enhanced support for the select_item event in more WordPress themes. This update significantly improves the compatibility of the select_item event handling in themes such as Woodmart.
     101
     102#### Bugfixes:
     103* When adding a product to the cart from a product category page the quantity was not specified in the add_to_cart event.
     104* On Single product pages a click on a quantity control would result in an undefined event.
     105
    91106= 1.17.2 =
    92107
     
    158173* Tested up to WooCommerce 8.3
    159174
    160 = 1.15 =
    161 
    162 Release date: 2023-10-24
    163 
    164 Find out about what's new in our [our release post](https://gtmkit.com/gtm-kit-1-15/).
    165 
    166 #### Enhancements:
    167 
    168 * Added support for the WooCommerce block 'all-products'.
    169 * Added support for Stape.io Cookie Keeper .
    170 * Inline scripts are now registered with the wp_add_inline_script insted of wp_head. This allows easy extension GTM Kit and implementation of a CSP (Content Security Policy).
    171 
    172 #### Bugfixes:
    173 
    174 * The product ID Prefix was not added when a product variation was selected.
    175 * Tax was not added on the total on the add_shipping_info and add_payment_info events.
    176 
    177175= Earlier versions =
    178176For the changelog of earlier versions, please refer to [the changelog on gtmkit.com](https://gtmkit.com/changelog/).
  • gtm-kit/tags/1.18/src/Admin/AdminAPI.php

    r2975488 r3016305  
    9090            ]
    9191        );
     92
     93        $this->util->rest_api_server->register_rest_route(
     94            '/send-support-data',
     95            [
     96                'methods'  => 'POST',
     97                'callback' => [ $this, 'send_support_data' ],
     98            ]
     99        );
    92100    }
    93101
     
    148156        wp_send_json_success( $site_data );
    149157    }
     158
     159    /**
     160     * Send Support Data
     161     *
     162     * @return void
     163     */
     164    public function send_support_data(): void {
     165        $support_ticket = strtoupper( json_decode( file_get_contents( 'php://input' ), true ) );
     166
     167        $match = preg_match( '/FS(\d+)-([A-Z0-9]+)/', $support_ticket, $matches );
     168
     169        if ( $match === 1 ) {
     170
     171            $url = 'https://support.gtmkit.com/api/wporg/support/' . $support_ticket;
     172
     173            $body = [
     174                'system_data' => wp_json_encode( $this->util->get_site_data( $this->options->get_all_raw(), false ) ),
     175            ];
     176            $args = [
     177                'method'    => 'PUT',
     178                'headers'   => [
     179                    'Content-Type' => 'application/json',
     180                ],
     181                'body'      => wp_json_encode( $body ),
     182                'sslverify' => false,
     183            ];
     184
     185            $response = wp_remote_request( $url, $args );
     186
     187            if ( is_wp_error( $response ) ) {
     188                wp_send_json_error( __( 'The support ticket was not found. Please check that you have entered the correct ticket.', 'gtm-kit' ) );
     189            } else {
     190                wp_send_json_success( __( 'Thank you! We have received the data.', 'gtm-kit' ) );
     191            }
     192        } else {
     193            wp_send_json_error( __( 'The support ticket was not found. Please check that you have entered the correct ticket.', 'gtm-kit' ) );
     194        }
     195    }
    150196}
  • gtm-kit/tags/1.18/src/Common/Util.php

    r3004949 r3016305  
    3333     *
    3434     * @param array $options The options.
    35      *
    36      * @return array
    37      */
    38     public function get_site_data( array $options ): array {
     35     * @param bool  $anonymize Anonymize the data.
     36     *
     37     * @return array
     38     */
     39    public function get_site_data( array $options, bool $anonymize = true ): array {
    3940
    4041        global $wp_version;
    4142
    4243        $data = [];
    43         $data = $this->set_site_data( $data, $options, $wp_version );
     44        $data = $this->set_site_data( $data, $options, $wp_version, $anonymize );
    4445
    4546        $plugins = [
     
    5556
    5657        $data['locale'] = explode( '_', get_locale() )[0];
    57         $data           = $this->add_shared_data( $data, $wp_version );
     58        if ( $anonymize ) {
     59            $data = $this->add_shared_data( $data, $wp_version );
     60        } else {
     61            $data['support_data'] = [
     62                'site_url' => site_url(),
     63            ];
     64        }
    5865
    5966        return $data;
     
    6673     * @param array  $options The options.
    6774     * @param string $wp_version The WordPress version.
    68      *
    69      * @return array
    70      */
    71     private function set_site_data( array $data, array $options, string $wp_version ): array {
    72         $data['options']           = $this->anonymize_options( $options );
     75     * @param bool   $anonymize Anonymize the data.
     76     *
     77     * @return array
     78     */
     79    private function set_site_data( array $data, array $options, string $wp_version, bool $anonymize ): array {
     80        $data['options']           = ( $anonymize ) ? $this->anonymize_options( $options ) : $options;
    7381        $data['web_server']        = $this->get_web_server();
    7482        $data['php_version']       = $this->shorten_version( phpversion() );
  • gtm-kit/tags/1.18/src/Frontend/Frontend.php

    r3005657 r3016305  
    8989            function gtag(){<?php echo esc_attr( $this->datalayer_name ); ?>.push(arguments);}
    9090            gtag('consent', 'default', {
     91                'ad_personalization': '<?php echo ( $this->options->get( 'general', 'gcm_ad_personalization' ) ) ? 'granted' : 'denied'; ?>',
    9192                'ad_storage': '<?php echo ( $this->options->get( 'general', 'gcm_ad_storage' ) ) ? 'granted' : 'denied'; ?>',
     93                'ad_user_data': '<?php echo ( $this->options->get( 'general', 'gcm_ad_user_data' ) ) ? 'granted' : 'denied'; ?>',
    9294                'analytics_storage': '<?php echo ( $this->options->get( 'general', 'gcm_analytics_storage' ) ) ? 'granted' : 'denied'; ?>',
    9395                'personalization_storage': '<?php echo ( $this->options->get( 'general', 'gcm_personalization_storage' ) ) ? 'granted' : 'denied'; ?>',
  • gtm-kit/tags/1.18/src/js/woocommerce.js

    r3004949 r3016305  
    113113        );
    114114
     115        itemData.quantity = 1;
     116
    115117        window[datalayerName].push({ ecommerce: null });
    116118        window[datalayerName].push({
     
    149151            } else if ( eventTargetElement.closest( '.add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list,.disabled-add-wishlist)' ) ) {
    150152                event = 'add_to_wishlist';
     153            } else {
     154                return true;
    151155            }
    152156        } else {
     
    197201                let productQuantity = document.querySelectorAll(
    198202                    'input[name=quantity\\[' +
    199                         productData.getAttribute('data-gtmkit_product_id') +
    200                         '\\]]'
     203                    productData.getAttribute('data-gtmkit_product_id') +
     204                    '\\]]'
    201205                );
    202206
     
    284288    // select_item event on clicks in product lists
    285289    const productListItemSelector =
    286         '.products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),' +
     290        '.products .product:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),' +
    287291        '.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),' +
    288292        '.woocommerce-grouped-product-list-item__label a:not(.add_to_wishlist,.tinvwl_add_to_wishlist_button)';
     
    341345        const productVariationData = JSON.parse(
    342346            variationsForm.querySelector('[name=gtmkit_product_data]') &&
    343                 variationsForm.querySelector('[name=gtmkit_product_data]').value
     347            variationsForm.querySelector('[name=gtmkit_product_data]').value
    344348        );
    345349
  • gtm-kit/tags/1.18/vendor/composer/installed.php

    r3009201 r3016305  
    44        'pretty_version' => 'dev-main',
    55        'version' => 'dev-main',
    6         'reference' => '5ba394e4f35577f5975f651dc6ab34293e356675',
     6        'reference' => 'f73fd644327e1b226cdf10e71a0b328c199c7336',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-main',
    1515            'version' => 'dev-main',
    16             'reference' => '5ba394e4f35577f5975f651dc6ab34293e356675',
     16            'reference' => 'f73fd644327e1b226cdf10e71a0b328c199c7336',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
  • gtm-kit/trunk/assets/admin/settings.asset.php

    r3004949 r3016305  
    1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => '1f37e23ad62807f31c45');
     1<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'a1f5a87986f782e4c463');
  • gtm-kit/trunk/assets/admin/settings.css

    r2996198 r3016305  
    1 :root{--gtmkit-background-white:#fff;--gtmkit-background-grey:#f0f0f1;--gtmkit-border-color:#ddd;--gtmkit-text-color-heading:#454545;--gtmkit-text-color-grey:#777;--gtmkit-color-grey:#888;--gtmkit-color-primary:#3969bb;--gtmkit-color-secondary:#00a32a;--gtmkit-color-button:#3969bb;--gtmkit-color-success:#00a32a;--gtmkit-color-warning:orange;--gtmkit-color-error:red;--gtmkit-space-h:2rem;--gtmkit-space-v:1.5rem;--gtmkit-font-size-l:18px;--gtmkit-font-size-m:16px;--gtmkit-font-size-s:14px;--gtmkit-font-size-xl:22px;--gtmkit-font-size-xs:12px;--gtmkit-font-size-xxl:24px;--gtmkit-button-disabled:#bbb;--gtmkit-button-disabled-bg:#f5f5f5;--gtmkit-button-disabled-border:1px solid #ddd;--gtmkit-button-disabled-text:#bbb;--gtmkit-button-primary-bg:var(--gtmkit-color-primary);--gtmkit-button-primary-bg-hover:#397eeb;--gtmkit-button-primary-text:#fff;--gtmkit-button-primary-text-hover:#fff;--gtmkit-button-secondary-bg:#f8f8f8;--gtmkit-button-secondary-bg-hover:#fff;--gtmkit-button-secondary-border:#ddd;--gtmkit-button-secondary-text:#777;--gtmkit-button-secondary-text-hover:#454545}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.gtmkit-container{width:100%}@media(min-width:640px){.gtmkit-container{max-width:640px}}@media(min-width:768px){.gtmkit-container{max-width:768px}}@media(min-width:1024px){.gtmkit-container{max-width:1024px}}@media(min-width:1280px){.gtmkit-container{max-width:1280px}}@media(min-width:1536px){.gtmkit-container{max-width:1536px}}.gtmkit-fixed{position:fixed}.gtmkit-absolute{position:absolute}.gtmkit-relative{position:relative}.gtmkit-sticky{position:sticky}.gtmkit-inset-0{inset:0}.gtmkit-bottom-0{bottom:0}.gtmkit-z-10{z-index:10}.gtmkit-m-4{margin:1rem}.\!gtmkit-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.gtmkit-mx-auto{margin-left:auto;margin-right:auto}.gtmkit-my-16{margin-bottom:4rem;margin-top:4rem}.gtmkit-my-4{margin-bottom:1rem;margin-top:1rem}.gtmkit-my-6{margin-bottom:1.5rem;margin-top:1.5rem}.gtmkit-my-8{margin-bottom:2rem;margin-top:2rem}.\!gtmkit-mt-4{margin-top:1rem!important}.gtmkit-mb-1{margin-bottom:.25rem}.gtmkit-mb-12{margin-bottom:3rem}.gtmkit-mb-14{margin-bottom:3.5rem}.gtmkit-mb-2{margin-bottom:.5rem}.gtmkit-mb-20{margin-bottom:5rem}.gtmkit-mb-4{margin-bottom:1rem}.gtmkit-mb-5{margin-bottom:1.25rem}.gtmkit-mb-6{margin-bottom:1.5rem}.gtmkit-mb-8{margin-bottom:2rem}.gtmkit-ml-2{margin-left:.5rem}.gtmkit-ml-4{margin-left:1rem}.gtmkit-mr-8{margin-right:2rem}.gtmkit-mt-12{margin-top:3rem}.gtmkit-mt-3{margin-top:.75rem}.gtmkit-mt-4{margin-top:1rem}.gtmkit-mt-6{margin-top:1.5rem}.gtmkit-mt-8{margin-top:2rem}.gtmkit-mb-0{margin-bottom:0}.gtmkit-mb-0\.5{margin-bottom:.125rem}.gtmkit-block{display:block}.gtmkit-inline-block{display:inline-block}.gtmkit-flex{display:flex}.gtmkit-grid{display:grid}.gtmkit-h-0{height:0}.gtmkit-h-0\.5{height:.125rem}.gtmkit-h-2{height:.5rem}.gtmkit-h-2\.5{height:.625rem}.gtmkit-h-5{height:1.25rem}.gtmkit-h-8{height:2rem}.gtmkit-h-screen{height:100vh}.gtmkit-min-h-\[128px\]{min-height:128px}.gtmkit-min-h-\[175px\]{min-height:175px}.gtmkit-w-2{width:.5rem}.gtmkit-w-2\.5{width:.625rem}.gtmkit-w-3\/4{width:75%}.gtmkit-w-5{width:1.25rem}.gtmkit-w-8{width:2rem}.gtmkit-w-\[225px\]{width:225px}.gtmkit-w-\[250px\]{width:250px}.gtmkit-w-full{width:100%}.gtmkit-min-w-\[225px\]{min-width:225px}.gtmkit-max-w-3xl{max-width:48rem}.gtmkit-max-w-\[1536px\]{max-width:1536px}.gtmkit-max-w-\[90\%\]{max-width:90%}.gtmkit-max-w-lg{max-width:32rem}.gtmkit-max-w-max{max-width:-moz-max-content;max-width:max-content}.gtmkit-max-w-md{max-width:28rem}.gtmkit-max-w-xl{max-width:36rem}.gtmkit-flex-auto{flex:1 1 auto}.gtmkit-shrink-0{flex-shrink:0}.gtmkit-table-fixed{table-layout:fixed}.gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gtmkit-flex-col{flex-direction:column}.gtmkit-flex-wrap{flex-wrap:wrap}.gtmkit-items-center{align-items:center}.gtmkit-justify-center{justify-content:center}.gtmkit-justify-between{justify-content:space-between}.gtmkit-gap-16{gap:4rem}.gtmkit-gap-4{gap:1rem}.gtmkit-gap-6{gap:1.5rem}.gtmkit-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.25rem*var(--tw-space-x-reverse))}.gtmkit-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-whitespace-nowrap{white-space:nowrap}.gtmkit-rounded{border-radius:.25rem}.gtmkit-rounded-full{border-radius:9999px}.gtmkit-rounded-md{border-radius:.375rem}.gtmkit-border{border-width:1px}.gtmkit-border-2{border-width:2px}.gtmkit-border-y{border-top-width:1px}.gtmkit-border-b,.gtmkit-border-y{border-bottom-width:1px}.gtmkit-border-b-2{border-bottom-width:2px}.gtmkit-border-b-4{border-bottom-width:4px}.gtmkit-border-t-4{border-top-width:4px}.gtmkit-border-color-border{border-color:var(--gtmkit-border-color)}.gtmkit-border-color-grey{border-color:var(--gtmkit-color-grey)}.gtmkit-border-color-primary{border-color:var(--gtmkit-color-primary)}.gtmkit-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.gtmkit-border-b-color-primary{border-bottom-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-border{background-color:var(--gtmkit-border-color)}.gtmkit-bg-color-button-disabled{background-color:var(--gtmkit-button-disabled)}.gtmkit-bg-color-grey{background-color:var(--gtmkit-color-grey)}.gtmkit-bg-color-primary{background-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-success{background-color:var(--gtmkit-color-success)}.gtmkit-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.gtmkit-p-3{padding:.75rem}.gtmkit-p-6{padding:1.5rem}.gtmkit-p-8{padding:2rem}.\!gtmkit-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.\!gtmkit-px-8{padding-left:2rem!important;padding-right:2rem!important}.\!gtmkit-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.\!gtmkit-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.gtmkit-px-16{padding-left:4rem;padding-right:4rem}.gtmkit-px-2{padding-left:.5rem;padding-right:.5rem}.gtmkit-px-20{padding-left:5rem;padding-right:5rem}.gtmkit-px-3{padding-left:.75rem;padding-right:.75rem}.gtmkit-px-4{padding-left:1rem;padding-right:1rem}.gtmkit-px-5{padding-left:1.25rem;padding-right:1.25rem}.gtmkit-px-8{padding-left:2rem;padding-right:2rem}.gtmkit-py-1{padding-bottom:.25rem;padding-top:.25rem}.gtmkit-py-12{padding-bottom:3rem;padding-top:3rem}.gtmkit-py-2{padding-bottom:.5rem;padding-top:.5rem}.gtmkit-py-4{padding-bottom:1rem;padding-top:1rem}.gtmkit-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.gtmkit-py-8{padding-bottom:2rem;padding-top:2rem}.gtmkit-pb-6{padding-bottom:1.5rem}.gtmkit-pb-\[18px\]{padding-bottom:18px}.gtmkit-pt-3{padding-top:.75rem}.gtmkit-pt-4{padding-top:1rem}.gtmkit-pt-5{padding-top:1.25rem}.gtmkit-pt-8{padding-top:2rem}.gtmkit-text-left{text-align:left}.gtmkit-text-center{text-align:center}.gtmkit-text-2xl{font-size:1.5rem;line-height:2rem}.gtmkit-text-3xl{font-size:1.875rem;line-height:2.25rem}.gtmkit-text-4xl{font-size:2.25rem;line-height:2.5rem}.gtmkit-text-\[15px\]{font-size:15px}.gtmkit-text-base{font-size:1rem;line-height:1.5rem}.gtmkit-text-lg{font-size:1.125rem;line-height:1.75rem}.gtmkit-text-sm{font-size:.875rem;line-height:1.25rem}.gtmkit-text-xl{font-size:1.25rem;line-height:1.75rem}.gtmkit-text-xs{font-size:.75rem;line-height:1rem}.gtmkit-font-bold{font-weight:700}.gtmkit-font-light{font-weight:300}.gtmkit-font-medium{font-weight:500}.gtmkit-font-semibold{font-weight:600}.gtmkit-uppercase{text-transform:uppercase}.gtmkit-leading-5{line-height:1.25rem}.gtmkit-text-color-grey{color:var(--gtmkit-color-grey)}.gtmkit-text-color-heading{color:var(--gtmkit-text-color-heading)}.gtmkit-text-color-primary{color:var(--gtmkit-color-primary)}.gtmkit-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.gtmkit-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.gtmkit-underline{text-decoration-line:underline}.gtmkit-opacity-100{opacity:1}.gtmkit-opacity-60{opacity:.6}.gtmkit-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.gtmkit-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gtmkit-duration-500{transition-duration:.5s}.hover\:gtmkit-border-color-grey:hover{border-color:var(--gtmkit-color-grey)}.hover\:gtmkit-underline:hover{text-decoration-line:underline}.disabled\:\!gtmkit-bg-color-button-disabled:disabled{background-color:var(--gtmkit-button-disabled)!important}.disabled\:\!gtmkit-text-color-grey:disabled{color:var(--gtmkit-color-grey)!important}@media(min-width:640px){.sm\:gtmkit-w-auto{width:auto}}@media(min-width:768px){.md\:gtmkit-mt-10{margin-top:2.5rem}.md\:gtmkit-mt-12{margin-top:3rem}.md\:gtmkit-mt-16{margin-top:4rem}.md\:gtmkit-mt-8{margin-top:2rem}.md\:gtmkit-grid{display:grid}.md\:gtmkit-max-w-xl{max-width:36rem}}@media(min-width:1024px){.lg\:gtmkit-flex{display:flex}.lg\:gtmkit-grid{display:grid}.lg\:gtmkit-w-1\/2{width:50%}.lg\:gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gtmkit-justify-between{justify-content:space-between}}@media(min-width:1280px){.xl\:gtmkit-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1536px){.\32 xl\:gtmkit-w-1\/3{width:33.333333%}}.gtmkit #wpcontent{padding-left:0!important}.gtmkit #wpcontent *,.gtmkit #wpcontent :after,.gtmkit #wpcontent :before{box-sizing:border-box}.gtmkit a:focus{box-shadow:none}.gtmkit p{font-size:14px}.gtmkit .components-button.is-primary{background-color:var(--gtmkit-color-button)}.gtmkit-settings-field-wrap .components-base-control.components-toggle-control{line-height:1.5em}.gtmkit-settings-field-wrap .components-base-control__label{font-size:14px;font-weight:600;text-transform:none}.gtmkit .slide-appear,.gtmkit .slide-enter{transform:translateY(100%)}.gtmkit .slide-appear-active,.gtmkit .slide-enter-active{transform:translateY(0);transition:transform .5s ease-in-out}.gtmkit .slide-exit{transform:translateY(0)}.gtmkit .slide-exit-active{transform:translateY(100%);transition:transform .5s ease-in-out}
     1:root{--gtmkit-background-white:#fff;--gtmkit-background-grey:#f0f0f1;--gtmkit-border-color:#ddd;--gtmkit-text-color-heading:#454545;--gtmkit-text-color-grey:#777;--gtmkit-color-grey:#888;--gtmkit-color-primary:#3969bb;--gtmkit-color-secondary:#00a32a;--gtmkit-color-button:#3969bb;--gtmkit-color-success:#00a32a;--gtmkit-color-warning:orange;--gtmkit-color-error:red;--gtmkit-space-h:2rem;--gtmkit-space-v:1.5rem;--gtmkit-font-size-l:18px;--gtmkit-font-size-m:16px;--gtmkit-font-size-s:14px;--gtmkit-font-size-xl:22px;--gtmkit-font-size-xs:12px;--gtmkit-font-size-xxl:24px;--gtmkit-button-disabled:#bbb;--gtmkit-button-disabled-bg:#f5f5f5;--gtmkit-button-disabled-border:1px solid #ddd;--gtmkit-button-disabled-text:#bbb;--gtmkit-button-primary-bg:var(--gtmkit-color-primary);--gtmkit-button-primary-bg-hover:#397eeb;--gtmkit-button-primary-text:#fff;--gtmkit-button-primary-text-hover:#fff;--gtmkit-button-secondary-bg:#f8f8f8;--gtmkit-button-secondary-bg-hover:#fff;--gtmkit-button-secondary-border:#ddd;--gtmkit-button-secondary-text:#777;--gtmkit-button-secondary-text-hover:#454545}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.gtmkit-container{width:100%}@media(min-width:640px){.gtmkit-container{max-width:640px}}@media(min-width:768px){.gtmkit-container{max-width:768px}}@media(min-width:1024px){.gtmkit-container{max-width:1024px}}@media(min-width:1280px){.gtmkit-container{max-width:1280px}}@media(min-width:1536px){.gtmkit-container{max-width:1536px}}.gtmkit-fixed{position:fixed}.gtmkit-absolute{position:absolute}.gtmkit-relative{position:relative}.gtmkit-sticky{position:sticky}.gtmkit-inset-0{inset:0}.gtmkit-bottom-0{bottom:0}.gtmkit-z-10{z-index:10}.gtmkit-m-4{margin:1rem}.\!gtmkit-my-6{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.gtmkit-mx-auto{margin-left:auto;margin-right:auto}.gtmkit-my-16{margin-bottom:4rem;margin-top:4rem}.gtmkit-my-4{margin-bottom:1rem;margin-top:1rem}.gtmkit-my-6{margin-bottom:1.5rem;margin-top:1.5rem}.gtmkit-my-8{margin-bottom:2rem;margin-top:2rem}.\!gtmkit-mt-4{margin-top:1rem!important}.gtmkit-mb-1{margin-bottom:.25rem}.gtmkit-mb-12{margin-bottom:3rem}.gtmkit-mb-14{margin-bottom:3.5rem}.gtmkit-mb-2{margin-bottom:.5rem}.gtmkit-mb-20{margin-bottom:5rem}.gtmkit-mb-4{margin-bottom:1rem}.gtmkit-mb-5{margin-bottom:1.25rem}.gtmkit-mb-6{margin-bottom:1.5rem}.gtmkit-mb-8{margin-bottom:2rem}.gtmkit-ml-2{margin-left:.5rem}.gtmkit-ml-4{margin-left:1rem}.gtmkit-mr-8{margin-right:2rem}.gtmkit-mt-12{margin-top:3rem}.gtmkit-mt-3{margin-top:.75rem}.gtmkit-mt-4{margin-top:1rem}.gtmkit-mt-6{margin-top:1.5rem}.gtmkit-mt-8{margin-top:2rem}.gtmkit-mb-0{margin-bottom:0}.gtmkit-mb-0\.5{margin-bottom:.125rem}.gtmkit-block{display:block}.gtmkit-inline-block{display:inline-block}.gtmkit-flex{display:flex}.gtmkit-grid{display:grid}.gtmkit-h-0{height:0}.gtmkit-h-0\.5{height:.125rem}.gtmkit-h-2{height:.5rem}.gtmkit-h-2\.5{height:.625rem}.gtmkit-h-5{height:1.25rem}.gtmkit-h-8{height:2rem}.gtmkit-h-screen{height:100vh}.gtmkit-min-h-\[128px\]{min-height:128px}.gtmkit-min-h-\[175px\]{min-height:175px}.gtmkit-w-2{width:.5rem}.gtmkit-w-2\.5{width:.625rem}.gtmkit-w-3\/4{width:75%}.gtmkit-w-5{width:1.25rem}.gtmkit-w-8{width:2rem}.gtmkit-w-\[225px\]{width:225px}.gtmkit-w-\[250px\]{width:250px}.gtmkit-w-full{width:100%}.gtmkit-min-w-\[225px\]{min-width:225px}.gtmkit-max-w-3xl{max-width:48rem}.gtmkit-max-w-\[1536px\]{max-width:1536px}.gtmkit-max-w-\[90\%\]{max-width:90%}.gtmkit-max-w-lg{max-width:32rem}.gtmkit-max-w-max{max-width:-moz-max-content;max-width:max-content}.gtmkit-max-w-md{max-width:28rem}.gtmkit-max-w-xl{max-width:36rem}.gtmkit-flex-auto{flex:1 1 auto}.gtmkit-shrink-0{flex-shrink:0}.gtmkit-table-fixed{table-layout:fixed}.gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gtmkit-flex-col{flex-direction:column}.gtmkit-flex-wrap{flex-wrap:wrap}.gtmkit-items-center{align-items:center}.gtmkit-justify-center{justify-content:center}.gtmkit-justify-between{justify-content:space-between}.gtmkit-gap-16{gap:4rem}.gtmkit-gap-4{gap:1rem}.gtmkit-gap-6{gap:1.5rem}.gtmkit-space-x-9>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.25rem*var(--tw-space-x-reverse))}.gtmkit-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.gtmkit-whitespace-nowrap{white-space:nowrap}.gtmkit-rounded{border-radius:.25rem}.gtmkit-rounded-full{border-radius:9999px}.gtmkit-rounded-md{border-radius:.375rem}.gtmkit-border{border-width:1px}.gtmkit-border-2{border-width:2px}.gtmkit-border-y{border-top-width:1px}.gtmkit-border-b,.gtmkit-border-y{border-bottom-width:1px}.gtmkit-border-b-2{border-bottom-width:2px}.gtmkit-border-b-4{border-bottom-width:4px}.gtmkit-border-t-4{border-top-width:4px}.gtmkit-border-color-border{border-color:var(--gtmkit-border-color)}.gtmkit-border-color-grey{border-color:var(--gtmkit-color-grey)}.gtmkit-border-color-primary{border-color:var(--gtmkit-color-primary)}.gtmkit-border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.gtmkit-border-b-color-primary{border-bottom-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-border{background-color:var(--gtmkit-border-color)}.gtmkit-bg-color-button-disabled{background-color:var(--gtmkit-button-disabled)}.gtmkit-bg-color-grey{background-color:var(--gtmkit-color-grey)}.gtmkit-bg-color-primary{background-color:var(--gtmkit-color-primary)}.gtmkit-bg-color-success{background-color:var(--gtmkit-color-success)}.gtmkit-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.gtmkit-p-3{padding:.75rem}.gtmkit-p-6{padding:1.5rem}.gtmkit-p-8{padding:2rem}.\!gtmkit-px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.\!gtmkit-px-8{padding-left:2rem!important;padding-right:2rem!important}.\!gtmkit-py-4{padding-bottom:1rem!important;padding-top:1rem!important}.\!gtmkit-py-6{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.gtmkit-px-16{padding-left:4rem;padding-right:4rem}.gtmkit-px-2{padding-left:.5rem;padding-right:.5rem}.gtmkit-px-20{padding-left:5rem;padding-right:5rem}.gtmkit-px-3{padding-left:.75rem;padding-right:.75rem}.gtmkit-px-4{padding-left:1rem;padding-right:1rem}.gtmkit-px-5{padding-left:1.25rem;padding-right:1.25rem}.gtmkit-px-8{padding-left:2rem;padding-right:2rem}.gtmkit-py-1{padding-bottom:.25rem;padding-top:.25rem}.gtmkit-py-12{padding-bottom:3rem;padding-top:3rem}.gtmkit-py-2{padding-bottom:.5rem;padding-top:.5rem}.gtmkit-py-4{padding-bottom:1rem;padding-top:1rem}.gtmkit-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.gtmkit-py-8{padding-bottom:2rem;padding-top:2rem}.gtmkit-pb-6{padding-bottom:1.5rem}.gtmkit-pb-\[18px\]{padding-bottom:18px}.gtmkit-pt-3{padding-top:.75rem}.gtmkit-pt-4{padding-top:1rem}.gtmkit-pt-5{padding-top:1.25rem}.gtmkit-pt-8{padding-top:2rem}.gtmkit-text-left{text-align:left}.gtmkit-text-center{text-align:center}.gtmkit-text-2xl{font-size:1.5rem;line-height:2rem}.gtmkit-text-3xl{font-size:1.875rem;line-height:2.25rem}.gtmkit-text-4xl{font-size:2.25rem;line-height:2.5rem}.gtmkit-text-\[15px\]{font-size:15px}.gtmkit-text-base{font-size:1rem;line-height:1.5rem}.gtmkit-text-lg{font-size:1.125rem;line-height:1.75rem}.gtmkit-text-sm{font-size:.875rem;line-height:1.25rem}.gtmkit-text-xl{font-size:1.25rem;line-height:1.75rem}.gtmkit-text-xs{font-size:.75rem;line-height:1rem}.gtmkit-font-bold{font-weight:700}.gtmkit-font-light{font-weight:300}.gtmkit-font-medium{font-weight:500}.gtmkit-font-semibold{font-weight:600}.gtmkit-uppercase{text-transform:uppercase}.gtmkit-leading-5{line-height:1.25rem}.gtmkit-text-color-grey{color:var(--gtmkit-color-grey)}.gtmkit-text-color-heading{color:var(--gtmkit-text-color-heading)}.gtmkit-text-color-primary{color:var(--gtmkit-color-primary)}.gtmkit-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.gtmkit-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.gtmkit-underline{text-decoration-line:underline}.gtmkit-opacity-100{opacity:1}.gtmkit-opacity-60{opacity:.6}.gtmkit-drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.gtmkit-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gtmkit-duration-500{transition-duration:.5s}.hover\:gtmkit-border-color-grey:hover{border-color:var(--gtmkit-color-grey)}.hover\:gtmkit-underline:hover{text-decoration-line:underline}.disabled\:\!gtmkit-bg-color-button-disabled:disabled{background-color:var(--gtmkit-button-disabled)!important}.disabled\:\!gtmkit-text-color-grey:disabled{color:var(--gtmkit-color-grey)!important}@media(min-width:640px){.sm\:gtmkit-w-auto{width:auto}}@media(min-width:768px){.md\:gtmkit-mt-10{margin-top:2.5rem}.md\:gtmkit-mt-12{margin-top:3rem}.md\:gtmkit-mt-16{margin-top:4rem}.md\:gtmkit-mt-8{margin-top:2rem}.md\:gtmkit-grid{display:grid}.md\:gtmkit-max-w-xl{max-width:36rem}}@media(min-width:1024px){.lg\:gtmkit-flex{display:flex}.lg\:gtmkit-grid{display:grid}.lg\:gtmkit-w-1\/2{width:50%}.lg\:gtmkit-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gtmkit-justify-between{justify-content:space-between}}@media(min-width:1280px){.xl\:gtmkit-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1536px){.\32 xl\:gtmkit-w-1\/3{width:33.333333%}}.gtmkit #wpcontent{padding-left:0!important}.gtmkit #wpcontent *,.gtmkit #wpcontent :after,.gtmkit #wpcontent :before{box-sizing:border-box}.gtmkit a:focus{box-shadow:none}.gtmkit p{font-size:14px}.gtmkit .components-button.is-primary{background-color:var(--gtmkit-color-button)}.gtmkit .components-button .components-spinner{margin:0 0 0 1rem}.gtmkit-settings-field-wrap .components-base-control.components-toggle-control{line-height:1.5em}.gtmkit-settings-field-wrap .components-base-control__label{font-size:14px;font-weight:600;text-transform:none}.gtmkit .slide-appear,.gtmkit .slide-enter{transform:translateY(100%)}.gtmkit .slide-appear-active,.gtmkit .slide-enter-active{transform:translateY(0);transition:transform .5s ease-in-out}.gtmkit .slide-exit{transform:translateY(0)}.gtmkit .slide-exit-active{transform:translateY(100%);transition:transform .5s ease-in-out}
  • gtm-kit/trunk/assets/admin/settings.js

    r3004949 r3016305  
    1 !function(){"use strict";var t={n:function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},d:function(e,n){for(var a in n)t.o(n,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:n[a]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,n=t.n(e),a=window.wp.i18n,i=window.wp.element,r=window.wp.components,o=window.lodash,l=window.wp.apiFetch,s=t.n(l);s().use(s().createNonceMiddleware(window.gtmkitSettings.nonce)),s().use(s().createRootURLMiddleware(window.gtmkitSettings.root));const m=async(t,e,n=null)=>{let a={};try{a=await s()({path:t,method:e,...n&&{data:n}})}catch(n){return console.log(`${e} ${t} Errors:`,n),{[`gtm_kit_settings_${e}_${t}_errors`]:!0}}return!0===a.success?a.data:a};var c=(t,e)=>{const n={...t};switch(e.type){case"FETCH_SETTINGS":n.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},n.stateSettings=e.payload.stateSettings,n.siteData=e.payload.siteData,n.installData=e.payload.installData,n.isPending=!1,n.canSave=!1,e.payload.fetchedSettings.gtm_kit_settings_fetch_settings_errors&&(n.notice=(0,a.__)("An error occurred.","gtm-kit"),n.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":n.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":n.fetchedSettings=e.payload.fetchedSettings,n.stateSettings=e.payload.stateSettings,n.isPending=!1,n.canSave=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors,n.notice=e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors?(0,a.__)("An error occurred.","gtm-kit"):(0,a.__)("Saved Successfully.","gtm-kit"),n.hasError=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors;break;case"UPDATE_STATE":n.fetchedSettings=e.payload.fetchedSettings||n.fetchedSettings,n.stateSettings=e.payload.stateSettings||n.stateSettings,n.isPending=e.payload.isPending||n.isPending,n.notice=e.payload.notice||n.notice,n.hasError=e.payload.hasError||n.hasError,n.canSave=e.payload.canSave||n.canSave}return n};const u=(0,i.createContext)();var g,d=t=>{const[n,a]=(0,i.useReducer)(c,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1}),r=async()=>{const[t,e]=await Promise.all([m("gtmkit/v1/get-options","GET"),m("gtmkit/v1/get-site-data","GET")]),n="wizard"===window.gtmkitSettings.currentPage?await m("gtmkit/v1/get-install-data","GET"):{};a({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:n}})},l=async t=>{a({type:"UPDATE_STATE",payload:t})};(0,i.useEffect)((()=>{r()}),[]);const s={useDispatch:t=>{a(t)},useUpdateSettings:async()=>{a({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,m("gtmkit/v1/set-options","POST",e));var e;a({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:r,useUpdateState:l,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let r;i[t][e]=a,r=!(0,o.isEqual)(i,n.fetchedSettings),l({stateSettings:i,canSave:r})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const r={};r.general={...a.general,...e.general},"integrations"in e&&(r.integrations={...a.integrations,...e.integrations}),i=!(0,o.isEqual)(r,n.fetchedSettings),l({stateSettings:r,canSave:i})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData};return(0,e.createElement)(u.Provider,{value:s},t.children)};function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},p.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const h="popstate";function _(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function f(t,e){return{usr:t.state,key:t.key,idx:e}}function E(t,e,n,a){return void 0===n&&(n=null),p({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?b(e):e,{state:n,key:e&&e.key||a||Math.random().toString(36).substr(2,8)})}function v(t){let{pathname:e="/",search:n="",hash:a=""}=t;return n&&"?"!==n&&(e+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(e+="#"===a.charAt(0)?a:"#"+a),e}function b(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));let a=t.indexOf("?");a>=0&&(e.search=t.substr(a),t=t.substr(0,a)),t&&(e.pathname=t)}return e}var y;function x(t,e,n){void 0===n&&(n="/");let a=L(("string"==typeof e?b(e):e).pathname||"/",n);if(null==a)return null;let i=w(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,n)=>t===e[n]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(i);let r=null;for(let t=0;null==r&&t<i.length;++t)r=O(i[t],U(a));return r}function w(t,e,n,a){void 0===e&&(e=[]),void 0===n&&(n=[]),void 0===a&&(a="");let i=(t,i,r)=>{let o={relativePath:void 0===r?t.path||"":r,caseSensitive:!0===t.caseSensitive,childrenIndex:i,route:t};o.relativePath.startsWith("/")&&(_(o.relativePath.startsWith(a),'Absolute route path "'+o.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(a.length));let l=H([a,o.relativePath]),s=n.concat(o);t.children&&t.children.length>0&&(_(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),w(t.children,e,s,l)),(null!=t.path||t.index)&&e.push({path:l,score:M(l,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var n;if(""!==t.path&&null!=(n=t.path)&&n.includes("?"))for(let n of S(t.path))i(t,e,n);else i(t,e)})),e}function S(t){let e=t.split("/");if(0===e.length)return[];let[n,...a]=e,i=n.endsWith("?"),r=n.replace(/\?$/,"");if(0===a.length)return i?[r,""]:[r];let o=S(a.join("/")),l=[];return l.push(...o.map((t=>""===t?r:[r,t].join("/")))),i&&l.push(...o),l.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(y||(y={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const N=/^:\w+$/,C=3,T=2,G=1,D=10,I=-2,P=t=>"*"===t;function M(t,e){let n=t.split("/"),a=n.length;return n.some(P)&&(a+=I),e&&(a+=T),n.filter((t=>!P(t))).reduce(((t,e)=>t+(N.test(e)?C:""===e?G:D)),a)}function O(t,e){let{routesMeta:n}=t,a={},i="/",r=[];for(let t=0;t<n.length;++t){let o=n[t],l=t===n.length-1,s="/"===i?e:e.slice(i.length)||"/",m=R({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},s);if(!m)return null;Object.assign(a,m.params);let c=o.route;r.push({params:a,pathname:H([i,m.pathname]),pathnameBase:B(H([i,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(i=H([i,m.pathnameBase]))}return r}function R(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[n,a]=function(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let a=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,n)=>(a.push({paramName:e,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(a.push({paramName:"*"}),i+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==t&&"/"!==t&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),a]}(t.path,t.caseSensitive,t.end),i=e.match(n);if(!i)return null;let r=i[0],o=r.replace(/(.)\/+$/,"$1"),l=i.slice(1);return{params:a.reduce(((t,e,n)=>{let{paramName:a,isOptional:i}=e;if("*"===a){let t=l[n]||"";o=r.slice(0,r.length-t.length).replace(/(.)\/+$/,"$1")}const s=l[n];return t[a]=i&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(n){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+n+")."),t}}(s||"",a),t}),{}),pathname:r,pathnameBase:o,pattern:t}}function U(t){try{return decodeURI(t)}catch(e){return k(!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 L(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,a=t.charAt(n);return a&&"/"!==a?null:t.slice(n)||"/"}function A(t,e,n,a){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(a)+"].  Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function j(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}function F(t,e,n,a){let i;void 0===a&&(a=!1),"string"==typeof t?i=b(t):(i=p({},t),_(!i.pathname||!i.pathname.includes("?"),A("?","pathname","search",i)),_(!i.pathname||!i.pathname.includes("#"),A("#","pathname","hash",i)),_(!i.search||!i.search.includes("#"),A("#","search","hash",i)));let r,o=""===t||""===i.pathname,l=o?"/":i.pathname;if(null==l)r=n;else if(a){let t=e[e.length-1].replace(/^\//,"").split("/");if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t.pop();i.pathname=e.join("/")}r="/"+t.join("/")}else{let t=e.length-1;if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t-=1;i.pathname=e.join("/")}r=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:n,search:a="",hash:i=""}="string"==typeof t?b(t):t,r=n?n.startsWith("/")?n:function(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?n.length>1&&n.pop():"."!==t&&n.push(t)})),n.length>1?n.join("/"):"/"}(n,e):e;return{pathname:r,search:W(a),hash:K(i)}}(i,r),m=l&&"/"!==l&&l.endsWith("/"),c=(o||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const H=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",K=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const J=["post","put","patch","delete"],$=(new Set(J),["get",...J]);function z(){return z=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},z.apply(this,arguments)}new Set($),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const q=e.createContext(null),V=e.createContext(null),Y=e.createContext(null),X=e.createContext(null),Q=e.createContext({outlet:null,matches:[],isDataRoute:!1}),Z=e.createContext(null);function tt(){return null!=e.useContext(X)}function et(){return tt()||_(!1),e.useContext(X).location}function nt(t){e.useContext(Y).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(Q);return t?function(){let{router:t}=function(t){let n=e.useContext(q);return n||_(!1),n}(ct.UseNavigateStable),n=gt(ut.UseNavigateStable),a=e.useRef(!1);return nt((()=>{a.current=!0})),e.useCallback((function(e,i){void 0===i&&(i={}),a.current&&("number"==typeof e?t.navigate(e):t.navigate(e,z({fromRouteId:n},i)))}),[t,n])}():function(){tt()||_(!1);let t=e.useContext(q),{basename:n,navigator:a}=e.useContext(Y),{matches:i}=e.useContext(Q),{pathname:r}=et(),o=JSON.stringify(j(i).map((t=>t.pathnameBase))),l=e.useRef(!1);return nt((()=>{l.current=!0})),e.useCallback((function(e,i){if(void 0===i&&(i={}),!l.current)return;if("number"==typeof e)return void a.go(e);let s=F(e,JSON.parse(o),r,"path"===i.relative);null==t&&"/"!==n&&(s.pathname="/"===s.pathname?n:H([n,s.pathname])),(i.replace?a.replace:a.push)(s,i.state,i)}),[n,a,o,r,t])}()}function it(t,n){let{relative:a}=void 0===n?{}:n,{matches:i}=e.useContext(Q),{pathname:r}=et(),o=JSON.stringify(j(i).map(((t,e)=>e===i.length-1?t.pathname:t.pathnameBase)));return e.useMemo((()=>F(t,JSON.parse(o),r,"path"===a)),[t,o,r,a])}function rt(t,n,a){tt()||_(!1);let{navigator:i}=e.useContext(Y),{matches:r}=e.useContext(Q),o=r[r.length-1],l=o?o.params:{},s=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let m,c=et();if(n){var u;let t="string"==typeof n?b(n):n;"/"===s||(null==(u=t.pathname)?void 0:u.startsWith(s))||_(!1),m=t}else m=c;let d=m.pathname||"/",p=x(t,{pathname:"/"===s?d:d.slice(s.length)||"/"}),h=function(t,n,a){var i;if(void 0===n&&(n=[]),void 0===a&&(a=null),null==t){var r;if(null==(r=a)||!r.errors)return null;t=a.matches}let o=t,l=null==(i=a)?void 0:i.errors;if(null!=l){let t=o.findIndex((t=>t.route.id&&(null==l?void 0:l[t.route.id])));t>=0||_(!1),o=o.slice(0,Math.min(o.length,t+1))}return o.reduceRight(((t,i,r)=>{let s=i.route.id?null==l?void 0:l[i.route.id]:null,m=null;a&&(m=i.route.errorElement||lt);let c=n.concat(o.slice(0,r+1)),u=()=>{let n;return n=s?m:i.route.Component?e.createElement(i.route.Component,null):i.route.element?i.route.element:t,e.createElement(mt,{match:i,routeContext:{outlet:t,matches:c,isDataRoute:null!=a},children:n})};return a&&(i.route.ErrorBoundary||i.route.errorElement||0===r)?e.createElement(st,{location:a.location,revalidation:a.revalidation,component:m,error:s,children:u(),routeContext:{outlet:null,matches:c,isDataRoute:!0}}):u()}),null)}(p&&p.map((t=>Object.assign({},t,{params:Object.assign({},l,t.params),pathname:H([s,i.encodeLocation?i.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?s:H([s,i.encodeLocation?i.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),r,a);return n&&h?e.createElement(X.Provider,{value:{location:z({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:g.Pop}},h):h}function ot(){let t=function(){var t;let n=e.useContext(Z),a=function(t){let n=e.useContext(V);return n||_(!1),n}(ut.UseRouteError),i=gt(ut.UseRouteError);return n||(null==(t=a.errors)?void 0:t[i])}(),n=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),a=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},n),a?e.createElement("pre",{style:i},a):null,null)}const lt=e.createElement(ot,null);class st extends e.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: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 this.state.error?e.createElement(Q.Provider,{value:this.props.routeContext},e.createElement(Z.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mt(t){let{routeContext:n,match:a,children:i}=t,r=e.useContext(q);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),e.createElement(Q.Provider,{value:n},i)}var ct=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(ct||{}),ut=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}(ut||{});function gt(t){let n=function(t){let n=e.useContext(Q);return n||_(!1),n}(),a=n.matches[n.matches.length-1];return a.route.id||_(!1),a.route.id}function dt(t){let{to:n,replace:a,state:i,relative:r}=t;tt()||_(!1);let{matches:o}=e.useContext(Q),{pathname:l}=et(),s=at(),m=F(n,j(o).map((t=>t.pathnameBase)),l,"path"===r),c=JSON.stringify(m);return e.useEffect((()=>s(JSON.parse(c),{replace:a,state:i,relative:r})),[s,c,r,a,i]),null}function pt(t){_(!1)}function ht(t){let{basename:n="/",children:a=null,location:i,navigationType:r=g.Pop,navigator:o,static:l=!1}=t;tt()&&_(!1);let s=n.replace(/^\/*/,"/"),m=e.useMemo((()=>({basename:s,navigator:o,static:l})),[s,o,l]);"string"==typeof i&&(i=b(i));let{pathname:c="/",search:u="",hash:d="",state:p=null,key:h="default"}=i,k=e.useMemo((()=>{let t=L(c,s);return null==t?null:{location:{pathname:t,search:u,hash:d,state:p,key:h},navigationType:r}}),[s,c,u,d,p,h,r]);return null==k?null:e.createElement(Y.Provider,{value:m},e.createElement(X.Provider,{children:a,value:k}))}function _t(t){let{children:e,location:n}=t;return rt(kt(e),n)}function kt(t,n){void 0===n&&(n=[]);let a=[];return e.Children.forEach(t,((t,i)=>{if(!e.isValidElement(t))return;let r=[...n,i];if(t.type===e.Fragment)return void a.push.apply(a,kt(t.props.children,r));t.type!==pt&&_(!1),t.props.index&&t.props.children&&_(!1);let o={id:t.props.id||r.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&&(o.children=kt(t.props.children,r)),a.push(o)})),a}e.startTransition,new Promise((()=>{})),e.Component;var ft=window.ReactDOM,Et=t.n(ft);function vt(){return vt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},vt.apply(this,arguments)}function bt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const yt=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],xt=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],wt=e.createContext({isTransitioning:!1});new Map;const St=e.startTransition;function Nt(t){let{basename:n,children:a,future:i,window:r}=t,o=e.useRef();var l;null==o.current&&(o.current=(void 0===(l={window:r,v5Compat:!0})&&(l={}),function(t,e,n,a){void 0===a&&(a={});let{window:i=document.defaultView,v5Compat:r=!1}=a,o=i.history,l=g.Pop,s=null,m=c();function c(){return(o.state||{idx:null}).idx}function u(){l=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:l,location:k.location,delta:e})}function d(t){let e="null"!==i.location.origin?i.location.origin:i.location.href,n="string"==typeof t?t:v(t);return _(e,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,e)}null==m&&(m=0,o.replaceState(p({},o.state,{idx:m}),""));let k={get action(){return l},get location(){return t(i,o)},listen(t){if(s)throw new Error("A history only accepts one active listener");return i.addEventListener(h,u),s=t,()=>{i.removeEventListener(h,u),s=null}},createHref(t){return e(i,t)},createURL:d,encodeLocation(t){let e=d(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){l=g.Push;let a=E(k.location,t,e);n&&n(a,t),m=c()+1;let u=f(a,m),d=k.createHref(a);try{o.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;i.location.assign(d)}r&&s&&s({action:l,location:k.location,delta:1})},replace:function(t,e){l=g.Replace;let a=E(k.location,t,e);n&&n(a,t),m=c();let i=f(a,m),u=k.createHref(a);o.replaceState(i,"",u),r&&s&&s({action:l,location:k.location,delta:0})},go(t){return o.go(t)}};return k}((function(t,e){let{pathname:n="/",search:a="",hash:i=""}=b(t.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),E("",{pathname:n,search:a,hash:i},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let n=t.document.querySelector("base"),a="";if(n&&n.getAttribute("href")){let e=t.location.href,n=e.indexOf("#");a=-1===n?e:e.slice(0,n)}return a+"#"+("string"==typeof e?e:v(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),l)));let s=o.current,[m,c]=e.useState({action:s.action,location:s.location}),{v7_startTransition:u}=i||{},d=e.useCallback((t=>{u&&St?St((()=>c(t))):c(t)}),[c,u]);return e.useLayoutEffect((()=>s.listen(d)),[s,d]),e.createElement(ht,{basename:n,children:a,location:m.location,navigationType:m.action,navigator:s})}ft.flushSync;const Ct="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Tt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gt=e.forwardRef((function(t,n){let a,{onClick:i,relative:r,reloadDocument:o,replace:l,state:s,target:m,to:c,preventScrollReset:u,unstable_viewTransition:g}=t,d=bt(t,yt),{basename:p}=e.useContext(Y),h=!1;if("string"==typeof c&&Tt.test(c)&&(a=c,Ct))try{let t=new URL(window.location.href),e=c.startsWith("//")?new URL(t.protocol+c):new URL(c),n=L(e.pathname,p);e.origin===t.origin&&null!=n?c=n+e.search+e.hash:h=!0}catch(t){}let k=function(t,n){let{relative:a}=void 0===n?{}:n;tt()||_(!1);let{basename:i,navigator:r}=e.useContext(Y),{hash:o,pathname:l,search:s}=it(t,{relative:a}),m=l;return"/"!==i&&(m="/"===l?i:H([i,l])),r.createHref({pathname:m,search:s,hash:o})}(c,{relative:r}),f=function(t,n){let{target:a,replace:i,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s}=void 0===n?{}:n,m=at(),c=et(),u=it(t,{relative:l});return e.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,a)){e.preventDefault();let n=void 0!==i?i:v(c)===v(u);m(t,{replace:n,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s})}}),[c,m,u,i,r,a,t,o,l,s])}(c,{replace:l,state:s,target:m,preventScrollReset:u,relative:r,unstable_viewTransition:g});return e.createElement("a",vt({},d,{href:a||k,onClick:h||o?i:function(t){i&&i(t),t.defaultPrevented||f(t)},ref:n,target:m}))})),Dt=e.forwardRef((function(t,n){let{"aria-current":a="page",caseSensitive:i=!1,className:r="",end:o=!1,style:l,to:s,unstable_viewTransition:m,children:c}=t,u=bt(t,xt),g=it(s,{relative:u.relative}),d=et(),p=e.useContext(V),{navigator:h}=e.useContext(Y),k=null!=p&&function(t,n){void 0===n&&(n={});let a=e.useContext(wt);null==a&&_(!1);let{basename:i}=function(t){let n=e.useContext(q);return n||_(!1),n}(It.useViewTransitionState),r=it(t,{relative:n.relative});if(!a.isTransitioning)return!1;let o=L(a.currentLocation.pathname,i)||a.currentLocation.pathname,l=L(a.nextLocation.pathname,i)||a.nextLocation.pathname;return null!=R(r.pathname,l)||null!=R(r.pathname,o)}(g)&&!0===m,f=h.encodeLocation?h.encodeLocation(g).pathname:g.pathname,E=d.pathname,v=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;i||(E=E.toLowerCase(),v=v?v.toLowerCase():null,f=f.toLowerCase());const b="/"!==f&&f.endsWith("/")?f.length-1:f.length;let y,x=E===f||!o&&E.startsWith(f)&&"/"===E.charAt(b),w=null!=v&&(v===f||!o&&v.startsWith(f)&&"/"===v.charAt(f.length)),S={isActive:x,isPending:w,isTransitioning:k},N=x?a:void 0;y="function"==typeof r?r(S):[r,x?"active":null,w?"pending":null,k?"transitioning":null].filter(Boolean).join(" ");let C="function"==typeof l?l(S):l;return e.createElement(Gt,vt({},u,{"aria-current":N,className:y,ref:n,style:C,to:s,unstable_viewTransition:m}),"function"==typeof c?c(S):c)}));var It,Pt;(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"}(Pt||(Pt={}));var Mt=({title:t})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-px-8 gtmkit-py-6 gtmkit-sticky"},(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-items-center gtmkit-justify-between"},(0,e.createElement)("h1",{className:"gtmkit-flex gtmkit-items-center gtmkit-font-medium gtmkit-text-3xl"},(0,e.createElement)("svg",{className:"gtmkit-mr-8",height:"44",viewBox:"0 0 160 54",width:"128",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("rect",{fill:"#888",height:"54",rx:"4.265",width:"160"}),(0,e.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,e.createElement)("g",{fill:"#fff",transform:"matrix(1.465202 0 0 1.465202 -4.582436 -7.553126)"},(0,e.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,e.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)))),Ot=({to:t,title:n})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Dt,{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 ":"")},n)),Rt=({NavList:t})=>(0,e.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,e.createElement)(Ot,{key:t.to,to:t.to,title:t.title})})));function Ut(){return Ut=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Ut.apply(this,arguments)}function Lt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}function At(t,e){return At=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},At(t,e)}function jt(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,At(t,e)}function Ft(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var Ht=n().createContext(null),Bt=function(t){return t.scrollTop},Wt="unmounted",Kt="exited",Jt="entering",$t="entered",zt="exiting",qt=function(t){function e(e,n){var a;a=t.call(this,e,n)||this;var i,r=n&&!n.isMounting?e.enter:e.appear;return a.appearStatus=null,e.in?r?(i=Kt,a.appearStatus=Jt):i=$t:i=e.unmountOnExit||e.mountOnEnter?Wt:Kt,a.state={status:i},a.nextCallback=null,a}jt(e,t),e.getDerivedStateFromProps=function(t,e){return t.in&&e.status===Wt?{status:Kt}:null};var a=e.prototype;return a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==Jt&&n!==$t&&(e=Jt):n!==Jt&&n!==$t||(e=zt)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,a=this.props.timeout;return t=e=n=a,null!=a&&"number"!=typeof a&&(t=a.exit,e=a.enter,n=void 0!==a.appear?a.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e)if(this.cancelNextCallback(),e===Jt){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:Et().findDOMNode(this);n&&Bt(n)}this.performEnter(t)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Kt&&this.setState({status:Wt})},a.performEnter=function(t){var e=this,n=this.props.enter,a=this.context?this.context.isMounting:t,i=this.props.nodeRef?[a]:[Et().findDOMNode(this),a],r=i[0],o=i[1],l=this.getTimeouts(),s=a?l.appear:l.enter;t||n?(this.props.onEnter(r,o),this.safeSetState({status:Jt},(function(){e.props.onEntering(r,o),e.onTransitionEnd(s,(function(){e.safeSetState({status:$t},(function(){e.props.onEntered(r,o)}))}))}))):this.safeSetState({status:$t},(function(){e.props.onEntered(r)}))},a.performExit=function(){var t=this,e=this.props.exit,n=this.getTimeouts(),a=this.props.nodeRef?void 0:Et().findDOMNode(this);e?(this.props.onExit(a),this.safeSetState({status:zt},(function(){t.props.onExiting(a),t.onTransitionEnd(n.exit,(function(){t.safeSetState({status:Kt},(function(){t.props.onExited(a)}))}))}))):this.safeSetState({status:Kt},(function(){t.props.onExited(a)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(a){n&&(n=!1,e.nextCallback=null,t(a))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e){this.setNextCallback(e);var n=this.props.nodeRef?this.props.nodeRef.current:Et().findDOMNode(this),a=null==t&&!this.props.addEndListener;if(n&&!a){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],r=i[0],o=i[1];this.props.addEndListener(r,o)}null!=t&&setTimeout(this.nextCallback,t)}else setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===Wt)return null;var e=this.props,a=e.children,i=(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,Lt(e,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return n().createElement(Ht.Provider,{value:null},"function"==typeof a?a(t,i):n().cloneElement(n().Children.only(a),i))},e}(n().Component);function Vt(){}qt.contextType=Ht,qt.propTypes={},qt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Vt,onEntering:Vt,onEntered:Vt,onExit:Vt,onExiting:Vt,onExited:Vt},qt.UNMOUNTED=Wt,qt.EXITED=Kt,qt.ENTERING=Jt,qt.ENTERED=$t,qt.EXITING=zt;var Yt=qt,Xt=function(t,e){return t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.remove(a):"string"==typeof n.className?n.className=Ft(n.className,a):n.setAttribute("class",Ft(n.className&&n.className.baseVal||"",a)));var n,a}))},Qt=function(t){function e(){for(var e,n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return(e=t.call.apply(t,[this].concat(a))||this).appliedClasses={appear:{},enter:{},exit:{}},e.onEnter=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1];e.removeClasses(i,"exit"),e.addClass(i,r?"appear":"enter","base"),e.props.onEnter&&e.props.onEnter(t,n)},e.onEntering=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.addClass(i,r,"active"),e.props.onEntering&&e.props.onEntering(t,n)},e.onEntered=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.removeClasses(i,r),e.addClass(i,r,"done"),e.props.onEntered&&e.props.onEntered(t,n)},e.onExit=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"appear"),e.removeClasses(n,"enter"),e.addClass(n,"exit","base"),e.props.onExit&&e.props.onExit(t)},e.onExiting=function(t){var n=e.resolveArguments(t)[0];e.addClass(n,"exit","active"),e.props.onExiting&&e.props.onExiting(t)},e.onExited=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"exit"),e.addClass(n,"exit","done"),e.props.onExited&&e.props.onExited(t)},e.resolveArguments=function(t,n){return e.props.nodeRef?[e.props.nodeRef.current,t]:[t,n]},e.getClassNames=function(t){var n=e.props.classNames,a="string"==typeof n,i=a?(a&&n?n+"-":"")+t:n[t];return{baseClassName:i,activeClassName:a?i+"-active":n[t+"Active"],doneClassName:a?i+"-done":n[t+"Done"]}},e}jt(e,t);var a=e.prototype;return a.addClass=function(t,e,n){var a=this.getClassNames(e)[n+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===e&&"done"===n&&i&&(a+=" "+i),"active"===n&&t&&Bt(t),a&&(this.appliedClasses[e][n]=a,function(t,e){t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.add(a):function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")}(n,a)||("string"==typeof n.className?n.className=n.className+" "+a:n.setAttribute("class",(n.className&&n.className.baseVal||"")+" "+a)));var n,a}))}(t,a))},a.removeClasses=function(t,e){var n=this.appliedClasses[e],a=n.base,i=n.active,r=n.done;this.appliedClasses[e]={},a&&Xt(t,a),i&&Xt(t,i),r&&Xt(t,r)},a.render=function(){var t=this.props,e=(t.classNames,Lt(t,["classNames"]));return n().createElement(Yt,Ut({},e,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},e}(n().Component);Qt.defaultProps={classNames:""},Qt.propTypes={};var Zt=Qt,te=({title:t=(0,a.__)("Save","gtm-kit"),className:n="gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey"})=>{const{useUpdateSettings:o,useIsPending:l,useCanSave:s}=(0,i.useContext)(u);return(0,e.createElement)(r.Button,{className:n,onClick:()=>o(),variant:"primary",disabled:l||!s},s?(0,a.__)(t,"gtm-kit"):(0,a.__)("Saved","gtm-kit"),l?(0,e.createElement)(r.Spinner,null):"")},ee=()=>{const{useCanSave:t}=(0,i.useContext)(u);return(0,e.createElement)(Zt,{in:t,timeout:500,classNames:"slide",unmountOnExit:!0},(0,e.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,e.createElement)(te,null)))},ne=({subject:t})=>{const n=!0===t||"on"===t,i=!0===n?"gtmkit-bg-color-success":"gtmkit-bg-color-button-disabled";return(0,e.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},n?(0,a.__)("Active","gtm-kit"):(0,a.__)("Inactive","gtm-kit"))};const ae=(0,i.forwardRef)((({children:t,className:n="",...a},i)=>(0,e.createElement)("div",{...a,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 "+n,ref:i},t)));ae.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)("div",{...r,className:"gtmkit-flex gtmkit-justify-between gtmkit-items-center gtmkit-mb-5 "+i},(0,e.createElement)(t,{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading"},n),a),ae.Content=({as:t="div",children:n,className:a="gtmkit-flex-auto",...i})=>(0,e.createElement)(t,{...i,className:a},n),ae.Button=({url:t,destination:n,newTab:a=!1,text:i,group:o="",...l})=>{const s=at();return(0,e.createElement)("div",{...l,className:"gtmkit-mt-4 gtmkit-mb-0.5"},(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-rounded !gtmkit-py-4 !gtmkit-px-8 gtmkit-w-full sm:gtmkit-w-auto gtmkit-min-w-[225px]",onClick:()=>{n&&t&&!1===a?window.gtmkitSettings.current_poage===o?s(n,{replace:!0}):window.location.href=t+"#"+n:t?a?window.open(t):window.location.href=t:s(n,{replace:!0})}},(0,e.createElement)("span",{className:"gtmkit-mx-auto gtmkit-text-sm gtmkit-font-bold"},i)))};var ie=ae,re=({title:t,data:n,className:r=""})=>{const{useSettings:o}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8 gtmkit-mt-6"},t),(0,e.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] "+r},n.map(((t,n)=>!1===t.featured?null:(0,e.createElement)(ie,{key:n},(0,e.createElement)(ie.Header,{title:t.title},t.pill?(0,e.createElement)(ne,{subject:o[t.group][t.option]}):null),(0,e.createElement)(ie.Content,null,t.text.map(((t,n)=>(0,e.createElement)("p",{key:n},t)))),(0,e.createElement)(ie.Button,{url:t.link.url,destination:t.link.destination,text:t.link.text?t.link.text:(0,a.__)("Read article","gtm-kit"),newTab:t.link.external,group:t.group}))))))};const oe=[{title:"Woocommerce",pill:!0,group:"integrations",option:"woocommerce_integration",text:[(0,a.__)("The #1 open source eCommerce platform built for WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/woocommerce",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Contact Form 7",pill:!0,group:"integrations",option:"cf7_integration",text:[(0,a.__)("Just another contact form plugin for WordPress. Simple but flexible","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/cf7",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Easy Digital Downloads",pill:!0,group:"integrations",option:"edd_integration",text:[(0,a.__)("Easy way to sell Digital Products With WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/edd",text:(0,a.__)("Setup integration","gtm-kit")}}],le=[{title:"Getting started with GTM Kit",text:[(0,a.__)("How to get the most out of Google Tag Manager with GTM Kit.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!0},{title:(0,a.__)("WooCommerce integration","gtm-kit"),text:[(0,a.__)("Integrate WooCommerce with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=dashboard-tutorials"},featured:!0},{title:"Contact Form 7 Integration",text:[(0,a.__)("Integrate Contact Form 7 with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/contact-form-7-integration/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Easy Digital Downloads integration",text:[(0,a.__)("Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/set-up-easy-digital-downloads-for-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Advanced GTM container implementation",text:[(0,a.__)("Customization of the GTM container implementation and Server Side Tracking.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Settings, actions and filters for developers",text:[(0,a.__)("One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1}];var se=()=>{const{useSettings:t}=(0,i.useContext)(u),[n,r]=(0,i.useState)(le),o=Boolean(t.general.sgtm_domain&&t.general.sgtm_domain.trim());return(0,i.useEffect)((()=>{r((t=>[...t,{title:(0,a.__)("See all tutorials…","gtm-kit"),text:[(0,a.__)("See all our tutorial 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,a.__)("Read articles","gtm-kit")},featured:!0}]))}),[]),(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("General","gtm-kit")),(0,e.createElement)("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]"},(0,e.createElement)(ie,null,(0,e.createElement)(ie.Header,{title:"Google Tag Manager Container"},(0,e.createElement)(ne,{subject:t.general.gtm_id&&t.general.container_active})),(0,e.createElement)(ie.Content,null,t.general.gtm_id&&t.general.container_active?(0,e.createElement)("p",null,(0,a.__)("Container ID:","gtm-kit")," ",t&&t.general.gtm_id):(0,e.createElement)("p",null,(0,a.__)("The container is not active but the datalayer is generated.","gtm-kit"))),(0,e.createElement)(ie.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(ie,null,(0,e.createElement)(ie.Header,{title:(0,a.__)("Server-side GTM","gtm-kit")},(0,e.createElement)(ne,{subject:o})),(0,e.createElement)(ie.Content,null,(0,e.createElement)("p",null,(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit"))),(0,e.createElement)(ie.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(ie,null,(0,e.createElement)(ie.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")},(0,e.createElement)(ne,{subject:t.general.analytics_active})),(0,e.createElement)(ie.Content,null,(0,e.createElement)("p",null,(0,a.__)("Share anonymous data with the development team to help improve GTM Kit.","gtm-kit"))),(0,e.createElement)(ie.Button,{destination:"/misc",text:(0,a.__)("Share anonymous data","gtm-kit")}))),(0,e.createElement)(re,{title:(0,a.__)("Tutorials","gtm-kit"),data:n}),(0,e.createElement)(re,{title:(0,a.__)("Integrations","gtm-kit"),data:oe}))},me=({title:t,placeholder:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",optionGroup:l="general",optionName:s,isDisabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.TextControl,{label:t,placeholder:n,help:a,className:o,value:c[l][s],onChange:t=>g(l,s,t),disabled:m})},ce=({title:t,label:n,optionGroup:a="general",optionName:o,disabled:l=!1})=>{const{useSettings:s,useUpdateStateSettings:m}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-py-4"},(0,e.createElement)(r.BaseControl,{label:t},(0,e.createElement)(r.ToggleControl,{label:n,checked:!l&&s[a][o],onChange:()=>{m(a,o,!(s&&s[a][o]))},disabled:l}))))},ue=({title:t,options:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.RadioControl,{label:t,options:n,help:a,className:o,selected:parseInt(c[l][s]),onChange:t=>g(l,s,t),disabled:m})};const ge=(0,i.forwardRef)((({children:t,className:n="",disabled:a=!1,...i},r)=>(0,e.createElement)("div",{...i,className:"gtmkit-mb-12 gtmkit-border gtmkit-bg-white gtmkit-w-3/4 gtmkit-border-color-grey "+n+(a?"gtmkit-opacity-60":""),ref:r},t)));ge.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)(t,{...r,className:"gtmkit-font-bold gtmkit-text-lg gtmkit-px-8 gtmkit-py-4 gtmkit-border-b gtmkit-border-color-grey "+i},n,a),ge.Content=({as:t="div",children:n,className:a="",...i})=>(0,e.createElement)(t,{...i,className:"gtmkit-px-8 gtmkit-py-6 "+a},n);var de=ge,pe=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!(t.general.sgtm_domain&&t.general.sgtm_domain.trim()&&t.general.sgtm_container_identifier&&t.general.sgtm_container_identifier.trim());return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Tag Manager container","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("General Container Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit")),(0,e.createElement)(me,{title:(0,a.__)("GTM Container ID:","gtm-kit"),optionName:"gtm_id",placeholder:(0,a.__)("Enter GTM Container ID","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("Inject Container Code","gtm-kit"),label:(0,a.__)("Setting this to Off will remove the Google Tag Manager container code but the data layer will remain.","gtm-kit"),optionName:"container_active"}),(0,e.createElement)(ce,{title:(0,a.__)("Just the container","gtm-kit"),label:(0,a.__)("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"}),(0,e.createElement)(me,{title:(0,a.__)("dataLayer variable name:","gtm-kit"),optionName:"datalayer_name",placeholder:"dataLayer",help:(0,a.__)("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.","gtm-kit")}))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Server-side Tagging (sGTM)","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(de.Content,null,(0,e.createElement)(me,{title:(0,a.__)("sGTM Container Domain:","gtm-kit"),optionName:"sgtm_domain",placeholder:(0,a.__)("Enter domain …","gtm-kit"),help:(0,a.__)("Enter your custom domain name if you are using a custom server side GTM container for tracking.","gtm-kit")}),(0,e.createElement)(me,{title:(0,a.__)("sGTM container identifier:","gtm-kit"),optionName:"sgtm_container_identifier",placeholder:(0,a.__)("Enter loader name …","gtm-kit"),help:(0,a.__)("Only use if you are using a custom loader.","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("Cookie Keeper (for Stape users only)","gtm-kit"),label:(0,a.__)("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:n})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Google Tag Manager Server-side Tagging","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Hosting server-side GTM containers","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("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,a.__)("Additionally, it provides valuable add-ons for enhanced functionality.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:"https://stape.io/?pt=tlam&rs=plugin",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer"},(0,a.__)("Learn more about Stape.io","gtm-kit"))))))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Google Tag Manager Environment","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(de.Content,null,(0,e.createElement)(me,{title:(0,a.__)("gtm_auth:","gtm-kit"),optionName:"gtm_auth",placeholder:(0,a.__)("Enter gtm_auth code","gtm-kit"),help:(0,a.__)("Enter your gtm_auth code your GTM environment.","gtm-kit")}),(0,e.createElement)(me,{title:(0,a.__)("gtm_preview:","gtm-kit"),optionName:"gtm_preview",placeholder:(0,a.__)("Enter gtm_preview code","gtm-kit"),help:(0,a.__)("Enter your gtm_preview code your GTM environment.","gtm-kit")})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Environments","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("In Google Tag Manager you can define different environments like Live, Dev and QA.","gtm-kit")," ",(0,a.__)('To use a specific environment in GTM Kit you must enter the "gtm_auth" and "gtm_preview" codes for that environment.',"gtm-kit")," ",(0,a.__)("If left empty the default environment will be used.","gtm-kit")),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Override settings in wp-config.php","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))))))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Container Code Implementation","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Container code implementation:","gtm-kit"),options:[{label:(0,a.__)("Standard implementation as recommended by Google (no delay)","gtm-kit"),value:0},{label:(0,a.__)("Load container when browser is idle (requestIdleCallback)","gtm-kit"),value:1}],help:(0,a.__)("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"}),(0,e.createElement)(ue,{title:(0,a.__)("Container code noscript implementation:","gtm-kit"),options:[{label:(0,a.__)("Just after the opening <body> tag","gtm-kit"),value:0},{label:(0,a.__)("Footer of the page (not recommended by Google)","gtm-kit"),value:1},{label:(0,a.__)("Custom (insert function in your template)","gtm-kit"),value:2},{label:(0,a.__)("Disable <noscript> implementation","gtm-kit"),value:3}],help:(0,a.__)('The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the "body_open" hook. If your theme does not support this the script can be injected in the footer or you can use the function below.',"gtm-kit"),optionName:"noscript_implementation"}),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("code",null,"<?php if ( function_exists( 'gtmkit_the_noscript_tag' ) ) { gtmkit_the_noscript_tag(); } ?>")))))},he=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Post Data","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Post Data Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager.","gtm-kit")),(0,e.createElement)(ce,{title:(0,a.__)("Post type","gtm-kit"),id:"post-type",label:(0,a.__)("Include the type of the current post or archive page.","gtm-kit"),optionName:"datalayer_post_type"}),(0,e.createElement)(ce,{title:(0,a.__)("Page type","gtm-kit"),id:"page-type",label:(0,a.__)('Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. "campaign".',"gtm-kit"),optionName:"datalayer_page_type"}),(0,e.createElement)(ce,{title:(0,a.__)("Categories","gtm-kit"),id:"categories",label:(0,a.__)("Include the categories of the current post or archive page.","gtm-kit"),optionName:"datalayer_categories"}),(0,e.createElement)(ce,{title:(0,a.__)("Tags","gtm-kit"),id:"tags",label:(0,a.__)("Include the tags of the current post or archive page.","gtm-kit"),optionName:"datalayer_tags"}),(0,e.createElement)(ce,{title:(0,a.__)("Post title","gtm-kit"),id:"post-title",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_title"}),(0,e.createElement)(ce,{title:(0,a.__)("Post ID","gtm-kit"),id:"post-id",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_id"}),(0,e.createElement)(ce,{title:(0,a.__)("Post data","gtm-kit"),id:"post-date",label:(0,a.__)("Include the post date.","gtm-kit"),optionName:"datalayer_post_date"}),(0,e.createElement)(ce,{title:(0,a.__)("Post author name","gtm-kit"),id:"post-author-name",label:(0,a.__)("Include the post author name.","gtm-kit"),optionName:"datalayer_post_author_name"}),(0,e.createElement)(ce,{title:(0,a.__)("Post author ID","gtm-kit"),id:"post-author-id",label:(0,a.__)("Include the post author ID.","gtm-kit"),optionName:"datalayer_post_author_id"})))),_e=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("User Data","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Warning!","gtm-kit"),className:"gtmkit-text-red-600"}),(0,e.createElement)(de.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Including user data is not compatible with full page caching.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users.","gtm-kit")))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("User Data Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Logged in","gtm-kit"),id:"logged-in",label:(0,a.__)("Include whether the user is logged in.","gtm-kit"),optionName:"datalayer_logged_in"}),(0,e.createElement)(ce,{title:(0,a.__)("User ID","gtm-kit"),id:"user-id",label:(0,a.__)("Include the user ID if the user is logged in.","gtm-kit"),optionName:"datalayer_user_id"}),(0,e.createElement)(ce,{title:(0,a.__)("User role","gtm-kit"),id:"user-role",label:(0,a.__)("Include the user role if the user is logged in.","gtm-kit"),optionName:"datalayer_user_role"})))),ke=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!t.general.gcm_default_settings;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Consent Mode","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Google Consent Mode Activation","gtm-kit")},(0,e.createElement)("span",{className:"gtmkit-text-red-600 gtmkit-ml-2"},(0,a.__)("Warning!","gtm-kit"))),(0,e.createElement)(de.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode.","gtm-kit")),(0,e.createElement)("p",{className:"!gtmkit-mt-4"},(0,a.__)("GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-color-primary !gtmkit-my-6"},(0,e.createElement)("a",{href:"https://developers.google.com/tag-platform/security/guides/consent#implementation_example",target:"_blank",rel:"noreferrer",className:"hover:gtmkit-underline gtmkit-font-semibold"},(0,a.__)("See an example of how consent is updated","gtm-kit"))),(0,e.createElement)(ce,{title:(0,a.__)("Activate GCM settings","gtm-kit"),label:(0,a.__)("Choose this option if you would like to activate the default settings below","gtm-kit"),optionName:"gcm_default_settings"}))),(0,e.createElement)(de,{disabled:n},(0,e.createElement)(de.Header,{title:(0,a.__)("Google Consent Mode Default Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Ad Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to advertising","gtm-kit"),optionName:"gcm_ad_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Analytics Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to analytics (for example, visit duration)","gtm-kit"),optionName:"gcm_analytics_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Functionality Storage","gtm-kit"),label:(0,a.__)("Enables storage that supports the functionality of the website or app such as language settings","gtm-kit"),optionName:"gcm_functionality_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Personalization Storage","gtm-kit"),label:(0,a.__)("Enables storage related to personalization such as video recommendations","gtm-kit"),optionName:"gcm_personalization_storage",disabled:n}),(0,e.createElement)(ce,{title:(0,a.__)("Security Storage","gtm-kit"),label:(0,a.__)("Enables storage related to security such as authentication functionality, fraud prevention, and other user protection","gtm-kit"),optionName:"gcm_security_storage",disabled:n}))))},fe=({label:t,value:n,tag:a})=>(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-4 gtmkit-py-2"},(0,e.createElement)("strong",null,t)),(0,e.createElement)("td",{className:"gtmkit-px-4 gtmkit-py-2"},"code"===a?(0,e.createElement)("code",{className:"gtmkit-text-sm"},n):(0,e.createElement)("em",null,n))),Ee=()=>{const{useSiteData:t}=(0,i.useContext)(u),n=Object.values(t.shared_data);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm gtmkit-my-6 gtmkit-py-6"},(0,e.createElement)("tbody",{className:"gtmkit-py-6"},n.map((function(t,n){return(0,e.createElement)(fe,{key:n,label:t.label,value:t.value,tag:t.tag})})))))},ve=()=>{const{}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Misc","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(Ee,null),(0,e.createElement)("p",{className:"gtmkit-my-4 gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit will never transmit any domain names or container ID's.","gtm-kit")),(0,e.createElement)(ce,{title:(0,a.__)("Share anonymous data","gtm-kit"),label:(0,a.__)("I agree to share anonymous data with the development team to help improve GTM Kit.","gtm-kit"),optionName:"analytics_active"}))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Logging and debugging","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Console log","gtm-kit"),label:(0,a.__)("Log helpful messages and warnings to the browser log.","gtm-kit"),optionName:"console_log"}))))},be=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(re,{title:(0,a.__)("Integrations","gtm-kit"),data:oe})),ye=({pluginName:t})=>(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.sprintf)((0,a.__)("%s is not active","gtm-kit"),t),className:"gtmkit-text-red-600"}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,a.sprintf)((0,a.__)("If you haven't installed and activated %s you must do that.","gtm-kit"),t)),(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-sm disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.pluginInstallUrl+t}},(0,a.sprintf)((0,a.__)("Install %s","gtm-kit"),t)))),xe=({title:t,options:n,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m=!1,help:c="",notSet:g=!1})=>{const{useSettings:d,useUpdateStateSettings:p}=(0,i.useContext)(u),h=g?[{label:(0,a.__)("(not set)","gtm-kit"),value:""},...n]:n;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(r.SelectControl,{label:t,value:d&&d[l][s],options:h,className:o,onChange:t=>p(l,s,t),disabled:m,help:c}))},we=({pluginName:t,optionName:n,pluginInactive:i})=>(0,e.createElement)(de,{disabled:i},(0,e.createElement)(de.Header,{title:(0,a.sprintf)((0,a.__)("%s Integration","gtm-kit"),t)}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.sprintf)((0,a.__)("Track %s","gtm-kit"),t),label:(0,a.sprintf)((0,a.__)("Activate the %s integration","gtm-kit"),t),optionGroup:"integrations",optionName:n,disabled:i})));const Se=[{label:(0,a.__)("Retail","gtm-kit"),value:"retail"},{label:(0,a.__)("Education","gtm-kit"),value:"education"},{label:(0,a.__)("Flights","gtm-kit"),value:"flights"},{label:(0,a.__)("Hotel rental","gtm-kit"),value:"hotel_rental"},{label:(0,a.__)("Jobs","gtm-kit"),value:"jobs"},{label:(0,a.__)("Local deals","gtm-kit"),value:"local"},{label:(0,a.__)("Real estate","gtm-kit"),value:"real_estate"},{label:(0,a.__)("Travel","gtm-kit"),value:"travel"},{label:(0,a.__)("Custom","gtm-kit"),value:"custom"}];var Ne=()=>{const{useSettings:t}=(0,i.useContext)(u),n="WooCommerce",r=!window.gtmkitSettings.plugins.woocommerce,o=r||!t.integrations.woocommerce_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("WooCommerce","gtm-kit")),r?(0,e.createElement)(ye,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"woocommerce_integration",pluginInactive:r}),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Basic settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(xe,{title:(0,a.__)("Brand","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_brand",options:window.gtmkitSettings.taxonomyOptions,help:(0,a.__)("Select the taxonomy that is used for product brands","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_use_sku",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_tax",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Exclude shipping from revenue","gtm-kit"),label:(0,a.__)("Exclude shipping from revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_shipping",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_customer_data",disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Event customization","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ue,{title:"view_item_list (with product filter)",options:[{label:(0,a.__)("Push view_item_list when the list is updated using a product filter.","gtm-kit"),value:0},{label:(0,a.__)("Only only push view_item_list once per per page for each list.","gtm-kit"),value:1}],help:(0,a.__)("Do you what to push the view_item_list event if the list is updated using a filter or just once per page view.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_view_item_list_limit",disabled:o}),(0,e.createElement)(ue,{title:"view_item",options:[{label:(0,a.__)("Only push view_item on the master product","gtm-kit"),value:0},{label:(0,a.__)("Push view_item on master and variation products (higher number of views).","gtm-kit"),value:1},{label:(0,a.__)("Only push view_item on variation products.","gtm-kit"),value:2}],help:(0,a.__)('When do you want to fire the "view_item" event on variable products?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_variable_product_tracking",disabled:o}),(0,e.createElement)(ue,{title:"add_shipping_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a shipment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_shipment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_shipment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_shipping_info",disabled:o}),(0,e.createElement)(ue,{title:"add_payment_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a payment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_payment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_payment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_payment_info",disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(xe,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_google_business_vertical",options:Se,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(me,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_dequeue_script",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include permalink structure","gtm-kit"),label:(0,a.__)("Enable this option to include the permalink structure of the product base, category base, tag base and attribute base.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_permalink_structure",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include path of pages","gtm-kit"),label:(0,a.__)("Enable this option to include the path of cart, checkout, order received and my account page.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_pages",disabled:o}))))},Ce=()=>{const{useSettings:t}=(0,i.useContext)(u),n="Contact Form 7",r=!window.gtmkitSettings.plugins.cf7,o=r||!t.integrations.cf7_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Contact Form 7","gtm-kit")),r?(0,e.createElement)(ye,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"cf7_integration",pluginInactive:r}),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Load JavaScript","gtm-kit"),options:[{label:(0,a.__)("Only on pages where where the Contact Form 7 script is registered (recommended).","gtm-kit"),value:1},{label:(0,a.__)("On all pages","gtm-kit"),value:2}],help:(0,a.__)("Where do you want load the JavaScript?","gtm-kit"),optionGroup:"integrations",optionName:"cf7_load_js",disabled:o}))))},Te=()=>{const t="Easy Digital Downloads",n=!window.gtmkitSettings.plugins.edd,{useSettings:r}=(0,i.useContext)(u),o=n||!r.integrations.edd_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Easy Digital Downloads","gtm-kit")),n?(0,e.createElement)(ye,{pluginName:t}):null,(0,e.createElement)(we,{pluginName:t,optionName:"edd_integration",pluginInactive:n}),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"edd_use_sku",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"edd_exclude_tax",disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"edd_include_customer_data",disabled:o}))),(0,e.createElement)(de,{disabled:o},(0,e.createElement)(de.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(xe,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"edd_google_business_vertical",options:Se,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(me,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"edd_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(de,{disabled:n},(0,e.createElement)(de.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"edd_dequeue_script",disabled:o}))))},Ge=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Help","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Google Tag Manager templates","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit"),(0,a.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/"},(0,a.__)("Read guide","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-font-bold"},(0,a.__)("GTM container import files:","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - eCommerce","gtm-kit")))))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Tutorials","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("ul",null,le.map(((t,n)=>(0,e.createElement)("li",{key:n,className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:t.link.url,target:"_blank",rel:"noreferrer",className:"gtmkit-font-semibold gtmkit-text-color-primary hover:gtmkit-underline"},t.title),t.text.map(((t,n)=>(0,e.createElement)("div",{key:n,className:"gtmkit-text-sm"},t)))))))))),De=()=>{const{useSiteData:t}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Get support","gtm-kit")),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("Support options","gtm-kit")}),(0,e.createElement)(de.Content,null,(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://wordpress.org/support/plugin/gtm-kit/",target:"_blank",rel:"noreferrer"},(0,a.__)("WordPress.org Support Forum","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("GITHub repository","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/",target:"_blank",rel:"noreferrer"},(0,a.__)("Plugin Homepage","gtm-kit"))," ","(gtmkit.com)")))),(0,e.createElement)(de,null,(0,e.createElement)(de.Header,{title:(0,a.__)("About GTM Kit","gtm-kit"),className:"gtmkit-flex gtmkit-items-center"},(0,e.createElement)("span",{className:"gtmkit-text-sm gtmkit-text-color-grey gtmkit-font-light gtmkit-ml-2"},"(",(0,a.__)("Version:","gtm-kit")," ",t.gtmkit_version,")")),(0,e.createElement)(de.Content,null,(0,e.createElement)("p",null,(0,a.__)("You can see the changes of all versions in:","gtm-kit"),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary gtmkit-ml-2 hover:gtmkit-underline",href:"https://gtmkit.com/changelog/",target:"_blank",rel:"noreferrer"},(0,a.__)("The changelog","gtm-kit")),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary gtmkit-ml-2 hover:gtmkit-underline",href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("The Github repository","gtm-kit"))))))};const Ie={integrations:(0,a.__)("Integrations","gtm-kit"),help:(0,a.__)("Help","gtm-kit")},Pe=()=>{const{useSettings:t}=(0,i.useContext)(u),n=window.gtmkitSettings.currentPage,o=function({page:t}){const e=[{to:"general",title:(0,a.__)("Dashboard","gtm-kit")},{to:"container",title:(0,a.__)("Container","gtm-kit")},{to:"post-data",title:(0,a.__)("Post data","gtm-kit")},{to:"user-data",title:(0,a.__)("User data","gtm-kit")},{to:"google-consent-mode",title:(0,a.__)("Google Consent Mode","gtm-kit")},{to:"misc",title:(0,a.__)("Misc","gtm-kit")}],n=[{to:"integrations",title:(0,a.__)("Integrations","gtm-kit")},{to:"woocommerce",title:"WooCommerce"},{to:"cf7",title:"Contact Form 7"},{to:"edd",title:"Easy Digital Downloads"}],i=[{to:"help",title:(0,a.__)("Help","gtm-kit")},{to:"support",title:(0,a.__)("Support","gtm-kit")}];switch(t){case"general":return e;case"integrations":return n;case"help":return i}}({page:n}),l=Ie[n]||(0,a.__)("Settings","gtm-kit");return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Mt,{title:l}),(0,e.createElement)(Rt,{NavList:o}),(0,e.createElement)("main",{className:"gtmkit-max-w-[1536px] gtmkit-px-8 gtmkit-pt-8 gtmkit-text-base"},(0,e.createElement)(_t,null,(0,e.createElement)(pt,{exact:!0,path:"/general",element:(0,e.createElement)(se,null)}),(0,e.createElement)(pt,{exact:!0,path:"/container",element:(0,e.createElement)(pe,null)}),(0,e.createElement)(pt,{exact:!0,path:"/post-data",element:(0,e.createElement)(he,null)}),(0,e.createElement)(pt,{exact:!0,path:"/user-data",element:(0,e.createElement)(_e,null)}),(0,e.createElement)(pt,{exact:!0,path:"/google-consent-mode",element:(0,e.createElement)(ke,null)}),(0,e.createElement)(pt,{exact:!0,path:"/misc",element:(0,e.createElement)(ve,null)}),(0,e.createElement)(pt,{exact:!0,path:"/integrations",element:(0,e.createElement)(be,null)}),(0,e.createElement)(pt,{exact:!0,path:"/woocommerce",element:(0,e.createElement)(Ne,null)}),(0,e.createElement)(pt,{exact:!0,path:"/cf7",element:(0,e.createElement)(Ce,null)}),(0,e.createElement)(pt,{exact:!0,path:"/edd",element:(0,e.createElement)(Te,null)}),(0,e.createElement)(pt,{exact:!0,path:"/help",element:(0,e.createElement)(Ge,null)}),(0,e.createElement)(pt,{exact:!0,path:"/support",element:(0,e.createElement)(De,null)}),(0,e.createElement)(pt,{path:"/",element:(0,e.createElement)(dt,{replace:!0,to:"/"+n})}))),(0,e.createElement)(ee,null)):(0,e.createElement)("div",{className:"gtmkit-h-screen gtmkit-flex gtmkit-items-center gtmkit-justify-center"},(0,e.createElement)(r.Spinner,null))},Me=()=>(0,e.createElement)(Nt,{basename:"/"},(0,e.createElement)(d,null,(0,e.createElement)(Pe,null)));document.addEventListener("DOMContentLoaded",(()=>{const t=document.getElementById(window.gtmkitSettings.rootId);null!=t&&(0,i.render)((0,e.createElement)(Me,null),t)}))}();
     1!function(){"use strict";var t={n:function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,{a:n}),n},d:function(e,n){for(var a in n)t.o(n,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:n[a]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,n=t.n(e),a=window.wp.i18n,i=window.wp.element,r=window.wp.components,o=window.lodash,l=window.wp.apiFetch,s=t.n(l);s().use(s().createNonceMiddleware(window.gtmkitSettings.nonce)),s().use(s().createRootURLMiddleware(window.gtmkitSettings.root));const m=async(t,e,n=null,a=!1)=>{let i={};try{i=await s()({path:t,method:e,...n&&{data:n}})}catch(n){return console.log(`${e} ${t} Errors:`,n),{[`gtm_kit_api_${e}_${t}_errors`]:!0}}return!0===a?i:!0===i.success?i.data:options};var c=(t,e)=>{const n={...t};switch(e.type){case"FETCH_SETTINGS":n.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},n.stateSettings=e.payload.stateSettings,n.siteData=e.payload.siteData,n.installData=e.payload.installData,n.isPending=!1,n.canSave=!1,e.payload.fetchedSettings.gtm_kit_api_fetch_settings_errors&&(n.notice=(0,a.__)("An error occurred.","gtm-kit"),n.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":n.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":n.fetchedSettings=e.payload.fetchedSettings,n.stateSettings=e.payload.stateSettings,n.isPending=!1,n.canSave=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors,n.notice=e.payload.fetchedSettings.gtm_kit_api_update_settings_errors?(0,a.__)("An error occurred.","gtm-kit"):(0,a.__)("Saved Successfully.","gtm-kit"),n.hasError=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors;break;case"UPDATE_STATE":n.fetchedSettings=e.payload.fetchedSettings||n.fetchedSettings,n.stateSettings=e.payload.stateSettings||n.stateSettings,n.isPending=e.payload.isPending||n.isPending,n.notice=e.payload.notice||n.notice,n.hasError=e.payload.hasError||n.hasError,n.canSave=e.payload.canSave||n.canSave,n.isSendingSystemData=e.payload.isSendingSystemData||n.isSendingSystemData,n.supportTicket=e.payload.supportTicket||n.supportTicket;break;case"SEND_SUPPORT_DATA_BEFORE":n.isSendingSystemData=e.payload.isSendingSystemData||n.isSendingSystemData;break;case"SEND_SUPPORT_DATA":n.isSendingSystemData=!1,n.isSystemDataSent=e.payload.isSystemDataSent||n.isSystemDataSent,n.systemDataMessage=e.payload.systemDataMessage||n.systemDataMessage}return n};const u=(0,i.createContext)();var g,d=t=>{const[n,a]=(0,i.useReducer)(c,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1,supportTicket:"",isSystemDataSent:!1,systemDataMessage:""}),r=async()=>{const[t,e]=await Promise.all([m("gtmkit/v1/get-options","GET"),m("gtmkit/v1/get-site-data","GET")]),n="wizard"===window.gtmkitSettings.currentPage?await m("gtmkit/v1/get-install-data","GET"):{};a({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:n}})},l=async t=>{a({type:"UPDATE_STATE",payload:t})};(0,i.useEffect)((()=>{r()}),[]);const s={useDispatch:t=>{a(t)},useUpdateSettings:async()=>{a({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,m("gtmkit/v1/set-options","POST",e));var e;a({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:r,useUpdateState:l,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let r;i[t][e]=a,r=!(0,o.isEqual)(i,n.fetchedSettings),l({stateSettings:i,canSave:r})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const r={};r.general={...a.general,...e.general},"integrations"in e&&(r.integrations={...a.integrations,...e.integrations}),i=!(0,o.isEqual)(r,n.fetchedSettings),l({stateSettings:r,canSave:i})},useUpdateSupportTicket:async t=>{l({supportTicket:t})},useSendSystemData:async()=>{a({type:"SEND_SUPPORT_DATA_BEFORE",payload:{isSendingSystemData:!0}});const t=await(e=n.supportTicket,m("gtmkit/v1/send-support-data","POST",e,!0));var e;a({type:"SEND_SUPPORT_DATA",payload:{isSendingSystemData:!1,isSystemDataSent:t.success,systemDataMessage:t.data}})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData,useIsSending:n.isSendingSystemData,useSupportTicket:n.supportTicket,useIsSystemDataSent:n.isSystemDataSent,useSystemDataMessage:n.systemDataMessage};return(0,e.createElement)(u.Provider,{value:s},t.children)};function p(){return p=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},p.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const h="popstate";function _(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function f(t,e){return{usr:t.state,key:t.key,idx:e}}function E(t,e,n,a){return void 0===n&&(n=null),p({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?b(e):e,{state:n,key:e&&e.key||a||Math.random().toString(36).substr(2,8)})}function v(t){let{pathname:e="/",search:n="",hash:a=""}=t;return n&&"?"!==n&&(e+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(e+="#"===a.charAt(0)?a:"#"+a),e}function b(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));let a=t.indexOf("?");a>=0&&(e.search=t.substr(a),t=t.substr(0,a)),t&&(e.pathname=t)}return e}var y;function x(t,e,n){void 0===n&&(n="/");let a=A(("string"==typeof e?b(e):e).pathname||"/",n);if(null==a)return null;let i=S(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,n)=>t===e[n]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(i);let r=null;for(let t=0;null==r&&t<i.length;++t)r=O(i[t],U(a));return r}function S(t,e,n,a){void 0===e&&(e=[]),void 0===n&&(n=[]),void 0===a&&(a="");let i=(t,i,r)=>{let o={relativePath:void 0===r?t.path||"":r,caseSensitive:!0===t.caseSensitive,childrenIndex:i,route:t};o.relativePath.startsWith("/")&&(_(o.relativePath.startsWith(a),'Absolute route path "'+o.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(a.length));let l=H([a,o.relativePath]),s=n.concat(o);t.children&&t.children.length>0&&(_(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),S(t.children,e,s,l)),(null!=t.path||t.index)&&e.push({path:l,score:M(l,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var n;if(""!==t.path&&null!=(n=t.path)&&n.includes("?"))for(let n of w(t.path))i(t,e,n);else i(t,e)})),e}function w(t){let e=t.split("/");if(0===e.length)return[];let[n,...a]=e,i=n.endsWith("?"),r=n.replace(/\?$/,"");if(0===a.length)return i?[r,""]:[r];let o=w(a.join("/")),l=[];return l.push(...o.map((t=>""===t?r:[r,t].join("/")))),i&&l.push(...o),l.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(y||(y={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const N=/^:\w+$/,C=3,T=2,D=1,G=10,P=-2,I=t=>"*"===t;function M(t,e){let n=t.split("/"),a=n.length;return n.some(I)&&(a+=P),e&&(a+=T),n.filter((t=>!I(t))).reduce(((t,e)=>t+(N.test(e)?C:""===e?D:G)),a)}function O(t,e){let{routesMeta:n}=t,a={},i="/",r=[];for(let t=0;t<n.length;++t){let o=n[t],l=t===n.length-1,s="/"===i?e:e.slice(i.length)||"/",m=R({path:o.relativePath,caseSensitive:o.caseSensitive,end:l},s);if(!m)return null;Object.assign(a,m.params);let c=o.route;r.push({params:a,pathname:H([i,m.pathname]),pathnameBase:B(H([i,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(i=H([i,m.pathnameBase]))}return r}function R(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[n,a]=function(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let a=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,n)=>(a.push({paramName:e,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(a.push({paramName:"*"}),i+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==t&&"/"!==t&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),a]}(t.path,t.caseSensitive,t.end),i=e.match(n);if(!i)return null;let r=i[0],o=r.replace(/(.)\/+$/,"$1"),l=i.slice(1);return{params:a.reduce(((t,e,n)=>{let{paramName:a,isOptional:i}=e;if("*"===a){let t=l[n]||"";o=r.slice(0,r.length-t.length).replace(/(.)\/+$/,"$1")}const s=l[n];return t[a]=i&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(n){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+n+")."),t}}(s||"",a),t}),{}),pathname:r,pathnameBase:o,pattern:t}}function U(t){try{return decodeURI(t)}catch(e){return k(!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 A(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,a=t.charAt(n);return a&&"/"!==a?null:t.slice(n)||"/"}function L(t,e,n,a){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(a)+"].  Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function F(t,e){let n=function(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}(t);return e?n.map(((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)):n.map((t=>t.pathnameBase))}function j(t,e,n,a){let i;void 0===a&&(a=!1),"string"==typeof t?i=b(t):(i=p({},t),_(!i.pathname||!i.pathname.includes("?"),L("?","pathname","search",i)),_(!i.pathname||!i.pathname.includes("#"),L("#","pathname","hash",i)),_(!i.search||!i.search.includes("#"),L("#","search","hash",i)));let r,o=""===t||""===i.pathname,l=o?"/":i.pathname;if(null==l)r=n;else if(a){let t=0===e.length?[]:e[e.length-1].replace(/^\//,"").split("/");if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t.pop();i.pathname=e.join("/")}r="/"+t.join("/")}else{let t=e.length-1;if(l.startsWith("..")){let e=l.split("/");for(;".."===e[0];)e.shift(),t-=1;i.pathname=e.join("/")}r=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:n,search:a="",hash:i=""}="string"==typeof t?b(t):t,r=n?n.startsWith("/")?n:function(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?n.length>1&&n.pop():"."!==t&&n.push(t)})),n.length>1?n.join("/"):"/"}(n,e):e;return{pathname:r,search:W(a),hash:K(i)}}(i,r),m=l&&"/"!==l&&l.endsWith("/"),c=(o||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const H=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",K=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const J=["post","put","patch","delete"],$=(new Set(J),["get",...J]);function z(){return z=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},z.apply(this,arguments)}new Set($),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const q=e.createContext(null),V=e.createContext(null),Y=e.createContext(null),X=e.createContext(null),Q=e.createContext({outlet:null,matches:[],isDataRoute:!1}),Z=e.createContext(null);function tt(){return null!=e.useContext(X)}function et(){return tt()||_(!1),e.useContext(X).location}function nt(t){e.useContext(Y).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(Q);return t?function(){let{router:t}=function(t){let n=e.useContext(q);return n||_(!1),n}(ct.UseNavigateStable),n=gt(ut.UseNavigateStable),a=e.useRef(!1);return nt((()=>{a.current=!0})),e.useCallback((function(e,i){void 0===i&&(i={}),a.current&&("number"==typeof e?t.navigate(e):t.navigate(e,z({fromRouteId:n},i)))}),[t,n])}():function(){tt()||_(!1);let t=e.useContext(q),{basename:n,future:a,navigator:i}=e.useContext(Y),{matches:r}=e.useContext(Q),{pathname:o}=et(),l=JSON.stringify(F(r,a.v7_relativeSplatPath)),s=e.useRef(!1);return nt((()=>{s.current=!0})),e.useCallback((function(e,a){if(void 0===a&&(a={}),!s.current)return;if("number"==typeof e)return void i.go(e);let r=j(e,JSON.parse(l),o,"path"===a.relative);null==t&&"/"!==n&&(r.pathname="/"===r.pathname?n:H([n,r.pathname])),(a.replace?i.replace:i.push)(r,a.state,a)}),[n,i,l,o,t])}()}function it(t,n){let{relative:a}=void 0===n?{}:n,{future:i}=e.useContext(Y),{matches:r}=e.useContext(Q),{pathname:o}=et(),l=JSON.stringify(F(r,i.v7_relativeSplatPath));return e.useMemo((()=>j(t,JSON.parse(l),o,"path"===a)),[t,l,o,a])}function rt(t,n,a,i){tt()||_(!1);let{navigator:r}=e.useContext(Y),{matches:o}=e.useContext(Q),l=o[o.length-1],s=l?l.params:{},m=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let c,u=et();if(n){var d;let t="string"==typeof n?b(n):n;"/"===m||(null==(d=t.pathname)?void 0:d.startsWith(m))||_(!1),c=t}else c=u;let p=c.pathname||"/",h=x(t,{pathname:"/"===m?p:p.slice(m.length)||"/"}),k=function(t,n,a,i){var r;if(void 0===n&&(n=[]),void 0===a&&(a=null),void 0===i&&(i=null),null==t){var o;if(null==(o=a)||!o.errors)return null;t=a.matches}let l=t,s=null==(r=a)?void 0:r.errors;if(null!=s){let t=l.findIndex((t=>t.route.id&&(null==s?void 0:s[t.route.id])));t>=0||_(!1),l=l.slice(0,Math.min(l.length,t+1))}let m=!1,c=-1;if(a&&i&&i.v7_partialHydration)for(let t=0;t<l.length;t++){let e=l[t];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=t),e.route.loader&&e.route.id&&void 0===a.loaderData[e.route.id]&&(!a.errors||void 0===a.errors[e.route.id])){m=!0,l=c>=0?l.slice(0,c+1):[l[0]];break}}return l.reduceRight(((t,i,r)=>{let o,u=!1,g=null,d=null;var p;a&&(o=s&&i.route.id?s[i.route.id]:void 0,g=i.route.errorElement||lt,m&&(c<0&&0===r?(dt[p="route-fallback"]||(dt[p]=!0),u=!0,d=null):c===r&&(u=!0,d=i.route.hydrateFallbackElement||null)));let h=n.concat(l.slice(0,r+1)),_=()=>{let n;return n=o?g:u?d:i.route.Component?e.createElement(i.route.Component,null):i.route.element?i.route.element:t,e.createElement(mt,{match:i,routeContext:{outlet:t,matches:h,isDataRoute:null!=a},children:n})};return a&&(i.route.ErrorBoundary||i.route.errorElement||0===r)?e.createElement(st,{location:a.location,revalidation:a.revalidation,component:g,error:o,children:_(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):_()}),null)}(h&&h.map((t=>Object.assign({},t,{params:Object.assign({},s,t.params),pathname:H([m,r.encodeLocation?r.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?m:H([m,r.encodeLocation?r.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),o,a,i);return n&&k?e.createElement(X.Provider,{value:{location:z({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:g.Pop}},k):k}function ot(){let t=function(){var t;let n=e.useContext(Z),a=function(t){let n=e.useContext(V);return n||_(!1),n}(ut.UseRouteError),i=gt(ut.UseRouteError);return void 0!==n?n:null==(t=a.errors)?void 0:t[i]}(),n=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),a=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},n),a?e.createElement("pre",{style:i},a):null,null)}const lt=e.createElement(ot,null);class st extends e.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?e.createElement(Q.Provider,{value:this.props.routeContext},e.createElement(Z.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mt(t){let{routeContext:n,match:a,children:i}=t,r=e.useContext(q);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),e.createElement(Q.Provider,{value:n},i)}var ct=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(ct||{}),ut=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}(ut||{});function gt(t){let n=function(t){let n=e.useContext(Q);return n||_(!1),n}(),a=n.matches[n.matches.length-1];return a.route.id||_(!1),a.route.id}const dt={};function pt(t){let{to:n,replace:a,state:i,relative:r}=t;tt()||_(!1);let{future:o,static:l}=e.useContext(Y),{matches:s}=e.useContext(Q),{pathname:m}=et(),c=at(),u=j(n,F(s,o.v7_relativeSplatPath),m,"path"===r),g=JSON.stringify(u);return e.useEffect((()=>c(JSON.parse(g),{replace:a,state:i,relative:r})),[c,g,r,a,i]),null}function ht(t){_(!1)}function _t(t){let{basename:n="/",children:a=null,location:i,navigationType:r=g.Pop,navigator:o,static:l=!1,future:s}=t;tt()&&_(!1);let m=n.replace(/^\/*/,"/"),c=e.useMemo((()=>({basename:m,navigator:o,static:l,future:z({v7_relativeSplatPath:!1},s)})),[m,s,o,l]);"string"==typeof i&&(i=b(i));let{pathname:u="/",search:d="",hash:p="",state:h=null,key:k="default"}=i,f=e.useMemo((()=>{let t=A(u,m);return null==t?null:{location:{pathname:t,search:d,hash:p,state:h,key:k},navigationType:r}}),[m,u,d,p,h,k,r]);return null==f?null:e.createElement(Y.Provider,{value:c},e.createElement(X.Provider,{children:a,value:f}))}function kt(t){let{children:e,location:n}=t;return rt(ft(e),n)}function ft(t,n){void 0===n&&(n=[]);let a=[];return e.Children.forEach(t,((t,i)=>{if(!e.isValidElement(t))return;let r=[...n,i];if(t.type===e.Fragment)return void a.push.apply(a,ft(t.props.children,r));t.type!==ht&&_(!1),t.props.index&&t.props.children&&_(!1);let o={id:t.props.id||r.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&&(o.children=ft(t.props.children,r)),a.push(o)})),a}e.startTransition,new Promise((()=>{})),e.Component;var Et=window.ReactDOM,vt=t.n(Et);function bt(){return bt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},bt.apply(this,arguments)}function yt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const xt=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],St=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],wt=e.createContext({isTransitioning:!1});new Map;const Nt=e.startTransition;function Ct(t){let{basename:n,children:a,future:i,window:r}=t,o=e.useRef();null==o.current&&(o.current=function(t){return void 0===t&&(t={}),function(t,e,n,a){void 0===a&&(a={});let{window:i=document.defaultView,v5Compat:r=!1}=a,o=i.history,l=g.Pop,s=null,m=c();function c(){return(o.state||{idx:null}).idx}function u(){l=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:l,location:k.location,delta:e})}function d(t){let e="null"!==i.location.origin?i.location.origin:i.location.href,n="string"==typeof t?t:v(t);return _(e,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,e)}null==m&&(m=0,o.replaceState(p({},o.state,{idx:m}),""));let k={get action(){return l},get location(){return t(i,o)},listen(t){if(s)throw new Error("A history only accepts one active listener");return i.addEventListener(h,u),s=t,()=>{i.removeEventListener(h,u),s=null}},createHref(t){return e(i,t)},createURL:d,encodeLocation(t){let e=d(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){l=g.Push;let a=E(k.location,t,e);n&&n(a,t),m=c()+1;let u=f(a,m),d=k.createHref(a);try{o.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;i.location.assign(d)}r&&s&&s({action:l,location:k.location,delta:1})},replace:function(t,e){l=g.Replace;let a=E(k.location,t,e);n&&n(a,t),m=c();let i=f(a,m),u=k.createHref(a);o.replaceState(i,"",u),r&&s&&s({action:l,location:k.location,delta:0})},go(t){return o.go(t)}};return k}((function(t,e){let{pathname:n="/",search:a="",hash:i=""}=b(t.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),E("",{pathname:n,search:a,hash:i},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let n=t.document.querySelector("base"),a="";if(n&&n.getAttribute("href")){let e=t.location.href,n=e.indexOf("#");a=-1===n?e:e.slice(0,n)}return a+"#"+("string"==typeof e?e:v(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),t)}({window:r,v5Compat:!0}));let l=o.current,[s,m]=e.useState({action:l.action,location:l.location}),{v7_startTransition:c}=i||{},u=e.useCallback((t=>{c&&Nt?Nt((()=>m(t))):m(t)}),[m,c]);return e.useLayoutEffect((()=>l.listen(u)),[l,u]),e.createElement(_t,{basename:n,children:a,location:s.location,navigationType:s.action,navigator:l,future:i})}Et.flushSync;const Tt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Dt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gt=e.forwardRef((function(t,n){let a,{onClick:i,relative:r,reloadDocument:o,replace:l,state:s,target:m,to:c,preventScrollReset:u,unstable_viewTransition:g}=t,d=yt(t,xt),{basename:p}=e.useContext(Y),h=!1;if("string"==typeof c&&Dt.test(c)&&(a=c,Tt))try{let t=new URL(window.location.href),e=c.startsWith("//")?new URL(t.protocol+c):new URL(c),n=A(e.pathname,p);e.origin===t.origin&&null!=n?c=n+e.search+e.hash:h=!0}catch(t){}let k=function(t,n){let{relative:a}=void 0===n?{}:n;tt()||_(!1);let{basename:i,navigator:r}=e.useContext(Y),{hash:o,pathname:l,search:s}=it(t,{relative:a}),m=l;return"/"!==i&&(m="/"===l?i:H([i,l])),r.createHref({pathname:m,search:s,hash:o})}(c,{relative:r}),f=function(t,n){let{target:a,replace:i,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s}=void 0===n?{}:n,m=at(),c=et(),u=it(t,{relative:l});return e.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,a)){e.preventDefault();let n=void 0!==i?i:v(c)===v(u);m(t,{replace:n,state:r,preventScrollReset:o,relative:l,unstable_viewTransition:s})}}),[c,m,u,i,r,a,t,o,l,s])}(c,{replace:l,state:s,target:m,preventScrollReset:u,relative:r,unstable_viewTransition:g});return e.createElement("a",bt({},d,{href:a||k,onClick:h||o?i:function(t){i&&i(t),t.defaultPrevented||f(t)},ref:n,target:m}))})),Pt=e.forwardRef((function(t,n){let{"aria-current":a="page",caseSensitive:i=!1,className:r="",end:o=!1,style:l,to:s,unstable_viewTransition:m,children:c}=t,u=yt(t,St),g=it(s,{relative:u.relative}),d=et(),p=e.useContext(V),{navigator:h}=e.useContext(Y),k=null!=p&&function(t,n){void 0===n&&(n={});let a=e.useContext(wt);null==a&&_(!1);let{basename:i}=function(t){let n=e.useContext(q);return n||_(!1),n}(It.useViewTransitionState),r=it(t,{relative:n.relative});if(!a.isTransitioning)return!1;let o=A(a.currentLocation.pathname,i)||a.currentLocation.pathname,l=A(a.nextLocation.pathname,i)||a.nextLocation.pathname;return null!=R(r.pathname,l)||null!=R(r.pathname,o)}(g)&&!0===m,f=h.encodeLocation?h.encodeLocation(g).pathname:g.pathname,E=d.pathname,v=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;i||(E=E.toLowerCase(),v=v?v.toLowerCase():null,f=f.toLowerCase());const b="/"!==f&&f.endsWith("/")?f.length-1:f.length;let y,x=E===f||!o&&E.startsWith(f)&&"/"===E.charAt(b),S=null!=v&&(v===f||!o&&v.startsWith(f)&&"/"===v.charAt(f.length)),w={isActive:x,isPending:S,isTransitioning:k},N=x?a:void 0;y="function"==typeof r?r(w):[r,x?"active":null,S?"pending":null,k?"transitioning":null].filter(Boolean).join(" ");let C="function"==typeof l?l(w):l;return e.createElement(Gt,bt({},u,{"aria-current":N,className:y,ref:n,style:C,to:s,unstable_viewTransition:m}),"function"==typeof c?c(w):c)}));var It,Mt;(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"}(Mt||(Mt={}));var Ot=({title:t})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-px-8 gtmkit-py-6 gtmkit-sticky"},(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-items-center gtmkit-justify-between"},(0,e.createElement)("h1",{className:"gtmkit-flex gtmkit-items-center gtmkit-font-medium gtmkit-text-3xl"},(0,e.createElement)("svg",{className:"gtmkit-mr-8",height:"44",viewBox:"0 0 160 54",width:"128",xmlns:"http://www.w3.org/2000/svg"},(0,e.createElement)("rect",{fill:"#888",height:"54",rx:"4.265",width:"160"}),(0,e.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,e.createElement)("g",{fill:"#fff",transform:"matrix(1.465202 0 0 1.465202 -4.582436 -7.553126)"},(0,e.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,e.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)))),Rt=({to:t,title:n})=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Pt,{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 ":"")},n)),Ut=({NavList:t})=>(0,e.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,e.createElement)(Rt,{key:t.to,to:t.to,title:t.title})})));function At(){return At=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},At.apply(this,arguments)}function Lt(t,e){if(null==t)return{};var n,a,i={},r=Object.keys(t);for(a=0;a<r.length;a++)n=r[a],e.indexOf(n)>=0||(i[n]=t[n]);return i}function Ft(t,e){return Ft=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},Ft(t,e)}function jt(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,Ft(t,e)}function Ht(t,e){return t.replace(new RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var Bt=n().createContext(null),Wt=function(t){return t.scrollTop},Kt="unmounted",Jt="exited",$t="entering",zt="entered",qt="exiting",Vt=function(t){function e(e,n){var a;a=t.call(this,e,n)||this;var i,r=n&&!n.isMounting?e.enter:e.appear;return a.appearStatus=null,e.in?r?(i=Jt,a.appearStatus=$t):i=zt:i=e.unmountOnExit||e.mountOnEnter?Kt:Jt,a.state={status:i},a.nextCallback=null,a}jt(e,t),e.getDerivedStateFromProps=function(t,e){return t.in&&e.status===Kt?{status:Jt}:null};var a=e.prototype;return a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==$t&&n!==zt&&(e=$t):n!==$t&&n!==zt||(e=qt)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,a=this.props.timeout;return t=e=n=a,null!=a&&"number"!=typeof a&&(t=a.exit,e=a.enter,n=void 0!==a.appear?a.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e)if(this.cancelNextCallback(),e===$t){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:vt().findDOMNode(this);n&&Wt(n)}this.performEnter(t)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Jt&&this.setState({status:Kt})},a.performEnter=function(t){var e=this,n=this.props.enter,a=this.context?this.context.isMounting:t,i=this.props.nodeRef?[a]:[vt().findDOMNode(this),a],r=i[0],o=i[1],l=this.getTimeouts(),s=a?l.appear:l.enter;t||n?(this.props.onEnter(r,o),this.safeSetState({status:$t},(function(){e.props.onEntering(r,o),e.onTransitionEnd(s,(function(){e.safeSetState({status:zt},(function(){e.props.onEntered(r,o)}))}))}))):this.safeSetState({status:zt},(function(){e.props.onEntered(r)}))},a.performExit=function(){var t=this,e=this.props.exit,n=this.getTimeouts(),a=this.props.nodeRef?void 0:vt().findDOMNode(this);e?(this.props.onExit(a),this.safeSetState({status:qt},(function(){t.props.onExiting(a),t.onTransitionEnd(n.exit,(function(){t.safeSetState({status:Jt},(function(){t.props.onExited(a)}))}))}))):this.safeSetState({status:Jt},(function(){t.props.onExited(a)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(a){n&&(n=!1,e.nextCallback=null,t(a))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e){this.setNextCallback(e);var n=this.props.nodeRef?this.props.nodeRef.current:vt().findDOMNode(this),a=null==t&&!this.props.addEndListener;if(n&&!a){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],r=i[0],o=i[1];this.props.addEndListener(r,o)}null!=t&&setTimeout(this.nextCallback,t)}else setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===Kt)return null;var e=this.props,a=e.children,i=(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,Lt(e,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return n().createElement(Bt.Provider,{value:null},"function"==typeof a?a(t,i):n().cloneElement(n().Children.only(a),i))},e}(n().Component);function Yt(){}Vt.contextType=Bt,Vt.propTypes={},Vt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Yt,onEntering:Yt,onEntered:Yt,onExit:Yt,onExiting:Yt,onExited:Yt},Vt.UNMOUNTED=Kt,Vt.EXITED=Jt,Vt.ENTERING=$t,Vt.ENTERED=zt,Vt.EXITING=qt;var Xt=Vt,Qt=function(t,e){return t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.remove(a):"string"==typeof n.className?n.className=Ht(n.className,a):n.setAttribute("class",Ht(n.className&&n.className.baseVal||"",a)));var n,a}))},Zt=function(t){function e(){for(var e,n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return(e=t.call.apply(t,[this].concat(a))||this).appliedClasses={appear:{},enter:{},exit:{}},e.onEnter=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1];e.removeClasses(i,"exit"),e.addClass(i,r?"appear":"enter","base"),e.props.onEnter&&e.props.onEnter(t,n)},e.onEntering=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.addClass(i,r,"active"),e.props.onEntering&&e.props.onEntering(t,n)},e.onEntered=function(t,n){var a=e.resolveArguments(t,n),i=a[0],r=a[1]?"appear":"enter";e.removeClasses(i,r),e.addClass(i,r,"done"),e.props.onEntered&&e.props.onEntered(t,n)},e.onExit=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"appear"),e.removeClasses(n,"enter"),e.addClass(n,"exit","base"),e.props.onExit&&e.props.onExit(t)},e.onExiting=function(t){var n=e.resolveArguments(t)[0];e.addClass(n,"exit","active"),e.props.onExiting&&e.props.onExiting(t)},e.onExited=function(t){var n=e.resolveArguments(t)[0];e.removeClasses(n,"exit"),e.addClass(n,"exit","done"),e.props.onExited&&e.props.onExited(t)},e.resolveArguments=function(t,n){return e.props.nodeRef?[e.props.nodeRef.current,t]:[t,n]},e.getClassNames=function(t){var n=e.props.classNames,a="string"==typeof n,i=a?(a&&n?n+"-":"")+t:n[t];return{baseClassName:i,activeClassName:a?i+"-active":n[t+"Active"],doneClassName:a?i+"-done":n[t+"Done"]}},e}jt(e,t);var a=e.prototype;return a.addClass=function(t,e,n){var a=this.getClassNames(e)[n+"ClassName"],i=this.getClassNames("enter").doneClassName;"appear"===e&&"done"===n&&i&&(a+=" "+i),"active"===n&&t&&Wt(t),a&&(this.appliedClasses[e][n]=a,function(t,e){t&&e&&e.split(" ").forEach((function(e){return a=e,void((n=t).classList?n.classList.add(a):function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")}(n,a)||("string"==typeof n.className?n.className=n.className+" "+a:n.setAttribute("class",(n.className&&n.className.baseVal||"")+" "+a)));var n,a}))}(t,a))},a.removeClasses=function(t,e){var n=this.appliedClasses[e],a=n.base,i=n.active,r=n.done;this.appliedClasses[e]={},a&&Qt(t,a),i&&Qt(t,i),r&&Qt(t,r)},a.render=function(){var t=this.props,e=(t.classNames,Lt(t,["classNames"]));return n().createElement(Xt,At({},e,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},e}(n().Component);Zt.defaultProps={classNames:""},Zt.propTypes={};var te=Zt,ee=({title:t=(0,a.__)("Save","gtm-kit"),className:n="gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey"})=>{const{useUpdateSettings:o,useIsPending:l,useCanSave:s}=(0,i.useContext)(u);return(0,e.createElement)(r.Button,{className:n,onClick:()=>o(),variant:"primary",disabled:l||!s},s?(0,a.__)(t,"gtm-kit"):(0,a.__)("Saved","gtm-kit"),l?(0,e.createElement)(r.Spinner,null):"")},ne=()=>{const{useCanSave:t}=(0,i.useContext)(u);return(0,e.createElement)(te,{in:t,timeout:500,classNames:"slide",unmountOnExit:!0},(0,e.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,e.createElement)(ee,null)))},ae=({subject:t})=>{const n=!0===t||"on"===t,i=!0===n?"gtmkit-bg-color-success":"gtmkit-bg-color-button-disabled";return(0,e.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},n?(0,a.__)("Active","gtm-kit"):(0,a.__)("Inactive","gtm-kit"))};const ie=(0,i.forwardRef)((({children:t,className:n="",...a},i)=>(0,e.createElement)("div",{...a,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 "+n,ref:i},t)));ie.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)("div",{...r,className:"gtmkit-flex gtmkit-justify-between gtmkit-items-center gtmkit-mb-5 "+i},(0,e.createElement)(t,{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading"},n),a),ie.Content=({as:t="div",children:n,className:a="gtmkit-flex-auto",...i})=>(0,e.createElement)(t,{...i,className:a},n),ie.Button=({url:t,destination:n,newTab:a=!1,text:i,group:o="",...l})=>{const s=at();return(0,e.createElement)("div",{...l,className:"gtmkit-mt-4 gtmkit-mb-0.5"},(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-rounded !gtmkit-py-4 !gtmkit-px-8 gtmkit-w-full sm:gtmkit-w-auto gtmkit-min-w-[225px]",onClick:()=>{n&&t&&!1===a?window.gtmkitSettings.current_poage===o?s(n,{replace:!0}):window.location.href=t+"#"+n:t?a?window.open(t):window.location.href=t:s(n,{replace:!0})}},(0,e.createElement)("span",{className:"gtmkit-mx-auto gtmkit-text-sm gtmkit-font-bold"},i)))};var re=ie,oe=({title:t,data:n,className:r=""})=>{const{useSettings:o}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8 gtmkit-mt-6"},t),(0,e.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] "+r},n.map(((t,n)=>!1===t.featured?null:(0,e.createElement)(re,{key:n},(0,e.createElement)(re.Header,{title:t.title},t.pill?(0,e.createElement)(ae,{subject:o[t.group][t.option]}):null),(0,e.createElement)(re.Content,null,t.text.map(((t,n)=>(0,e.createElement)("p",{key:n},t)))),(0,e.createElement)(re.Button,{url:t.link.url,destination:t.link.destination,text:t.link.text?t.link.text:(0,a.__)("Read article","gtm-kit"),newTab:t.link.external,group:t.group}))))))};const le=[{title:"Woocommerce",pill:!0,group:"integrations",option:"woocommerce_integration",text:[(0,a.__)("The #1 open source eCommerce platform built for WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/woocommerce",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Contact Form 7",pill:!0,group:"integrations",option:"cf7_integration",text:[(0,a.__)("Just another contact form plugin for WordPress. Simple but flexible","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/cf7",text:(0,a.__)("Setup integration","gtm-kit")}},{title:"Easy Digital Downloads",pill:!0,group:"integrations",option:"edd_integration",text:[(0,a.__)("Easy way to sell Digital Products With WordPress","gtm-kit")],link:{internal:!0,url:window.gtmkitSettings.integrationsUrl,destination:"/edd",text:(0,a.__)("Setup integration","gtm-kit")}}],se=[{title:"Getting started with GTM Kit",text:[(0,a.__)("How to get the most out of Google Tag Manager with GTM Kit.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!0},{title:(0,a.__)("WooCommerce integration","gtm-kit"),text:[(0,a.__)("Integrate WooCommerce with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=dashboard-tutorials"},featured:!0},{title:"Contact Form 7 Integration",text:[(0,a.__)("Integrate Contact Form 7 with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/contact-form-7-integration/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Easy Digital Downloads integration",text:[(0,a.__)("Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/set-up-easy-digital-downloads-for-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Advanced GTM container implementation",text:[(0,a.__)("Customization of the GTM container implementation and Server Side Tracking.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1},{title:"Settings, actions and filters for developers",text:[(0,a.__)("One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php.","gtm-kit")],link:{external:!0,url:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=dashboard-tutorials"},featured:!1}];var me=()=>{const{useSettings:t}=(0,i.useContext)(u),[n,r]=(0,i.useState)(se),o=Boolean(t.general.sgtm_domain&&t.general.sgtm_domain.trim());return(0,i.useEffect)((()=>{r((t=>[...t,{title:(0,a.__)("See all tutorials…","gtm-kit"),text:[(0,a.__)("See all our tutorial 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,a.__)("Read articles","gtm-kit")},featured:!0}]))}),[]),(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("General","gtm-kit")),(0,e.createElement)("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]"},(0,e.createElement)(re,null,(0,e.createElement)(re.Header,{title:"Google Tag Manager Container"},(0,e.createElement)(ae,{subject:t.general.gtm_id&&t.general.container_active})),(0,e.createElement)(re.Content,null,t.general.gtm_id&&t.general.container_active?(0,e.createElement)("p",null,(0,a.__)("Container ID:","gtm-kit")," ",t&&t.general.gtm_id):(0,e.createElement)("p",null,(0,a.__)("The container is not active but the datalayer is generated.","gtm-kit"))),(0,e.createElement)(re.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(re,null,(0,e.createElement)(re.Header,{title:(0,a.__)("Server-side GTM","gtm-kit")},(0,e.createElement)(ae,{subject:o})),(0,e.createElement)(re.Content,null,(0,e.createElement)("p",null,(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit"))),(0,e.createElement)(re.Button,{destination:"/container",text:(0,a.__)("Edit container","gtm-kit")})),(0,e.createElement)(re,null,(0,e.createElement)(re.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")},(0,e.createElement)(ae,{subject:t.general.analytics_active})),(0,e.createElement)(re.Content,null,(0,e.createElement)("p",null,(0,a.__)("Share anonymous data with the development team to help improve GTM Kit.","gtm-kit"))),(0,e.createElement)(re.Button,{destination:"/misc",text:(0,a.__)("Share anonymous data","gtm-kit")}))),(0,e.createElement)(oe,{title:(0,a.__)("Tutorials","gtm-kit"),data:n}),(0,e.createElement)(oe,{title:(0,a.__)("Integrations","gtm-kit"),data:le}))},ce=({title:t,placeholder:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",optionGroup:l="general",optionName:s,isDisabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.TextControl,{label:t,placeholder:n,help:a,className:o,value:c[l][s],onChange:t=>g(l,s,t),disabled:m})},ue=({title:t,label:n,optionGroup:a="general",optionName:o,disabled:l=!1})=>{const{useSettings:s,useUpdateStateSettings:m}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-py-4"},(0,e.createElement)(r.BaseControl,{label:t},(0,e.createElement)(r.ToggleControl,{label:n,checked:!l&&s[a][o],onChange:()=>{m(a,o,!(s&&s[a][o]))},disabled:l}))))},ge=({title:t,options:n,help:a,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m})=>{const{useSettings:c,useUpdateStateSettings:g}=(0,i.useContext)(u);return(0,e.createElement)(r.RadioControl,{label:t,options:n,help:a,className:o,selected:parseInt(c[l][s]),onChange:t=>g(l,s,t),disabled:m})};const de=(0,i.forwardRef)((({children:t,className:n="",disabled:a=!1,...i},r)=>(0,e.createElement)("div",{...i,className:"gtmkit-mb-12 gtmkit-border gtmkit-bg-white gtmkit-w-3/4 gtmkit-border-color-grey "+n+(a?"gtmkit-opacity-60":""),ref:r},t)));de.Header=({as:t="h3",title:n="",children:a,className:i="",...r})=>(0,e.createElement)(t,{...r,className:"gtmkit-font-bold gtmkit-text-lg gtmkit-px-8 gtmkit-py-4 gtmkit-border-b gtmkit-border-color-grey "+i},n,a),de.Content=({as:t="div",children:n,className:a="",...i})=>(0,e.createElement)(t,{...i,className:"gtmkit-px-8 gtmkit-py-6 "+a},n);var pe=de,he=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!(t.general.sgtm_domain&&t.general.sgtm_domain.trim()&&t.general.sgtm_container_identifier&&t.general.sgtm_container_identifier.trim());return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Tag Manager container","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("General Container Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit")),(0,e.createElement)(ce,{title:(0,a.__)("GTM Container ID:","gtm-kit"),optionName:"gtm_id",placeholder:(0,a.__)("Enter GTM Container ID","gtm-kit")}),(0,e.createElement)(ue,{title:(0,a.__)("Inject Container Code","gtm-kit"),label:(0,a.__)("Setting this to Off will remove the Google Tag Manager container code but the data layer will remain.","gtm-kit"),optionName:"container_active"}),(0,e.createElement)(ue,{title:(0,a.__)("Just the container","gtm-kit"),label:(0,a.__)("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"}),(0,e.createElement)(ce,{title:(0,a.__)("dataLayer variable name:","gtm-kit"),optionName:"datalayer_name",placeholder:"dataLayer",help:(0,a.__)("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.","gtm-kit")}))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Server-side Tagging (sGTM)","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(pe.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("sGTM Container Domain:","gtm-kit"),optionName:"sgtm_domain",placeholder:(0,a.__)("Enter domain …","gtm-kit"),help:(0,a.__)("Enter your custom domain name if you are using a custom server side GTM container for tracking.","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("sGTM container identifier:","gtm-kit"),optionName:"sgtm_container_identifier",placeholder:(0,a.__)("Enter loader name …","gtm-kit"),help:(0,a.__)("Only use if you are using a custom loader.","gtm-kit")}),(0,e.createElement)(ue,{title:(0,a.__)("Cookie Keeper (for Stape users only)","gtm-kit"),label:(0,a.__)("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:n})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Google Tag Manager Server-side Tagging","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Hosting server-side GTM containers","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("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,a.__)("Additionally, it provides valuable add-ons for enhanced functionality.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:"https://stape.io/?pt=tlam&rs=plugin",className:"gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",target:"_blank",rel:"noreferrer"},(0,a.__)("Learn more about Stape.io","gtm-kit"))))))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Tag Manager Environment","gtm-kit")}),(0,e.createElement)("div",{className:"gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-4"},(0,e.createElement)(pe.Content,null,(0,e.createElement)(ce,{title:(0,a.__)("gtm_auth:","gtm-kit"),optionName:"gtm_auth",placeholder:(0,a.__)("Enter gtm_auth code","gtm-kit"),help:(0,a.__)("Enter your gtm_auth code your GTM environment.","gtm-kit")}),(0,e.createElement)(ce,{title:(0,a.__)("gtm_preview:","gtm-kit"),optionName:"gtm_preview",placeholder:(0,a.__)("Enter gtm_preview code","gtm-kit"),help:(0,a.__)("Enter your gtm_preview code your GTM environment.","gtm-kit")})),(0,e.createElement)("div",{className:"gtmkit-px-8 gtmkit-py-6"},(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-px-4 gtmkit-mt-3"},(0,e.createElement)("h4",{className:"gtmkit-pt-3 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Environments","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("In Google Tag Manager you can define different environments like Live, Dev and QA.","gtm-kit")," ",(0,a.__)('To use a specific environment in GTM Kit you must enter the "gtm_auth" and "gtm_preview" codes for that environment.',"gtm-kit")," ",(0,a.__)("If left empty the default environment will be used.","gtm-kit")),(0,e.createElement)("h4",{className:"gtmkit-pt-4 gtmkit-mb-4 gtmkit-text-lg gtmkit-font-bold"},(0,a.__)("Override settings in wp-config.php","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments.","gtm-kit")," ",(0,e.createElement)("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"},(0,a.__)("Learn more","gtm-kit"))))))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Container Code Implementation","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ge,{title:(0,a.__)("Container code implementation:","gtm-kit"),options:[{label:(0,a.__)("Standard implementation as recommended by Google (no delay)","gtm-kit"),value:0},{label:(0,a.__)("Load container when browser is idle (requestIdleCallback)","gtm-kit"),value:1}],help:(0,a.__)("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"}),(0,e.createElement)(ge,{title:(0,a.__)("Container code noscript implementation:","gtm-kit"),options:[{label:(0,a.__)("Just after the opening <body> tag","gtm-kit"),value:0},{label:(0,a.__)("Footer of the page (not recommended by Google)","gtm-kit"),value:1},{label:(0,a.__)("Custom (insert function in your template)","gtm-kit"),value:2},{label:(0,a.__)("Disable <noscript> implementation","gtm-kit"),value:3}],help:(0,a.__)('The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the "body_open" hook. If your theme does not support this the script can be injected in the footer or you can use the function below.',"gtm-kit"),optionName:"noscript_implementation"}),(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,e.createElement)("code",null,"<?php if ( function_exists( 'gtmkit_the_noscript_tag' ) ) { gtmkit_the_noscript_tag(); } ?>")))))},_e=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Post Data","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Post Data Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager.","gtm-kit")),(0,e.createElement)(ue,{title:(0,a.__)("Post type","gtm-kit"),id:"post-type",label:(0,a.__)("Include the type of the current post or archive page.","gtm-kit"),optionName:"datalayer_post_type"}),(0,e.createElement)(ue,{title:(0,a.__)("Page type","gtm-kit"),id:"page-type",label:(0,a.__)('Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. "campaign".',"gtm-kit"),optionName:"datalayer_page_type"}),(0,e.createElement)(ue,{title:(0,a.__)("Categories","gtm-kit"),id:"categories",label:(0,a.__)("Include the categories of the current post or archive page.","gtm-kit"),optionName:"datalayer_categories"}),(0,e.createElement)(ue,{title:(0,a.__)("Tags","gtm-kit"),id:"tags",label:(0,a.__)("Include the tags of the current post or archive page.","gtm-kit"),optionName:"datalayer_tags"}),(0,e.createElement)(ue,{title:(0,a.__)("Post title","gtm-kit"),id:"post-title",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_title"}),(0,e.createElement)(ue,{title:(0,a.__)("Post ID","gtm-kit"),id:"post-id",label:(0,a.__)("Include the Post ID of the current post.","gtm-kit"),optionName:"datalayer_post_id"}),(0,e.createElement)(ue,{title:(0,a.__)("Post data","gtm-kit"),id:"post-date",label:(0,a.__)("Include the post date.","gtm-kit"),optionName:"datalayer_post_date"}),(0,e.createElement)(ue,{title:(0,a.__)("Post author name","gtm-kit"),id:"post-author-name",label:(0,a.__)("Include the post author name.","gtm-kit"),optionName:"datalayer_post_author_name"}),(0,e.createElement)(ue,{title:(0,a.__)("Post author ID","gtm-kit"),id:"post-author-id",label:(0,a.__)("Include the post author ID.","gtm-kit"),optionName:"datalayer_post_author_id"})))),ke=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("User Data","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Warning!","gtm-kit"),className:"gtmkit-text-red-600"}),(0,e.createElement)(pe.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Including user data is not compatible with full page caching.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users.","gtm-kit")))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("User Data Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Logged in","gtm-kit"),id:"logged-in",label:(0,a.__)("Include whether the user is logged in.","gtm-kit"),optionName:"datalayer_logged_in"}),(0,e.createElement)(ue,{title:(0,a.__)("User ID","gtm-kit"),id:"user-id",label:(0,a.__)("Include the user ID if the user is logged in.","gtm-kit"),optionName:"datalayer_user_id"}),(0,e.createElement)(ue,{title:(0,a.__)("User role","gtm-kit"),id:"user-role",label:(0,a.__)("Include the user role if the user is logged in.","gtm-kit"),optionName:"datalayer_user_role"})))),fe=()=>{const{useSettings:t}=(0,i.useContext)(u),n=!t.general.gcm_default_settings;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Google Consent Mode","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Consent Mode Activation","gtm-kit")},(0,e.createElement)("span",{className:"gtmkit-text-red-600 gtmkit-ml-2"},(0,a.__)("Warning!","gtm-kit"))),(0,e.createElement)(pe.Content,{className:"gtmkit-space-y-2"},(0,e.createElement)("p",null,(0,a.__)("Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors.","gtm-kit")),(0,e.createElement)("p",null,(0,a.__)("You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode.","gtm-kit")),(0,e.createElement)("p",{className:"!gtmkit-mt-4"},(0,a.__)("GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-color-primary !gtmkit-my-6"},(0,e.createElement)("a",{href:"https://developers.google.com/tag-platform/security/guides/consent#implementation_example",target:"_blank",rel:"noreferrer",className:"hover:gtmkit-underline gtmkit-font-semibold"},(0,a.__)("See an example of how consent is updated","gtm-kit"))),(0,e.createElement)(ue,{title:(0,a.__)("Activate GCM settings","gtm-kit"),label:(0,a.__)("Choose this option if you would like to activate the default settings below","gtm-kit"),optionName:"gcm_default_settings"}))),(0,e.createElement)(pe,{disabled:n},(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Consent Mode Default Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Ad Personalization","gtm-kit"),label:(0,a.__)("Enables personalized advertising","gtm-kit"),optionName:"gcm_ad_personalization",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Ad Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to advertising","gtm-kit"),optionName:"gcm_ad_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Ad User Data","gtm-kit"),label:(0,a.__)("Enables sending user data related to advertising to Google","gtm-kit"),optionName:"gcm_ad_user_data",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Analytics Storage","gtm-kit"),label:(0,a.__)("Enables storage, such as cookies, related to analytics (for example, visit duration)","gtm-kit"),optionName:"gcm_analytics_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Functionality Storage","gtm-kit"),label:(0,a.__)("Enables storage that supports the functionality of the website or app such as language settings","gtm-kit"),optionName:"gcm_functionality_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Personalization Storage","gtm-kit"),label:(0,a.__)("Enables storage related to personalization such as video recommendations","gtm-kit"),optionName:"gcm_personalization_storage",disabled:n}),(0,e.createElement)(ue,{title:(0,a.__)("Security Storage","gtm-kit"),label:(0,a.__)("Enables storage related to security such as authentication functionality, fraud prevention, and other user protection","gtm-kit"),optionName:"gcm_security_storage",disabled:n}))))},Ee=({label:t,value:n,tag:a})=>(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-4 gtmkit-py-2"},(0,e.createElement)("strong",null,t)),(0,e.createElement)("td",{className:"gtmkit-px-4 gtmkit-py-2"},"code"===a?(0,e.createElement)("code",{className:"gtmkit-text-sm"},n):(0,e.createElement)("em",null,n))),ve=()=>{const{useSiteData:t}=(0,i.useContext)(u),n=Object.values(t.shared_data);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm gtmkit-my-6 gtmkit-py-6"},(0,e.createElement)("tbody",{className:"gtmkit-py-6"},n.map((function(t,n){return(0,e.createElement)(Ee,{key:n,label:t.label,value:t.value,tag:t.tag})})))))},be=()=>{const{}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Misc","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Help improve GTM Kit","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ve,null),(0,e.createElement)("p",{className:"gtmkit-my-4 gtmkit-mb-2 gtmkit-text-color-grey"},(0,a.__)("GTM Kit will never transmit any domain names or container ID's.","gtm-kit")),(0,e.createElement)(ue,{title:(0,a.__)("Share anonymous data","gtm-kit"),label:(0,a.__)("I agree to share anonymous data with the development team to help improve GTM Kit.","gtm-kit"),optionName:"analytics_active"}))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Logging and debugging","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Console log","gtm-kit"),label:(0,a.__)("Log helpful messages and warnings to the browser log.","gtm-kit"),optionName:"console_log"}))))},ye=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(oe,{title:(0,a.__)("Integrations","gtm-kit"),data:le})),xe=({pluginName:t})=>(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.sprintf)((0,a.__)("%s is not active","gtm-kit"),t),className:"gtmkit-text-red-600"}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,a.sprintf)((0,a.__)("If you haven't installed and activated %s you must do that.","gtm-kit"),t)),(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-sm disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.pluginInstallUrl+t}},(0,a.sprintf)((0,a.__)("Install %s","gtm-kit"),t)))),Se=({title:t,options:n,className:o="gtmkit-settings-field-wrap gtmkit-py-4",optionGroup:l="general",optionName:s,disabled:m=!1,help:c="",notSet:g=!1})=>{const{useSettings:d,useUpdateStateSettings:p}=(0,i.useContext)(u),h=g?[{label:(0,a.__)("(not set)","gtm-kit"),value:""},...n]:n;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(r.SelectControl,{label:t,value:d&&d[l][s],options:h,className:o,onChange:t=>p(l,s,t),disabled:m,help:c}))},we=({pluginName:t,optionName:n,pluginInactive:i})=>(0,e.createElement)(pe,{disabled:i},(0,e.createElement)(pe.Header,{title:(0,a.sprintf)((0,a.__)("%s Integration","gtm-kit"),t)}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.sprintf)((0,a.__)("Track %s","gtm-kit"),t),label:(0,a.sprintf)((0,a.__)("Activate the %s integration","gtm-kit"),t),optionGroup:"integrations",optionName:n,disabled:i})));const Ne=[{label:(0,a.__)("Retail","gtm-kit"),value:"retail"},{label:(0,a.__)("Education","gtm-kit"),value:"education"},{label:(0,a.__)("Flights","gtm-kit"),value:"flights"},{label:(0,a.__)("Hotel rental","gtm-kit"),value:"hotel_rental"},{label:(0,a.__)("Jobs","gtm-kit"),value:"jobs"},{label:(0,a.__)("Local deals","gtm-kit"),value:"local"},{label:(0,a.__)("Real estate","gtm-kit"),value:"real_estate"},{label:(0,a.__)("Travel","gtm-kit"),value:"travel"},{label:(0,a.__)("Custom","gtm-kit"),value:"custom"}];var Ce=()=>{const{useSettings:t}=(0,i.useContext)(u),n="WooCommerce",r=!window.gtmkitSettings.plugins.woocommerce,o=r||!t.integrations.woocommerce_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("WooCommerce","gtm-kit")),r?(0,e.createElement)(xe,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"woocommerce_integration",pluginInactive:r}),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Basic settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(Se,{title:(0,a.__)("Brand","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_brand",options:window.gtmkitSettings.taxonomyOptions,help:(0,a.__)("Select the taxonomy that is used for product brands","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_use_sku",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_tax",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Exclude shipping from revenue","gtm-kit"),label:(0,a.__)("Exclude shipping from revenue","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_exclude_shipping",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_customer_data",disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Event customization","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ge,{title:"view_item_list (with product filter)",options:[{label:(0,a.__)("Push view_item_list when the list is updated using a product filter.","gtm-kit"),value:0},{label:(0,a.__)("Only only push view_item_list once per per page for each list.","gtm-kit"),value:1}],help:(0,a.__)("Do you what to push the view_item_list event if the list is updated using a filter or just once per page view.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_view_item_list_limit",disabled:o}),(0,e.createElement)(ge,{title:"view_item",options:[{label:(0,a.__)("Only push view_item on the master product","gtm-kit"),value:0},{label:(0,a.__)("Push view_item on master and variation products (higher number of views).","gtm-kit"),value:1},{label:(0,a.__)("Only push view_item on variation products.","gtm-kit"),value:2}],help:(0,a.__)('When do you want to fire the "view_item" event on variable products?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_variable_product_tracking",disabled:o}),(0,e.createElement)(ge,{title:"add_shipping_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a shipment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_shipment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_shipment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_shipping_info",disabled:o}),(0,e.createElement)(ge,{title:"add_payment_info ",options:[{label:(0,a.__)("When the 'Place order' button is clicked","gtm-kit"),value:1},{label:(0,a.__)("When a payment method is selected with fallback to the 'Place order' button.","gtm-kit"),value:2},{label:(0,a.__)("Disable the 'add_payment_info' event.","gtm-kit"),value:0}],help:(0,a.__)('When do you want to fire the "add_payment_info" event?',"gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_payment_info",disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(Se,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_google_business_vertical",options:Ne,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_dequeue_script",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include permalink structure","gtm-kit"),label:(0,a.__)("Enable this option to include the permalink structure of the product base, category base, tag base and attribute base.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_permalink_structure",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include path of pages","gtm-kit"),label:(0,a.__)("Enable this option to include the path of cart, checkout, order received and my account page.","gtm-kit"),optionGroup:"integrations",optionName:"woocommerce_include_pages",disabled:o}))))},Te=()=>{const{useSettings:t}=(0,i.useContext)(u),n="Contact Form 7",r=!window.gtmkitSettings.plugins.cf7,o=r||!t.integrations.cf7_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Contact Form 7","gtm-kit")),r?(0,e.createElement)(xe,{pluginName:n}):null,(0,e.createElement)(we,{pluginName:n,optionName:"cf7_integration",pluginInactive:r}),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ge,{title:(0,a.__)("Load JavaScript","gtm-kit"),options:[{label:(0,a.__)("Only on pages where where the Contact Form 7 script is registered (recommended).","gtm-kit"),value:1},{label:(0,a.__)("On all pages","gtm-kit"),value:2}],help:(0,a.__)("Where do you want load the JavaScript?","gtm-kit"),optionGroup:"integrations",optionName:"cf7_load_js",disabled:o}))))},De=()=>{const t="Easy Digital Downloads",n=!window.gtmkitSettings.plugins.edd,{useSettings:r}=(0,i.useContext)(u),o=n||!r.integrations.edd_integration;return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Easy Digital Downloads","gtm-kit")),n?(0,e.createElement)(xe,{pluginName:t}):null,(0,e.createElement)(we,{pluginName:t,optionName:"edd_integration",pluginInactive:n}),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Basic Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Use SKU instead of ID","gtm-kit"),label:(0,a.__)("Use SKU instead of the product ID with fallback to ID if no SKU is set.","gtm-kit"),optionGroup:"integrations",optionName:"edd_use_sku",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Exclude tax","gtm-kit"),label:(0,a.__)("Exclude tax from prices and revenue","gtm-kit"),optionGroup:"integrations",optionName:"edd_exclude_tax",disabled:o}),(0,e.createElement)(ue,{title:(0,a.__)("Include customer data","gtm-kit"),label:(0,a.__)('Enable this option to include customer data in the data layer on the "purchase" event.',"gtm-kit"),optionGroup:"integrations",optionName:"edd_include_customer_data",disabled:o}))),(0,e.createElement)(pe,{disabled:o},(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Ads Settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(Se,{title:(0,a.__)("Google Business Vertical","gtm-kit"),optionGroup:"integrations",optionName:"edd_google_business_vertical",options:Ne,help:(0,a.__)("In order to use Google Ads Remarketing you must select your business type (vertical).","gtm-kit"),notSet:!0,disabled:o}),(0,e.createElement)(ce,{title:(0,a.__)("Product ID prefix","gtm-kit"),optionGroup:"integrations",optionName:"edd_product_id_prefix",placeholder:(0,a.__)("Enter prefix …","gtm-kit"),help:(0,a.__)("If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer.","gtm-kit"),disabled:o}))),(0,e.createElement)(pe,{disabled:n},(0,e.createElement)(pe.Header,{title:(0,a.__)("Advanced settings","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)(ue,{title:(0,a.__)("Dequeue the default JavaScript","gtm-kit"),label:(0,a.__)("Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript.","gtm-kit"),optionGroup:"integrations",optionName:"edd_dequeue_script",disabled:o}))))},Ge=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Help","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Google Tag Manager templates","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",{className:"gtmkit-mb-4"},(0,a.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit"),(0,a.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-font-semibold hover:gtmkit-underline",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/"},(0,a.__)("Read guide","gtm-kit"))),(0,e.createElement)("h4",{className:"gtmkit-font-bold"},(0,a.__)("GTM container import files:","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{className:"hover:gtmkit-underline",href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,a.__)("Google Analytics 4 - eCommerce","gtm-kit")))))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Tutorials","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("ul",null,se.map(((t,n)=>(0,e.createElement)("li",{key:n,className:"gtmkit-mb-4"},(0,e.createElement)("a",{href:t.link.url,target:"_blank",rel:"noreferrer",className:"gtmkit-font-semibold gtmkit-text-color-primary hover:gtmkit-underline"},t.title),t.text.map(((t,n)=>(0,e.createElement)("div",{key:n,className:"gtmkit-text-sm"},t)))))))))),Pe=()=>{const{useIsSending:t,useSiteData:n,useUpdateSupportTicket:o,useSupportTicket:l,useSendSystemData:s,useIsSystemDataSent:m,useSystemDataMessage:c}=(0,i.useContext)(u);return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h2",{className:"gtmkit-text-2xl gtmkit-font-bold gtmkit-text-color-heading gtmkit-mb-8"},(0,a.__)("Get support","gtm-kit")),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Support options","gtm-kit")}),(0,e.createElement)(pe.Content,null,(0,e.createElement)("ul",{className:"gtmkit-text-color-primary"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://wordpress.org/support/plugin/gtm-kit/",target:"_blank",rel:"noreferrer"},(0,a.__)("WordPress.org Support Forum","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("GITHub repository","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/",target:"_blank",rel:"noreferrer"},(0,a.__)("Plugin Homepage","gtm-kit"))," ","(gtmkit.com)")))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("Share system data with the GTM Kit support team","gtm-kit")}),(0,e.createElement)(pe.Content,null,m?(0,e.createElement)("p",{className:"gtmkit-mb-2"},c):(0,e.createElement)(e.Fragment,null,(0,e.createElement)("p",{className:"gtmkit-mb-2"},(0,a.__)("If the GTM Kit support team has asked you to send your system data you can do so by entering the support ticket below:","gtm-kit")),(0,e.createElement)(r.TextControl,{label:(0,e.createElement)("span",{className:"gtmkit-text-red-600"},c," "),placeholder:(0,a.__)("Enter support ticket","gtm-kit"),className:"gtmkit-settings-field-wrap gtmkit-py-4 gtmkit-max-w-md",value:l,onChange:t=>o(t)}),(0,e.createElement)(r.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-4 !gtmkit-px-6 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{s()},disabled:!l.toUpperCase().startsWith("FS")},(0,e.createElement)("span",null,(0,a.__)("Send system data","gtm-kit")),t?(0,e.createElement)(r.Spinner,null):"")))),(0,e.createElement)(pe,null,(0,e.createElement)(pe.Header,{title:(0,a.__)("About GTM Kit","gtm-kit"),className:"gtmkit-flex gtmkit-items-center"},(0,e.createElement)("span",{className:"gtmkit-text-sm gtmkit-text-color-grey gtmkit-font-light gtmkit-ml-2"},"(",(0,a.__)("Version:","gtm-kit")," ",n.gtmkit_version,")")),(0,e.createElement)(pe.Content,null,(0,e.createElement)("p",null,(0,a.__)("Learn about changes and follow the development of GTM Kit:","gtm-kit"),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary hover:gtmkit-underline",href:"https://gtmkit.com/changelog/",target:"_blank",rel:"noreferrer"},(0,a.__)("The changelog","gtm-kit")),(0,e.createElement)("br",null),(0,e.createElement)("a",{className:"gtmkit-text-color-primary  hover:gtmkit-underline",href:"https://github.com/tlamedia/gtm-kit",target:"_blank",rel:"noreferrer"},(0,a.__)("The Github repository","gtm-kit"))))))};const Ie={integrations:(0,a.__)("Integrations","gtm-kit"),help:(0,a.__)("Help","gtm-kit")},Me=()=>{const{useSettings:t}=(0,i.useContext)(u),n=window.gtmkitSettings.currentPage,o=function({page:t}){const e=[{to:"general",title:(0,a.__)("Dashboard","gtm-kit")},{to:"container",title:(0,a.__)("Container","gtm-kit")},{to:"post-data",title:(0,a.__)("Post data","gtm-kit")},{to:"user-data",title:(0,a.__)("User data","gtm-kit")},{to:"google-consent-mode",title:(0,a.__)("Google Consent Mode","gtm-kit")},{to:"misc",title:(0,a.__)("Misc","gtm-kit")}],n=[{to:"integrations",title:(0,a.__)("Integrations","gtm-kit")},{to:"woocommerce",title:"WooCommerce"},{to:"cf7",title:"Contact Form 7"},{to:"edd",title:"Easy Digital Downloads"}],i=[{to:"help",title:(0,a.__)("Help","gtm-kit")},{to:"support",title:(0,a.__)("Support","gtm-kit")}];switch(t){case"general":return e;case"integrations":return n;case"help":return i}}({page:n}),l=Ie[n]||(0,a.__)("Settings","gtm-kit");return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(Ot,{title:l}),(0,e.createElement)(Ut,{NavList:o}),(0,e.createElement)("main",{className:"gtmkit-max-w-[1536px] gtmkit-px-8 gtmkit-pt-8 gtmkit-text-base"},(0,e.createElement)(kt,null,(0,e.createElement)(ht,{exact:!0,path:"/general",element:(0,e.createElement)(me,null)}),(0,e.createElement)(ht,{exact:!0,path:"/container",element:(0,e.createElement)(he,null)}),(0,e.createElement)(ht,{exact:!0,path:"/post-data",element:(0,e.createElement)(_e,null)}),(0,e.createElement)(ht,{exact:!0,path:"/user-data",element:(0,e.createElement)(ke,null)}),(0,e.createElement)(ht,{exact:!0,path:"/google-consent-mode",element:(0,e.createElement)(fe,null)}),(0,e.createElement)(ht,{exact:!0,path:"/misc",element:(0,e.createElement)(be,null)}),(0,e.createElement)(ht,{exact:!0,path:"/integrations",element:(0,e.createElement)(ye,null)}),(0,e.createElement)(ht,{exact:!0,path:"/woocommerce",element:(0,e.createElement)(Ce,null)}),(0,e.createElement)(ht,{exact:!0,path:"/cf7",element:(0,e.createElement)(Te,null)}),(0,e.createElement)(ht,{exact:!0,path:"/edd",element:(0,e.createElement)(De,null)}),(0,e.createElement)(ht,{exact:!0,path:"/help",element:(0,e.createElement)(Ge,null)}),(0,e.createElement)(ht,{exact:!0,path:"/support",element:(0,e.createElement)(Pe,null)}),(0,e.createElement)(ht,{path:"/",element:(0,e.createElement)(pt,{replace:!0,to:"/"+n})}))),(0,e.createElement)(ne,null)):(0,e.createElement)("div",{className:"gtmkit-h-screen gtmkit-flex gtmkit-items-center gtmkit-justify-center"},(0,e.createElement)(r.Spinner,null))},Oe=()=>(0,e.createElement)(Ct,{basename:"/"},(0,e.createElement)(d,null,(0,e.createElement)(Me,null)));document.addEventListener("DOMContentLoaded",(()=>{const t=document.getElementById(window.gtmkitSettings.rootId);null!=t&&(0,i.render)((0,e.createElement)(Oe,null),t)}))}();
  • gtm-kit/trunk/assets/admin/wizard.asset.php

    r3004949 r3016305  
    1 <?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'f4e2c66c51685108a403');
     1<?php return array('dependencies' => array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'c9a2c63156ea6655e237');
  • gtm-kit/trunk/assets/admin/wizard.js

    r3004949 r3016305  
    1 !function(){"use strict";var t={n:function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,{a:a}),a},d:function(e,a){for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,a=window.wp.element,n=window.wp.components,r=window.lodash,i=window.wp.apiFetch,l=t.n(i);l().use(l().createNonceMiddleware(window.gtmkitSettings.nonce)),l().use(l().createRootURLMiddleware(window.gtmkitSettings.root));const o=async(t,e,a=null)=>{let n={};try{n=await l()({path:t,method:e,...a&&{data:a}})}catch(a){return console.log(`${e} ${t} Errors:`,a),{[`gtm_kit_settings_${e}_${t}_errors`]:!0}}return!0===n.success?n.data:n};var s=window.wp.i18n,m=(t,e)=>{const a={...t};switch(e.type){case"FETCH_SETTINGS":a.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},a.stateSettings=e.payload.stateSettings,a.siteData=e.payload.siteData,a.installData=e.payload.installData,a.isPending=!1,a.canSave=!1,e.payload.fetchedSettings.gtm_kit_settings_fetch_settings_errors&&(a.notice=(0,s.__)("An error occurred.","gtm-kit"),a.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":a.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":a.fetchedSettings=e.payload.fetchedSettings,a.stateSettings=e.payload.stateSettings,a.isPending=!1,a.canSave=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors,a.notice=e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors?(0,s.__)("An error occurred.","gtm-kit"):(0,s.__)("Saved Successfully.","gtm-kit"),a.hasError=!!e.payload.fetchedSettings.gtm_kit_settings_update_settings_errors;break;case"UPDATE_STATE":a.fetchedSettings=e.payload.fetchedSettings||a.fetchedSettings,a.stateSettings=e.payload.stateSettings||a.stateSettings,a.isPending=e.payload.isPending||a.isPending,a.notice=e.payload.notice||a.notice,a.hasError=e.payload.hasError||a.hasError,a.canSave=e.payload.canSave||a.canSave}return a};const c=(0,a.createContext)();var g,u=t=>{const[n,i]=(0,a.useReducer)(m,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1}),l=async()=>{const[t,e]=await Promise.all([o("gtmkit/v1/get-options","GET"),o("gtmkit/v1/get-site-data","GET")]),a="wizard"===window.gtmkitSettings.currentPage?await o("gtmkit/v1/get-install-data","GET"):{};i({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:a}})},s=async t=>{i({type:"UPDATE_STATE",payload:t})};(0,a.useEffect)((()=>{l()}),[]);const g={useDispatch:t=>{i(t)},useUpdateSettings:async()=>{i({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,o("gtmkit/v1/set-options","POST",e));var e;i({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:l,useUpdateState:s,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let l;i[t][e]=a,l=!(0,r.isEqual)(i,n.fetchedSettings),s({stateSettings:i,canSave:l})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const l={};l.general={...a.general,...e.general},"integrations"in e&&(l.integrations={...a.integrations,...e.integrations}),i=!(0,r.isEqual)(l,n.fetchedSettings),s({stateSettings:l,canSave:i})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData};return(0,e.createElement)(c.Provider,{value:g},t.children)};function d(){return d=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},d.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const p="popstate";function h(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function f(t,e){return{usr:t.state,key:t.key,idx:e}}function E(t,e,a,n){return void 0===a&&(a=null),d({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?x(e):e,{state:a,key:e&&e.key||n||Math.random().toString(36).substr(2,8)})}function y(t){let{pathname:e="/",search:a="",hash:n=""}=t;return a&&"?"!==a&&(e+="?"===a.charAt(0)?a:"?"+a),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function x(t){let e={};if(t){let a=t.indexOf("#");a>=0&&(e.hash=t.substr(a),t=t.substr(0,a));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}var M;function N(t,e,a){void 0===a&&(a="/");let n=A(("string"==typeof e?x(e):e).pathname||"/",a);if(null==n)return null;let r=S(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,a)=>t===e[a]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(r);let i=null;for(let t=0;null==i&&t<r.length;++t)i=D(r[t],z(n));return i}function S(t,e,a,n){void 0===e&&(e=[]),void 0===a&&(a=[]),void 0===n&&(n="");let r=(t,r,i)=>{let l={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:r,route:t};l.relativePath.startsWith("/")&&(h(l.relativePath.startsWith(n),'Absolute route path "'+l.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),l.relativePath=l.relativePath.slice(n.length));let o=G([n,l.relativePath]),s=a.concat(l);t.children&&t.children.length>0&&(h(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),S(t.children,e,s,o)),(null!=t.path||t.index)&&e.push({path:o,score:I(o,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var a;if(""!==t.path&&null!=(a=t.path)&&a.includes("?"))for(let a of v(t.path))r(t,e,a);else r(t,e)})),e}function v(t){let e=t.split("/");if(0===e.length)return[];let[a,...n]=e,r=a.endsWith("?"),i=a.replace(/\?$/,"");if(0===n.length)return r?[i,""]:[i];let l=v(n.join("/")),o=[];return o.push(...l.map((t=>""===t?i:[i,t].join("/")))),r&&o.push(...l),o.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(M||(M={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const b=/^:\w+$/,w=3,_=2,T=1,j=10,L=-2,C=t=>"*"===t;function I(t,e){let a=t.split("/"),n=a.length;return a.some(C)&&(n+=L),e&&(n+=_),a.filter((t=>!C(t))).reduce(((t,e)=>t+(b.test(e)?w:""===e?T:j)),n)}function D(t,e){let{routesMeta:a}=t,n={},r="/",i=[];for(let t=0;t<a.length;++t){let l=a[t],o=t===a.length-1,s="/"===r?e:e.slice(r.length)||"/",m=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:o},s);if(!m)return null;Object.assign(n,m.params);let c=l.route;i.push({params:n,pathname:G([r,m.pathname]),pathnameBase:B(G([r,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(r=G([r,m.pathnameBase]))}return i}function O(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[a,n]=function(t,e,a){void 0===e&&(e=!1),void 0===a&&(a=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let n=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,a)=>(n.push({paramName:e,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(n.push({paramName:"*"}),r+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":""!==t&&"/"!==t&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),n]}(t.path,t.caseSensitive,t.end),r=e.match(a);if(!r)return null;let i=r[0],l=i.replace(/(.)\/+$/,"$1"),o=r.slice(1);return{params:n.reduce(((t,e,a)=>{let{paramName:n,isOptional:r}=e;if("*"===n){let t=o[a]||"";l=i.slice(0,i.length-t.length).replace(/(.)\/+$/,"$1")}const s=o[a];return t[n]=r&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(a){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+a+")."),t}}(s||"",n),t}),{}),pathname:i,pathnameBase:l,pattern:t}}function z(t){try{return decodeURI(t)}catch(e){return k(!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 A(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let a=e.endsWith("/")?e.length-1:e.length,n=t.charAt(a);return n&&"/"!==n?null:t.slice(a)||"/"}function U(t,e,a,n){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(n)+"].  Please separate it out to the `to."+a+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function P(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}function R(t,e,a,n){let r;void 0===n&&(n=!1),"string"==typeof t?r=x(t):(r=d({},t),h(!r.pathname||!r.pathname.includes("?"),U("?","pathname","search",r)),h(!r.pathname||!r.pathname.includes("#"),U("#","pathname","hash",r)),h(!r.search||!r.search.includes("#"),U("#","search","hash",r)));let i,l=""===t||""===r.pathname,o=l?"/":r.pathname;if(null==o)i=a;else if(n){let t=e[e.length-1].replace(/^\//,"").split("/");if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t.pop();r.pathname=e.join("/")}i="/"+t.join("/")}else{let t=e.length-1;if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t-=1;r.pathname=e.join("/")}i=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:a,search:n="",hash:r=""}="string"==typeof t?x(t):t,i=a?a.startsWith("/")?a:function(t,e){let a=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?a.length>1&&a.pop():"."!==t&&a.push(t)})),a.length>1?a.join("/"):"/"}(a,e):e;return{pathname:i,search:W(n),hash:Y(r)}}(r,i),m=o&&"/"!==o&&o.endsWith("/"),c=(l||"."===o)&&a.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const G=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",Y=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const Q=["post","put","patch","delete"],F=(new Set(Q),["get",...Q]);function J(){return J=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},J.apply(this,arguments)}new Set(F),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const $=e.createContext(null),H=e.createContext(null),Z=e.createContext(null),K=e.createContext(null),V=e.createContext({outlet:null,matches:[],isDataRoute:!1}),X=e.createContext(null);function q(){return null!=e.useContext(K)}function tt(){return q()||h(!1),e.useContext(K).location}function et(t){e.useContext(Z).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(V);return t?function(){let{router:t}=function(t){let a=e.useContext($);return a||h(!1),a}(st.UseNavigateStable),a=ct(mt.UseNavigateStable),n=e.useRef(!1);return et((()=>{n.current=!0})),e.useCallback((function(e,r){void 0===r&&(r={}),n.current&&("number"==typeof e?t.navigate(e):t.navigate(e,J({fromRouteId:a},r)))}),[t,a])}():function(){q()||h(!1);let t=e.useContext($),{basename:a,navigator:n}=e.useContext(Z),{matches:r}=e.useContext(V),{pathname:i}=tt(),l=JSON.stringify(P(r).map((t=>t.pathnameBase))),o=e.useRef(!1);return et((()=>{o.current=!0})),e.useCallback((function(e,r){if(void 0===r&&(r={}),!o.current)return;if("number"==typeof e)return void n.go(e);let s=R(e,JSON.parse(l),i,"path"===r.relative);null==t&&"/"!==a&&(s.pathname="/"===s.pathname?a:G([a,s.pathname])),(r.replace?n.replace:n.push)(s,r.state,r)}),[a,n,l,i,t])}()}function nt(t,a,n){q()||h(!1);let{navigator:r}=e.useContext(Z),{matches:i}=e.useContext(V),l=i[i.length-1],o=l?l.params:{},s=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let m,c=tt();if(a){var u;let t="string"==typeof a?x(a):a;"/"===s||(null==(u=t.pathname)?void 0:u.startsWith(s))||h(!1),m=t}else m=c;let d=m.pathname||"/",p=N(t,{pathname:"/"===s?d:d.slice(s.length)||"/"}),k=function(t,a,n){var r;if(void 0===a&&(a=[]),void 0===n&&(n=null),null==t){var i;if(null==(i=n)||!i.errors)return null;t=n.matches}let l=t,o=null==(r=n)?void 0:r.errors;if(null!=o){let t=l.findIndex((t=>t.route.id&&(null==o?void 0:o[t.route.id])));t>=0||h(!1),l=l.slice(0,Math.min(l.length,t+1))}return l.reduceRight(((t,r,i)=>{let s=r.route.id?null==o?void 0:o[r.route.id]:null,m=null;n&&(m=r.route.errorElement||it);let c=a.concat(l.slice(0,i+1)),g=()=>{let a;return a=s?m:r.route.Component?e.createElement(r.route.Component,null):r.route.element?r.route.element:t,e.createElement(ot,{match:r,routeContext:{outlet:t,matches:c,isDataRoute:null!=n},children:a})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===i)?e.createElement(lt,{location:n.location,revalidation:n.revalidation,component:m,error:s,children:g(),routeContext:{outlet:null,matches:c,isDataRoute:!0}}):g()}),null)}(p&&p.map((t=>Object.assign({},t,{params:Object.assign({},o,t.params),pathname:G([s,r.encodeLocation?r.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?s:G([s,r.encodeLocation?r.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),i,n);return a&&k?e.createElement(K.Provider,{value:{location:J({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:g.Pop}},k):k}function rt(){let t=function(){var t;let a=e.useContext(X),n=function(t){let a=e.useContext(H);return a||h(!1),a}(mt.UseRouteError),r=ct(mt.UseRouteError);return a||(null==(t=n.errors)?void 0:t[r])}(),a=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),n=t instanceof Error?t.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},a),n?e.createElement("pre",{style:r},n):null,null)}const it=e.createElement(rt,null);class lt extends e.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: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 this.state.error?e.createElement(V.Provider,{value:this.props.routeContext},e.createElement(X.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ot(t){let{routeContext:a,match:n,children:r}=t,i=e.useContext($);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),e.createElement(V.Provider,{value:a},r)}var st=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(st||{}),mt=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}(mt||{});function ct(t){let a=function(t){let a=e.useContext(V);return a||h(!1),a}(),n=a.matches[a.matches.length-1];return n.route.id||h(!1),n.route.id}function gt(t){let{to:a,replace:n,state:r,relative:i}=t;q()||h(!1);let{matches:l}=e.useContext(V),{pathname:o}=tt(),s=at(),m=R(a,P(l).map((t=>t.pathnameBase)),o,"path"===i),c=JSON.stringify(m);return e.useEffect((()=>s(JSON.parse(c),{replace:n,state:r,relative:i})),[s,c,i,n,r]),null}function ut(t){h(!1)}function dt(t){let{basename:a="/",children:n=null,location:r,navigationType:i=g.Pop,navigator:l,static:o=!1}=t;q()&&h(!1);let s=a.replace(/^\/*/,"/"),m=e.useMemo((()=>({basename:s,navigator:l,static:o})),[s,l,o]);"string"==typeof r&&(r=x(r));let{pathname:c="/",search:u="",hash:d="",state:p=null,key:k="default"}=r,f=e.useMemo((()=>{let t=A(c,s);return null==t?null:{location:{pathname:t,search:u,hash:d,state:p,key:k},navigationType:i}}),[s,c,u,d,p,k,i]);return null==f?null:e.createElement(Z.Provider,{value:m},e.createElement(K.Provider,{children:n,value:f}))}function pt(t){let{children:e,location:a}=t;return nt(ht(e),a)}function ht(t,a){void 0===a&&(a=[]);let n=[];return e.Children.forEach(t,((t,r)=>{if(!e.isValidElement(t))return;let i=[...a,r];if(t.type===e.Fragment)return void n.push.apply(n,ht(t.props.children,i));t.type!==ut&&h(!1),t.props.index&&t.props.children&&h(!1);let l={id:t.props.id||i.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&&(l.children=ht(t.props.children,i)),n.push(l)})),n}e.startTransition,new Promise((()=>{})),e.Component;var kt=window.ReactDOM;new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]),new Map;const ft=e.startTransition;function Et(t){let{basename:a,children:n,future:r,window:i}=t,l=e.useRef();var o;null==l.current&&(l.current=(void 0===(o={window:i,v5Compat:!0})&&(o={}),function(t,e,a,n){void 0===n&&(n={});let{window:r=document.defaultView,v5Compat:i=!1}=n,l=r.history,o=g.Pop,s=null,m=c();function c(){return(l.state||{idx:null}).idx}function u(){o=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:o,location:x.location,delta:e})}function k(t){let e="null"!==r.location.origin?r.location.origin:r.location.href,a="string"==typeof t?t:y(t);return h(e,"No window.location.(origin|href) available to create URL for href: "+a),new URL(a,e)}null==m&&(m=0,l.replaceState(d({},l.state,{idx:m}),""));let x={get action(){return o},get location(){return t(r,l)},listen(t){if(s)throw new Error("A history only accepts one active listener");return r.addEventListener(p,u),s=t,()=>{r.removeEventListener(p,u),s=null}},createHref(t){return e(r,t)},createURL:k,encodeLocation(t){let e=k(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){o=g.Push;let n=E(x.location,t,e);a&&a(n,t),m=c()+1;let u=f(n,m),d=x.createHref(n);try{l.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;r.location.assign(d)}i&&s&&s({action:o,location:x.location,delta:1})},replace:function(t,e){o=g.Replace;let n=E(x.location,t,e);a&&a(n,t),m=c();let r=f(n,m),u=x.createHref(n);l.replaceState(r,"",u),i&&s&&s({action:o,location:x.location,delta:0})},go(t){return l.go(t)}};return x}((function(t,e){let{pathname:a="/",search:n="",hash:r=""}=x(t.location.hash.substr(1));return a.startsWith("/")||a.startsWith(".")||(a="/"+a),E("",{pathname:a,search:n,hash:r},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let a=t.document.querySelector("base"),n="";if(a&&a.getAttribute("href")){let e=t.location.href,a=e.indexOf("#");n=-1===a?e:e.slice(0,a)}return n+"#"+("string"==typeof e?e:y(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),o)));let s=l.current,[m,c]=e.useState({action:s.action,location:s.location}),{v7_startTransition:u}=r||{},M=e.useCallback((t=>{u&&ft?ft((()=>c(t))):c(t)}),[c,u]);return e.useLayoutEffect((()=>s.listen(M)),[s,M]),e.createElement(dt,{basename:a,children:n,location:m.location,navigationType:m.action,navigator:s})}var yt,xt;kt.flushSync,"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"}(yt||(yt={})),function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"}(xt||(xt={}));var Mt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l}=(0,a.useContext)(c),o=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"md:gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-16 gtmkit-mb-20"},(0,e.createElement)("div",{className:""},(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-w-full !gtmkit-px-8 "},(0,e.createElement)(n.TextControl,{label:(0,s.__)("Container ID","gtm-kit"),placeholder:(0,s.__)("Enter Container ID","gtm-kit"),value:t&&t.general.gtm_id,className:"gtmkit-text-center",onChange:t=>r("general","gtm_id",t)})),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),o("/essential-settings",{replace:!0})},disabled:l||!t.general.gtm_id.includes("-")},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):""))),(0,e.createElement)("div",{className:"gtmkit-mt-8 gtmkit-border gtmkit-p-6 gtmkit-text-left gtmkit-text-color-grey gtmkit-text-center"},(0,e.createElement)("h2",{className:"gtmkit-font-bold gtmkit-text-base gtmkit-mb-4"},"Need help?"),(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,s.__)("Find your GTM container ID on","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-underline",href:"https://tagmanager.google.com/",target:"_blank",rel:"noreferrer"},"Google Tag Manager")),(0,e.createElement)("p",null,(0,s.__)("It should look something like this:","gtm-kit")," ","GTM-12ZM7SF4"))),(0,e.createElement)("div",{className:"gtmkit-mt-3 md:gtmkit-mt-10 gtmkit-text-color-grey gtmkit-text-base"},(0,e.createElement)("span",{className:"gtmkit-block"},(0,s.__)("No thanks. I know what I'm doing.","gtm-kit")),(0,e.createElement)("a",{className:"gtmkit-underline gtmkit-ml-4",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit"))))},Nt=()=>{const{useImportSettings:t,useIsPending:r,useInstallData:i}=(0,a.useContext)(c),[l,o]=(0,a.useState)(!0),m=Object.keys(i.import_data)[0],[g,u]=(0,a.useState)(m),d=[];return Object.keys(i.import_data).forEach((t=>{d.push({value:t,label:i.import_data[t].name})})),l?(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto gtmkit-border gtmkit-py-8 gtmkit-my-8"},(0,e.createElement)("h2",{className:"gtmkit-text-lg gtmkit-text-color-heading gtmkit-font-bold"},(0,s.__)("Would you like to import plugin settings?","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-my-4 gtmkit-text-color-grey"},(0,s.__)("We have found the configuration of other plugins in the database.","gtm-kit")," ",(0,s.__)("Would you like to import your settings to GTM Kit?","gtm-kit")),(0,e.createElement)(n.RadioControl,{help:(0,s.__)("Select the plugin you want to import settings from.","gtm-kit"),selected:g,options:d,onChange:t=>u(t)}),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{t(g,i.import_data[g]),o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("Yes","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):""),(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("No","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):"")))):(0,e.createElement)(Mt,null)},St=()=>{const{useInstallData:t}=(0,a.useContext)(c),{firstInstall:n}=t,{importAvailable:r}=t;return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("You've successfully installed GTM Kit!","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit"))),n&&r?(0,e.createElement)(Nt,null):(0,e.createElement)(Mt,null))},vt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useInstallData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("Essential Settings","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("There are a lot of settings in GTM Kit and we recommend that you uses our recommended settings but you can also choose to use the default settings and go through the settings at your convenience.","gtm-kit"))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Page type","gtm-kit"),id:"page-type"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Include the page type i.e. page, product, category, cart, checkout etc in the datalayer?","gtm-kit"),checked:t&&t.general.datalayer_page_type,onChange:()=>{r("general","datalayer_page_type",!(t&&t.general.datalayer_page_type))}}))),o.woocommerce_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track WooCommerce","gtm-kit"),id:"track-wooCommerce"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from WooCommerce?","gtm-kit"),checked:t&&t.integrations.woocommerce_integration,onChange:()=>{r("integrations","woocommerce_integration",!(t&&t.integrations.woocommerce_integration))}}))):null,o.cf7_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Contact Form 7","gtm-kit"),id:"track-cf7"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track form submissions from Contact Form 7?","gtm-kit"),checked:t&&t.integrations.cf7_integration,onChange:()=>{r("integrations","cf7_integration",!(t&&t.integrations.cf7_integration))}}))):null,o.edd_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Easy Digital Downloads","gtm-kit"),id:"track-edd"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from Easy Digital Downloads?","gtm-kit"),checked:t&&t.integrations.edd_integration,onChange:()=>{r("integrations","edd_integration",!(t&&t.integrations.edd_integration))}}))):null,(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/share-anonymous-data",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},bt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useSiteData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Help improve GTM Kit","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-8 gtmkit-text-color-grey"},(0,s.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm"},(0,e.createElement)("tbody",null,(0,e.createElement)("tr",{className:""},(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Server type:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.web_server))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"PHP version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.php_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.wordpress_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress multisite:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.multisite?(0,s.__)("Yes","gtm-kit"):(0,s.__)("No","gtm-kit")))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current theme:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.current_theme))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current site language:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.locale))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Active plugins:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Plugin names of all active plugins"))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Anonymized GTM Kit settings:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Which GTM Kit settings are active"))))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-max !gtmkit-px-8 gtmkit-mx-auto "},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Share anonymous data","gtm-kit"),id:"share-anonymous-data"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("I agree to share anonymous data with the development team to help improve GTM Kit. ","gtm-kit"),checked:t&&t.general.analytics_active,onChange:()=>{r("general","analytics_active",!(t&&t.general.analytics_active))}}))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/getting-started",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},wt=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Your are ready to use GTM Kit!","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Your Google Tag Manager Container is now sending data to Google Tag Manager.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-12 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit")," "),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto gtmkit-mb-8"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Google Tag Manager templates","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-text-color-grey gtmkit-m-4"},(0,s.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit")," ",(0,e.createElement)("a",{target:"_blank",className:"gtmkit-text-color-primary gtmkit-whitespace-nowrap",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",rel:"noreferrer"},(0,s.__)("Read the guide","gtm-kit"))),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - eCommerce","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Tutorials","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Getting started with GTM Kit","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("WooCommerce Integration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=advanced-container-implementation&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Advanced GTM container implementation","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=settings-actions-and-filters-for-developers&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Settings, actions and filters for developers","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.dashboardUrl}},(0,s.__)("Go to the dashboard","gtm-kit"))));const _t=[{step:1,path:"/welcome",element:"Welcome",title:(0,s.__)("Welcome","gtm-kit")},{step:2,path:"/essential-settings",element:"EssentialSettings",title:(0,s.__)("Essential Settings","gtm-kit")},{step:3,path:"/share-anonymous-data",element:"ShareAnonymousData",title:(0,s.__)("Help improve GTM Kit","gtm-kit")},{step:4,path:"/getting-started",element:"GettingStarted",title:(0,s.__)("Getting Started","gtm-kit")}];var Tt=({step:t,currentStep:a,totalSteps:n})=>{if(t===n)return;let r="gtmkit-h-0.5 gtmkit-w-full";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-color-border",(0,e.createElement)("div",{className:r})},jt=({step:t,currentStep:a})=>t<a?(0,e.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"gtmkit-w-5 gtmkit-h-5 gtmkit-text-white"},(0,e.createElement)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})):t===a?(0,e.createElement)("span",{className:"gtmkit-h-2.5 gtmkit-w-2.5 gtmkit-rounded-full gtmkit-bg-color-primary"}):void 0,Lt=({step:t,currentStep:a,totalSteps:n})=>{if(0===t)return;let r="gtmkit-transition-opacity gtmkit-duration-500 gtmkit-absolute gtmkit-inset-0 gtmkit-border-2 gtmkit-flex gtmkit-items-center gtmkit-justify-center gtmkit-rounded-full gtmkit-opacity-100";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-white",r+=t>a?" gtmkit-border-color-border":" gtmkit-border-color-primary",(0,e.createElement)(e.Fragment,null,(0,e.createElement)("span",{className:"gtmkit-relative gtmkit-shrink-0 gtmkit-z-10 gtmkit-w-8 gtmkit-h-8 gtmkit-rounded-full"},(0,e.createElement)("span",{className:r},(0,e.createElement)(jt,{step:t,currentStep:a,totalSteps:n}))),(0,e.createElement)(Tt,{step:t,currentStep:a,totalSteps:n}))},Ct=()=>{const t=_t.length-1+_t[0].step;let a=((t,e)=>{const a=Object.keys(e);return t.filter((function(t){for(let n=0;n<a.length;n++)if(!t.hasOwnProperty(a[n])||t[a[n]]!==e[a[n]])return!1;return!0}))})(_t,{path:tt().pathname});return a=a.length?a[0].step:0,0===a?(0,e.createElement)("div",{className:"gtmkit-my-16"}):(0,e.createElement)("div",{className:"gtmkit-mt-6 gtmkit-inset-0 gtmkit-mx-auto gtmkit-my-6 gtmkit-flex gtmkit-items-center gtmkit-max-w-xl","aria-hidden":"true"},_t.map((function(n){return(0,e.createElement)(Lt,{key:n.step,step:n.step,currentStep:a,totalSteps:t})})))},It=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-text-center gtmkit-px-3"},(0,e.createElement)("h1",{className:"gtmkit-mt-3 md:gtmkit-mt-8 gtmkit-mb-4 gtmkit-w-[225px] gtmkit-inline-block"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNDY3LjEgMTU4Ni40IiBoZWlnaHQ9IjU0IiB2aWV3Qm94PSIwIDAgMTYwIDU0IiB3aWR0aD0iMTYwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IGZpbGw9IiM4ODgiIGhlaWdodD0iNTQiIHJ4PSI0LjI2NSIgd2lkdGg9IjE2MCIvPjxwYXRoIGQ9Im04OC42NTkgNy4wMDJoLTQ5LjI2NmMtMi45MTUgMC01LjM3OC0uMTg0LTkuMjMgMi41OTZsLTE4Ljc0MyAxMi43NTJjLTQuNTQ5IDMuMjkyLTQuNTcxIDYuMDAxIDAgOS4zMDJsMTguNzQzIDEyLjc1MWMzLjY1MiAyLjY0NiA2LjI5OSAyLjU5NyA5LjIzIDIuNTk3aDE1LjY4NiAzMy41OGMyLjkzMS0uMDU3IDUuMzk0LTEuNzg0IDUuMzQtMy45MjN2LTMyLjIxYy0uMDEyLTIuMTM0LTIuNDA5LTMuODY1LTUuMzQtMy44NjV6IiBmaWxsPSIjMzk2OWJiIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgLTEgMTAxLjk5OTg2NyA1My45OTk1NDcpIi8+PGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoMS40NjUyMDIgMCAwIDEuNDY1MjAyIC00LjU4MjQzNiAtNy41NTMxMjYpIj48cGF0aCBkPSJtMTguMzE2IDIzLjA4Nmg0LjYzMnY2LjA1MmMtLjc1LjI0NS0xLjQ1OS40MTUtMi4xMjEuNTE0LS42NjMuMDk4LTEuMzQxLjE0OC0yLjAzMy4xNDgtMS43NjQgMC0zLjEwNi0uNTE3LTQuMDM1LTEuNTU0LS45MjktMS4wMzQtMS4zOTUtMi41MTktMS4zOTUtNC40NTcgMC0xLjg4Ni41MzgtMy4zNTYgMS42MTctNC40MSAxLjA3OC0xLjA1NCAyLjU3My0xLjU3OSA0LjQ4MS0xLjU3OSAxLjIgMCAyLjM1Ny4yMzkgMy40NjkuNzE4bC0uODIzIDEuOTc5Yy0uODUtLjQyNS0xLjczNy0uNjM3LTIuNjU3LS42MzctMS4wNzEgMC0xLjkzMi4zNTgtMi41NzIgMS4wNzctLjY0NS43MTgtLjk2OCAxLjY4NS0uOTY4IDIuODk5IDAgMS4yNjcuMjYgMi4yMzMuNzggMi45MDQuNTE2LjY2NyAxLjI3MS45OTkgMi4yNjIuOTk5LjUxNyAwIDEuMDQxLS4wNTIgMS41NzItLjE1OHYtMi40MzVoLTIuMjA5em0xMS45MTIgNi41NTVoLTIuNDc0di05LjYxNGgtMy4xNzN2LTIuMDZoOC44MTZ2Mi4wNmgtMy4xNjl6bTkuOTA4IDAtMi44MTEtOS4xNThoLS4wNzJjLjEwMyAxLjg2My4xNTQgMy4xMDUuMTU0IDMuNzI4djUuNDNoLTIuMjEzdi0xMS42NzRoMy4zNjhsMi43NjQgOC45MjdoLjA0OGwyLjkzNC04LjkyN2gzLjM2OXYxMS42NzRoLTIuMzA4di01LjUyNWMwLS4yNjEgMC0uNTYxLjAwOS0uOTAzLjAwOS0uMzQxLjA0OC0xLjI0Ni4xMTItMi43MTZoLS4wNzRsLTMuMDExIDkuMTQ0eiIvPjxwYXRoIGQ9Im04OC44ODMgMzEuODk4aC0zLjgxMWwtNC4xNDctNi42Ny0xLjQxNyAxLjAxOHY1LjY1MmgtMy4zNTd2LTE1LjgzaDMuMzU3djcuMjQybDEuMzE4LTEuODYxIDQuMjkzLTUuMzgxaDMuNzI0bC01LjUyMyA3LjAwNnptMS41ODktMTUuMjMzYzAtMS4wNzUuNi0xLjYxNCAxLjgtMS42MTQgMS4xOTkgMCAxLjc5OC41MzkgMS43OTggMS42MTQgMCAuNTEyLS4xNDguOTEtLjQ1IDEuMTk2LS4yOTcuMjg0LS43NDkuNDI5LTEuMzQ4LjQyOS0xLjIgMC0xLjgtLjU0My0xLjgtMS42MjV6bTMuNDQ5IDE1LjIzM2gtMy4zMDJ2LTEyLjEwNGgzLjMwMnptOC41NjMtMi40MTNjLjU3OCAwIDEuMjcxLS4xMjggMi4wNzctLjM4djIuNDU2Yy0uODIuMzctMS44MzEuNTUyLTMuMDMxLjU1Mi0xLjMyNCAwLTIuMjgtLjMzMy0yLjg4NS0xLjAwMS0uNjAyLS42NjctLjkwMi0xLjY2OC0uOTAyLTMuMDAzdi01LjgzNWgtMS41ODV2LTEuMzk5bDEuODIzLTEuMTAzLjk0OS0yLjU1N2gyLjExNXYyLjU3OWgzLjM4OHYyLjQ4aC0zLjM4OHY1LjgzNWMwIC40NjcuMTI5LjgxNS4zOTMgMS4wNDEuMjY0LjIyMi42MTQuMzM1IDEuMDQ2LjMzNXoiLz48L2c+PC9zdmc+",alt:(0,s.__)("GTM Kit","gtm-kit"),className:"gtmkit-w-full"}))),(0,e.createElement)(Ct,null)),Dt=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("footer",{className:"gtm-kit-settings-footer gtmkit-my-8 gtmkit-text-color-grey"},(0,e.createElement)("p",{className:"gtmkit-mx-auto gtmkit-max-w-max"},(0,e.createElement)("a",{className:"gtmkit-underline",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit")))));const Ot=()=>{const{useSettings:t}=(0,a.useContext)(c);return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(It,null),(0,e.createElement)("main",{className:"gtmkit-max-w-3xl gtmkit-bg-white gtmkit-border-1 gtmkit-border-color-border gtmkit-rounded-md gtmkit-mx-auto gtmkit-py-12 gtmkit-px-16 gtmkit-text-base"},(0,e.createElement)(pt,null,(0,e.createElement)(ut,{exact:!0,path:"/welcome",element:(0,e.createElement)(St,null)}),(0,e.createElement)(ut,{exact:!0,path:"/essential-settings",element:(0,e.createElement)(vt,null)}),(0,e.createElement)(ut,{exact:!0,path:"/share-anonymous-data",element:(0,e.createElement)(bt,null)}),(0,e.createElement)(ut,{exact:!0,path:"/getting-started",element:(0,e.createElement)(wt,null)}),(0,e.createElement)(ut,{path:"/",element:(0,e.createElement)(gt,{replace:!0,to:"/welcome"})}))),(0,e.createElement)(Dt,null)):(0,e.createElement)(n.Spinner,{className:"gtm-kit-settings-page-loader"})},zt=()=>(0,e.createElement)(Et,{basename:"/"},(0,e.createElement)(u,null,(0,e.createElement)(Ot,null)));document.addEventListener("DOMContentLoaded",(()=>{void 0!==document.getElementById(window.gtmkitSettings.rootId)&&null!==document.getElementById(window.gtmkitSettings.rootId)&&(0,a.render)((0,e.createElement)(zt,null),document.getElementById(window.gtmkitSettings.rootId))}))}();
     1!function(){"use strict";var t={n:function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,{a:a}),a},d:function(e,a){for(var n in a)t.o(a,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=window.React,a=window.wp.element,n=window.wp.components,r=window.lodash,i=window.wp.apiFetch,l=t.n(i);l().use(l().createNonceMiddleware(window.gtmkitSettings.nonce)),l().use(l().createRootURLMiddleware(window.gtmkitSettings.root));const o=async(t,e,a=null,n=!1)=>{let r={};try{r=await l()({path:t,method:e,...a&&{data:a}})}catch(a){return console.log(`${e} ${t} Errors:`,a),{[`gtm_kit_api_${e}_${t}_errors`]:!0}}return!0===n?r:!0===r.success?r.data:options};var s=window.wp.i18n,m=(t,e)=>{const a={...t};switch(e.type){case"FETCH_SETTINGS":a.fetchedSettings={...e.payload.fetchedSettings,integrations:e.payload.fetchedSettings.integrations||{}},a.stateSettings=e.payload.stateSettings,a.siteData=e.payload.siteData,a.installData=e.payload.installData,a.isPending=!1,a.canSave=!1,e.payload.fetchedSettings.gtm_kit_api_fetch_settings_errors&&(a.notice=(0,s.__)("An error occurred.","gtm-kit"),a.hasError=!0);break;case"UPDATE_SETTINGS_BEFORE":a.isPending=e.payload.isPending;break;case"UPDATE_SETTINGS":a.fetchedSettings=e.payload.fetchedSettings,a.stateSettings=e.payload.stateSettings,a.isPending=!1,a.canSave=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors,a.notice=e.payload.fetchedSettings.gtm_kit_api_update_settings_errors?(0,s.__)("An error occurred.","gtm-kit"):(0,s.__)("Saved Successfully.","gtm-kit"),a.hasError=!!e.payload.fetchedSettings.gtm_kit_api_update_settings_errors;break;case"UPDATE_STATE":a.fetchedSettings=e.payload.fetchedSettings||a.fetchedSettings,a.stateSettings=e.payload.stateSettings||a.stateSettings,a.isPending=e.payload.isPending||a.isPending,a.notice=e.payload.notice||a.notice,a.hasError=e.payload.hasError||a.hasError,a.canSave=e.payload.canSave||a.canSave,a.isSendingSystemData=e.payload.isSendingSystemData||a.isSendingSystemData,a.supportTicket=e.payload.supportTicket||a.supportTicket;break;case"SEND_SUPPORT_DATA_BEFORE":a.isSendingSystemData=e.payload.isSendingSystemData||a.isSendingSystemData;break;case"SEND_SUPPORT_DATA":a.isSendingSystemData=!1,a.isSystemDataSent=e.payload.isSystemDataSent||a.isSystemDataSent,a.systemDataMessage=e.payload.systemDataMessage||a.systemDataMessage}return a};const c=(0,a.createContext)();var g,u=t=>{const[n,i]=(0,a.useReducer)(m,{fetchedSettings:{},stateSettings:{},isPending:!0,notice:"",hasError:!1,canSave:!1,supportTicket:"",isSystemDataSent:!1,systemDataMessage:""}),l=async()=>{const[t,e]=await Promise.all([o("gtmkit/v1/get-options","GET"),o("gtmkit/v1/get-site-data","GET")]),a="wizard"===window.gtmkitSettings.currentPage?await o("gtmkit/v1/get-install-data","GET"):{};i({type:"FETCH_SETTINGS",payload:{fetchedSettings:t,stateSettings:t,siteData:e,installData:a}})},s=async t=>{i({type:"UPDATE_STATE",payload:t})};(0,a.useEffect)((()=>{l()}),[]);const g={useDispatch:t=>{i(t)},useUpdateSettings:async()=>{i({type:"UPDATE_SETTINGS_BEFORE",payload:{isPending:!0}});const t=await(e=n.stateSettings,o("gtmkit/v1/set-options","POST",e));var e;i({type:"UPDATE_SETTINGS",payload:{fetchedSettings:t,stateSettings:t}})},useFetchSettings:l,useUpdateState:s,useUpdateStateSettings:async(t,e,a)=>{const i=JSON.parse(JSON.stringify(n.stateSettings));let l;i[t][e]=a,l=!(0,r.isEqual)(i,n.fetchedSettings),s({stateSettings:i,canSave:l})},useImportSettings:async(t,e)=>{const a=JSON.parse(JSON.stringify(n.stateSettings));let i;const l={};l.general={...a.general,...e.general},"integrations"in e&&(l.integrations={...a.integrations,...e.integrations}),i=!(0,r.isEqual)(l,n.fetchedSettings),s({stateSettings:l,canSave:i})},useUpdateSupportTicket:async t=>{s({supportTicket:t})},useSendSystemData:async()=>{i({type:"SEND_SUPPORT_DATA_BEFORE",payload:{isSendingSystemData:!0}});const t=await(e=n.supportTicket,o("gtmkit/v1/send-support-data","POST",e,!0));var e;i({type:"SEND_SUPPORT_DATA",payload:{isSendingSystemData:!1,isSystemDataSent:t.success,systemDataMessage:t.data}})},useSettings:n.stateSettings,useIsPending:n.isPending,useNotice:n.notice,useHasError:n.hasError,useCanSave:n.canSave,useSiteData:n.siteData,useInstallData:n.installData,useIsSending:n.isSendingSystemData,useSupportTicket:n.supportTicket,useIsSystemDataSent:n.isSystemDataSent,useSystemDataMessage:n.systemDataMessage};return(0,e.createElement)(c.Provider,{value:g},t.children)};function d(){return d=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},d.apply(this,arguments)}!function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"}(g||(g={}));const p="popstate";function h(t,e){if(!1===t||null==t)throw new Error(e)}function k(t,e){if(!t){"undefined"!=typeof console&&console.warn(e);try{throw new Error(e)}catch(t){}}}function y(t,e){return{usr:t.state,key:t.key,idx:e}}function f(t,e,a,n){return void 0===a&&(a=null),d({pathname:"string"==typeof t?t:t.pathname,search:"",hash:""},"string"==typeof e?S(e):e,{state:a,key:e&&e.key||n||Math.random().toString(36).substr(2,8)})}function E(t){let{pathname:e="/",search:a="",hash:n=""}=t;return a&&"?"!==a&&(e+="?"===a.charAt(0)?a:"?"+a),n&&"#"!==n&&(e+="#"===n.charAt(0)?n:"#"+n),e}function S(t){let e={};if(t){let a=t.indexOf("#");a>=0&&(e.hash=t.substr(a),t=t.substr(0,a));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}var x;function M(t,e,a){void 0===a&&(a="/");let n=U(("string"==typeof e?S(e):e).pathname||"/",a);if(null==n)return null;let r=N(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,a)=>t===e[a]))?t[t.length-1]-e[e.length-1]:0}(t.routesMeta.map((t=>t.childrenIndex)),e.routesMeta.map((t=>t.childrenIndex)))))}(r);let i=null;for(let t=0;null==i&&t<r.length;++t)i=I(r[t],A(n));return i}function N(t,e,a,n){void 0===e&&(e=[]),void 0===a&&(a=[]),void 0===n&&(n="");let r=(t,r,i)=>{let l={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:r,route:t};l.relativePath.startsWith("/")&&(h(l.relativePath.startsWith(n),'Absolute route path "'+l.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),l.relativePath=l.relativePath.slice(n.length));let o=G([n,l.relativePath]),s=a.concat(l);t.children&&t.children.length>0&&(h(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),N(t.children,e,s,o)),(null!=t.path||t.index)&&e.push({path:o,score:C(o,t.index),routesMeta:s})};return t.forEach(((t,e)=>{var a;if(""!==t.path&&null!=(a=t.path)&&a.includes("?"))for(let a of v(t.path))r(t,e,a);else r(t,e)})),e}function v(t){let e=t.split("/");if(0===e.length)return[];let[a,...n]=e,r=a.endsWith("?"),i=a.replace(/\?$/,"");if(0===n.length)return r?[i,""]:[i];let l=v(n.join("/")),o=[];return o.push(...l.map((t=>""===t?i:[i,t].join("/")))),r&&o.push(...l),o.map((e=>t.startsWith("/")&&""===e?"/":e))}!function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"}(x||(x={})),new Set(["lazy","caseSensitive","path","id","index","children"]);const _=/^:\w+$/,b=3,w=2,T=1,j=10,L=-2,D=t=>"*"===t;function C(t,e){let a=t.split("/"),n=a.length;return a.some(D)&&(n+=L),e&&(n+=w),a.filter((t=>!D(t))).reduce(((t,e)=>t+(_.test(e)?b:""===e?T:j)),n)}function I(t,e){let{routesMeta:a}=t,n={},r="/",i=[];for(let t=0;t<a.length;++t){let l=a[t],o=t===a.length-1,s="/"===r?e:e.slice(r.length)||"/",m=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:o},s);if(!m)return null;Object.assign(n,m.params);let c=l.route;i.push({params:n,pathname:G([r,m.pathname]),pathnameBase:B(G([r,m.pathnameBase])),route:c}),"/"!==m.pathnameBase&&(r=G([r,m.pathnameBase]))}return i}function O(t,e){"string"==typeof t&&(t={path:t,caseSensitive:!1,end:!0});let[a,n]=function(t,e,a){void 0===e&&(e=!1),void 0===a&&(a=!0),k("*"===t||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were "'+t.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+t.replace(/\*$/,"/*")+'".');let n=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,((t,e,a)=>(n.push({paramName:e,isOptional:null!=a}),a?"/?([^\\/]+)?":"/([^\\/]+)")));return t.endsWith("*")?(n.push({paramName:"*"}),r+="*"===t||"/*"===t?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":""!==t&&"/"!==t&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),n]}(t.path,t.caseSensitive,t.end),r=e.match(a);if(!r)return null;let i=r[0],l=i.replace(/(.)\/+$/,"$1"),o=r.slice(1);return{params:n.reduce(((t,e,a)=>{let{paramName:n,isOptional:r}=e;if("*"===n){let t=o[a]||"";l=i.slice(0,i.length-t.length).replace(/(.)\/+$/,"$1")}const s=o[a];return t[n]=r&&!s?void 0:function(t,e){try{return decodeURIComponent(t)}catch(a){return k(!1,'The value for the URL param "'+e+'" will not be decoded because the string "'+t+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+a+")."),t}}(s||"",n),t}),{}),pathname:i,pathnameBase:l,pattern:t}}function A(t){try{return decodeURI(t)}catch(e){return k(!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 U(t,e){if("/"===e)return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let a=e.endsWith("/")?e.length-1:e.length,n=t.charAt(a);return n&&"/"!==n?null:t.slice(a)||"/"}function z(t,e,a,n){return"Cannot include a '"+t+"' character in a manually specified `to."+e+"` field ["+JSON.stringify(n)+"].  Please separate it out to the `to."+a+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function P(t,e){let a=function(t){return t.filter(((t,e)=>0===e||t.route.path&&t.route.path.length>0))}(t);return e?a.map(((e,a)=>a===t.length-1?e.pathname:e.pathnameBase)):a.map((t=>t.pathnameBase))}function R(t,e,a,n){let r;void 0===n&&(n=!1),"string"==typeof t?r=S(t):(r=d({},t),h(!r.pathname||!r.pathname.includes("?"),z("?","pathname","search",r)),h(!r.pathname||!r.pathname.includes("#"),z("#","pathname","hash",r)),h(!r.search||!r.search.includes("#"),z("#","search","hash",r)));let i,l=""===t||""===r.pathname,o=l?"/":r.pathname;if(null==o)i=a;else if(n){let t=0===e.length?[]:e[e.length-1].replace(/^\//,"").split("/");if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t.pop();r.pathname=e.join("/")}i="/"+t.join("/")}else{let t=e.length-1;if(o.startsWith("..")){let e=o.split("/");for(;".."===e[0];)e.shift(),t-=1;r.pathname=e.join("/")}i=t>=0?e[t]:"/"}let s=function(t,e){void 0===e&&(e="/");let{pathname:a,search:n="",hash:r=""}="string"==typeof t?S(t):t,i=a?a.startsWith("/")?a:function(t,e){let a=e.replace(/\/+$/,"").split("/");return t.split("/").forEach((t=>{".."===t?a.length>1&&a.pop():"."!==t&&a.push(t)})),a.length>1?a.join("/"):"/"}(a,e):e;return{pathname:i,search:W(n),hash:Y(r)}}(r,i),m=o&&"/"!==o&&o.endsWith("/"),c=(l||"."===o)&&a.endsWith("/");return s.pathname.endsWith("/")||!m&&!c||(s.pathname+="/"),s}const G=t=>t.join("/").replace(/\/\/+/g,"/"),B=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),W=t=>t&&"?"!==t?t.startsWith("?")?t:"?"+t:"",Y=t=>t&&"#"!==t?t.startsWith("#")?t:"#"+t:"";Error;const F=["post","put","patch","delete"],Q=(new Set(F),["get",...F]);function J(){return J=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},J.apply(this,arguments)}new Set(Q),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred");const H=e.createContext(null),$=e.createContext(null),Z=e.createContext(null),K=e.createContext(null),V=e.createContext({outlet:null,matches:[],isDataRoute:!1}),X=e.createContext(null);function q(){return null!=e.useContext(K)}function tt(){return q()||h(!1),e.useContext(K).location}function et(t){e.useContext(Z).static||e.useLayoutEffect(t)}function at(){let{isDataRoute:t}=e.useContext(V);return t?function(){let{router:t}=function(t){let a=e.useContext(H);return a||h(!1),a}(st.UseNavigateStable),a=ct(mt.UseNavigateStable),n=e.useRef(!1);return et((()=>{n.current=!0})),e.useCallback((function(e,r){void 0===r&&(r={}),n.current&&("number"==typeof e?t.navigate(e):t.navigate(e,J({fromRouteId:a},r)))}),[t,a])}():function(){q()||h(!1);let t=e.useContext(H),{basename:a,future:n,navigator:r}=e.useContext(Z),{matches:i}=e.useContext(V),{pathname:l}=tt(),o=JSON.stringify(P(i,n.v7_relativeSplatPath)),s=e.useRef(!1);return et((()=>{s.current=!0})),e.useCallback((function(e,n){if(void 0===n&&(n={}),!s.current)return;if("number"==typeof e)return void r.go(e);let i=R(e,JSON.parse(o),l,"path"===n.relative);null==t&&"/"!==a&&(i.pathname="/"===i.pathname?a:G([a,i.pathname])),(n.replace?r.replace:r.push)(i,n.state,n)}),[a,r,o,l,t])}()}function nt(t,a,n,r){q()||h(!1);let{navigator:i}=e.useContext(Z),{matches:l}=e.useContext(V),o=l[l.length-1],s=o?o.params:{},m=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let c,u=tt();if(a){var d;let t="string"==typeof a?S(a):a;"/"===m||(null==(d=t.pathname)?void 0:d.startsWith(m))||h(!1),c=t}else c=u;let p=c.pathname||"/",k=M(t,{pathname:"/"===m?p:p.slice(m.length)||"/"}),y=function(t,a,n,r){var i;if(void 0===a&&(a=[]),void 0===n&&(n=null),void 0===r&&(r=null),null==t){var l;if(null==(l=n)||!l.errors)return null;t=n.matches}let o=t,s=null==(i=n)?void 0:i.errors;if(null!=s){let t=o.findIndex((t=>t.route.id&&(null==s?void 0:s[t.route.id])));t>=0||h(!1),o=o.slice(0,Math.min(o.length,t+1))}let m=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let t=0;t<o.length;t++){let e=o[t];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(c=t),e.route.loader&&e.route.id&&void 0===n.loaderData[e.route.id]&&(!n.errors||void 0===n.errors[e.route.id])){m=!0,o=c>=0?o.slice(0,c+1):[o[0]];break}}return o.reduceRight(((t,r,i)=>{let l,g=!1,u=null,d=null;var p;n&&(l=s&&r.route.id?s[r.route.id]:void 0,u=r.route.errorElement||it,m&&(c<0&&0===i?(gt[p="route-fallback"]||(gt[p]=!0),g=!0,d=null):c===i&&(g=!0,d=r.route.hydrateFallbackElement||null)));let h=a.concat(o.slice(0,i+1)),k=()=>{let a;return a=l?u:g?d:r.route.Component?e.createElement(r.route.Component,null):r.route.element?r.route.element:t,e.createElement(ot,{match:r,routeContext:{outlet:t,matches:h,isDataRoute:null!=n},children:a})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===i)?e.createElement(lt,{location:n.location,revalidation:n.revalidation,component:u,error:l,children:k(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):k()}),null)}(k&&k.map((t=>Object.assign({},t,{params:Object.assign({},s,t.params),pathname:G([m,i.encodeLocation?i.encodeLocation(t.pathname).pathname:t.pathname]),pathnameBase:"/"===t.pathnameBase?m:G([m,i.encodeLocation?i.encodeLocation(t.pathnameBase).pathname:t.pathnameBase])}))),l,n,r);return a&&y?e.createElement(K.Provider,{value:{location:J({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:g.Pop}},y):y}function rt(){let t=function(){var t;let a=e.useContext(X),n=function(t){let a=e.useContext($);return a||h(!1),a}(mt.UseRouteError),r=ct(mt.UseRouteError);return void 0!==a?a:null==(t=n.errors)?void 0:t[r]}(),a=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),n=t instanceof Error?t.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return e.createElement(e.Fragment,null,e.createElement("h2",null,"Unexpected Application Error!"),e.createElement("h3",{style:{fontStyle:"italic"}},a),n?e.createElement("pre",{style:r},n):null,null)}const it=e.createElement(rt,null);class lt extends e.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?e.createElement(V.Provider,{value:this.props.routeContext},e.createElement(X.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ot(t){let{routeContext:a,match:n,children:r}=t,i=e.useContext(H);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),e.createElement(V.Provider,{value:a},r)}var st=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(st||{}),mt=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}(mt||{});function ct(t){let a=function(t){let a=e.useContext(V);return a||h(!1),a}(),n=a.matches[a.matches.length-1];return n.route.id||h(!1),n.route.id}const gt={};function ut(t){let{to:a,replace:n,state:r,relative:i}=t;q()||h(!1);let{future:l,static:o}=e.useContext(Z),{matches:s}=e.useContext(V),{pathname:m}=tt(),c=at(),g=R(a,P(s,l.v7_relativeSplatPath),m,"path"===i),u=JSON.stringify(g);return e.useEffect((()=>c(JSON.parse(u),{replace:n,state:r,relative:i})),[c,u,i,n,r]),null}function dt(t){h(!1)}function pt(t){let{basename:a="/",children:n=null,location:r,navigationType:i=g.Pop,navigator:l,static:o=!1,future:s}=t;q()&&h(!1);let m=a.replace(/^\/*/,"/"),c=e.useMemo((()=>({basename:m,navigator:l,static:o,future:J({v7_relativeSplatPath:!1},s)})),[m,s,l,o]);"string"==typeof r&&(r=S(r));let{pathname:u="/",search:d="",hash:p="",state:k=null,key:y="default"}=r,f=e.useMemo((()=>{let t=U(u,m);return null==t?null:{location:{pathname:t,search:d,hash:p,state:k,key:y},navigationType:i}}),[m,u,d,p,k,y,i]);return null==f?null:e.createElement(Z.Provider,{value:c},e.createElement(K.Provider,{children:n,value:f}))}function ht(t){let{children:e,location:a}=t;return nt(kt(e),a)}function kt(t,a){void 0===a&&(a=[]);let n=[];return e.Children.forEach(t,((t,r)=>{if(!e.isValidElement(t))return;let i=[...a,r];if(t.type===e.Fragment)return void n.push.apply(n,kt(t.props.children,i));t.type!==dt&&h(!1),t.props.index&&t.props.children&&h(!1);let l={id:t.props.id||i.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&&(l.children=kt(t.props.children,i)),n.push(l)})),n}e.startTransition,new Promise((()=>{})),e.Component;var yt=window.ReactDOM;new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]),new Map;const ft=e.startTransition;function Et(t){let{basename:a,children:n,future:r,window:i}=t,l=e.useRef();null==l.current&&(l.current=function(t){return void 0===t&&(t={}),function(t,e,a,n){void 0===n&&(n={});let{window:r=document.defaultView,v5Compat:i=!1}=n,l=r.history,o=g.Pop,s=null,m=c();function c(){return(l.state||{idx:null}).idx}function u(){o=g.Pop;let t=c(),e=null==t?null:t-m;m=t,s&&s({action:o,location:S.location,delta:e})}function k(t){let e="null"!==r.location.origin?r.location.origin:r.location.href,a="string"==typeof t?t:E(t);return h(e,"No window.location.(origin|href) available to create URL for href: "+a),new URL(a,e)}null==m&&(m=0,l.replaceState(d({},l.state,{idx:m}),""));let S={get action(){return o},get location(){return t(r,l)},listen(t){if(s)throw new Error("A history only accepts one active listener");return r.addEventListener(p,u),s=t,()=>{r.removeEventListener(p,u),s=null}},createHref(t){return e(r,t)},createURL:k,encodeLocation(t){let e=k(t);return{pathname:e.pathname,search:e.search,hash:e.hash}},push:function(t,e){o=g.Push;let n=f(S.location,t,e);a&&a(n,t),m=c()+1;let u=y(n,m),d=S.createHref(n);try{l.pushState(u,"",d)}catch(t){if(t instanceof DOMException&&"DataCloneError"===t.name)throw t;r.location.assign(d)}i&&s&&s({action:o,location:S.location,delta:1})},replace:function(t,e){o=g.Replace;let n=f(S.location,t,e);a&&a(n,t),m=c();let r=y(n,m),u=S.createHref(n);l.replaceState(r,"",u),i&&s&&s({action:o,location:S.location,delta:0})},go(t){return l.go(t)}};return S}((function(t,e){let{pathname:a="/",search:n="",hash:r=""}=S(t.location.hash.substr(1));return a.startsWith("/")||a.startsWith(".")||(a="/"+a),f("",{pathname:a,search:n,hash:r},e.state&&e.state.usr||null,e.state&&e.state.key||"default")}),(function(t,e){let a=t.document.querySelector("base"),n="";if(a&&a.getAttribute("href")){let e=t.location.href,a=e.indexOf("#");n=-1===a?e:e.slice(0,a)}return n+"#"+("string"==typeof e?e:E(e))}),(function(t,e){k("/"===t.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(e)+")")}),t)}({window:i,v5Compat:!0}));let o=l.current,[s,m]=e.useState({action:o.action,location:o.location}),{v7_startTransition:c}=r||{},u=e.useCallback((t=>{c&&ft?ft((()=>m(t))):m(t)}),[m,c]);return e.useLayoutEffect((()=>o.listen(u)),[o,u]),e.createElement(pt,{basename:a,children:n,location:s.location,navigationType:s.action,navigator:o,future:r})}var St,xt;yt.flushSync,"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"}(St||(St={})),function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"}(xt||(xt={}));var Mt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l}=(0,a.useContext)(c),o=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"md:gtmkit-grid gtmkit-grid-cols-2 gtmkit-gap-16 gtmkit-mb-20"},(0,e.createElement)("div",{className:""},(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-w-full !gtmkit-px-8 "},(0,e.createElement)(n.TextControl,{label:(0,s.__)("Container ID","gtm-kit"),placeholder:(0,s.__)("Enter Container ID","gtm-kit"),value:t&&t.general.gtm_id,className:"gtmkit-text-center",onChange:t=>r("general","gtm_id",t)})),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),o("/essential-settings",{replace:!0})},disabled:l||!t.general.gtm_id.includes("-")},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):""))),(0,e.createElement)("div",{className:"gtmkit-mt-8 gtmkit-border gtmkit-p-6 gtmkit-text-left gtmkit-text-color-grey gtmkit-text-center"},(0,e.createElement)("h2",{className:"gtmkit-font-bold gtmkit-text-base gtmkit-mb-4"},"Need help?"),(0,e.createElement)("p",{className:"gtmkit-mb-6"},(0,s.__)("Find your GTM container ID on","gtm-kit"),(0,e.createElement)("a",{className:"gtmkit-ml-2 gtmkit-text-color-primary gtmkit-underline",href:"https://tagmanager.google.com/",target:"_blank",rel:"noreferrer"},"Google Tag Manager")),(0,e.createElement)("p",null,(0,s.__)("It should look something like this:","gtm-kit")," ","GTM-12ZM7SF4"))),(0,e.createElement)("div",{className:"gtmkit-mt-3 md:gtmkit-mt-10 gtmkit-text-color-grey gtmkit-text-base"},(0,e.createElement)("span",{className:"gtmkit-block"},(0,s.__)("No thanks. I know what I'm doing.","gtm-kit")),(0,e.createElement)("a",{className:"gtmkit-underline gtmkit-ml-4",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit"))))},Nt=()=>{const{useImportSettings:t,useIsPending:r,useInstallData:i}=(0,a.useContext)(c),[l,o]=(0,a.useState)(!0),m=Object.keys(i.import_data)[0],[g,u]=(0,a.useState)(m),d=[];return Object.keys(i.import_data).forEach((t=>{d.push({value:t,label:i.import_data[t].name})})),l?(0,e.createElement)(e.Fragment,null,(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto gtmkit-border gtmkit-py-8 gtmkit-my-8"},(0,e.createElement)("h2",{className:"gtmkit-text-lg gtmkit-text-color-heading gtmkit-font-bold"},(0,s.__)("Would you like to import plugin settings?","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-my-4 gtmkit-text-color-grey"},(0,s.__)("We have found the configuration of other plugins in the database.","gtm-kit")," ",(0,s.__)("Would you like to import your settings to GTM Kit?","gtm-kit")),(0,e.createElement)(n.RadioControl,{help:(0,s.__)("Select the plugin you want to import settings from.","gtm-kit"),selected:g,options:d,onChange:t=>u(t)}),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{t(g,i.import_data[g]),o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("Yes","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):""),(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base",onClick:()=>{o(!1)}},(0,e.createElement)("span",{className:"gtmkit-text-lg gtmkit-font-bold"},(0,s.__)("No","gtm-kit")),r?(0,e.createElement)(n.Spinner,null):"")))):(0,e.createElement)(Mt,null)},vt=()=>{const{useInstallData:t}=(0,a.useContext)(c),{firstInstall:n}=t,{importAvailable:r}=t;return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("You've successfully installed GTM Kit!","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container.","gtm-kit"))),n&&r?(0,e.createElement)(Nt,null):(0,e.createElement)(Mt,null))},_t=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useInstallData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)("div",{className:"gtmkit-text-center"},(0,e.createElement)("h1",{className:"gtmkit-text-4xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading"},(0,s.__)("Essential Settings","gtm-kit")),(0,e.createElement)("div",{className:"gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("There are a lot of settings in GTM Kit and we recommend that you uses our recommended settings but you can also choose to use the default settings and go through the settings at your convenience.","gtm-kit"))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Page type","gtm-kit"),id:"page-type"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Include the page type i.e. page, product, category, cart, checkout etc in the datalayer?","gtm-kit"),checked:t&&t.general.datalayer_page_type,onChange:()=>{r("general","datalayer_page_type",!(t&&t.general.datalayer_page_type))}}))),o.woocommerce_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track WooCommerce","gtm-kit"),id:"track-wooCommerce"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from WooCommerce?","gtm-kit"),checked:t&&t.integrations.woocommerce_integration,onChange:()=>{r("integrations","woocommerce_integration",!(t&&t.integrations.woocommerce_integration))}}))):null,o.cf7_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-lg gtmkit-mx-auto"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Contact Form 7","gtm-kit"),id:"track-cf7"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track form submissions from Contact Form 7?","gtm-kit"),checked:t&&t.integrations.cf7_integration,onChange:()=>{r("integrations","cf7_integration",!(t&&t.integrations.cf7_integration))}}))):null,o.edd_integration?(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap"},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Track Easy Digital Downloads","gtm-kit"),id:"track-edd"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("Would you like to track e-commerce data from Easy Digital Downloads?","gtm-kit"),checked:t&&t.integrations.edd_integration,onChange:()=>{r("integrations","edd_integration",!(t&&t.integrations.edd_integration))}}))):null,(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/share-anonymous-data",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},bt=()=>{const{useSettings:t,useUpdateStateSettings:r,useUpdateSettings:i,useIsPending:l,useSiteData:o}=(0,a.useContext)(c),m=at();return(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Help improve GTM Kit","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-4 gtmkit-text-color-grey"},(0,s.__)("GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-sm gtmkit-mb-8 gtmkit-text-color-grey"},(0,s.__)("You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:","gtm-kit")),(0,e.createElement)("table",{className:"gtmkit-border-2 gtmkit-table-fixed gtmkit-w-full gtmkit-text-sm"},(0,e.createElement)("tbody",null,(0,e.createElement)("tr",{className:""},(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Server type:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.web_server))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"PHP version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.php_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress version number:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.wordpress_version))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"WordPress multisite:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.multisite?(0,s.__)("Yes","gtm-kit"):(0,s.__)("No","gtm-kit")))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current theme:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.current_theme))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Current site language:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("code",{className:"gtmkit-text-sm"},o.locale))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Active plugins:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Plugin names of all active plugins"))),(0,e.createElement)("tr",null,(0,e.createElement)("td",{className:"gtmkit-font-bold gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("strong",null,"Anonymized GTM Kit settings:")),(0,e.createElement)("td",{className:"gtmkit-px-2 gtmkit-py-1"},(0,e.createElement)("em",null,"Which GTM Kit settings are active"))))),(0,e.createElement)("div",{className:"gtmkit-settings-field-wrap gtmkit-max-w-max !gtmkit-px-8 gtmkit-mx-auto "},(0,e.createElement)(n.BaseControl,{label:(0,s.__)("Share anonymous data","gtm-kit"),id:"share-anonymous-data"},(0,e.createElement)(n.ToggleControl,{label:(0,s.__)("I agree to share anonymous data with the development team to help improve GTM Kit. ","gtm-kit"),checked:t&&t.general.analytics_active,onChange:()=>{r("general","analytics_active",!(t&&t.general.analytics_active))}}))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{i(),m("/getting-started",{replace:!0})},disabled:l},(0,s.__)("Save and continue","gtm-kit"),l?(0,e.createElement)(n.Spinner,null):"")))},wt=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("h1",{className:"gtmkit-text-3xl gtmkit-font-medium gtmkit-mb-8 gtmkit-text-color-heading gtmkit-text-center"},(0,s.__)("Your are ready to use GTM Kit!","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-4 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Your Google Tag Manager Container is now sending data to Google Tag Manager.","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-mb-12 gtmkit-text-color-grey gtmkit-text-center"},(0,s.__)("Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4.","gtm-kit")," "),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto gtmkit-mb-8"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Google Tag Manager templates","gtm-kit")),(0,e.createElement)("p",{className:"gtmkit-text-base gtmkit-text-color-grey gtmkit-m-4"},(0,s.__)("Please read the guide on how to use the import files and configure GTM.","gtm-kit")," ",(0,e.createElement)("a",{target:"_blank",className:"gtmkit-text-color-primary gtmkit-whitespace-nowrap",href:"https://gtmkit.com/guides/how-to-setup-google-analytics-ga4-in-google-tag-manager/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",rel:"noreferrer"},(0,s.__)("Read the guide","gtm-kit"))),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-Google-Analytics-4.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - Basic Configuration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://templates.gtmkit.com/gtm/GTM-GA4-eCommerce.json",target:"_blank",rel:"noreferrer"},(0,s.__)("Google Analytics 4 - eCommerce","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-border-2 gtmkit-max-w-md gtmkit-mx-auto"},(0,e.createElement)("h3",{className:"gtmkit-p-3 gtmkit-font-bold gtmkit-text-xl gtmkit-border-b-2"},(0,s.__)("Tutorials","gtm-kit")),(0,e.createElement)("ul",{className:"gtmkit-text-color-primary gtmkit-p-3"},(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/getting-started-with-gtm-kit/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=getting-started&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Getting started with GTM Kit","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/woocommerce/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=woocommerce&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("WooCommerce Integration","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/advanced-gtm-container-implementation/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=advanced-container-implementation&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Advanced GTM container implementation","gtm-kit"))),(0,e.createElement)("li",null,(0,e.createElement)("a",{href:"https://gtmkit.com/documentation/settings-actions-and-filters-for-developers/#utm_source=gtmkit-plugin&utm_medium=software&utm_term=settings-actions-and-filters-for-developers&utm_content=help-tutorials",target:"_blank",rel:"noreferrer"},(0,s.__)("Settings, actions and filters for developers","gtm-kit"))))),(0,e.createElement)("div",{className:"gtmkit-flex gtmkit-mt-12"},(0,e.createElement)(n.Button,{variant:"primary",className:"gtmkit-mx-auto gtmkit-rounded-md !gtmkit-py-6 !gtmkit-px-8 gtmkit-text-base disabled:!gtmkit-bg-color-button-disabled disabled:!gtmkit-text-color-grey",onClick:()=>{window.location.href=window.gtmkitSettings.dashboardUrl}},(0,s.__)("Go to the dashboard","gtm-kit"))));const Tt=[{step:1,path:"/welcome",element:"Welcome",title:(0,s.__)("Welcome","gtm-kit")},{step:2,path:"/essential-settings",element:"EssentialSettings",title:(0,s.__)("Essential Settings","gtm-kit")},{step:3,path:"/share-anonymous-data",element:"ShareAnonymousData",title:(0,s.__)("Help improve GTM Kit","gtm-kit")},{step:4,path:"/getting-started",element:"GettingStarted",title:(0,s.__)("Getting Started","gtm-kit")}];var jt=({step:t,currentStep:a,totalSteps:n})=>{if(t===n)return;let r="gtmkit-h-0.5 gtmkit-w-full";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-color-border",(0,e.createElement)("div",{className:r})},Lt=({step:t,currentStep:a})=>t<a?(0,e.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:"gtmkit-w-5 gtmkit-h-5 gtmkit-text-white"},(0,e.createElement)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})):t===a?(0,e.createElement)("span",{className:"gtmkit-h-2.5 gtmkit-w-2.5 gtmkit-rounded-full gtmkit-bg-color-primary"}):void 0,Dt=({step:t,currentStep:a,totalSteps:n})=>{if(0===t)return;let r="gtmkit-transition-opacity gtmkit-duration-500 gtmkit-absolute gtmkit-inset-0 gtmkit-border-2 gtmkit-flex gtmkit-items-center gtmkit-justify-center gtmkit-rounded-full gtmkit-opacity-100";return r+=t<a?" gtmkit-bg-color-primary":" gtmkit-bg-white",r+=t>a?" gtmkit-border-color-border":" gtmkit-border-color-primary",(0,e.createElement)(e.Fragment,null,(0,e.createElement)("span",{className:"gtmkit-relative gtmkit-shrink-0 gtmkit-z-10 gtmkit-w-8 gtmkit-h-8 gtmkit-rounded-full"},(0,e.createElement)("span",{className:r},(0,e.createElement)(Lt,{step:t,currentStep:a,totalSteps:n}))),(0,e.createElement)(jt,{step:t,currentStep:a,totalSteps:n}))},Ct=()=>{const t=Tt.length-1+Tt[0].step;let a=((t,e)=>{const a=Object.keys(e);return t.filter((function(t){for(let n=0;n<a.length;n++)if(!t.hasOwnProperty(a[n])||t[a[n]]!==e[a[n]])return!1;return!0}))})(Tt,{path:tt().pathname});return a=a.length?a[0].step:0,0===a?(0,e.createElement)("div",{className:"gtmkit-my-16"}):(0,e.createElement)("div",{className:"gtmkit-mt-6 gtmkit-inset-0 gtmkit-mx-auto gtmkit-my-6 gtmkit-flex gtmkit-items-center gtmkit-max-w-xl","aria-hidden":"true"},Tt.map((function(n){return(0,e.createElement)(Dt,{key:n.step,step:n.step,currentStep:a,totalSteps:t})})))},It=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("header",{className:"gtmkit-text-center gtmkit-px-3"},(0,e.createElement)("h1",{className:"gtmkit-mt-3 md:gtmkit-mt-8 gtmkit-mb-4 gtmkit-w-[225px] gtmkit-inline-block"},(0,e.createElement)("img",{src:"data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNDY3LjEgMTU4Ni40IiBoZWlnaHQ9IjU0IiB2aWV3Qm94PSIwIDAgMTYwIDU0IiB3aWR0aD0iMTYwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IGZpbGw9IiM4ODgiIGhlaWdodD0iNTQiIHJ4PSI0LjI2NSIgd2lkdGg9IjE2MCIvPjxwYXRoIGQ9Im04OC42NTkgNy4wMDJoLTQ5LjI2NmMtMi45MTUgMC01LjM3OC0uMTg0LTkuMjMgMi41OTZsLTE4Ljc0MyAxMi43NTJjLTQuNTQ5IDMuMjkyLTQuNTcxIDYuMDAxIDAgOS4zMDJsMTguNzQzIDEyLjc1MWMzLjY1MiAyLjY0NiA2LjI5OSAyLjU5NyA5LjIzIDIuNTk3aDE1LjY4NiAzMy41OGMyLjkzMS0uMDU3IDUuMzk0LTEuNzg0IDUuMzQtMy45MjN2LTMyLjIxYy0uMDEyLTIuMTM0LTIuNDA5LTMuODY1LTUuMzQtMy44NjV6IiBmaWxsPSIjMzk2OWJiIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgLTEgMTAxLjk5OTg2NyA1My45OTk1NDcpIi8+PGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoMS40NjUyMDIgMCAwIDEuNDY1MjAyIC00LjU4MjQzNiAtNy41NTMxMjYpIj48cGF0aCBkPSJtMTguMzE2IDIzLjA4Nmg0LjYzMnY2LjA1MmMtLjc1LjI0NS0xLjQ1OS40MTUtMi4xMjEuNTE0LS42NjMuMDk4LTEuMzQxLjE0OC0yLjAzMy4xNDgtMS43NjQgMC0zLjEwNi0uNTE3LTQuMDM1LTEuNTU0LS45MjktMS4wMzQtMS4zOTUtMi41MTktMS4zOTUtNC40NTcgMC0xLjg4Ni41MzgtMy4zNTYgMS42MTctNC40MSAxLjA3OC0xLjA1NCAyLjU3My0xLjU3OSA0LjQ4MS0xLjU3OSAxLjIgMCAyLjM1Ny4yMzkgMy40NjkuNzE4bC0uODIzIDEuOTc5Yy0uODUtLjQyNS0xLjczNy0uNjM3LTIuNjU3LS42MzctMS4wNzEgMC0xLjkzMi4zNTgtMi41NzIgMS4wNzctLjY0NS43MTgtLjk2OCAxLjY4NS0uOTY4IDIuODk5IDAgMS4yNjcuMjYgMi4yMzMuNzggMi45MDQuNTE2LjY2NyAxLjI3MS45OTkgMi4yNjIuOTk5LjUxNyAwIDEuMDQxLS4wNTIgMS41NzItLjE1OHYtMi40MzVoLTIuMjA5em0xMS45MTIgNi41NTVoLTIuNDc0di05LjYxNGgtMy4xNzN2LTIuMDZoOC44MTZ2Mi4wNmgtMy4xNjl6bTkuOTA4IDAtMi44MTEtOS4xNThoLS4wNzJjLjEwMyAxLjg2My4xNTQgMy4xMDUuMTU0IDMuNzI4djUuNDNoLTIuMjEzdi0xMS42NzRoMy4zNjhsMi43NjQgOC45MjdoLjA0OGwyLjkzNC04LjkyN2gzLjM2OXYxMS42NzRoLTIuMzA4di01LjUyNWMwLS4yNjEgMC0uNTYxLjAwOS0uOTAzLjAwOS0uMzQxLjA0OC0xLjI0Ni4xMTItMi43MTZoLS4wNzRsLTMuMDExIDkuMTQ0eiIvPjxwYXRoIGQ9Im04OC44ODMgMzEuODk4aC0zLjgxMWwtNC4xNDctNi42Ny0xLjQxNyAxLjAxOHY1LjY1MmgtMy4zNTd2LTE1LjgzaDMuMzU3djcuMjQybDEuMzE4LTEuODYxIDQuMjkzLTUuMzgxaDMuNzI0bC01LjUyMyA3LjAwNnptMS41ODktMTUuMjMzYzAtMS4wNzUuNi0xLjYxNCAxLjgtMS42MTQgMS4xOTkgMCAxLjc5OC41MzkgMS43OTggMS42MTQgMCAuNTEyLS4xNDguOTEtLjQ1IDEuMTk2LS4yOTcuMjg0LS43NDkuNDI5LTEuMzQ4LjQyOS0xLjIgMC0xLjgtLjU0My0xLjgtMS42MjV6bTMuNDQ5IDE1LjIzM2gtMy4zMDJ2LTEyLjEwNGgzLjMwMnptOC41NjMtMi40MTNjLjU3OCAwIDEuMjcxLS4xMjggMi4wNzctLjM4djIuNDU2Yy0uODIuMzctMS44MzEuNTUyLTMuMDMxLjU1Mi0xLjMyNCAwLTIuMjgtLjMzMy0yLjg4NS0xLjAwMS0uNjAyLS42NjctLjkwMi0xLjY2OC0uOTAyLTMuMDAzdi01LjgzNWgtMS41ODV2LTEuMzk5bDEuODIzLTEuMTAzLjk0OS0yLjU1N2gyLjExNXYyLjU3OWgzLjM4OHYyLjQ4aC0zLjM4OHY1LjgzNWMwIC40NjcuMTI5LjgxNS4zOTMgMS4wNDEuMjY0LjIyMi42MTQuMzM1IDEuMDQ2LjMzNXoiLz48L2c+PC9zdmc+",alt:(0,s.__)("GTM Kit","gtm-kit"),className:"gtmkit-w-full"}))),(0,e.createElement)(Ct,null)),Ot=()=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)("footer",{className:"gtm-kit-settings-footer gtmkit-my-8 gtmkit-text-color-grey"},(0,e.createElement)("p",{className:"gtmkit-mx-auto gtmkit-max-w-max"},(0,e.createElement)("a",{className:"gtmkit-underline",href:window.gtmkitSettings.dashboardUrl},(0,s.__)("Go to the dashboard.","gtm-kit")))));const At=()=>{const{useSettings:t}=(0,a.useContext)(c);return Object.keys(t).length?(0,e.createElement)(e.Fragment,null,(0,e.createElement)(It,null),(0,e.createElement)("main",{className:"gtmkit-max-w-3xl gtmkit-bg-white gtmkit-border-1 gtmkit-border-color-border gtmkit-rounded-md gtmkit-mx-auto gtmkit-py-12 gtmkit-px-16 gtmkit-text-base"},(0,e.createElement)(ht,null,(0,e.createElement)(dt,{exact:!0,path:"/welcome",element:(0,e.createElement)(vt,null)}),(0,e.createElement)(dt,{exact:!0,path:"/essential-settings",element:(0,e.createElement)(_t,null)}),(0,e.createElement)(dt,{exact:!0,path:"/share-anonymous-data",element:(0,e.createElement)(bt,null)}),(0,e.createElement)(dt,{exact:!0,path:"/getting-started",element:(0,e.createElement)(wt,null)}),(0,e.createElement)(dt,{path:"/",element:(0,e.createElement)(ut,{replace:!0,to:"/welcome"})}))),(0,e.createElement)(Ot,null)):(0,e.createElement)(n.Spinner,{className:"gtm-kit-settings-page-loader"})},Ut=()=>(0,e.createElement)(Et,{basename:"/"},(0,e.createElement)(u,null,(0,e.createElement)(At,null)));document.addEventListener("DOMContentLoaded",(()=>{void 0!==document.getElementById(window.gtmkitSettings.rootId)&&null!==document.getElementById(window.gtmkitSettings.rootId)&&(0,a.render)((0,e.createElement)(Ut,null),document.getElementById(window.gtmkitSettings.rootId))}))}();
  • gtm-kit/trunk/assets/integration/woocommerce.js

    r3004949 r3016305  
    1 function gtmkitLoad(){const a=window.gtmkit_settings.datalayer_name;let d;const n={"wp-block-handpicked-products":1,"wp-block-product-best-sellers":1,"wp-block-product-category":1,"wp-block-product-new":1,"wp-block-product-on-sale":1,"wp-block-products-by-attribute":1,"wp-block-product-tag":1,"wp-block-product-top-rated":1};document.querySelectorAll(".wc-block-grid .wc-block-grid__product").forEach(function(t){var e=t.closest(".wc-block-grid"),i=t.querySelector(".gtmkit_product_data");if(e&&i){var o,r=e.classList;if(r)for(const c in n)r.contains(c)&&((o=JSON.parse(i.getAttribute("data-gtmkit_product_data"))).item_list_name=window.gtmkit_settings.wc.text[c],o.index=n[c],i.setAttribute("data-gtmkit_product_data",JSON.stringify(o)),n[c]++)}});var t=document.querySelectorAll(".gtmkit_product_data");if(t.length){const i=[];let e;t.forEach(function(t){e=JSON.parse(t.getAttribute("data-gtmkit_product_data")),i.push(e)}),window[a].push({ecommerce:null}),window[a].push({event:"view_item_list",ecommerce:{items:i}})}document.addEventListener("click",function(t){t=t.target;let e;if(!t)return!0;if(t.closest(".add_to_cart_button.ajax_add_to_cart:not(.single_add_to_cart_button)"))e="add_to_cart";else{if(!t.closest(".products")&&!t.closest(".wc-block-grid__products")||!t.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list)"))return!0;e="add_to_wishlist"}t=t.closest(".product,.wc-block-grid__product"),t=t&&t.querySelector(".gtmkit_product_data");if(!t)return!0;t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));window[a].push({ecommerce:null}),window[a].push({event:e,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}})}),document.addEventListener("click",function(o){o=o.target;if(!o)return!0;let r,i=o.closest("form.cart");if(!i){let t=o.parentNode;for(;!i&&t;)i=t.querySelector("form.cart"),t=t.parentNode}if(!i)return!0;o.closest(".single_add_to_cart_button:not(.disabled,.input-needed)")?r="add_to_cart":o.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list,.disabled-add-wishlist)")&&(r="add_to_wishlist");var o=i.querySelectorAll("[name=variation_id]"),t=i.classList&&i.classList.contains("grouped_form")&&!i.classList.contains("bundle_form");if(o.length){let t=1,e;d&&(o=i.querySelector("[name=quantity]"),d.quantity=o&&o.value||1,t=d.quantity,e=d.price),(d&&"add_to_cart"===r||"add_to_wishlist"===r)&&(window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:e*t,items:[d]}}))}else if(t){o=document.querySelectorAll(".grouped_form .gtmkit_product_data");const c=[];let i=0;if(o.forEach(function(t){let e=document.querySelectorAll("input[name=quantity\\["+t.getAttribute("data-gtmkit_product_id")+"\\]]");if(e=Number(e[0].value),0===(e=isNaN(e)?0:e)&&"add_to_cart"===r)return!0;0===e&&"add_to_wishlist"===r&&(e=1);t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));t.quantity=e,c.push(t),i+=t.price*t.quantity}),0===c.length)return!0;window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:i,items:c}})}else{t=JSON.parse(i.querySelector("[name=gtmkit_product_data]")&&i.querySelector("[name=gtmkit_product_data]").value);t.quantity=i.querySelector("[name=quantity]")&&i.querySelector("[name=quantity]").value,window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price*t.quantity,items:[t]}})}}),document.addEventListener("click",function(t){var t=t.target;return!t||!t.closest(".mini_cart_item a.remove,.product-remove a.remove")||!(t=JSON.parse(t.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"remove_from_cart",ecommerce:{items:[t]}})});document.addEventListener("click",function(t){t=t.target;if(!t.closest(".products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.woocommerce-grouped-product-list-item__label a:not(.add_to_wishlist,.tinvwl_add_to_wishlist_button)"))return!0;var t=t.closest(".product,.wc-block-grid__product");let e;return!t||!(e=t.querySelector(".gtmkit_product_data"))||void 0===e.getAttribute("data-gtmkit_product_data")||!(t=JSON.parse(e.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"select_item",ecommerce:{items:[t]}})}),jQuery(document).on("found_variation",function(t,e){if(void 0!==e){t=t.target;if(t.querySelector("[name=gtmkit_product_data]")){var t=JSON.parse(t.querySelector("[name=gtmkit_product_data]")&&t.querySelector("[name=gtmkit_product_data]").value),i=(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.variation_id,window.gtmkit_settings.wc.use_sku&&e.sku&&""!==e.sku&&(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.sku),t.price=e.display_price,[]);for(const o in e.attributes)i.push(e.attributes[o]);t.item_variant=i.filter(t=>t).join("|"),d=t,0!==window.gtmkit_settings.wc.view_item.config&&(window[a].push({ecommerce:null}),window[a].push({event:"view_item",ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}}))}}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",gtmkitLoad):gtmkitLoad();
     1function gtmkitLoad(){const a=window.gtmkit_settings.datalayer_name;let d;const n={"wp-block-handpicked-products":1,"wp-block-product-best-sellers":1,"wp-block-product-category":1,"wp-block-product-new":1,"wp-block-product-on-sale":1,"wp-block-products-by-attribute":1,"wp-block-product-tag":1,"wp-block-product-top-rated":1};document.querySelectorAll(".wc-block-grid .wc-block-grid__product").forEach(function(t){var e=t.closest(".wc-block-grid"),i=t.querySelector(".gtmkit_product_data");if(e&&i){var o,r=e.classList;if(r)for(const c in n)r.contains(c)&&((o=JSON.parse(i.getAttribute("data-gtmkit_product_data"))).item_list_name=window.gtmkit_settings.wc.text[c],o.index=n[c],i.setAttribute("data-gtmkit_product_data",JSON.stringify(o)),n[c]++)}});var t=document.querySelectorAll(".gtmkit_product_data");if(t.length){const i=[];let e;t.forEach(function(t){e=JSON.parse(t.getAttribute("data-gtmkit_product_data")),i.push(e)}),window[a].push({ecommerce:null}),window[a].push({event:"view_item_list",ecommerce:{items:i}})}document.addEventListener("click",function(t){t=t.target;let e;if(!t)return!0;if(t.closest(".add_to_cart_button.ajax_add_to_cart:not(.single_add_to_cart_button)"))e="add_to_cart";else{if(!t.closest(".products")&&!t.closest(".wc-block-grid__products")||!t.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list)"))return!0;e="add_to_wishlist"}t=t.closest(".product,.wc-block-grid__product"),t=t&&t.querySelector(".gtmkit_product_data");if(!t)return!0;t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));t.quantity=1,window[a].push({ecommerce:null}),window[a].push({event:e,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}})}),document.addEventListener("click",function(o){o=o.target;if(!o)return!0;let r,i=o.closest("form.cart");if(!i){let t=o.parentNode;for(;!i&&t;)i=t.querySelector("form.cart"),t=t.parentNode}if(!i)return!0;if(o.closest(".single_add_to_cart_button:not(.disabled,.input-needed)"))r="add_to_cart";else{if(!o.closest(".add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list,.disabled-add-wishlist)"))return!0;r="add_to_wishlist"}var o=i.querySelectorAll("[name=variation_id]"),t=i.classList&&i.classList.contains("grouped_form")&&!i.classList.contains("bundle_form");if(o.length){let t=1,e;d&&(o=i.querySelector("[name=quantity]"),d.quantity=o&&o.value||1,t=d.quantity,e=d.price),(d&&"add_to_cart"===r||"add_to_wishlist"===r)&&(window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:e*t,items:[d]}}))}else if(t){o=document.querySelectorAll(".grouped_form .gtmkit_product_data");const c=[];let i=0;if(o.forEach(function(t){let e=document.querySelectorAll("input[name=quantity\\["+t.getAttribute("data-gtmkit_product_id")+"\\]]");if(e=Number(e[0].value),0===(e=isNaN(e)?0:e)&&"add_to_cart"===r)return!0;0===e&&"add_to_wishlist"===r&&(e=1);t=JSON.parse(t.getAttribute("data-gtmkit_product_data"));t.quantity=e,c.push(t),i+=t.price*t.quantity}),0===c.length)return!0;window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:i,items:c}})}else{t=JSON.parse(i.querySelector("[name=gtmkit_product_data]")&&i.querySelector("[name=gtmkit_product_data]").value);t.quantity=i.querySelector("[name=quantity]")&&i.querySelector("[name=quantity]").value,window[a].push({ecommerce:null}),window[a].push({event:r,ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price*t.quantity,items:[t]}})}}),document.addEventListener("click",function(t){var t=t.target;return!t||!t.closest(".mini_cart_item a.remove,.product-remove a.remove")||!(t=JSON.parse(t.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"remove_from_cart",ecommerce:{items:[t]}})});document.addEventListener("click",function(t){t=t.target;if(!t.closest(".products .product:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),.woocommerce-grouped-product-list-item__label a:not(.add_to_wishlist,.tinvwl_add_to_wishlist_button)"))return!0;var t=t.closest(".product,.wc-block-grid__product");let e;return!t||!(e=t.querySelector(".gtmkit_product_data"))||void 0===e.getAttribute("data-gtmkit_product_data")||!(t=JSON.parse(e.getAttribute("data-gtmkit_product_data")))||void window[a].push({event:"select_item",ecommerce:{items:[t]}})}),jQuery(document).on("found_variation",function(t,e){if(void 0!==e){t=t.target;if(t.querySelector("[name=gtmkit_product_data]")){var t=JSON.parse(t.querySelector("[name=gtmkit_product_data]")&&t.querySelector("[name=gtmkit_product_data]").value),i=(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.variation_id,window.gtmkit_settings.wc.use_sku&&e.sku&&""!==e.sku&&(t.id=t.item_id=window.gtmkit_settings.wc.pid_prefix+e.sku),t.price=e.display_price,[]);for(const o in e.attributes)i.push(e.attributes[o]);t.item_variant=i.filter(t=>t).join("|"),d=t,0!==window.gtmkit_settings.wc.view_item.config&&(window[a].push({ecommerce:null}),window[a].push({event:"view_item",ecommerce:{currency:window.gtmkit_data.wc.currency,value:t.price,items:[t]}}))}}})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",gtmkitLoad):gtmkitLoad();
  • gtm-kit/trunk/gtm-kit.php

    r3009201 r3016305  
    44 *
    55 * Plugin Name: GTM Kit
    6  * Version:     1.17.2
     6 * Version:     1.18
    77 * Plugin URI:  https://gtmkit.com/
    88 * Description: Google Tag Manager implementation focusing on flexibility and pagespeed.
     
    2828}
    2929
    30 const GTMKIT_VERSION = '1.17.2';
     30const GTMKIT_VERSION = '1.18';
    3131
    3232if ( ! defined( 'GTMKIT_FILE' ) ) {
  • gtm-kit/trunk/languages/gtm-kit.pot

    r3009201 r3016305  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: GTM Kit 1.17.2\n"
     5"Project-Id-Version: GTM Kit 1.18\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/gtm-kit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2023-12-13T06:41:32+00:00\n"
     12"POT-Creation-Date: 2023-12-30T11:07:06+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.9.0\n"
     
    1717#. Plugin Name of the plugin
    1818#: src/Admin/MetaBox.php:64
    19 #: assets/admin/wizard.js:4500
    20 #: assets/admin/wizard.js:4407
     19#: assets/admin/wizard.js:1
    2120msgid "GTM Kit"
    2221msgstr ""
     
    4342
    4443#: inc/main.php:80
    45 #: assets/admin/settings.js:6318
    46 #: assets/admin/settings.js:6747
     44#: assets/admin/settings.js:1
    4745msgid "Settings"
    4846msgstr ""
     
    6967msgstr ""
    7068
     69#: src/Admin/AdminAPI.php:188
     70#: src/Admin/AdminAPI.php:193
     71msgid "The support ticket was not found. Please check that you have entered the correct ticket."
     72msgstr ""
     73
     74#: src/Admin/AdminAPI.php:190
     75msgid "Thank you! We have received the data."
     76msgstr ""
     77
    7178#: src/Admin/GeneralOptionsPage.php:67
    72 #: assets/admin/settings.js:5531
    73 #: assets/admin/settings.js:5609
     79#: assets/admin/settings.js:1
    7480msgid "General"
    7581msgstr ""
     
    8187#: src/Admin/HelpOptionsPage.php:44
    8288#: src/Admin/HelpOptionsPage.php:53
    83 #: assets/admin/settings.js:5677
    84 #: assets/admin/settings.js:6308
    85 #: assets/admin/settings.js:6553
    86 #: assets/admin/settings.js:5852
    87 #: assets/admin/settings.js:6739
    88 #: assets/admin/settings.js:6975
     89#: assets/admin/settings.js:1
    8990msgid "Help"
    9091msgstr ""
     
    9293#: src/Admin/IntegrationsOptionsPage.php:44
    9394#: src/Admin/IntegrationsOptionsPage.php:53
    94 #: assets/admin/settings.js:5558
    95 #: assets/admin/settings.js:5742
    96 #: assets/admin/settings.js:6307
    97 #: assets/admin/settings.js:6540
    98 #: assets/admin/settings.js:5695
    99 #: assets/admin/settings.js:5959
    100 #: assets/admin/settings.js:6738
    101 #: assets/admin/settings.js:6956
     95#: assets/admin/settings.js:1
    10296msgid "Integrations"
    10397msgstr ""
     
    108102
    109103#: src/Admin/MetaBox.php:90
    110 #: assets/admin/settings.js:5838
    111 #: assets/admin/wizard.js:4708
    112 #: assets/admin/settings.js:6072
    113 #: assets/admin/wizard.js:4655
     104#: assets/admin/settings.js:1
     105#: assets/admin/wizard.js:1
    114106msgid "Page type"
    115107msgstr ""
     
    120112msgstr ""
    121113
    122 #: src/Common/Util.php:94
     114#: src/Common/Util.php:102
    123115msgid "Server type:"
    124116msgstr ""
    125117
    126 #: src/Common/Util.php:99
     118#: src/Common/Util.php:107
    127119msgid "PHP version number:"
    128120msgstr ""
    129121
    130 #: src/Common/Util.php:104
     122#: src/Common/Util.php:112
    131123msgid "WordPress version number:"
    132124msgstr ""
    133125
    134 #: src/Common/Util.php:109
     126#: src/Common/Util.php:117
    135127msgid "WordPress multisite:"
    136128msgstr ""
    137129
    138 #: src/Common/Util.php:110
    139 #: assets/admin/wizard.js:4569
    140 #: assets/admin/wizard.js:4917
    141 #: assets/admin/wizard.js:4486
    142 #: assets/admin/wizard.js:5016
     130#: src/Common/Util.php:118
     131#: assets/admin/wizard.js:1
    143132msgid "Yes"
    144133msgstr ""
    145134
    146 #: src/Common/Util.php:110
    147 #: assets/admin/wizard.js:4577
    148 #: assets/admin/wizard.js:4917
    149 #: assets/admin/wizard.js:4499
    150 #: assets/admin/wizard.js:5017
     135#: src/Common/Util.php:118
     136#: assets/admin/wizard.js:1
    151137msgid "No"
    152138msgstr ""
    153139
    154 #: src/Common/Util.php:114
     140#: src/Common/Util.php:122
    155141msgid "Current theme:"
    156142msgstr ""
    157143
    158 #: src/Common/Util.php:119
     144#: src/Common/Util.php:127
    159145msgid "Current site language:"
    160146msgstr ""
    161147
    162 #: src/Common/Util.php:124
     148#: src/Common/Util.php:132
    163149msgid "Active plugins:"
    164150msgstr ""
    165151
    166 #: src/Common/Util.php:125
     152#: src/Common/Util.php:133
    167153msgid "Plugin name and version of all active plugins"
    168154msgstr ""
    169155
    170 #: src/Common/Util.php:129
     156#: src/Common/Util.php:137
    171157msgid "Anonymized GTM Kit settings:"
    172158msgstr ""
    173159
    174 #: src/Common/Util.php:130
     160#: src/Common/Util.php:138
    175161msgid "Which GTM Kit settings are active"
    176162msgstr ""
     
    237223msgstr ""
    238224
    239 #: assets/admin/settings.js:4343
    240 #: assets/admin/settings.js:4281
     225#: assets/admin/settings.js:1
     226#: assets/admin/wizard.js:1
     227msgid "An error occurred."
     228msgstr ""
     229
     230#: assets/admin/settings.js:1
     231#: assets/admin/wizard.js:1
     232msgid "Saved Successfully."
     233msgstr ""
     234
     235#: assets/admin/settings.js:1
     236msgid "Save"
     237msgstr ""
     238
     239#: assets/admin/settings.js:1
     240msgid "Saved"
     241msgstr ""
     242
     243#: assets/admin/settings.js:1
    241244msgid "Active"
    242245msgstr ""
    243246
    244 #: assets/admin/settings.js:4343
    245 #: assets/admin/settings.js:4281
     247#: assets/admin/settings.js:1
    246248msgid "Inactive"
    247249msgstr ""
    248250
    249 #: assets/admin/settings.js:4424
    250 #: assets/admin/settings.js:4333
    251 msgid "Save"
    252 msgstr ""
    253 
    254 #: assets/admin/settings.js:4437
    255 #: assets/admin/settings.js:4346
    256 msgid "Saved"
    257 msgstr ""
    258 
    259 #: assets/admin/settings.js:4483
    260 #: assets/admin/settings.js:4375
     251#: assets/admin/settings.js:1
     252msgid "Read article"
     253msgstr ""
     254
     255#: assets/admin/settings.js:1
     256msgid "The #1 open source eCommerce platform built for WordPress"
     257msgstr ""
     258
     259#: assets/admin/settings.js:1
     260msgid "Setup integration"
     261msgstr ""
     262
     263#: assets/admin/settings.js:1
     264msgid "Just another contact form plugin for WordPress. Simple but flexible"
     265msgstr ""
     266
     267#: assets/admin/settings.js:1
     268msgid "Easy way to sell Digital Products With WordPress"
     269msgstr ""
     270
     271#: assets/admin/settings.js:1
     272msgid "How to get the most out of Google Tag Manager with GTM Kit."
     273msgstr ""
     274
     275#: assets/admin/settings.js:1
     276msgid "WooCommerce integration"
     277msgstr ""
     278
     279#: assets/admin/settings.js:1
     280msgid "Integrate WooCommerce with Google Tag Manager and Google Analytics."
     281msgstr ""
     282
     283#: assets/admin/settings.js:1
     284msgid "Integrate Contact Form 7 with Google Tag Manager and Google Analytics."
     285msgstr ""
     286
     287#: assets/admin/settings.js:1
     288msgid "Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics."
     289msgstr ""
     290
     291#: assets/admin/settings.js:1
     292msgid "Customization of the GTM container implementation and Server Side Tracking."
     293msgstr ""
     294
     295#: assets/admin/settings.js:1
     296msgid "One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php."
     297msgstr ""
     298
     299#: assets/admin/settings.js:1
     300msgid "See all tutorials…"
     301msgstr ""
     302
     303#: assets/admin/settings.js:1
     304msgid "See all our tutorial and get the most out of GTM Kit"
     305msgstr ""
     306
     307#: assets/admin/settings.js:1
     308msgid "Read articles"
     309msgstr ""
     310
     311#: assets/admin/settings.js:1
     312msgid "Container ID:"
     313msgstr ""
     314
     315#: assets/admin/settings.js:1
     316msgid "The container is not active but the datalayer is generated."
     317msgstr ""
     318
     319#: assets/admin/settings.js:1
     320msgid "Edit container"
     321msgstr ""
     322
     323#: assets/admin/settings.js:1
     324msgid "Server-side GTM"
     325msgstr ""
     326
     327#: assets/admin/settings.js:1
     328msgid "Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility."
     329msgstr ""
     330
     331#: assets/admin/settings.js:1
     332#: assets/admin/wizard.js:1
     333msgid "Help improve GTM Kit"
     334msgstr ""
     335
     336#: assets/admin/settings.js:1
     337msgid "Share anonymous data with the development team to help improve GTM Kit."
     338msgstr ""
     339
     340#: assets/admin/settings.js:1
     341#: assets/admin/wizard.js:1
     342msgid "Share anonymous data"
     343msgstr ""
     344
     345#: assets/admin/settings.js:1
     346#: assets/admin/wizard.js:1
     347msgid "Tutorials"
     348msgstr ""
     349
     350#: assets/admin/settings.js:1
     351msgid "Google Tag Manager container"
     352msgstr ""
     353
     354#: assets/admin/settings.js:1
     355msgid "General Container Settings"
     356msgstr ""
     357
     358#: assets/admin/settings.js:1
     359#: assets/admin/wizard.js:1
     360msgid "To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container."
     361msgstr ""
     362
     363#: assets/admin/settings.js:1
     364msgid "GTM Container ID:"
     365msgstr ""
     366
     367#: assets/admin/settings.js:1
     368msgid "Enter GTM Container ID"
     369msgstr ""
     370
     371#: assets/admin/settings.js:1
     372msgid "Inject Container Code"
     373msgstr ""
     374
     375#: assets/admin/settings.js:1
     376msgid "Setting this to Off will remove the Google Tag Manager container code but the data layer will remain."
     377msgstr ""
     378
     379#: assets/admin/settings.js:1
     380msgid "Just the container"
     381msgstr ""
     382
     383#: assets/admin/settings.js:1
     384msgid "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."
     385msgstr ""
     386
     387#: assets/admin/settings.js:1
     388msgid "dataLayer variable name:"
     389msgstr ""
     390
     391#: assets/admin/settings.js:1
     392msgid "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."
     393msgstr ""
     394
     395#: assets/admin/settings.js:1
     396msgid "Server-side Tagging (sGTM)"
     397msgstr ""
     398
     399#: assets/admin/settings.js:1
     400msgid "sGTM Container Domain:"
     401msgstr ""
     402
     403#: assets/admin/settings.js:1
     404msgid "Enter domain …"
     405msgstr ""
     406
     407#: assets/admin/settings.js:1
     408msgid "Enter your custom domain name if you are using a custom server side GTM container for tracking."
     409msgstr ""
     410
     411#: assets/admin/settings.js:1
     412msgid "sGTM container identifier:"
     413msgstr ""
     414
     415#: assets/admin/settings.js:1
     416msgid "Enter loader name …"
     417msgstr ""
     418
     419#: assets/admin/settings.js:1
     420msgid "Only use if you are using a custom loader."
     421msgstr ""
     422
     423#: assets/admin/settings.js:1
     424msgid "Cookie Keeper (for Stape users only)"
     425msgstr ""
     426
     427#: assets/admin/settings.js:1
     428msgid "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."
     429msgstr ""
     430
     431#: assets/admin/settings.js:1
     432msgid "Google Tag Manager Server-side Tagging"
     433msgstr ""
     434
     435#: assets/admin/settings.js:1
     436msgid "Learn more"
     437msgstr ""
     438
     439#: assets/admin/settings.js:1
     440msgid "Hosting server-side GTM containers"
     441msgstr ""
     442
     443#: assets/admin/settings.js:1
     444msgid "Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution."
     445msgstr ""
     446
     447#: assets/admin/settings.js:1
     448msgid "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."
     449msgstr ""
     450
     451#: assets/admin/settings.js:1
     452msgid "Additionally, it provides valuable add-ons for enhanced functionality."
     453msgstr ""
     454
     455#: assets/admin/settings.js:1
     456msgid "Learn more about Stape.io"
     457msgstr ""
     458
     459#: assets/admin/settings.js:1
     460msgid "Google Tag Manager Environment"
     461msgstr ""
     462
     463#: assets/admin/settings.js:1
     464msgid "gtm_auth:"
     465msgstr ""
     466
     467#: assets/admin/settings.js:1
     468msgid "Enter gtm_auth code"
     469msgstr ""
     470
     471#: assets/admin/settings.js:1
     472msgid "Enter your gtm_auth code your GTM environment."
     473msgstr ""
     474
     475#: assets/admin/settings.js:1
     476msgid "gtm_preview:"
     477msgstr ""
     478
     479#: assets/admin/settings.js:1
     480msgid "Enter gtm_preview code"
     481msgstr ""
     482
     483#: assets/admin/settings.js:1
     484msgid "Enter your gtm_preview code your GTM environment."
     485msgstr ""
     486
     487#: assets/admin/settings.js:1
     488msgid "Environments"
     489msgstr ""
     490
     491#: assets/admin/settings.js:1
     492msgid "In Google Tag Manager you can define different environments like Live, Dev and QA."
     493msgstr ""
     494
     495#: assets/admin/settings.js:1
     496msgid "To use a specific environment in GTM Kit you must enter the \"gtm_auth\" and \"gtm_preview\" codes for that environment."
     497msgstr ""
     498
     499#: assets/admin/settings.js:1
     500msgid "If left empty the default environment will be used."
     501msgstr ""
     502
     503#: assets/admin/settings.js:1
     504msgid "Override settings in wp-config.php"
     505msgstr ""
     506
     507#: assets/admin/settings.js:1
     508msgid "You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments."
     509msgstr ""
     510
     511#: assets/admin/settings.js:1
     512msgid "Container Code Implementation"
     513msgstr ""
     514
     515#: assets/admin/settings.js:1
     516msgid "Container code implementation:"
     517msgstr ""
     518
     519#: assets/admin/settings.js:1
     520msgid "Standard implementation as recommended by Google (no delay)"
     521msgstr ""
     522
     523#: assets/admin/settings.js:1
     524msgid "Load container when browser is idle (requestIdleCallback)"
     525msgstr ""
     526
     527#: assets/admin/settings.js:1
     528msgid "Depending on how you use Google Tag Manager you can delay the loading of the container script until the browser is idle."
     529msgstr ""
     530
     531#: assets/admin/settings.js:1
     532msgid "Container code noscript implementation:"
     533msgstr ""
     534
     535#: assets/admin/settings.js:1
     536msgid "Just after the opening <body> tag"
     537msgstr ""
     538
     539#: assets/admin/settings.js:1
     540msgid "Footer of the page (not recommended by Google)"
     541msgstr ""
     542
     543#: assets/admin/settings.js:1
     544msgid "Custom (insert function in your template)"
     545msgstr ""
     546
     547#: assets/admin/settings.js:1
     548msgid "Disable <noscript> implementation"
     549msgstr ""
     550
     551#: assets/admin/settings.js:1
     552msgid "The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the \"body_open\" hook. If your theme does not support this the script can be injected in the footer or you can use the function below."
     553msgstr ""
     554
     555#: assets/admin/settings.js:1
     556msgid "Post Data"
     557msgstr ""
     558
     559#: assets/admin/settings.js:1
     560msgid "Post Data Settings"
     561msgstr ""
     562
     563#: assets/admin/settings.js:1
     564msgid "Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager."
     565msgstr ""
     566
     567#: assets/admin/settings.js:1
     568msgid "Post type"
     569msgstr ""
     570
     571#: assets/admin/settings.js:1
     572msgid "Include the type of the current post or archive page."
     573msgstr ""
     574
     575#: assets/admin/settings.js:1
     576msgid "Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. \"campaign\"."
     577msgstr ""
     578
     579#: assets/admin/settings.js:1
     580msgid "Categories"
     581msgstr ""
     582
     583#: assets/admin/settings.js:1
     584msgid "Include the categories of the current post or archive page."
     585msgstr ""
     586
     587#: assets/admin/settings.js:1
     588msgid "Tags"
     589msgstr ""
     590
     591#: assets/admin/settings.js:1
     592msgid "Include the tags of the current post or archive page."
     593msgstr ""
     594
     595#: assets/admin/settings.js:1
     596msgid "Post title"
     597msgstr ""
     598
     599#: assets/admin/settings.js:1
     600msgid "Include the Post ID of the current post."
     601msgstr ""
     602
     603#: assets/admin/settings.js:1
     604msgid "Post ID"
     605msgstr ""
     606
     607#: assets/admin/settings.js:1
     608msgid "Post data"
     609msgstr ""
     610
     611#: assets/admin/settings.js:1
     612msgid "Include the post date."
     613msgstr ""
     614
     615#: assets/admin/settings.js:1
     616msgid "Post author name"
     617msgstr ""
     618
     619#: assets/admin/settings.js:1
     620msgid "Include the post author name."
     621msgstr ""
     622
     623#: assets/admin/settings.js:1
     624msgid "Post author ID"
     625msgstr ""
     626
     627#: assets/admin/settings.js:1
     628msgid "Include the post author ID."
     629msgstr ""
     630
     631#: assets/admin/settings.js:1
     632msgid "User Data"
     633msgstr ""
     634
     635#: assets/admin/settings.js:1
     636msgid "Warning!"
     637msgstr ""
     638
     639#: assets/admin/settings.js:1
     640msgid "Including user data is not compatible with full page caching."
     641msgstr ""
     642
     643#: assets/admin/settings.js:1
     644msgid "Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users."
     645msgstr ""
     646
     647#: assets/admin/settings.js:1
     648msgid "User Data Settings"
     649msgstr ""
     650
     651#: assets/admin/settings.js:1
     652msgid "Logged in"
     653msgstr ""
     654
     655#: assets/admin/settings.js:1
     656msgid "Include whether the user is logged in."
     657msgstr ""
     658
     659#: assets/admin/settings.js:1
     660msgid "User ID"
     661msgstr ""
     662
     663#: assets/admin/settings.js:1
     664msgid "Include the user ID if the user is logged in."
     665msgstr ""
     666
     667#: assets/admin/settings.js:1
     668msgid "User role"
     669msgstr ""
     670
     671#: assets/admin/settings.js:1
     672msgid "Include the user role if the user is logged in."
     673msgstr ""
     674
     675#: assets/admin/settings.js:1
     676msgid "Google Consent Mode"
     677msgstr ""
     678
     679#: assets/admin/settings.js:1
     680msgid "Google Consent Mode Activation"
     681msgstr ""
     682
     683#: assets/admin/settings.js:1
     684msgid "Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors."
     685msgstr ""
     686
     687#: assets/admin/settings.js:1
     688msgid "You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode."
     689msgstr ""
     690
     691#: assets/admin/settings.js:1
     692msgid "GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent."
     693msgstr ""
     694
     695#: assets/admin/settings.js:1
     696msgid "See an example of how consent is updated"
     697msgstr ""
     698
     699#: assets/admin/settings.js:1
     700msgid "Activate GCM settings"
     701msgstr ""
     702
     703#: assets/admin/settings.js:1
     704msgid "Choose this option if you would like to activate the default settings below"
     705msgstr ""
     706
     707#: assets/admin/settings.js:1
     708msgid "Google Consent Mode Default Settings"
     709msgstr ""
     710
     711#: assets/admin/settings.js:1
     712msgid "Ad Personalization"
     713msgstr ""
     714
     715#: assets/admin/settings.js:1
     716msgid "Enables personalized advertising"
     717msgstr ""
     718
     719#: assets/admin/settings.js:1
     720msgid "Ad Storage"
     721msgstr ""
     722
     723#: assets/admin/settings.js:1
     724msgid "Enables storage, such as cookies, related to advertising"
     725msgstr ""
     726
     727#: assets/admin/settings.js:1
     728msgid "Ad User Data"
     729msgstr ""
     730
     731#: assets/admin/settings.js:1
     732msgid "Enables sending user data related to advertising to Google"
     733msgstr ""
     734
     735#: assets/admin/settings.js:1
     736msgid "Analytics Storage"
     737msgstr ""
     738
     739#: assets/admin/settings.js:1
     740msgid "Enables storage, such as cookies, related to analytics (for example, visit duration)"
     741msgstr ""
     742
     743#: assets/admin/settings.js:1
     744msgid "Functionality Storage"
     745msgstr ""
     746
     747#: assets/admin/settings.js:1
     748msgid "Enables storage that supports the functionality of the website or app such as language settings"
     749msgstr ""
     750
     751#: assets/admin/settings.js:1
     752msgid "Personalization Storage"
     753msgstr ""
     754
     755#: assets/admin/settings.js:1
     756msgid "Enables storage related to personalization such as video recommendations"
     757msgstr ""
     758
     759#: assets/admin/settings.js:1
     760msgid "Security Storage"
     761msgstr ""
     762
     763#: assets/admin/settings.js:1
     764msgid "Enables storage related to security such as authentication functionality, fraud prevention, and other user protection"
     765msgstr ""
     766
     767#: assets/admin/settings.js:1
     768#: assets/admin/wizard.js:1
     769msgid "GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations."
     770msgstr ""
     771
     772#: assets/admin/settings.js:1
     773#: assets/admin/wizard.js:1
     774msgid "You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:"
     775msgstr ""
     776
     777#: assets/admin/settings.js:1
     778msgid "Misc"
     779msgstr ""
     780
     781#: assets/admin/settings.js:1
     782msgid "GTM Kit will never transmit any domain names or container ID's."
     783msgstr ""
     784
     785#: assets/admin/settings.js:1
     786msgid "I agree to share anonymous data with the development team to help improve GTM Kit."
     787msgstr ""
     788
     789#: assets/admin/settings.js:1
     790msgid "Logging and debugging"
     791msgstr ""
     792
     793#: assets/admin/settings.js:1
     794msgid "Console log"
     795msgstr ""
     796
     797#: assets/admin/settings.js:1
     798msgid "Log helpful messages and warnings to the browser log."
     799msgstr ""
     800
     801#: assets/admin/settings.js:1
     802msgid "%s is not active"
     803msgstr ""
     804
     805#: assets/admin/settings.js:1
     806msgid "If you haven't installed and activated %s you must do that."
     807msgstr ""
     808
     809#: assets/admin/settings.js:1
     810msgid "Install %s"
     811msgstr ""
     812
     813#: assets/admin/settings.js:1
    261814msgid "(not set)"
    262815msgstr ""
    263816
    264 #: assets/admin/settings.js:4626
    265 #: assets/admin/settings.js:4492
     817#: assets/admin/settings.js:1
    266818msgid "%s Integration"
    267819msgstr ""
    268820
    269 #: assets/admin/settings.js:4628
    270 #: assets/admin/settings.js:4498
     821#: assets/admin/settings.js:1
    271822msgid "Track %s"
    272823msgstr ""
    273824
    274 #: assets/admin/settings.js:4629
    275 #: assets/admin/settings.js:4500
     825#: assets/admin/settings.js:1
    276826msgid "Activate the %s integration"
    277827msgstr ""
    278828
    279 #: assets/admin/settings.js:4689
    280 #: assets/admin/settings.js:4563
    281 msgid "Read article"
    282 msgstr ""
    283 
    284 #: assets/admin/settings.js:4878
    285 #: assets/admin/settings.js:4735
    286 msgid "%s is not active"
    287 msgstr ""
    288 
    289 #: assets/admin/settings.js:4882
    290 #: assets/admin/settings.js:4743
    291 msgid "If you haven't installed and activated %s you must do that."
    292 msgstr ""
    293 
    294 #: assets/admin/settings.js:4888
    295 #: assets/admin/settings.js:4758
    296 msgid "Install %s"
    297 msgstr ""
    298 
    299 #: assets/admin/settings.js:5110
    300 #: assets/admin/wizard.js:4887
    301 #: assets/admin/settings.js:4944
    302 #: assets/admin/wizard.js:4965
    303 msgid "GTM Kit is used together with a wide variety of server configurations and plugins. It is very helpful for us to know what some of these configurations are so we can test the most common configurations."
    304 msgstr ""
    305 
    306 #: assets/admin/settings.js:5112
    307 #: assets/admin/wizard.js:4889
    308 #: assets/admin/settings.js:4950
    309 #: assets/admin/wizard.js:4971
    310 msgid "You can help by sharing anonymous data with us. Below is a detailed view of all data GTM Kit will collect if granted permission:"
    311 msgstr ""
    312 
    313 #: assets/admin/settings.js:5168
    314 #: assets/admin/settings.js:4997
     829#: assets/admin/settings.js:1
     830msgid "Retail"
     831msgstr ""
     832
     833#: assets/admin/settings.js:1
     834msgid "Education"
     835msgstr ""
     836
     837#: assets/admin/settings.js:1
     838msgid "Flights"
     839msgstr ""
     840
     841#: assets/admin/settings.js:1
     842msgid "Hotel rental"
     843msgstr ""
     844
     845#: assets/admin/settings.js:1
     846msgid "Jobs"
     847msgstr ""
     848
     849#: assets/admin/settings.js:1
     850msgid "Local deals"
     851msgstr ""
     852
     853#: assets/admin/settings.js:1
     854msgid "Real estate"
     855msgstr ""
     856
     857#: assets/admin/settings.js:1
     858msgid "Travel"
     859msgstr ""
     860
     861#: assets/admin/settings.js:1
     862msgid "Custom"
     863msgstr ""
     864
     865#: assets/admin/settings.js:1
     866msgid "WooCommerce"
     867msgstr ""
     868
     869#: assets/admin/settings.js:1
     870msgid "Basic settings"
     871msgstr ""
     872
     873#: assets/admin/settings.js:1
     874msgid "Brand"
     875msgstr ""
     876
     877#: assets/admin/settings.js:1
     878msgid "Select the taxonomy that is used for product brands"
     879msgstr ""
     880
     881#: assets/admin/settings.js:1
     882msgid "Use SKU instead of ID"
     883msgstr ""
     884
     885#: assets/admin/settings.js:1
     886msgid "Use SKU instead of the product ID with fallback to ID if no SKU is set."
     887msgstr ""
     888
     889#: assets/admin/settings.js:1
     890msgid "Exclude tax"
     891msgstr ""
     892
     893#: assets/admin/settings.js:1
     894msgid "Exclude tax from prices and revenue"
     895msgstr ""
     896
     897#: assets/admin/settings.js:1
     898msgid "Exclude shipping from revenue"
     899msgstr ""
     900
     901#: assets/admin/settings.js:1
     902msgid "Include customer data"
     903msgstr ""
     904
     905#: assets/admin/settings.js:1
     906msgid "Enable this option to include customer data in the data layer on the \"purchase\" event."
     907msgstr ""
     908
     909#: assets/admin/settings.js:1
     910msgid "Event customization"
     911msgstr ""
     912
     913#: assets/admin/settings.js:1
     914msgid "Push view_item_list when the list is updated using a product filter."
     915msgstr ""
     916
     917#: assets/admin/settings.js:1
     918msgid "Only only push view_item_list once per per page for each list."
     919msgstr ""
     920
     921#: assets/admin/settings.js:1
     922msgid "Do you what to push the view_item_list event if the list is updated using a filter or just once per page view."
     923msgstr ""
     924
     925#: assets/admin/settings.js:1
     926msgid "Only push view_item on the master product"
     927msgstr ""
     928
     929#: assets/admin/settings.js:1
     930msgid "Push view_item on master and variation products (higher number of views)."
     931msgstr ""
     932
     933#: assets/admin/settings.js:1
     934msgid "Only push view_item on variation products."
     935msgstr ""
     936
     937#: assets/admin/settings.js:1
     938msgid "When do you want to fire the \"view_item\" event on variable products?"
     939msgstr ""
     940
     941#: assets/admin/settings.js:1
     942msgid "When the 'Place order' button is clicked"
     943msgstr ""
     944
     945#: assets/admin/settings.js:1
     946msgid "When a shipment method is selected with fallback to the 'Place order' button."
     947msgstr ""
     948
     949#: assets/admin/settings.js:1
     950msgid "Disable the 'add_shipment_info' event."
     951msgstr ""
     952
     953#: assets/admin/settings.js:1
     954msgid "When do you want to fire the \"add_shipment_info\" event?"
     955msgstr ""
     956
     957#: assets/admin/settings.js:1
     958msgid "When a payment method is selected with fallback to the 'Place order' button."
     959msgstr ""
     960
     961#: assets/admin/settings.js:1
     962msgid "Disable the 'add_payment_info' event."
     963msgstr ""
     964
     965#: assets/admin/settings.js:1
     966msgid "When do you want to fire the \"add_payment_info\" event?"
     967msgstr ""
     968
     969#: assets/admin/settings.js:1
     970msgid "Google Ads Settings"
     971msgstr ""
     972
     973#: assets/admin/settings.js:1
     974msgid "Google Business Vertical"
     975msgstr ""
     976
     977#: assets/admin/settings.js:1
     978msgid "In order to use Google Ads Remarketing you must select your business type (vertical)."
     979msgstr ""
     980
     981#: assets/admin/settings.js:1
     982msgid "Product ID prefix"
     983msgstr ""
     984
     985#: assets/admin/settings.js:1
     986msgid "Enter prefix …"
     987msgstr ""
     988
     989#: assets/admin/settings.js:1
     990msgid "If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer."
     991msgstr ""
     992
     993#: assets/admin/settings.js:1
     994msgid "Advanced settings"
     995msgstr ""
     996
     997#: assets/admin/settings.js:1
     998msgid "Dequeue the default JavaScript"
     999msgstr ""
     1000
     1001#: assets/admin/settings.js:1
     1002msgid "Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript."
     1003msgstr ""
     1004
     1005#: assets/admin/settings.js:1
     1006msgid "Include permalink structure"
     1007msgstr ""
     1008
     1009#: assets/admin/settings.js:1
     1010msgid "Enable this option to include the permalink structure of the product base, category base, tag base and attribute base."
     1011msgstr ""
     1012
     1013#: assets/admin/settings.js:1
     1014msgid "Include path of pages"
     1015msgstr ""
     1016
     1017#: assets/admin/settings.js:1
     1018msgid "Enable this option to include the path of cart, checkout, order received and my account page."
     1019msgstr ""
     1020
     1021#: assets/admin/settings.js:1
    3151022msgid "Contact Form 7"
    3161023msgstr ""
    3171024
    318 #: assets/admin/settings.js:5177
    319 #: assets/admin/settings.js:5423
    320 #: assets/admin/settings.js:5012
    321 #: assets/admin/settings.js:5467
     1025#: assets/admin/settings.js:1
    3221026msgid "Basic Settings"
    3231027msgstr ""
    3241028
    325 #: assets/admin/settings.js:5179
    326 #: assets/admin/settings.js:5016
     1029#: assets/admin/settings.js:1
    3271030msgid "Load JavaScript"
    3281031msgstr ""
    3291032
    330 #: assets/admin/settings.js:5181
    331 #: assets/admin/settings.js:5019
     1033#: assets/admin/settings.js:1
    3321034msgid "Only on pages where where the Contact Form 7 script is registered (recommended)."
    3331035msgstr ""
    3341036
    335 #: assets/admin/settings.js:5184
    336 #: assets/admin/settings.js:5026
     1037#: assets/admin/settings.js:1
    3371038msgid "On all pages"
    3381039msgstr ""
    3391040
    340 #: assets/admin/settings.js:5187
    341 #: assets/admin/settings.js:5030
     1041#: assets/admin/settings.js:1
    3421042msgid "Where do you want load the JavaScript?"
    3431043msgstr ""
    3441044
    345 #: assets/admin/settings.js:5234
    346 #: assets/admin/settings.js:5069
    347 msgid "Google Tag Manager container"
    348 msgstr ""
    349 
    350 #: assets/admin/settings.js:5235
    351 #: assets/admin/settings.js:5074
    352 msgid "General Container Settings"
    353 msgstr ""
    354 
    355 #: assets/admin/settings.js:5238
    356 #: assets/admin/wizard.js:5011
    357 #: assets/admin/settings.js:5078
    358 #: assets/admin/wizard.js:5131
    359 msgid "To start collecting data with Google Tag manager you must register the Container ID of your Google Tag Manager container."
    360 msgstr ""
    361 
    362 #: assets/admin/settings.js:5239
    363 #: assets/admin/settings.js:5085
    364 msgid "GTM Container ID:"
    365 msgstr ""
    366 
    367 #: assets/admin/settings.js:5241
    368 #: assets/admin/settings.js:5087
    369 msgid "Enter GTM Container ID"
    370 msgstr ""
    371 
    372 #: assets/admin/settings.js:5243
    373 #: assets/admin/settings.js:5094
    374 msgid "Inject Container Code"
    375 msgstr ""
    376 
    377 #: assets/admin/settings.js:5244
    378 #: assets/admin/settings.js:5095
    379 msgid "Setting this to Off will remove the Google Tag Manager container code but the data layer will remain."
    380 msgstr ""
    381 
    382 #: assets/admin/settings.js:5247
    383 #: assets/admin/settings.js:5103
    384 msgid "Just the container"
    385 msgstr ""
    386 
    387 #: assets/admin/settings.js:5248
    388 #: assets/admin/settings.js:5104
    389 msgid "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."
    390 msgstr ""
    391 
    392 #: assets/admin/settings.js:5251
    393 #: assets/admin/settings.js:5112
    394 msgid "dataLayer variable name:"
    395 msgstr ""
    396 
    397 #: assets/admin/settings.js:5254
    398 #: assets/admin/settings.js:5115
    399 msgid "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."
    400 msgstr ""
    401 
    402 #: assets/admin/settings.js:5256
    403 #: assets/admin/settings.js:5125
    404 msgid "Server-side Tagging (sGTM)"
    405 msgstr ""
    406 
    407 #: assets/admin/settings.js:5260
    408 #: assets/admin/settings.js:5132
    409 msgid "sGTM Container Domain:"
    410 msgstr ""
    411 
    412 #: assets/admin/settings.js:5262
    413 #: assets/admin/settings.js:5134
    414 msgid "Enter domain …"
    415 msgstr ""
    416 
    417 #: assets/admin/settings.js:5263
    418 #: assets/admin/settings.js:5135
    419 msgid "Enter your custom domain name if you are using a custom server side GTM container for tracking."
    420 msgstr ""
    421 
    422 #: assets/admin/settings.js:5265
    423 #: assets/admin/settings.js:5142
    424 msgid "sGTM container identifier:"
    425 msgstr ""
    426 
    427 #: assets/admin/settings.js:5267
    428 #: assets/admin/settings.js:5147
    429 msgid "Enter loader name …"
    430 msgstr ""
    431 
    432 #: assets/admin/settings.js:5268
    433 #: assets/admin/settings.js:5151
    434 msgid "Only use if you are using a custom loader."
    435 msgstr ""
    436 
    437 #: assets/admin/settings.js:5270
    438 #: assets/admin/settings.js:5158
    439 msgid "Cookie Keeper (for Stape users only)"
    440 msgstr ""
    441 
    442 #: assets/admin/settings.js:5271
    443 #: assets/admin/settings.js:5162
    444 msgid "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."
    445 msgstr ""
    446 
    447 #: assets/admin/settings.js:5280
    448 #: assets/admin/settings.js:5181
    449 msgid "Google Tag Manager Server-side Tagging"
    450 msgstr ""
    451 
    452 #: assets/admin/settings.js:5282
    453 #: assets/admin/settings.js:5544
    454 #: assets/admin/settings.js:5187
    455 #: assets/admin/settings.js:5654
    456 msgid "Server-side tagging is a silver bullet that gives you improved data accuracy, performance, privacy, and flexibility."
    457 msgstr ""
    458 
    459 #: assets/admin/settings.js:5287
    460 #: assets/admin/settings.js:5331
    461 #: assets/admin/settings.js:5198
    462 msgid "Learn more"
    463 msgstr ""
    464 
    465 #: assets/admin/settings.js:5289
    466 #: assets/admin/settings.js:5206
    467 msgid "Hosting server-side GTM containers"
    468 msgstr ""
    469 
    470 #: assets/admin/settings.js:5291
    471 #: assets/admin/settings.js:5212
    472 msgid "Setting up server-side tracking can be challenging and costly but there is an easy and cheap solution."
    473 msgstr ""
    474 
    475 #: assets/admin/settings.js:5293
    476 #: assets/admin/settings.js:5218
    477 msgid "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."
    478 msgstr ""
    479 
    480 #: assets/admin/settings.js:5293
    481 #: assets/admin/settings.js:5223
    482 msgid "Additionally, it provides valuable add-ons for enhanced functionality."
    483 msgstr ""
    484 
    485 #: assets/admin/settings.js:5300
    486 #: assets/admin/settings.js:5235
    487 msgid "Learn more about Stape.io"
    488 msgstr ""
    489 
    490 #: assets/admin/settings.js:5301
    491 #: assets/admin/settings.js:5248
    492 msgid "Google Tag Manager Environment"
    493 msgstr ""
    494 
    495 #: assets/admin/settings.js:5305
    496 #: assets/admin/settings.js:5255
    497 msgid "gtm_auth:"
    498 msgstr ""
    499 
    500 #: assets/admin/settings.js:5307
    501 #: assets/admin/settings.js:5257
    502 msgid "Enter gtm_auth code"
    503 msgstr ""
    504 
    505 #: assets/admin/settings.js:5308
    506 #: assets/admin/settings.js:5261
    507 msgid "Enter your gtm_auth code your GTM environment."
    508 msgstr ""
    509 
    510 #: assets/admin/settings.js:5310
    511 #: assets/admin/settings.js:5268
    512 msgid "gtm_preview:"
    513 msgstr ""
    514 
    515 #: assets/admin/settings.js:5312
    516 #: assets/admin/settings.js:5270
    517 msgid "Enter gtm_preview code"
    518 msgstr ""
    519 
    520 #: assets/admin/settings.js:5313
    521 #: assets/admin/settings.js:5274
    522 msgid "Enter your gtm_preview code your GTM environment."
    523 msgstr ""
    524 
    525 #: assets/admin/settings.js:5320
    526 #: assets/admin/settings.js:5291
    527 msgid "Environments"
    528 msgstr ""
    529 
    530 #: assets/admin/settings.js:5322
    531 #: assets/admin/settings.js:5294
    532 msgid "In Google Tag Manager you can define different environments like Live, Dev and QA."
    533 msgstr ""
    534 
    535 #: assets/admin/settings.js:5322
    536 #: assets/admin/settings.js:5299
    537 msgid "To use a specific environment in GTM Kit you must enter the \"gtm_auth\" and \"gtm_preview\" codes for that environment."
    538 msgstr ""
    539 
    540 #: assets/admin/settings.js:5322
    541 #: assets/admin/settings.js:5304
    542 msgid "If left empty the default environment will be used."
    543 msgstr ""
    544 
    545 #: assets/admin/settings.js:5324
    546 #: assets/admin/settings.js:5314
    547 msgid "Override settings in wp-config.php"
    548 msgstr ""
    549 
    550 #: assets/admin/settings.js:5326
    551 #: assets/admin/settings.js:5320
    552 msgid "You can override the values of using constants in wp-config.php, which is a very useful for setting the value in your development and staging environments."
    553 msgstr ""
    554 
    555 #: assets/admin/settings.js:5332
    556 #: assets/admin/settings.js:5341
    557 msgid "Container Code Implementation"
    558 msgstr ""
    559 
    560 #: assets/admin/settings.js:5334
    561 #: assets/admin/settings.js:5345
    562 msgid "Container code implementation:"
    563 msgstr ""
    564 
    565 #: assets/admin/settings.js:5336
    566 #: assets/admin/settings.js:5351
    567 msgid "Standard implementation as recommended by Google (no delay)"
    568 msgstr ""
    569 
    570 #: assets/admin/settings.js:5339
    571 #: assets/admin/settings.js:5358
    572 msgid "Load container when browser is idle (requestIdleCallback)"
    573 msgstr ""
    574 
    575 #: assets/admin/settings.js:5342
    576 #: assets/admin/settings.js:5365
    577 msgid "Depending on how you use Google Tag Manager you can delay the loading of the container script until the browser is idle."
    578 msgstr ""
    579 
    580 #: assets/admin/settings.js:5345
    581 #: assets/admin/settings.js:5373
    582 msgid "Container code noscript implementation:"
    583 msgstr ""
    584 
    585 #: assets/admin/settings.js:5347
    586 #: assets/admin/settings.js:5379
    587 msgid "Just after the opening <body> tag"
    588 msgstr ""
    589 
    590 #: assets/admin/settings.js:5350
    591 #: assets/admin/settings.js:5386
    592 msgid "Footer of the page (not recommended by Google)"
    593 msgstr ""
    594 
    595 #: assets/admin/settings.js:5353
    596 #: assets/admin/settings.js:5393
    597 msgid "Custom (insert function in your template)"
    598 msgstr ""
    599 
    600 #: assets/admin/settings.js:5356
    601 #: assets/admin/settings.js:5400
    602 msgid "Disable <noscript> implementation"
    603 msgstr ""
    604 
    605 #: assets/admin/settings.js:5359
    606 #: assets/admin/settings.js:5407
    607 msgid "The preferred method to implement the <noscript> container code is just after the opening <body> tag. This requires that your theme uses the \"body_open\" hook. If your theme does not support this the script can be injected in the footer or you can use the function below."
    608 msgstr ""
    609 
    610 #: assets/admin/settings.js:5414
    611 #: assets/admin/settings.js:5452
     1045#: assets/admin/settings.js:1
    6121046msgid "Easy Digital Downloads"
    6131047msgstr ""
    6141048
    615 #: assets/admin/settings.js:5425
    616 #: assets/admin/settings.js:6101
    617 #: assets/admin/settings.js:5471
    618 #: assets/admin/settings.js:6437
    619 msgid "Use SKU instead of ID"
    620 msgstr ""
    621 
    622 #: assets/admin/settings.js:5426
    623 #: assets/admin/settings.js:6102
    624 #: assets/admin/settings.js:5472
    625 #: assets/admin/settings.js:6438
    626 msgid "Use SKU instead of the product ID with fallback to ID if no SKU is set."
    627 msgstr ""
    628 
    629 #: assets/admin/settings.js:5431
    630 #: assets/admin/settings.js:6107
    631 #: assets/admin/settings.js:5482
    632 #: assets/admin/settings.js:6448
    633 msgid "Exclude tax"
    634 msgstr ""
    635 
    636 #: assets/admin/settings.js:5432
    637 #: assets/admin/settings.js:6108
    638 #: assets/admin/settings.js:5483
    639 #: assets/admin/settings.js:6449
    640 msgid "Exclude tax from prices and revenue"
    641 msgstr ""
    642 
    643 #: assets/admin/settings.js:5437
    644 #: assets/admin/settings.js:6119
    645 #: assets/admin/settings.js:5493
    646 #: assets/admin/settings.js:6473
    647 msgid "Include customer data"
    648 msgstr ""
    649 
    650 #: assets/admin/settings.js:5438
    651 #: assets/admin/settings.js:6120
    652 #: assets/admin/settings.js:5494
    653 #: assets/admin/settings.js:6474
    654 msgid "Enable this option to include customer data in the data layer on the \"purchase\" event."
    655 msgstr ""
    656 
    657 #: assets/admin/settings.js:5445
    658 #: assets/admin/settings.js:6192
    659 #: assets/admin/settings.js:5507
    660 #: assets/admin/settings.js:6623
    661 msgid "Google Ads Settings"
    662 msgstr ""
    663 
    664 #: assets/admin/settings.js:5447
    665 #: assets/admin/settings.js:6194
    666 #: assets/admin/settings.js:5511
    667 #: assets/admin/settings.js:6627
    668 msgid "Google Business Vertical"
    669 msgstr ""
    670 
    671 #: assets/admin/settings.js:5451
    672 #: assets/admin/settings.js:6198
    673 #: assets/admin/settings.js:5515
    674 #: assets/admin/settings.js:6631
    675 msgid "In order to use Google Ads Remarketing you must select your business type (vertical)."
    676 msgstr ""
    677 
    678 #: assets/admin/settings.js:5455
    679 #: assets/admin/settings.js:6202
    680 #: assets/admin/settings.js:5524
    681 #: assets/admin/settings.js:6640
    682 msgid "Product ID prefix"
    683 msgstr ""
    684 
    685 #: assets/admin/settings.js:5458
    686 #: assets/admin/settings.js:6205
    687 #: assets/admin/settings.js:5527
    688 #: assets/admin/settings.js:6643
    689 msgid "Enter prefix …"
    690 msgstr ""
    691 
    692 #: assets/admin/settings.js:5459
    693 #: assets/admin/settings.js:6206
    694 #: assets/admin/settings.js:5528
    695 #: assets/admin/settings.js:6644
    696 msgid "If your product feed generator is adding a prefix to the product IDs, you can add the prefix here to include it in the Data Layer."
    697 msgstr ""
    698 
    699 #: assets/admin/settings.js:5464
    700 #: assets/admin/settings.js:6211
    701 #: assets/admin/settings.js:5539
    702 #: assets/admin/settings.js:6655
    703 msgid "Advanced settings"
    704 msgstr ""
    705 
    706 #: assets/admin/settings.js:5466
    707 #: assets/admin/settings.js:6213
    708 #: assets/admin/settings.js:5543
    709 #: assets/admin/settings.js:6659
    710 msgid "Dequeue the default JavaScript"
    711 msgstr ""
    712 
    713 #: assets/admin/settings.js:5467
    714 #: assets/admin/settings.js:6214
    715 #: assets/admin/settings.js:5547
    716 #: assets/admin/settings.js:6663
    717 msgid "Enable this option to dequeue the default JavaScript if you plan to create your own JavaScript."
    718 msgstr ""
    719 
    720 #: assets/admin/settings.js:5519
    721 #: assets/admin/settings.js:5589
    722 msgid "See all tutorials…"
    723 msgstr ""
    724 
    725 #: assets/admin/settings.js:5520
    726 #: assets/admin/settings.js:5591
    727 msgid "See all our tutorial and get the most out of GTM Kit"
    728 msgstr ""
    729 
    730 #: assets/admin/settings.js:5524
    731 #: assets/admin/settings.js:5599
    732 msgid "Read articles"
    733 msgstr ""
    734 
    735 #: assets/admin/settings.js:5537
    736 #: assets/admin/settings.js:5628
    737 msgid "Container ID:"
    738 msgstr ""
    739 
    740 #: assets/admin/settings.js:5537
    741 #: assets/admin/settings.js:5633
    742 msgid "The container is not active but the datalayer is generated."
    743 msgstr ""
    744 
    745 #: assets/admin/settings.js:5539
    746 #: assets/admin/settings.js:5546
    747 #: assets/admin/settings.js:5642
    748 #: assets/admin/settings.js:5662
    749 msgid "Edit container"
    750 msgstr ""
    751 
    752 #: assets/admin/settings.js:5541
    753 #: assets/admin/settings.js:5648
    754 msgid "Server-side GTM"
    755 msgstr ""
    756 
    757 #: assets/admin/settings.js:5548
    758 #: assets/admin/settings.js:5785
    759 #: assets/admin/wizard.js:4885
    760 #: assets/admin/wizard.js:5139
    761 #: assets/admin/settings.js:5668
    762 #: assets/admin/settings.js:5991
    763 #: assets/admin/wizard.js:4962
    764 #: assets/admin/wizard.js:5257
    765 msgid "Help improve GTM Kit"
    766 msgstr ""
    767 
    768 #: assets/admin/settings.js:5551
    769 #: assets/admin/settings.js:5676
    770 msgid "Share anonymous data with the development team to help improve GTM Kit."
    771 msgstr ""
    772 
    773 #: assets/admin/settings.js:5553
    774 #: assets/admin/settings.js:5789
    775 #: assets/admin/wizard.js:4940
    776 #: assets/admin/settings.js:5684
    777 #: assets/admin/settings.js:6004
    778 #: assets/admin/wizard.js:5062
    779 msgid "Share anonymous data"
    780 msgstr ""
    781 
    782 #: assets/admin/settings.js:5555
    783 #: assets/admin/settings.js:5699
    784 #: assets/admin/wizard.js:4816
    785 #: assets/admin/settings.js:5690
    786 #: assets/admin/settings.js:5912
    787 #: assets/admin/wizard.js:4868
    788 msgid "Tutorials"
    789 msgstr ""
    790 
    791 #: assets/admin/settings.js:5599
    792 #: assets/admin/settings.js:6533
    793 #: assets/admin/settings.js:5720
    794 #: assets/admin/settings.js:6945
    795 msgid "Google Consent Mode"
    796 msgstr ""
    797 
    798 #: assets/admin/settings.js:5600
    799 #: assets/admin/settings.js:5725
    800 msgid "Google Consent Mode Activation"
    801 msgstr ""
    802 
    803 #: assets/admin/settings.js:5603
    804 #: assets/admin/settings.js:6008
    805 #: assets/admin/settings.js:5728
    806 #: assets/admin/settings.js:6319
    807 msgid "Warning!"
    808 msgstr ""
    809 
    810 #: assets/admin/settings.js:5605
    811 #: assets/admin/settings.js:5733
    812 msgid "Most Consent Management Platforms will handle the Google Consent Mode settings for you and applying the default settings in both GTM Kit and you CMP will lead to unexpected behaviour or errors."
    813 msgstr ""
    814 
    815 #: assets/admin/settings.js:5605
    816 #: assets/admin/settings.js:5739
    817 msgid "You should only use these settings if you do not have a Consent Management Platform that supports Google Consent Mode."
    818 msgstr ""
    819 
    820 #: assets/admin/settings.js:5607
    821 #: assets/admin/settings.js:5745
    822 msgid "GTM Kit will only set the default Consent Mode settings and you must update the settings yourself when the user has given consent."
    823 msgstr ""
    824 
    825 #: assets/admin/settings.js:5614
    826 #: assets/admin/settings.js:5759
    827 msgid "See an example of how consent is updated"
    828 msgstr ""
    829 
    830 #: assets/admin/settings.js:5615
    831 #: assets/admin/settings.js:5766
    832 msgid "Activate GCM settings"
    833 msgstr ""
    834 
    835 #: assets/admin/settings.js:5616
    836 #: assets/admin/settings.js:5767
    837 msgid "Choose this option if you would like to activate the default settings below"
    838 msgstr ""
    839 
    840 #: assets/admin/settings.js:5621
    841 #: assets/admin/settings.js:5778
    842 msgid "Google Consent Mode Default Settings"
    843 msgstr ""
    844 
    845 #: assets/admin/settings.js:5623
    846 #: assets/admin/settings.js:5785
    847 msgid "Ad Storage"
    848 msgstr ""
    849 
    850 #: assets/admin/settings.js:5624
    851 #: assets/admin/settings.js:5786
    852 msgid "Enables storage, such as cookies, related to advertising"
    853 msgstr ""
    854 
    855 #: assets/admin/settings.js:5628
    856 #: assets/admin/settings.js:5795
    857 msgid "Analytics Storage"
    858 msgstr ""
    859 
    860 #: assets/admin/settings.js:5629
    861 #: assets/admin/settings.js:5796
    862 msgid "Enables storage, such as cookies, related to analytics (for example, visit duration)"
    863 msgstr ""
    864 
    865 #: assets/admin/settings.js:5633
    866 #: assets/admin/settings.js:5805
    867 msgid "Functionality Storage"
    868 msgstr ""
    869 
    870 #: assets/admin/settings.js:5634
    871 #: assets/admin/settings.js:5806
    872 msgid "Enables storage that supports the functionality of the website or app such as language settings"
    873 msgstr ""
    874 
    875 #: assets/admin/settings.js:5638
    876 #: assets/admin/settings.js:5815
    877 msgid "Personalization Storage"
    878 msgstr ""
    879 
    880 #: assets/admin/settings.js:5639
    881 #: assets/admin/settings.js:5816
    882 msgid "Enables storage related to personalization such as video recommendations"
    883 msgstr ""
    884 
    885 #: assets/admin/settings.js:5643
    886 #: assets/admin/settings.js:5825
    887 msgid "Security Storage"
    888 msgstr ""
    889 
    890 #: assets/admin/settings.js:5644
    891 #: assets/admin/settings.js:5826
    892 msgid "Enables storage related to security such as authentication functionality, fraud prevention, and other user protection"
    893 msgstr ""
    894 
    895 #: assets/admin/settings.js:5678
    896 #: assets/admin/wizard.js:4795
    897 #: assets/admin/settings.js:5857
    898 #: assets/admin/wizard.js:4821
     1049#: assets/admin/settings.js:1
     1050#: assets/admin/wizard.js:1
    8991051msgid "Google Tag Manager templates"
    9001052msgstr ""
    9011053
    902 #: assets/admin/settings.js:5681
    903 #: assets/admin/wizard.js:4791
    904 #: assets/admin/settings.js:5861
    905 #: assets/admin/wizard.js:4812
     1054#: assets/admin/settings.js:1
     1055#: assets/admin/wizard.js:1
    9061056msgid "Below you will find GTM container import files, with all the necessary tags, trigger, and variables to use Google Analytics 4."
    9071057msgstr ""
    9081058
    909 #: assets/admin/settings.js:5681
    910 #: assets/admin/wizard.js:4797
    911 #: assets/admin/settings.js:5865
    912 #: assets/admin/wizard.js:4824
     1059#: assets/admin/settings.js:1
     1060#: assets/admin/wizard.js:1
    9131061msgid "Please read the guide on how to use the import files and configure GTM."
    9141062msgstr ""
    9151063
    916 #: assets/admin/settings.js:5684
    917 #: assets/admin/settings.js:5873
     1064#: assets/admin/settings.js:1
    9181065msgid "Read guide"
    9191066msgstr ""
    9201067
    921 #: assets/admin/settings.js:5686
    922 #: assets/admin/settings.js:5877
     1068#: assets/admin/settings.js:1
    9231069msgid "GTM container import files:"
    9241070msgstr ""
    9251071
    926 #: assets/admin/settings.js:5693
    927 #: assets/admin/wizard.js:4808
    928 #: assets/admin/settings.js:5888
    929 #: assets/admin/wizard.js:4845
     1072#: assets/admin/settings.js:1
     1073#: assets/admin/wizard.js:1
    9301074msgid "Google Analytics 4 - Basic Configuration"
    9311075msgstr ""
    9321076
    933 #: assets/admin/settings.js:5698
    934 #: assets/admin/wizard.js:4812
    935 #: assets/admin/settings.js:5901
    936 #: assets/admin/wizard.js:4857
     1077#: assets/admin/settings.js:1
     1078#: assets/admin/wizard.js:1
    9371079msgid "Google Analytics 4 - eCommerce"
    9381080msgstr ""
    9391081
    940 #: assets/admin/settings.js:5784
    941 #: assets/admin/settings.js:6536
    942 #: assets/admin/settings.js:5986
    943 #: assets/admin/settings.js:6949
    944 msgid "Misc"
    945 msgstr ""
    946 
    947 #: assets/admin/settings.js:5788
    948 #: assets/admin/settings.js:5997
    949 msgid "GTM Kit will never transmit any domain names or container ID's."
    950 msgstr ""
    951 
    952 #: assets/admin/settings.js:5790
    953 #: assets/admin/settings.js:6005
    954 msgid "I agree to share anonymous data with the development team to help improve GTM Kit."
    955 msgstr ""
    956 
    957 #: assets/admin/settings.js:5793
    958 #: assets/admin/settings.js:6016
    959 msgid "Logging and debugging"
    960 msgstr ""
    961 
    962 #: assets/admin/settings.js:5795
    963 #: assets/admin/settings.js:6020
    964 msgid "Console log"
    965 msgstr ""
    966 
    967 #: assets/admin/settings.js:5796
    968 #: assets/admin/settings.js:6021
    969 msgid "Log helpful messages and warnings to the browser log."
    970 msgstr ""
    971 
    972 #: assets/admin/settings.js:5828
    973 #: assets/admin/settings.js:6046
    974 msgid "Post Data"
    975 msgstr ""
    976 
    977 #: assets/admin/settings.js:5829
    978 #: assets/admin/settings.js:6051
    979 msgid "Post Data Settings"
    980 msgstr ""
    981 
    982 #: assets/admin/settings.js:5832
    983 #: assets/admin/settings.js:6055
    984 msgid "Specify which post data elements you wish to include in the dataLayer for use in Google Tag Manager."
    985 msgstr ""
    986 
    987 #: assets/admin/settings.js:5833
    988 #: assets/admin/settings.js:6062
    989 msgid "Post type"
    990 msgstr ""
    991 
    992 #: assets/admin/settings.js:5835
    993 #: assets/admin/settings.js:6064
    994 msgid "Include the type of the current post or archive page."
    995 msgstr ""
    996 
    997 #: assets/admin/settings.js:5840
    998 #: assets/admin/settings.js:6074
    999 msgid "Include the defined page type. I.e. post, page, product, category, cart, checkout etc. You may override this on page-level and set you own page type i.e. \"campaign\"."
    1000 msgstr ""
    1001 
    1002 #: assets/admin/settings.js:5843
    1003 #: assets/admin/settings.js:6082
    1004 msgid "Categories"
    1005 msgstr ""
    1006 
    1007 #: assets/admin/settings.js:5845
    1008 #: assets/admin/settings.js:6084
    1009 msgid "Include the categories of the current post or archive page."
    1010 msgstr ""
    1011 
    1012 #: assets/admin/settings.js:5848
    1013 #: assets/admin/settings.js:6092
    1014 msgid "Tags"
    1015 msgstr ""
    1016 
    1017 #: assets/admin/settings.js:5850
    1018 #: assets/admin/settings.js:6094
    1019 msgid "Include the tags of the current post or archive page."
    1020 msgstr ""
    1021 
    1022 #: assets/admin/settings.js:5853
    1023 #: assets/admin/settings.js:6102
    1024 msgid "Post title"
    1025 msgstr ""
    1026 
    1027 #: assets/admin/settings.js:5855
    1028 #: assets/admin/settings.js:5860
    1029 #: assets/admin/settings.js:6104
    1030 #: assets/admin/settings.js:6114
    1031 msgid "Include the Post ID of the current post."
    1032 msgstr ""
    1033 
    1034 #: assets/admin/settings.js:5858
    1035 #: assets/admin/settings.js:6112
    1036 msgid "Post ID"
    1037 msgstr ""
    1038 
    1039 #: assets/admin/settings.js:5863
    1040 #: assets/admin/settings.js:6527
    1041 #: assets/admin/settings.js:6122
    1042 #: assets/admin/settings.js:6937
    1043 msgid "Post data"
    1044 msgstr ""
    1045 
    1046 #: assets/admin/settings.js:5865
    1047 #: assets/admin/settings.js:6124
    1048 msgid "Include the post date."
    1049 msgstr ""
    1050 
    1051 #: assets/admin/settings.js:5868
    1052 #: assets/admin/settings.js:6129
    1053 msgid "Post author name"
    1054 msgstr ""
    1055 
    1056 #: assets/admin/settings.js:5870
    1057 #: assets/admin/settings.js:6131
    1058 msgid "Include the post author name."
    1059 msgstr ""
    1060 
    1061 #: assets/admin/settings.js:5873
    1062 #: assets/admin/settings.js:6139
    1063 msgid "Post author ID"
    1064 msgstr ""
    1065 
    1066 #: assets/admin/settings.js:5875
    1067 #: assets/admin/settings.js:6141
    1068 msgid "Include the post author ID."
    1069 msgstr ""
    1070 
    1071 #: assets/admin/settings.js:5925
    1072 #: assets/admin/settings.js:6170
     1082#: assets/admin/settings.js:1
    10731083msgid "Get support"
    10741084msgstr ""
    10751085
    1076 #: assets/admin/settings.js:5926
    1077 #: assets/admin/settings.js:6175
     1086#: assets/admin/settings.js:1
    10781087msgid "Support options"
    10791088msgstr ""
    10801089
    1081 #: assets/admin/settings.js:5933
    1082 #: assets/admin/settings.js:6185
     1090#: assets/admin/settings.js:1
    10831091msgid "WordPress.org Support Forum"
    10841092msgstr ""
    10851093
    1086 #: assets/admin/settings.js:5937
    1087 #: assets/admin/settings.js:6197
     1094#: assets/admin/settings.js:1
    10881095msgid "GITHub repository"
    10891096msgstr ""
    10901097
    1091 #: assets/admin/settings.js:5941
    1092 #: assets/admin/settings.js:6206
     1098#: assets/admin/settings.js:1
    10931099msgid "Plugin Homepage"
    10941100msgstr ""
    10951101
    1096 #: assets/admin/settings.js:5942
    1097 #: assets/admin/settings.js:6216
     1102#: assets/admin/settings.js:1
    10981103msgid "Share system data with the GTM Kit support team"
    10991104msgstr ""
    11001105
    1101 #: assets/admin/settings.js:5947
    1102 #: assets/admin/settings.js:6226
     1106#: assets/admin/settings.js:1
    11031107msgid "If the GTM Kit support team has asked you to send your system data you can do so by entering the support ticket below:"
    11041108msgstr ""
    11051109
    1106 #: assets/admin/settings.js:5951
    1107 #: assets/admin/settings.js:6234
     1110#: assets/admin/settings.js:1
    11081111msgid "Enter support ticket"
    11091112msgstr ""
    11101113
    1111 #: assets/admin/settings.js:5962
    1112 #: assets/admin/settings.js:6251
     1114#: assets/admin/settings.js:1
    11131115msgid "Send system data"
    11141116msgstr ""
    11151117
    1116 #: assets/admin/settings.js:5963
    1117 #: assets/admin/settings.js:6262
     1118#: assets/admin/settings.js:1
    11181119msgid "About GTM Kit"
    11191120msgstr ""
    11201121
    1121 #: assets/admin/settings.js:5967
    1122 #: assets/admin/settings.js:6266
     1122#: assets/admin/settings.js:1
    11231123msgid "Version:"
    11241124msgstr ""
    11251125
    1126 #: assets/admin/settings.js:5967
    1127 #: assets/admin/settings.js:6272
     1126#: assets/admin/settings.js:1
    11281127msgid "Learn about changes and follow the development of GTM Kit:"
    11291128msgstr ""
    11301129
    1131 #: assets/admin/settings.js:5972
    1132 #: assets/admin/settings.js:6283
     1130#: assets/admin/settings.js:1
    11331131msgid "The changelog"
    11341132msgstr ""
    11351133
    1136 #: assets/admin/settings.js:5977
    1137 #: assets/admin/settings.js:6292
     1134#: assets/admin/settings.js:1
    11381135msgid "The Github repository"
    11391136msgstr ""
    11401137
    1141 #: assets/admin/settings.js:6007
    1142 #: assets/admin/settings.js:6314
    1143 msgid "User Data"
    1144 msgstr ""
    1145 
    1146 #: assets/admin/settings.js:6012
    1147 #: assets/admin/settings.js:6324
    1148 msgid "Including user data is not compatible with full page caching."
    1149 msgstr ""
    1150 
    1151 #: assets/admin/settings.js:6012
    1152 #: assets/admin/settings.js:6330
    1153 msgid "Full page caching will cache user data making it the same for all users. There are ways around this, but it depends on the chosen cache solution and is only for advanced users."
    1154 msgstr ""
    1155 
    1156 #: assets/admin/settings.js:6013
    1157 #: assets/admin/settings.js:6340
    1158 msgid "User Data Settings"
    1159 msgstr ""
    1160 
    1161 #: assets/admin/settings.js:6015
    1162 #: assets/admin/settings.js:6344
    1163 msgid "Logged in"
    1164 msgstr ""
    1165 
    1166 #: assets/admin/settings.js:6017
    1167 #: assets/admin/settings.js:6346
    1168 msgid "Include whether the user is logged in."
    1169 msgstr ""
    1170 
    1171 #: assets/admin/settings.js:6020
    1172 #: assets/admin/settings.js:6354
    1173 msgid "User ID"
    1174 msgstr ""
    1175 
    1176 #: assets/admin/settings.js:6022
    1177 #: assets/admin/settings.js:6356
    1178 msgid "Include the user ID if the user is logged in."
    1179 msgstr ""
    1180 
    1181 #: assets/admin/settings.js:6025
    1182 #: assets/admin/settings.js:6364
    1183 msgid "User role"
    1184 msgstr ""
    1185 
    1186 #: assets/admin/settings.js:6027
    1187 #: assets/admin/settings.js:6366
    1188 msgid "Include the user role if the user is logged in."
    1189 msgstr ""
    1190 
    1191 #: assets/admin/settings.js:6082
    1192 #: assets/admin/settings.js:6405
    1193 msgid "WooCommerce"
    1194 msgstr ""
    1195 
    1196 #: assets/admin/settings.js:6091
    1197 #: assets/admin/settings.js:6420
    1198 msgid "Basic settings"
    1199 msgstr ""
    1200 
    1201 #: assets/admin/settings.js:6093
    1202 #: assets/admin/settings.js:6424
    1203 msgid "Brand"
    1204 msgstr ""
    1205 
    1206 #: assets/admin/settings.js:6097
    1207 #: assets/admin/settings.js:6428
    1208 msgid "Select the taxonomy that is used for product brands"
    1209 msgstr ""
    1210 
    1211 #: assets/admin/settings.js:6113
    1212 #: assets/admin/settings.js:6114
    1213 #: assets/admin/settings.js:6459
    1214 #: assets/admin/settings.js:6463
    1215 msgid "Exclude shipping from revenue"
    1216 msgstr ""
    1217 
    1218 #: assets/admin/settings.js:6127
    1219 #: assets/admin/settings.js:6487
    1220 msgid "Event customization"
    1221 msgstr ""
    1222 
    1223 #: assets/admin/settings.js:6131
    1224 #: assets/admin/settings.js:6494
    1225 msgid "Push view_item_list when the list is updated using a product filter."
    1226 msgstr ""
    1227 
    1228 #: assets/admin/settings.js:6134
    1229 #: assets/admin/settings.js:6501
    1230 msgid "Only only push view_item_list once per per page for each list."
    1231 msgstr ""
    1232 
    1233 #: assets/admin/settings.js:6137
    1234 #: assets/admin/settings.js:6508
    1235 msgid "Do you what to push the view_item_list event if the list is updated using a filter or just once per page view."
    1236 msgstr ""
    1237 
    1238 #: assets/admin/settings.js:6144
    1239 #: assets/admin/settings.js:6521
    1240 msgid "Only push view_item on the master product"
    1241 msgstr ""
    1242 
    1243 #: assets/admin/settings.js:6147
    1244 #: assets/admin/settings.js:6528
    1245 msgid "Push view_item on master and variation products (higher number of views)."
    1246 msgstr ""
    1247 
    1248 #: assets/admin/settings.js:6150
    1249 #: assets/admin/settings.js:6535
    1250 msgid "Only push view_item on variation products."
    1251 msgstr ""
    1252 
    1253 #: assets/admin/settings.js:6153
    1254 #: assets/admin/settings.js:6542
    1255 msgid "When do you want to fire the \"view_item\" event on variable products?"
    1256 msgstr ""
    1257 
    1258 #: assets/admin/settings.js:6160
    1259 #: assets/admin/settings.js:6176
    1260 #: assets/admin/settings.js:6555
    1261 #: assets/admin/settings.js:6589
    1262 msgid "When the 'Place order' button is clicked"
    1263 msgstr ""
    1264 
    1265 #: assets/admin/settings.js:6163
    1266 #: assets/admin/settings.js:6562
    1267 msgid "When a shipment method is selected with fallback to the 'Place order' button."
    1268 msgstr ""
    1269 
    1270 #: assets/admin/settings.js:6166
    1271 #: assets/admin/settings.js:6569
    1272 msgid "Disable the 'add_shipment_info' event."
    1273 msgstr ""
    1274 
    1275 #: assets/admin/settings.js:6169
    1276 #: assets/admin/settings.js:6576
    1277 msgid "When do you want to fire the \"add_shipment_info\" event?"
    1278 msgstr ""
    1279 
    1280 #: assets/admin/settings.js:6179
    1281 #: assets/admin/settings.js:6596
    1282 msgid "When a payment method is selected with fallback to the 'Place order' button."
    1283 msgstr ""
    1284 
    1285 #: assets/admin/settings.js:6182
    1286 #: assets/admin/settings.js:6603
    1287 msgid "Disable the 'add_payment_info' event."
    1288 msgstr ""
    1289 
    1290 #: assets/admin/settings.js:6185
    1291 #: assets/admin/settings.js:6610
    1292 msgid "When do you want to fire the \"add_payment_info\" event?"
    1293 msgstr ""
    1294 
    1295 #: assets/admin/settings.js:6219
    1296 #: assets/admin/settings.js:6673
    1297 msgid "Include permalink structure"
    1298 msgstr ""
    1299 
    1300 #: assets/admin/settings.js:6220
    1301 #: assets/admin/settings.js:6674
    1302 msgid "Enable this option to include the permalink structure of the product base, category base, tag base and attribute base."
    1303 msgstr ""
    1304 
    1305 #: assets/admin/settings.js:6225
    1306 #: assets/admin/settings.js:6684
    1307 msgid "Include path of pages"
    1308 msgstr ""
    1309 
    1310 #: assets/admin/settings.js:6226
    1311 #: assets/admin/settings.js:6685
    1312 msgid "Enable this option to include the path of cart, checkout, order received and my account page."
    1313 msgstr ""
    1314 
    1315 #: assets/admin/settings.js:6416
    1316 #: assets/admin/settings.js:6828
    1317 msgid "Retail"
    1318 msgstr ""
    1319 
    1320 #: assets/admin/settings.js:6419
    1321 #: assets/admin/settings.js:6832
    1322 msgid "Education"
    1323 msgstr ""
    1324 
    1325 #: assets/admin/settings.js:6422
    1326 #: assets/admin/settings.js:6836
    1327 msgid "Flights"
    1328 msgstr ""
    1329 
    1330 #: assets/admin/settings.js:6425
    1331 #: assets/admin/settings.js:6840
    1332 msgid "Hotel rental"
    1333 msgstr ""
    1334 
    1335 #: assets/admin/settings.js:6428
    1336 #: assets/admin/settings.js:6844
    1337 msgid "Jobs"
    1338 msgstr ""
    1339 
    1340 #: assets/admin/settings.js:6431
    1341 #: assets/admin/settings.js:6848
    1342 msgid "Local deals"
    1343 msgstr ""
    1344 
    1345 #: assets/admin/settings.js:6434
    1346 #: assets/admin/settings.js:6852
    1347 msgid "Real estate"
    1348 msgstr ""
    1349 
    1350 #: assets/admin/settings.js:6437
    1351 #: assets/admin/settings.js:6856
    1352 msgid "Travel"
    1353 msgstr ""
    1354 
    1355 #: assets/admin/settings.js:6440
    1356 #: assets/admin/settings.js:6860
    1357 msgid "Custom"
    1358 msgstr ""
    1359 
    1360 #: assets/admin/settings.js:6466
    1361 #: assets/admin/settings.js:6875
    1362 msgid "The #1 open source eCommerce platform built for WordPress"
    1363 msgstr ""
    1364 
    1365 #: assets/admin/settings.js:6471
    1366 #: assets/admin/settings.js:6483
    1367 #: assets/admin/settings.js:6495
    1368 #: assets/admin/settings.js:6884
    1369 #: assets/admin/settings.js:6902
    1370 #: assets/admin/settings.js:6917
    1371 msgid "Setup integration"
    1372 msgstr ""
    1373 
    1374 #: assets/admin/settings.js:6478
    1375 #: assets/admin/settings.js:6893
    1376 msgid "Just another contact form plugin for WordPress. Simple but flexible"
    1377 msgstr ""
    1378 
    1379 #: assets/admin/settings.js:6490
    1380 #: assets/admin/settings.js:6911
    1381 msgid "Easy way to sell Digital Products With WordPress"
    1382 msgstr ""
    1383 
    1384 #: assets/admin/settings.js:6521
    1385 #: assets/admin/settings.js:6929
     1138#: assets/admin/settings.js:1
    13861139msgid "Dashboard"
    13871140msgstr ""
    13881141
    1389 #: assets/admin/settings.js:6524
    1390 #: assets/admin/settings.js:6933
     1142#: assets/admin/settings.js:1
    13911143msgid "Container"
    13921144msgstr ""
    13931145
    1394 #: assets/admin/settings.js:6530
    1395 #: assets/admin/settings.js:6941
     1146#: assets/admin/settings.js:1
    13961147msgid "User data"
    13971148msgstr ""
    13981149
    1399 #: assets/admin/settings.js:6556
    1400 #: assets/admin/settings.js:6979
     1150#: assets/admin/settings.js:1
    14011151msgid "Support"
    14021152msgstr ""
    14031153
    1404 #: assets/admin/settings.js:6588
    1405 #: assets/admin/settings.js:7004
    1406 msgid "How to get the most out of Google Tag Manager with GTM Kit."
    1407 msgstr ""
    1408 
    1409 #: assets/admin/settings.js:6595
    1410 #: assets/admin/settings.js:7016
    1411 msgid "WooCommerce integration"
    1412 msgstr ""
    1413 
    1414 #: assets/admin/settings.js:6596
    1415 #: assets/admin/settings.js:7018
    1416 msgid "Integrate WooCommerce with Google Tag Manager and Google Analytics."
    1417 msgstr ""
    1418 
    1419 #: assets/admin/settings.js:6604
    1420 #: assets/admin/settings.js:7032
    1421 msgid "Integrate Contact Form 7 with Google Tag Manager and Google Analytics."
    1422 msgstr ""
    1423 
    1424 #: assets/admin/settings.js:6612
    1425 #: assets/admin/settings.js:7046
    1426 msgid "Integrate Easy Digital Downloads with Google Tag Manager and Google Analytics."
    1427 msgstr ""
    1428 
    1429 #: assets/admin/settings.js:6620
    1430 #: assets/admin/settings.js:7060
    1431 msgid "Customization of the GTM container implementation and Server Side Tracking."
    1432 msgstr ""
    1433 
    1434 #: assets/admin/settings.js:6628
    1435 #: assets/admin/settings.js:7074
    1436 msgid "One of the things that makes GTM Kit a great tool for developers is the ability to override options in wp-config.php."
    1437 msgstr ""
    1438 
    1439 #: assets/admin/settings.js:6943
    1440 #: assets/admin/settings.js:6955
    1441 #: assets/admin/wizard.js:5451
    1442 #: assets/admin/wizard.js:5463
    1443 #: assets/admin/settings.js:7380
    1444 #: assets/admin/settings.js:7392
    1445 #: assets/admin/wizard.js:5560
    1446 #: assets/admin/wizard.js:5572
    1447 msgid "An error occurred."
    1448 msgstr ""
    1449 
    1450 #: assets/admin/settings.js:6955
    1451 #: assets/admin/wizard.js:5463
    1452 #: assets/admin/settings.js:7392
    1453 #: assets/admin/wizard.js:5572
    1454 msgid "Saved Successfully."
    1455 msgstr ""
    1456 
    1457 #: assets/admin/wizard.js:4469
    1458 #: assets/admin/wizard.js:4656
    1459 #: assets/admin/wizard.js:4384
    1460 #: assets/admin/wizard.js:4604
     1154#: assets/admin/wizard.js:1
     1155msgid "Container ID"
     1156msgstr ""
     1157
     1158#: assets/admin/wizard.js:1
     1159msgid "Enter Container ID"
     1160msgstr ""
     1161
     1162#: assets/admin/wizard.js:1
     1163msgid "Save and continue"
     1164msgstr ""
     1165
     1166#: assets/admin/wizard.js:1
     1167msgid "Find your GTM container ID on"
     1168msgstr ""
     1169
     1170#: assets/admin/wizard.js:1
     1171msgid "It should look something like this:"
     1172msgstr ""
     1173
     1174#: assets/admin/wizard.js:1
     1175msgid "No thanks. I know what I'm doing."
     1176msgstr ""
     1177
     1178#: assets/admin/wizard.js:1
    14611179msgid "Go to the dashboard."
    14621180msgstr ""
    14631181
    1464 #: assets/admin/wizard.js:4551
    1465 #: assets/admin/wizard.js:4447
     1182#: assets/admin/wizard.js:1
    14661183msgid "Would you like to import plugin settings?"
    14671184msgstr ""
    14681185
    1469 #: assets/admin/wizard.js:4553
    1470 #: assets/admin/wizard.js:4453
     1186#: assets/admin/wizard.js:1
    14711187msgid "We have found the configuration of other plugins in the database."
    14721188msgstr ""
    14731189
    1474 #: assets/admin/wizard.js:4553
    1475 #: assets/admin/wizard.js:4458
     1190#: assets/admin/wizard.js:1
    14761191msgid "Would you like to import your settings to GTM Kit?"
    14771192msgstr ""
    14781193
    1479 #: assets/admin/wizard.js:4554
    1480 #: assets/admin/wizard.js:4464
     1194#: assets/admin/wizard.js:1
    14811195msgid "Select the plugin you want to import settings from."
    14821196msgstr ""
    14831197
    1484 #: assets/admin/wizard.js:4621
    1485 #: assets/admin/wizard.js:4534
    1486 msgid "Container ID"
    1487 msgstr ""
    1488 
    1489 #: assets/admin/wizard.js:4622
    1490 #: assets/admin/wizard.js:4535
    1491 msgid "Enter Container ID"
    1492 msgstr ""
    1493 
    1494 #: assets/admin/wizard.js:4638
    1495 #: assets/admin/wizard.js:4761
    1496 #: assets/admin/wizard.js:4960
    1497 #: assets/admin/wizard.js:4566
    1498 #: assets/admin/wizard.js:4785
    1499 #: assets/admin/wizard.js:5097
    1500 msgid "Save and continue"
    1501 msgstr ""
    1502 
    1503 #: assets/admin/wizard.js:4644
    1504 #: assets/admin/wizard.js:4576
    1505 msgid "Find your GTM container ID on"
    1506 msgstr ""
    1507 
    1508 #: assets/admin/wizard.js:4649
    1509 #: assets/admin/wizard.js:4588
    1510 msgid "It should look something like this:"
    1511 msgstr ""
    1512 
    1513 #: assets/admin/wizard.js:4653
    1514 #: assets/admin/wizard.js:4598
    1515 msgid "No thanks. I know what I'm doing."
    1516 msgstr ""
    1517 
    1518 #: assets/admin/wizard.js:4701
    1519 #: assets/admin/wizard.js:5134
    1520 #: assets/admin/wizard.js:4641
    1521 #: assets/admin/wizard.js:5251
     1198#: assets/admin/wizard.js:1
     1199msgid "You've successfully installed GTM Kit!"
     1200msgstr ""
     1201
     1202#: assets/admin/wizard.js:1
    15221203msgid "Essential Settings"
    15231204msgstr ""
    15241205
    1525 #: assets/admin/wizard.js:4705
    1526 #: assets/admin/wizard.js:4646
     1206#: assets/admin/wizard.js:1
    15271207msgid "There are a lot of settings in GTM Kit and we recommend that you uses our recommended settings but you can also choose to use the default settings and go through the settings at your convenience."
    15281208msgstr ""
    15291209
    1530 #: assets/admin/wizard.js:4711
    1531 #: assets/admin/wizard.js:4659
     1210#: assets/admin/wizard.js:1
    15321211msgid "Include the page type i.e. page, product, category, cart, checkout etc in the datalayer?"
    15331212msgstr ""
    15341213
    1535 #: assets/admin/wizard.js:4719
    1536 #: assets/admin/wizard.js:4684
     1214#: assets/admin/wizard.js:1
    15371215msgid "Track WooCommerce"
    15381216msgstr ""
    15391217
    1540 #: assets/admin/wizard.js:4722
    1541 #: assets/admin/wizard.js:4688
     1218#: assets/admin/wizard.js:1
    15421219msgid "Would you like to track e-commerce data from WooCommerce?"
    15431220msgstr ""
    15441221
    1545 #: assets/admin/wizard.js:4730
    1546 #: assets/admin/wizard.js:4715
     1222#: assets/admin/wizard.js:1
    15471223msgid "Track Contact Form 7"
    15481224msgstr ""
    15491225
    1550 #: assets/admin/wizard.js:4733
    1551 #: assets/admin/wizard.js:4719
     1226#: assets/admin/wizard.js:1
    15521227msgid "Would you like to track form submissions from Contact Form 7?"
    15531228msgstr ""
    15541229
    1555 #: assets/admin/wizard.js:4741
    1556 #: assets/admin/wizard.js:4745
     1230#: assets/admin/wizard.js:1
    15571231msgid "Track Easy Digital Downloads"
    15581232msgstr ""
    15591233
    1560 #: assets/admin/wizard.js:4744
    1561 #: assets/admin/wizard.js:4752
     1234#: assets/admin/wizard.js:1
    15621235msgid "Would you like to track e-commerce data from Easy Digital Downloads?"
    15631236msgstr ""
    15641237
    1565 #: assets/admin/wizard.js:4787
    1566 #: assets/admin/wizard.js:4803
     1238#: assets/admin/wizard.js:1
     1239msgid "I agree to share anonymous data with the development team to help improve GTM Kit. "
     1240msgstr ""
     1241
     1242#: assets/admin/wizard.js:1
    15671243msgid "Your are ready to use GTM Kit!"
    15681244msgstr ""
    15691245
    1570 #: assets/admin/wizard.js:4789
    1571 #: assets/admin/wizard.js:4806
     1246#: assets/admin/wizard.js:1
    15721247msgid "Your Google Tag Manager Container is now sending data to Google Tag Manager."
    15731248msgstr ""
    15741249
    1575 #: assets/admin/wizard.js:4802
    1576 #: assets/admin/wizard.js:4835
     1250#: assets/admin/wizard.js:1
    15771251msgid "Read the guide"
    15781252msgstr ""
    15791253
    1580 #: assets/admin/wizard.js:4822
    1581 #: assets/admin/wizard.js:4877
     1254#: assets/admin/wizard.js:1
    15821255msgid "Getting started with GTM Kit"
    15831256msgstr ""
    15841257
    1585 #: assets/admin/wizard.js:4826
    1586 #: assets/admin/wizard.js:4886
     1258#: assets/admin/wizard.js:1
    15871259msgid "WooCommerce Integration"
    15881260msgstr ""
    15891261
    1590 #: assets/admin/wizard.js:4830
    1591 #: assets/admin/wizard.js:4895
     1262#: assets/admin/wizard.js:1
    15921263msgid "Advanced GTM container implementation"
    15931264msgstr ""
    15941265
    1595 #: assets/admin/wizard.js:4834
    1596 #: assets/admin/wizard.js:4907
     1266#: assets/admin/wizard.js:1
    15971267msgid "Settings, actions and filters for developers"
    15981268msgstr ""
    15991269
    1600 #: assets/admin/wizard.js:4842
    1601 #: assets/admin/wizard.js:4925
     1270#: assets/admin/wizard.js:1
    16021271msgid "Go to the dashboard"
    16031272msgstr ""
    16041273
    1605 #: assets/admin/wizard.js:4943
    1606 #: assets/admin/wizard.js:5066
    1607 msgid "I agree to share anonymous data with the development team to help improve GTM Kit. "
    1608 msgstr ""
    1609 
    1610 #: assets/admin/wizard.js:5007
    1611 #: assets/admin/wizard.js:5126
    1612 msgid "You've successfully installed GTM Kit!"
    1613 msgstr ""
    1614 
    1615 #: assets/admin/wizard.js:5129
    1616 #: assets/admin/wizard.js:5245
     1274#: assets/admin/wizard.js:1
    16171275msgid "Welcome"
    16181276msgstr ""
    16191277
    1620 #: assets/admin/wizard.js:5144
    1621 #: assets/admin/wizard.js:5263
     1278#: assets/admin/wizard.js:1
    16221279msgid "Getting Started"
    16231280msgstr ""
  • gtm-kit/trunk/readme.txt

    r3009201 r3016305  
    44Tags: google tag manager, gtm, woocommerce, analytics, ga4, gtag, easy digital downloads
    55Tested up to: 6.4
    6 Stable tag: 1.17.2
     6Stable tag: 1.18
    77License: GPLv3
    88License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    8989== Changelog ==
    9090
     91= 1.18 =
     92
     93Release date: 2024-01-02
     94
     95Find out about what's new in our [our release post](https://gtmkit.com/gtm-kit-1-18/).
     96
     97#### Enhancements:
     98* Add support for Google Consent Mode v2
     99* Added a function to share system data with the GTM Kit support team. If you have registered a support request on WordPress.org and the GTM Kit support team has asked you to send your system data you can now do that in a secure way without posting any private information in the support forum.
     100* Enhanced support for the select_item event in more WordPress themes. This update significantly improves the compatibility of the select_item event handling in themes such as Woodmart.
     101
     102#### Bugfixes:
     103* When adding a product to the cart from a product category page the quantity was not specified in the add_to_cart event.
     104* On Single product pages a click on a quantity control would result in an undefined event.
     105
    91106= 1.17.2 =
    92107
     
    158173* Tested up to WooCommerce 8.3
    159174
    160 = 1.15 =
    161 
    162 Release date: 2023-10-24
    163 
    164 Find out about what's new in our [our release post](https://gtmkit.com/gtm-kit-1-15/).
    165 
    166 #### Enhancements:
    167 
    168 * Added support for the WooCommerce block 'all-products'.
    169 * Added support for Stape.io Cookie Keeper .
    170 * Inline scripts are now registered with the wp_add_inline_script insted of wp_head. This allows easy extension GTM Kit and implementation of a CSP (Content Security Policy).
    171 
    172 #### Bugfixes:
    173 
    174 * The product ID Prefix was not added when a product variation was selected.
    175 * Tax was not added on the total on the add_shipping_info and add_payment_info events.
    176 
    177175= Earlier versions =
    178176For the changelog of earlier versions, please refer to [the changelog on gtmkit.com](https://gtmkit.com/changelog/).
  • gtm-kit/trunk/src/Admin/AdminAPI.php

    r2975488 r3016305  
    9090            ]
    9191        );
     92
     93        $this->util->rest_api_server->register_rest_route(
     94            '/send-support-data',
     95            [
     96                'methods'  => 'POST',
     97                'callback' => [ $this, 'send_support_data' ],
     98            ]
     99        );
    92100    }
    93101
     
    148156        wp_send_json_success( $site_data );
    149157    }
     158
     159    /**
     160     * Send Support Data
     161     *
     162     * @return void
     163     */
     164    public function send_support_data(): void {
     165        $support_ticket = strtoupper( json_decode( file_get_contents( 'php://input' ), true ) );
     166
     167        $match = preg_match( '/FS(\d+)-([A-Z0-9]+)/', $support_ticket, $matches );
     168
     169        if ( $match === 1 ) {
     170
     171            $url = 'https://support.gtmkit.com/api/wporg/support/' . $support_ticket;
     172
     173            $body = [
     174                'system_data' => wp_json_encode( $this->util->get_site_data( $this->options->get_all_raw(), false ) ),
     175            ];
     176            $args = [
     177                'method'    => 'PUT',
     178                'headers'   => [
     179                    'Content-Type' => 'application/json',
     180                ],
     181                'body'      => wp_json_encode( $body ),
     182                'sslverify' => false,
     183            ];
     184
     185            $response = wp_remote_request( $url, $args );
     186
     187            if ( is_wp_error( $response ) ) {
     188                wp_send_json_error( __( 'The support ticket was not found. Please check that you have entered the correct ticket.', 'gtm-kit' ) );
     189            } else {
     190                wp_send_json_success( __( 'Thank you! We have received the data.', 'gtm-kit' ) );
     191            }
     192        } else {
     193            wp_send_json_error( __( 'The support ticket was not found. Please check that you have entered the correct ticket.', 'gtm-kit' ) );
     194        }
     195    }
    150196}
  • gtm-kit/trunk/src/Common/Util.php

    r3004949 r3016305  
    3333     *
    3434     * @param array $options The options.
    35      *
    36      * @return array
    37      */
    38     public function get_site_data( array $options ): array {
     35     * @param bool  $anonymize Anonymize the data.
     36     *
     37     * @return array
     38     */
     39    public function get_site_data( array $options, bool $anonymize = true ): array {
    3940
    4041        global $wp_version;
    4142
    4243        $data = [];
    43         $data = $this->set_site_data( $data, $options, $wp_version );
     44        $data = $this->set_site_data( $data, $options, $wp_version, $anonymize );
    4445
    4546        $plugins = [
     
    5556
    5657        $data['locale'] = explode( '_', get_locale() )[0];
    57         $data           = $this->add_shared_data( $data, $wp_version );
     58        if ( $anonymize ) {
     59            $data = $this->add_shared_data( $data, $wp_version );
     60        } else {
     61            $data['support_data'] = [
     62                'site_url' => site_url(),
     63            ];
     64        }
    5865
    5966        return $data;
     
    6673     * @param array  $options The options.
    6774     * @param string $wp_version The WordPress version.
    68      *
    69      * @return array
    70      */
    71     private function set_site_data( array $data, array $options, string $wp_version ): array {
    72         $data['options']           = $this->anonymize_options( $options );
     75     * @param bool   $anonymize Anonymize the data.
     76     *
     77     * @return array
     78     */
     79    private function set_site_data( array $data, array $options, string $wp_version, bool $anonymize ): array {
     80        $data['options']           = ( $anonymize ) ? $this->anonymize_options( $options ) : $options;
    7381        $data['web_server']        = $this->get_web_server();
    7482        $data['php_version']       = $this->shorten_version( phpversion() );
  • gtm-kit/trunk/src/Frontend/Frontend.php

    r3005657 r3016305  
    8989            function gtag(){<?php echo esc_attr( $this->datalayer_name ); ?>.push(arguments);}
    9090            gtag('consent', 'default', {
     91                'ad_personalization': '<?php echo ( $this->options->get( 'general', 'gcm_ad_personalization' ) ) ? 'granted' : 'denied'; ?>',
    9192                'ad_storage': '<?php echo ( $this->options->get( 'general', 'gcm_ad_storage' ) ) ? 'granted' : 'denied'; ?>',
     93                'ad_user_data': '<?php echo ( $this->options->get( 'general', 'gcm_ad_user_data' ) ) ? 'granted' : 'denied'; ?>',
    9294                'analytics_storage': '<?php echo ( $this->options->get( 'general', 'gcm_analytics_storage' ) ) ? 'granted' : 'denied'; ?>',
    9395                'personalization_storage': '<?php echo ( $this->options->get( 'general', 'gcm_personalization_storage' ) ) ? 'granted' : 'denied'; ?>',
  • gtm-kit/trunk/src/js/woocommerce.js

    r3004949 r3016305  
    113113        );
    114114
     115        itemData.quantity = 1;
     116
    115117        window[datalayerName].push({ ecommerce: null });
    116118        window[datalayerName].push({
     
    149151            } else if ( eventTargetElement.closest( '.add_to_wishlist, .tinvwl_add_to_wishlist_button:not(.tinvwl-product-in-list,.disabled-add-wishlist)' ) ) {
    150152                event = 'add_to_wishlist';
     153            } else {
     154                return true;
    151155            }
    152156        } else {
     
    197201                let productQuantity = document.querySelectorAll(
    198202                    'input[name=quantity\\[' +
    199                         productData.getAttribute('data-gtmkit_product_id') +
    200                         '\\]]'
     203                    productData.getAttribute('data-gtmkit_product_id') +
     204                    '\\]]'
    201205                );
    202206
     
    284288    // select_item event on clicks in product lists
    285289    const productListItemSelector =
    286         '.products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),' +
     290        '.products .product:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),' +
    287291        '.wc-block-grid__products li:not(.product-category) a:not(.add_to_cart_button.ajax_add_to_cart,.add_to_wishlist,.tinvwl_add_to_wishlist_button),' +
    288292        '.woocommerce-grouped-product-list-item__label a:not(.add_to_wishlist,.tinvwl_add_to_wishlist_button)';
     
    341345        const productVariationData = JSON.parse(
    342346            variationsForm.querySelector('[name=gtmkit_product_data]') &&
    343                 variationsForm.querySelector('[name=gtmkit_product_data]').value
     347            variationsForm.querySelector('[name=gtmkit_product_data]').value
    344348        );
    345349
  • gtm-kit/trunk/vendor/composer/installed.php

    r3009201 r3016305  
    44        'pretty_version' => 'dev-main',
    55        'version' => 'dev-main',
    6         'reference' => '5ba394e4f35577f5975f651dc6ab34293e356675',
     6        'reference' => 'f73fd644327e1b226cdf10e71a0b328c199c7336',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-main',
    1515            'version' => 'dev-main',
    16             'reference' => '5ba394e4f35577f5975f651dc6ab34293e356675',
     16            'reference' => 'f73fd644327e1b226cdf10e71a0b328c199c7336',
    1717            'type' => 'wordpress-plugin',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.