capitalconnect

(function(w){ const define = undefined; const require = undefined; !function(e){if(typeof exports===”object”&&typeof module!==”undefined”)module.exports=e();else if(typeof define===”function”&&define.amd)define([],e);else{var t;typeof window!==”undefined”?(t=window):typeof global!==”undefined”?(t=global):typeof self!==”undefined”?(t=self):(t=this);t.__DTCHE=e()}}(function(){return(function(){function e(t,n,r){function o(l,a){if(!n[l]){if(!t[l]){var s=”function”==typeof require&&require;if(!a&&s)return s(l,!0);if(i)return i(l,!0);var u=new Error(“Cannot find module ‘”+l+”‘”);throw u.code=”MODULE_NOT_FOUND”,u}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){var n=t[l][1][e];return o(n||e)},c,c.exports,e,t,n,r)}return n[l].exports}for(var i=”function”==typeof require&&require,l=0;l1?1:s;o=u(s);l=t.startX+(t.x-t.startX)*o;a=t.startY+(t.y-t.startY)*o;t.method.call(t.scrollable,l,a);(l!==t.x||a!==t.y)&&e.requestAnimationFrame(m.bind(e,t))}function y(n,r,l){var a,u,c,d,p=i();n===t.body?(a=e,u=e.scrollX||e.pageXOffset,c=e.scrollY||e.pageYOffset,d=o.scroll):(a=n,u=n.scrollLeft,c=n.scrollTop,d=s);m({scrollable:a,method:d,startTime:p,startX:u,startY:c,x:r,y:l})}e.scroll=e.scrollTo=function(){if(arguments[0]===void 0){return}if(c(arguments[0])===!0){o.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!==’object’?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}y.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)};e.scrollBy=function(){if(arguments[0]===void 0){return}if(c(arguments[0])){o.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!==’object’?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}y.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))};n.prototype.scroll=n.prototype.scrollTo=function(){if(arguments[0]===void 0){return}if(c(arguments[0])===!0){if(typeof arguments[0]===’number’&&arguments[1]===void 0){throw new SyntaxError(‘Value could not be converted’)}o.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!==’object’?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}var e=arguments[0].left,t=arguments[0].top;y.call(this,this,typeof e===’undefined’?this.scrollLeft:~~e,typeof t===’undefined’?this.scrollTop:~~t)};n.prototype.scrollBy=function(){if(arguments[0]===void 0){return}if(c(arguments[0])===!0){o.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})};n.prototype.scrollIntoView=function(){if(c(arguments[0])===!0){o.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}var n=g(this),r=n.getBoundingClientRect(),i=this.getBoundingClientRect();n!==t.body?(y.call(this,n,n.scrollLeft+i.left-r.left,n.scrollTop+i.top-r.top),e.getComputedStyle(n).position!==’fixed’&&e.scrollBy({left:r.left,top:r.top,behavior:’smooth’})):e.scrollBy({left:i.left,top:i.top,behavior:’smooth’})}}typeof n===’object’&&typeof t!==’undefined’?(t.exports={polyfill:e}):e()}()},{}],5:[function(e,t,n){“use strict”;var r=e(“@babel/runtime/helpers/interopRequireDefault”);Object.defineProperty(n,”__esModule”,{value:!0});n.default=void 0;var o=r(e(“@babel/runtime/helpers/asyncToGenerator”)),i=r(e(“@babel/runtime/helpers/defineProperty”)),l=r(e(“geval/event”)),a=e(“../embedded-utils”);let s=(0,l.default)(),u=(0,l.default)(),c=(0,l.default)();class d{get isInIframe(){return window.parent!==window}getIframeTitle(){return”Dutchie Menu”}getScriptId(){return”dutchie–embed__script”}getEmbedContainerId(){return”dutchie–embed__container”}getIframeId(){return”dutchie–embed__iframe”}getSpinnerWrapperId(){return”dutchie–embed__spinner-wrapper”}getSpinnerId(){return”dutchie–embed__spinner”}constructor(e,t={}){(0,i.default)(this,”onAnalyticsGAEvent”,s.listen);(0,i.default)(this,”onAnalyticsGADimensions”,u.listen);(0,i.default)(this,”onAnalyticsDataLayer”,c.listen);this.window=e;this.options=t;this.originalContainerPosition=null;this.featureFlags=t.featureFlags||{};this.featureFlagsReady=!!t.featureFlags;this.embedScriptTag=e.document.getElementById(this.getScriptId());this.isSearchEngineBot=(0,a.isSearchEngineBot)();this.iFrameSEOSetup();this.options.autoGTM&&this.onAnalyticsDataLayer(e=>{let t=(0,a.detectGoogleTagManagerInst)(this.window);if(!t){return}t[e.event](e.payload)});this.window.addEventListener(“beforeunload”,()=>{this.destroy()});this.handleIframeLoad=()=>{let e=this.window.document.getElementById(this.getSpinnerWrapperId());e&&e.classList.remove(“loading”)}}injectStyles(){let e=this.window.document.createElement(“style”);e.type=”text/css”;e.id=”dutchie–embed__styles”;let t=””;this.disableCustomStyles||(t+=this.options.iframeCss||””,t+=this.options.pageCss||””);e.innerHTML=t;this.window.document.head.appendChild(e)}preventExtraDOMNodes(){let e=new MutationObserver(e=>{e.forEach(e=>{if(e.type===”childList”){let e=this.window.document.getElementById(this.getEmbedContainerId());if(!e){return}let t=Array.from(e.childNodes).filter(e=>e!==this.iframe&&e.id!==this.getSpinnerWrapperId());t.forEach(e=>{(0,a.dutchieLogger)(`Removing unauthorized DOM node from ${this.getEmbedContainerId()}`),e.remove()})}})}),t=this.window.document.getElementById(this.getEmbedContainerId());t&&e.observe(t,{childList:!0,subtree:!1});this.containerObserver=e}updateFullScreenCheckout(e,t){if(!this.featureFlags.forceFullWidthCheckoutEnabled||!this.options.enableFullScreenEmbeddedCheckout){return}this.updateContainerPosition(e,t)}updateContainerPosition(e,t){let n=this.window.document.getElementById(this.getEmbedContainerId()),r=this.window.document.getElementById(this.getIframeId()),o=n===null||n===void 0?void 0:n.querySelector(`#${this.getSpinnerWrapperId()}`);if(!n||!r){return}let i=e&&!this.originalContainerPosition||!e&&this.originalContainerPosition;o&&i&&o.classList.add(“loading”);t&&i?(r.src=this.constructIframeUrl(t)):o&&i&&o.classList.remove(“loading”);e?this.moveContainerToBody(n):this.restoreContainerPosition(n)}moveContainerToBody(e){if(this.originalContainerPosition){return}this.originalContainerPosition={previousSibling:e.previousElementSibling,nextSibling:e.nextElementSibling,parent:e.parentElement};this.window.document.body.insertBefore(e,this.window.document.body.firstChild)}restoreContainerPosition(e){if(!this.originalContainerPosition){return}let{previousSibling:t,nextSibling:n,parent:r}=this.originalContainerPosition;n?r.insertBefore(e,n):t?t.after(e):r.appendChild(e);this.originalContainerPosition=null}injectIframe(){let e=this.window.document.createElement(“iframe”);e.className=this.options.iframeClass;e.id=this.getIframeId();e.frameBorder=”0″;e.title=this.getIframeTitle();let t=this.window.document.createElement(“div”);t.id=this.getEmbedContainerId();t.style=”width: 100%; box-sizing: border-box;”;if(this.featureFlags.forceFullWidthCheckoutEnabled&&this.options.enableFullScreenEmbeddedCheckout){let e=this.window.document.createElement(“div”);e.id=this.getSpinnerWrapperId();e.className=””;let n=this.window.document.createElement(“div”);n.id=this.getSpinnerId();n.setAttribute(“role”,”status”);n.setAttribute(“aria-label”,”Loading”);e.appendChild(n);t.appendChild(e)}t.appendChild(e);this.embedScriptTag.insertAdjacentElement(“afterend”,t);e.addEventListener(“load”,this.handleIframeLoad);e.src=this.initialFrameURL();e.allow=”camera;microphone;geolocation;gyroscope;web-share”;let n=”width: 100%; min-width: 100%; border: none;”;try{e.style=n}catch(t){e.style.cssText=n};this.iframe=e;this.featureFlags.forceFullWidthCheckoutEnabled&&this.preventExtraDOMNodes()}iFrameSEOSetup(){var e,t;if(!this.isSearchEngineBot){return}this.window.document.title=””;(e=this.window.document.querySelector(“link[rel=\”canonical\”]”))===null||e===void 0?void 0:e.remove();this.embedScriptTag.setAttribute(“data-ua”,(t=navigator)===null||t===void 0?void 0:t.userAgent)}enableIframeSEO(){if(!this.isSearchEngineBot){return}this.setTimingInterval();this.setFakeRequestInterval()}cleanupIframeSEO(){clearInterval(this.timingInterval);clearInterval(this.fakeRequestInterval)}cleanupContainerObserver(){this.containerObserver&&(this.containerObserver.disconnect(),this.containerObserver=null)}setFeatureFlags(e){this.featureFlags=e||{};this.featureFlagsReady=!0}sendParentUrl(e){let t=e?`${this.window.location.origin}${e}`:this.window.location.href;this.sendPayload({event:”embed:setParentUrl”,url:`${this.window.location.origin}${this.window.location.pathname}`,href:t})}setTimingInterval(){let e=0;this.timingInterval=setInterval(()=>{e+=1,this.embedScriptTag.setAttribute(“data-t”,e),e===20&&clearInterval(this.timingInterval)},1e3)}setFakeRequestInterval(){let e=0;this.fakeRequestInterval=setInterval(()=>{e+=1;try{fetch(“https://seo-utils.dutchie.com/sleep?ms=250”).then(e=>{e.ok||(0,a.dutchieLogger)(e.statusText)})}catch(e){(0,a.dutchieLogger)(e)};e===80&&clearInterval(this.fakeRequestInterval)},250)}setSeoPayloadDebugging(e,t){this.embedScriptTag.setAttribute(“data-existing-title”,t.document.title);this.embedScriptTag.setAttribute(“data-new-title”,e.title);this.embedScriptTag.setAttribute(“data-url”,t.location.href)}handleMessage(e){if(e.event===”analytics:ga_event”){s.broadcast(e.payload);return!0}if(e.event===”analytics:ga_dimensions”){u.broadcast(e.payload);return!0}if(e.event===”analytics:dataLayer”){c.broadcast(e.payload);return!0}if(e.event===”route:changing”){let{url:t}=e===null||e===void 0?void 0:e.payload;if(t){this.window.location.href=t;return!0}}if(e.event===”seobot:elevate”){this.setSeoPayloadDebugging(e.payload,this.window);(0,a.injectIframePayload)(e.payload,this.window,this.iframe);this.cleanupIframeSEO();return!0}if(e.event===”embeddedCarousel:setHeight”){var t;let{carouselId:n,height:r}=e.payload;n===((t=this.options)===null||t===void 0?void 0:t.carouselId)&&(this.iframe.style.height=`${r}px`);return!0}return!1}enableEventListener(){this.window.addEventListener(“message”,e=>{let t=e.message?”message”:”data”,n;if(!e[t]||typeof e[t]!==”string”){return}try{n=JSON.parse(e[t])}catch(n){(0,a.dutchieLogger)(“Could not parse event payload”,e[t]);(0,a.dutchieLogger)(n);return};this.handleMessage(n)},!1)}ensureFeatureFlagsReady(e=5e3){if(this.featureFlagsReady||Object.keys(this.featureFlags).length===0){return Promise.resolve()}let t=new Promise(e=>{let t=()=>{if(this.featureFlagsReady){e();return}setTimeout(t,50)};t()}),n=new Promise(t=>{setTimeout(()=>{(0,a.dutchieLogger)(“DUTCHIE WARN: Feature flags did not become ready within the timeout period. Using default configuration.”);let e={forceFullWidthCheckoutEnabled:!1};Object.keys(e).forEach(t=>{this.featureFlags[t]===void 0&&(this.featureFlags[t]=e[t])});this.featureFlagsReady=!0;t()},e)});return Promise.race([t,n])}sendPayload(e){this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(JSON.stringify(e),”*”)}boot(){var e=this;return(0,o.default)(function*(){if(!e.embedScriptTag){(0,a.dutchieLogger)(`DUTCHIE ERROR: Could not locate ${e.getScriptId()} tag.`);return}e.enableEventListener();e.injectStyles();yield e.ensureFeatureFlagsReady();e.injectIframe()})()}destroy(){this.cleanupContainerObserver();this.iframe&&this.iframe.removeEventListener(“load”,this.handleIframeLoad)}constructIframeUrl(e){if(!e){return this.initialFrameURL()}let t=this.initialFrameURL().split(“?”)[0],n=e.includes(“?”)?e.split(“?”)[1]:””;return`${t}${n?`?${n}`:””}`}}n.default=d},{“../embedded-utils”:6,”@babel/runtime/helpers/asyncToGenerator”:1,”@babel/runtime/helpers/defineProperty”:2,”@babel/runtime/helpers/interopRequireDefault”:3,”geval/event”:15}],6:[function(e,t,n){“use strict”;Object.defineProperty(n,”__esModule”,{value:!0});n.appendQueryParams=a;n.detectGoogleAnalyticsInst=u;n.detectGoogleTagManagerInst=c;n.dutchieLogger=s;n.getBackToTopOffset=l;n.getOffset=r;n.getQueryMap=i;n.getQueryVariable=o;n.injectIframePayload=d;n.isSearchEngineBot=n.isGooglebot=n.isDuckduckgobot=n.isBingbot=void 0;function r(e){let t=0,n=0;while(e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop))t+=e.offsetLeft,n+=e.offsetTop,e=e.offsetParent;return{top:n,left:t}}function o(e){if(typeof URLSearchParams===”function”){let t=new URLSearchParams(window.location.search);if(!t.has(e)){return null}return t.get(e)}let t=window.location.search.substring(1),n=t.split(“&”);for(let t=0;t{let o=t.exec(r);if(!o){return}n[o[1]]=e});return n}let r=window.location.search.substring(1),o=r.split(“&”);for(let e=0;e{var t,n;if((t=(n=e.id).startsWith)===null||t===void 0?void 0:t.call(n,”dutchie–“)){return!1}let r=getComputedStyle(e),o=r.getPropertyValue(“position”);if(o!==”fixed”&&o!==”sticky”){return!1}let i=r.getPropertyValue(“display”);if(i===”none”){return!1}let l=r.getPropertyValue(“visibility”);if(l===”hidden”){return!1}let a=r.getPropertyValue(“opacity”);if(a===”0″){return!1}return!0}).reduce((e,n)=>{let{height:r,top:o}=n.getBoundingClientRect(),i=r+o;if(o<=0&&i<=t){return Math.max(i,e)}return e},0);return Math.max(0,t-n)}function a(e,t,n){let r=e.includes("?")?"&":"?";return`${e}${r}${t}=${encodeURIComponent(n)}`}function s(e){(window.__DUTCHIE_DEBUG||o("dtche[debug]"))&&console.log(`%c ${e}`,"background: url(\"https://dutchie.com/favicon.ico\") no-repeat; color: #000; padding: 3px 0 3px 10px;")}function u(e){let t=["ga","__gaTracker"].find(t=>typeof e[t]===”function”);return e[t]}function c(e){let t=[“dataLayer”].find(t=>typeof e[t]!==”undefined”&&typeof e[t].push===”function”);return e[t]}function d(e,t,n){var r;let o=t.document;if(e.title){let t=o.querySelector(“title”);t.innerHTML=e.title}if(e.description){let t=o.querySelector(“meta[name=\”description\”]”);if(t)t.setAttribute(“content”,e.description);else{let t=o.createElement(“meta”);t.name=”description”;t.content=e.description;o.head.appendChild(t)}}e.head.forEach(e=>{let t=o.createElement(e.tag);t.type=e.type;t.innerHTML=e.content;o.head.appendChild(t)});e.body&&n.insertAdjacentHTML(“afterend”,`
${e.body}
`);let i=o.querySelector(“link[rel=\”canonical\”]”),l=(r=e.canonicalUrl)!==null&&r!==void 0?r:t.location.href;if(i)i.setAttribute(“href”,l);else{let e=o.createElement(“link”);e.setAttribute(“rel”,”canonical”);e.setAttribute(“href”,l);o.head.appendChild(e)}n.remove()}let p=()=>typeof navigator!==”undefined”&&/googlebot/i.test(navigator.userAgent);n.isGooglebot=p;let f=()=>typeof navigator!==”undefined”&&/bingbot/i.test(navigator.userAgent);n.isBingbot=f;let g=()=>typeof navigator!==”undefined”&&/duckduckbot/i.test(navigator.userAgent);n.isDuckduckgobot=g;let m=()=>p()||f()||g();n.isSearchEngineBot=m},{}],7:[function(e,t,n){“use strict”;var r=e(“@babel/runtime/helpers/interopRequireDefault”);Object.defineProperty(n,”__esModule”,{value:!0});n.createBackToTopButton=u;n.createScrollHandler=void 0;n.injectStyles=s;var o=e(“../embedded-utils”),i=e(“./styles”),l=r(e(“./window-context”));let a=(e,t=0)=>{let n=l.default.pageYOffset,r=l.default.pageYOffset,o=!1;return()=>{let i=l.default.pageYOffset,a=i>t+20&&i{r.className=e?”visible”:””},c=a(u,i);s();r.ariaLabel=”Scroll to top”;r.id=”dutchie–back-to-top”;r.innerHTML=”\n \n \n \n “;r.style.backgroundColor=t;l.default.onScroll(c);r.addEventListener(“click”,()=>{l.default.scrollTo({left:0,top:(0,o.getBackToTopOffset)(n),behavior:”smooth”}),r.className=””});return r}},{“../embedded-utils”:6,”./styles”:13,”./window-context”:14,”@babel/runtime/helpers/interopRequireDefault”:3}],8:[function(e,t,n){“use strict”;var r=e(“@babel/runtime/helpers/interopRequireDefault”);Object.defineProperty(n,”__esModule”,{value:!0});n.default=a;n.removeNiceScroll=i;n.runAllCompatibilityFixes=l;var o=r(e(“smoothscroll-polyfill”));o.default.polyfill();function i(){let{jQuery:e}=window;if(typeof e!==”function”||typeof e.fn.getNiceScroll!==”function”){return}e(“#dutchie–embed__iframe”).parents().getNiceScroll().remove()}function l(…e){e.forEach(e=>{try{e()}catch(t){console.warning(“Failed to run compatibility fix:”,e.name),console.warning(t)}})}function a(){l(i)}},{“@babel/runtime/helpers/interopRequireDefault”:3,”smoothscroll-polyfill”:4}],9:[function(e,t,n){“use strict”;Object.defineProperty(n,”__esModule”,{value:!0});n.createFullScreenCheckoutStyles=i;var r=e(“./styles”);let o=”dutchie–fullscreen_checkout_styles”;function i(){var e;(e=document.getElementById(o))===null||e===void 0?void 0:e.remove();let t=document.createElement(“style”);t.id=o;t.innerHTML=r.FullScreenCheckoutStyles;return t}},{“./styles”:13}],10:[function(e,t,n){“use strict”;var r=e(“@babel/runtime/helpers/interopRequireDefault”);Object.defineProperty(n,”__esModule”,{value:!0});n.DutchieEmbedder=void 0;var o=r(e(“@babel/runtime/helpers/asyncToGenerator”)),i=r(e(“@babel/runtime/helpers/defineProperty”)),l=e(“../embedded-utils”),a=e(“./back-to-top”),s=e(“./fullscreen-checkout”),u=e(“./skip-to-menu”),c=e(“./loading-spinner”),d=r(e(“./compatibility-fixes”)),p=r(e(“./window-context”)),f=r(e(“../embed-class”));function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));n.push.apply(n,r)}return n}function m(e){for(var t=1;t{this.sendPayload({event:”embed:setUserDetails”,userDetails:e})});this.options.shouldAutoScroll=!!this.options.autoScroll;this.options.hasAutoScrollOffset=!!parseInt(this.options.autoScrollOffset,10);this.options.shouldUseRouting=!this.options.disableRouting;this.initialState={documentTitle:e.document.title,documentMetaDescription:(n=this.getMetaDescription())===null||n===void 0?void 0:n.content};this.handleIframeLoad=()=>{let e=this.window.document.getElementById(this.getSpinnerWrapperId());e&&e.classList.remove(“loading”);if(this.iframe){let e=Math.max(270,p.default.innerHeight);this.isInIframe&&(this.originalWindowHeight?(e=this.originalWindowHeight):(this.originalWindowHeight=e));let t=(0,l.getOffset)(this.iframe).top,n={width:window.innerWidth,height:e,offsetTop:t,offset:Math.max(0,t-window.pageYOffset),parentOffset:window.pageYOffset-t};this.sendPayload({event:”embed:events:viewport”,viewport:n})}}}registerClickHandlerLogin(e){this.sendPayload({event:”embed:registerClickHandler:login”});this.onClickHandlerLoginClick=()=>e(this.setUserDetails)}getMetaDescription(){let e=this.window.document.querySelector(“meta[name=’description’]”);e||(e=this.window.document.createElement(“meta”),e.name=”description”,e.content=””,this.window.document.head.appendChild(e));return e}setIframeHeight(e=”100vh”,t=!1){Number(e).toString()===e.toString()&&(e=t?e:Math.max(p.default.innerHeight,e));let n=`width: 100%; min-width: 100%; height: ${e}px !important; border: none;`;try{this.iframe.style=n}catch(e){this.iframe.style.cssText=n};this.onSetHeight&&this.onSetHeight(e)}injectBackToTop(){let e=(0,a.createBackToTopButton)(this);this.iframe.insertAdjacentElement(“afterend”,e)}injectSkipToMenu(){let e=(0,u.createSkipToMenuButton)(this);this.window.document.body.prepend(e)}injectCheckoutStyles(){let e=(0,s.createFullScreenCheckoutStyles)();this.window.document.head.appendChild(e)}injectLoadingSpinnerStyles(){let e=(0,c.createLoadingSpinnerStyles)();this.window.document.head.appendChild(e)}initialFrameURL(){let{cName:e,chainLocations:t,urlBase:n,hideTitle:r}=this.options,o=`${n}/embedded-menu/${e}/${t?”locations”:””}`,i={};if((0,l.getQueryVariable)(“dtche”))o=`${this.options.urlBase}/${decodeURIComponent((0,l.getQueryVariable)(“dtche”))}`;else{let e=(0,l.getQueryMap)(“dtche”);t&&(e.location?(o=o.replace(`${this.options.cName}/locations`,e.location),delete e.location):Object.keys(e).length>0&&(o=o.replace(“/locations”,””)));e.poscid&&(e.product=e.poscid,delete e.poscid);e.product?(e.path=`/product/${e.product}`):e.category&&(e.path=`/products/${e.category}`);delete e.product;delete e.category;e.path&&(o.endsWith(“/”)&&e.path.startsWith(“/”)&&(o=o.substr(0,o.length-1)),!o.endsWith(“/”)&&!e.path.startsWith(“/”)&&(o+=”/”),o+=e.path,delete e.path);i=e}let a=new URLSearchParams(i);this.options.menuType&&a.append(“menuType”,this.options.menuType);this.options.viewOnlyMode&&a.append(“viewOnlyMode”,this.options.viewOnlyMode);this.options.searchMethod&&a.append(“searchMethod”,this.options.searchMethod);this.options.chainLocations&&a.append(“chainLocations”,this.options.chainLocations);[“utm_source”,”utm_medium”,”utm_campaign”,”utm_term”,”utm_content”].forEach(e=>{(0,l.getQueryVariable)(e)&&a.append(e,(0,l.getQueryVariable)(e))});if(this.parentGATracker){var s;let e=(s=this.parentGATracker)===null||s===void 0?void 0:s.get(“linkerParam”);if(e)a.append(“_ga”,e.replace(“_ga=”,””));else{var u;let e=(u=this.parentGATracker)===null||u===void 0?void 0:u.get(“clientId”);a.append(“__ga_clientId”,e)}}r&&a.append(“hideTitle”,r);return`${o}?${a.toString()}`}enableScrollListener(){let e=()=>{if(!this.iframe){return}this.scrollTimerId&&clearTimeout(this.scrollTimerId);this.scrollTimerId=setTimeout(()=>{this.isScrolling=!1,this.sendPayload({event:”embed:events:scroll-end”})},110);if(this.isScrolling){return}this.isScrolling=!0;this.sendPayload({event:”embed:events:scroll-start”})};this.window.addEventListener(“scroll”,e)}onChildRouteChanged({fullPath:e,embeddedPath:t,query:n,cName:r}){let o=this.window.location.pathname,i=new URLSearchParams(window.location.search);[…i.keys()].forEach(e=>{e.startsWith(“dtche”)&&i.delete(e)});e?i.append(“dtche”,e):t&&t!==”/”&&i.append(“dtche[path]”,t);n&&Object.keys(n).filter(e=>e!==”menuType”).forEach(e=>{i.append(`dtche[${e}]`,n[e])});this.options.chainLocations&&r&&((!t||t.split(“/”)[0]!==”locations”)&&i.append(“dtche[location]”,r));this.isV3Preview&&i.append(“v3-preview”,!0);this.disableCustomStyles&&(0,l.getQueryVariable)(“disable-custom-styles”)===null&&i.append(“disable-custom-styles”,!0);let a=Array.from(i).length?`${o}?${i.toString()}`:o,s=`${o}${this.window.location.search}`;this.sendParentUrl(a);a!==this.lastDutchiePathChange&&a!==s&&(this.lastDutchiePathChange=a,this.window.history.replaceState({},””,a));a.includes(“checkout”)||a.includes(“pay%2Fsignup”)&&this.featureFlags.forceFullWidthCheckoutEnabled?(this.window.document.body.classList.add(this.getIsFullscreenClass()),this.options.enableFullScreenEmbeddedCheckout&&this.updateFullScreenCheckout(!0,a)):(this.window.document.body.classList.remove(this.getIsFullscreenClass()),this.options.enableFullScreenEmbeddedCheckout&&this.updateFullScreenCheckout(!1,a))}handleMessage(e){if(super.handleMessage(e)){return!0}if(e.event===”route:changed”&&this.options.shouldUseRouting){this.onChildRouteChanged(e.payload);return!0}if(e.event===”product:viewed”){this.window.document.title=`${e.payload.dispensaryName} – ${e.payload.productName}`;this.getMetaDescription().content=`${e.payload.productName}`;return!0}if(e.event===”current-product:description:loaded”){this.getMetaDescription().content=`${e.payload.Description}`;return!0}if(e.event===”product:closed”){this.lastDutchiePathChange=null;this.window.document.title=this.initialState.documentTitle;this.getMetaDescription().content=this.initialState.documentMetaDescription;return!0}if(e.event===”iframe:resize”||e.event===”iframe:resize:override”){let t=e.event===”iframe:resize:override”;this.setIframeHeight(e.payload.height,t);return!0}if(e.event===”iframe:scrollToTop”){if(this.options.disablePageLoadsAtTop&&!e.payload.force){return!0}let t=(0,l.getBackToTopOffset)(this.iframe);if(p.default.scrollY<=t&&!e.payload.force){return!0}p.default.scrollTo({left:0,top:t,behavior:"auto"});return!0}if(e.event==="iframe:goBack"){var t,n;if(e.payload.skipScroll){return!0}p.default.scrollTo({left:0,top:(t=(n=e.payload)===null||n===void 0?void 0:n.y)!==null&&t!==void 0?t:0,behavior:"auto"});return!0}if(e.event==="iframe:ready"){this.onReady(e.payload);return!0}if(e.event==="embed:clickHandler:login"){this.onClickHandlerLoginClick();return!0}return!1}enableHistoryListener(){this.window.onpopstate=()=>{let e;(0,l.getQueryVariable)(“dtche”)?(e=decodeURIComponent((0,l.getQueryVariable)(“dtche”))):(e=this.options.iframeURL);if(e&&e!==this.lastDutchiePathChange){this.lastDutchiePathChange=e;let t={event:”embed:events:route”,path:e};this.sendPayload(t)}}}updateViewport(e){let t=!1;this.previousWidth!==e.width&&(this.previousWidth=e.width,t=!0);this.previousHeight!==e.height&&(this.previousHeight=e.height,t=!0);this.previousOffset!==e.offset&&(this.previousOffset=e.offset,t=!0);this.previousParentOffset!==e.parentOffset&&(this.previousParentOffset=e.parentOffset,t=!0);this.previousOffsetTop!==e.offsetTop&&(this.previousOffsetTop=e.offsetTop,t=!0);t&&this.sendPayload({event:”embed:events:viewport”,viewport:e})}enableViewportListener(){let e=Math.max(270,p.default.innerHeight);this.isInIframe&&(this.originalWindowHeight?(e=this.originalWindowHeight):(this.originalWindowHeight=e));let t=()=>{let t=(0,l.getOffset)(this.iframe).top,n={width:window.innerWidth,height:e,offsetTop:t,offset:Math.max(0,t-window.pageYOffset),parentOffset:window.pageYOffset-t};this.updateViewport(n)};window.addEventListener(“scroll”,t);window.addEventListener(“resize”,t);t()}onReady(e){if(this.isReady){return}this.options=m(m({},this.options),e);this.isReady=!0;this.enableViewportListener();this.enableScrollListener();this.sendParentUrl();this.sendPayload({event:”embed:previewMode”,previewMode:this.options.previewMode});this.sendPayload({event:”embed:ready”});this.injectSkipToMenu(this);this.options.disablePageLoadsAtTop||this.injectBackToTop();this.injectCheckoutStyles();this.options.enableFullScreenEmbeddedCheckout&&this.featureFlags.forceFullWidthCheckoutEnabled&&this.window.document.body.classList.add(this.getFullscreenEnabledClass());this.onClickHandlerLoginClick&&this.sendPayload({event:”embed:registerClickHandler:login”});let t=this.window.document.getElementById(this.getSpinnerWrapperId());t&&t.classList.remove(“loading”)}boot(e={}){var t=this;return(0,o.default)(function*(){if(!t.embedScriptTag){(0,l.dutchieLogger)(`DUTCHIE ERROR: Could not locate ${t.getScriptId()} tag.`);return}((0,l.getQueryVariable)(“disable-custom-styles”)!==null||t.options.previewMode)&&(t.disableCustomStyles=!0);(0,l.getQueryVariable)(“v3-preview”)!==null&&(t.isV3Preview=!0);e.onSetHeight&&(t.onSetHeight=e.onSetHeight);e.featureFlags&&t.setFeatureFlags(e.featureFlags);p.default.setup(e);let n=function(){var e=(0,o.default)(function*(){if(t.didBoot){return}t.didBoot=!0;(0,d.default)();t.injectLoadingSpinnerStyles();t.injectStyles();yield t.ensureFeatureFlagsReady();t.injectIframe();t.enableIframeSEO();t.enableEventListener();t.enableHistoryListener()});return function(){return e.apply(this,arguments)}}(),r=(0,l.detectGoogleAnalyticsInst)(t.window);if(r){let e=window.setTimeout(()=>n(),2500);r(o=>{if(o)t.parentGATracker=o;else{try{var i;t.parentGATracker=(i=r.getAll())===null||i===void 0?void 0:i[0]}catch(e){(0,l.dutchieLogger)(“Could not load any trackers for parent frame.”)}}clearTimeout(e);n()})}else(0,l.dutchieLogger)(“Could not locate a Google Analytics instance.”),n()})()}}n.DutchieEmbedder=y},{“../embed-class”:5,”../embedded-utils”:6,”./back-to-top”:7,”./compatibility-fixes”:8,”./fullscreen-checkout”:9,”./loading-spinner”:11,”./skip-to-menu”:12,”./window-context”:14,”@babel/runtime/helpers/asyncToGenerator”:1,”@babel/runtime/helpers/defineProperty”:2,”@babel/runtime/helpers/interopRequireDefault”:3}],11:[function(e,t,n){“use strict”;Object.defineProperty(n,”__esModule”,{value:!0});n.createLoadingSpinnerStyles=i;var r=e(“./styles”);let o=”dutchie–loading_spinner_styles”;function i(){var e;(e=document.getElementById(o))===null||e===void 0?void 0:e.remove();let t=document.createElement(“style”);t.type=”text/css”;t.id=o;t.innerHTML=r.IframeLoadingSpinnerStyles;return t}},{“./styles”:13}],12:[function(e,t,n){“use strict”;Object.defineProperty(n,”__esModule”,{value:!0});n.createSkipToMenuButton=u;var r=e(“./styles”);let o=”#main-content”,i=”#dutchie–embed__iframe”,l=”dutchie–skip_to_menu_styles”,a=”dutchie–skip-to-menu”,s=”Skip to menu”;function u(){let e=document.createElement(“button”);e.id=a;e.textContent=s;e.ariaLabel=s;e.onclick=c;d();return e}function c(){var e;let t=(e=document.querySelector(i))===null||e===void 0?void 0:e.contentWindow;if(!(t===null||t===void 0?void 0:t.document.querySelector(o))){return}t.focus();t.location.hash=o}function d(){var e;(e=document.getElementById(l))===null||e===void 0?void 0:e.remove();let t=document.createElement(“style”);t.type=”text/css”;t.id=l;t.innerHTML=r.SkipToMenuStyles;document.head.appendChild(t)}},{“./styles”:13}],13:[function(e,t,n){“use strict”;Object.defineProperty(n,”__esModule”,{value:!0});n.SkipToMenuStyles=n.IframeLoadingSpinnerStyles=n.FullScreenCheckoutStyles=n.BackToTopStyles=void 0;n.BackToTopStyles=”\n#dutchie–back-to-top.visible {\n opacity: 1;\n pointer-events: initial;\n cursor: pointer;\n}\n#dutchie–back-to-top:focus-visible {\n opacity: 1;\n pointer-events: initial;\n cursor: pointer;\n}\n#dutchie–back-to-top {\n appearance: none;\n animation : none;\n animation-delay : 0;\n animation-direction : normal;\n animation-duration : 0;\n animation-fill-mode : none;\n animation-iteration-count : 1;\n animation-name : none;\n animation-play-state : running;\n animation-timing-function : ease;\n backface-visibility : visible;\n background-attachment : scroll;\n background-clip : border-box;\n background-color : transparent;\n background-image : none;\n background-origin : padding-box;\n background-position : 0 0;\n background-position-x : 0;\n background-position-y : 0;\n background-repeat : repeat;\n background-size : auto auto;\n border : 0;\n border-style : none;\n border-width : medium;\n border-color : inherit;\n border-bottom : 0;\n border-bottom-color : inherit;\n border-bottom-style : none;\n border-bottom-width : medium;\n border-collapse : separate;\n border-image : none;\n border-left : 0;\n border-left-color : inherit;\n border-left-style : none;\n border-left-width : medium;\n border-right : 0;\n border-right-color : inherit;\n border-right-style : none;\n border-right-width : medium;\n border-spacing : 0;\n border-top : 0;\n border-top-color : inherit;\n border-top-style : none;\n border-top-width : medium;\n box-shadow : none;\n box-sizing : content-box;\n caption-side : top;\n clear : none;\n clip : auto;\n color : inherit;\n columns : auto;\n column-count : auto;\n column-fill : balance;\n column-gap : normal;\n column-rule : medium none currentColor;\n column-rule-color : currentColor;\n column-rule-style : none;\n column-rule-width : none;\n column-span : 1;\n column-width : auto;\n content : normal;\n counter-increment : none;\n counter-reset : none;\n cursor : auto;\n direction : ltr;\n display : inline;\n empty-cells : show;\n float : none;\n font : normal;\n font-family : inherit;\n font-size : medium;\n font-style : normal;\n font-variant : normal;\n font-weight : normal;\n hyphens : none;\n letter-spacing : normal;\n line-height : normal;\n list-style : none;\n list-style-image : none;\n list-style-position : outside;\n list-style-type : disc;\n margin : 0;\n margin-bottom : 0;\n margin-left : 0;\n margin-right : 0;\n margin-top : 0;\n max-height : none;\n max-width : none;\n min-height : 0;\n min-width : 0;\n opacity : 1;\n orphans : 0;\n outline : 0;\n outline-color : invert;\n outline-style : none;\n outline-width : medium;\n overflow : visible;\n overflow-x : visible;\n overflow-y : visible;\n padding-bottom : 0;\n padding-left : 0;\n padding-right : 0;\n padding-top : 0;\n page-break-after : auto;\n page-break-before : auto;\n page-break-inside : auto;\n perspective : none;\n perspective-origin : 50% 50%;\n right : auto;\n tab-size : 8;\n table-layout : auto;\n text-align : inherit;\n text-align-last : auto;\n text-decoration : none;\n text-decoration-color : inherit;\n text-decoration-line : none;\n text-decoration-style : solid;\n text-indent : 0;\n text-shadow : none;\n text-transform : none;\n transform : none;\n transform-style : flat;\n transition : none;\n transition-delay : 0s;\n transition-duration : 0s;\n transition-property : none;\n transition-timing-function : ease;\n unicode-bidi : normal;\n vertical-align : baseline;\n visibility : visible;\n white-space : normal;\n widows : 0;\n word-spacing : normal;\n z-index : auto;\n /* basic modern patch */\n all: initial;\n all: unset;\n\n /* styles */\n width: 40px;\n height: 40px;\n border-radius: 7px;\n position: fixed;\n bottom: 19px;\n left: calc(50% – 20px);\n text-align: center;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n#dutchie–back-to-top svg {\n position: relative;\n height: 8.5px;\n width: 14px;\n fill: white;\n transform: rotate(-180deg);\n margin-bottom: 1px;\n}\n”;n.SkipToMenuStyles=”\n#dutchie–skip-to-menu {\n position: absolute;\n margin: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(1px, 1px, 1px, 1px);\n}\n#dutchie–skip-to-menu:focus-visible {\n z-index: 9999999999;\n width: auto;\n height: auto;\n clip: auto;\n padding: 15px;\n background-color: #153F66;\n color: #FFF;\n font-weight: bold;\n outline: 2px solid #FF3E51;\n left: 2px;\n top: 2px;\n}\n”;n.FullScreenCheckoutStyles=”\n .dutchie–is-fullscreen.dutchie–is-fullscreen-enabled {\n overflow-y: hidden;\n }\n\n .dutchie–is-fullscreen.dutchie–is-fullscreen-enabled #dutchie–embed__container {\n position: fixed !important;\n top: 0 !important;\n left: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n width: 100vw !important;\n height: 100vh !important;\n z-index: 9999999999 !important;\n overflow-y: scroll !important;\n }\n”;n.IframeLoadingSpinnerStyles=”\n @keyframes spin-pulse {\n 0% {\n transform: rotate(0deg) scale(1);\n }\n 50% {\n transform: rotate(180deg) scale(0.8);\n }\n 100% {\n transform: rotate(360deg) scale(1);\n }\n } \n\n #dutchie–embed__spinner-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: none;\n align-items: center;\n justify-content: center;\n z-index: 9999999999;\n }\n\n #dutchie–embed__container {\n position: relative;\n }\n\n .dutchie–is-checkout.dutchie–is-fullscreen #dutchie–embed__spinner-wrapper {\n position: fixed;\n height: 100vh;\n }\n\n #dutchie–embed__spinner-wrapper.loading {\n display: flex;\n }\n\n #dutchie–embed__spinner {\n width: 55px;\n height: 55px;\n border-radius: 100%;\n border-width: 2px;\n border-style: solid;\n border-color: rgb(75, 75, 75) rgb(75, 75, 75) transparent;\n border-image: initial;\n display: inline-block;\n animation: spin-pulse 0.75s linear 0s infinite normal both running;\n transform-origin: center;\n }\n”},{}],14:[function(e,t,n){“use strict”;var r=e(“@babel/runtime/helpers/interopRequireDefault”);Object.defineProperty(n,”__esModule”,{value:!0});n.default=void 0;var o=r(e(“@babel/runtime/helpers/defineProperty”)),i=r(e(“geval”));function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));n.push.apply(n,r)}return n}function a(e){for(var t=1;t0&&isFinite(e.parent.innerHeight)){return c(e.parent)}}catch(t){return e}}n.default=u},{“@babel/runtime/helpers/defineProperty”:2,”@babel/runtime/helpers/interopRequireDefault”:3,”geval”:16}],15:[function(e,t,n){t.exports=r;function r(){var e=[];return{broadcast:t,listen:n};function t(t){var n=e.slice();for(var r=0;r
Scroll to Top