{"version":3,"file":"js/ab-test.bundle.min.js","mappings":"yBAKe,MAAMA,UAAeC,YAClC,iBAAAC,GACE,IAAIC,EAAUC,OAAOC,aAAaC,QAAQ,sBAC1C,MAAMC,EAAOH,OAAOC,aAAaC,QAAQ,mBAIvC,OAASH,GACNI,IAASC,KAAKC,aAAa,eAG9BN,EAAW,IADKO,KAAKC,MAAsB,EAAhBD,KAAKE,UACL,IAAM,IAEjCR,OAAOC,aAAaQ,QAClB,qBACAV,GAEFC,OAAOC,aAAaQ,QAClB,kBACAL,KAAKC,aAAa,eAItB,MAAMK,EAAO,MAAQX,EAAU,UAAY,UAGvCC,OAAOW,YACTX,OAAOW,UAAUC,KAAK,CAAEC,WAAYV,IACpCH,OAAOW,UAAUC,KAAK,CAAEE,cAAef,KAIzCK,KAAKW,UAAYC,KAAKC,MAAMb,KAAKC,aAAaK,GAChD,EAGFV,OAAOkB,eAAeC,OAAO,UAAWvB,E","sources":["webpack://sns/../sciencenews/client/src/entries/ab-test/index.js"],"sourcesContent":["import './ab-test.scss';\n\n/**\n * ABTest element class.\n */\nexport default class ABTest extends HTMLElement {\n connectedCallback() {\n let variant = window.localStorage.getItem('sn-ab-test-variant');\n const type = window.localStorage.getItem('sn-ab-test-type');\n\n // Check if a user is assigned to a variant.\n if (\n null === variant\n || type !== this.getAttribute('data-type')\n ) {\n const randNum = Math.floor(Math.random() * 2);\n variant = (0 === randNum ? 'a' : 'b');\n\n window.localStorage.setItem(\n 'sn-ab-test-variant',\n variant,\n );\n window.localStorage.setItem(\n 'sn-ab-test-type',\n this.getAttribute('data-type'),\n );\n }\n\n const test = 'b' === variant ? 'variant' : 'control';\n\n // Add to data Layer.\n if (window.dataLayer) {\n window.dataLayer.push({ abTestType: type });\n window.dataLayer.push({ abTestVariant: variant });\n }\n\n // Replace the contents of our <ab-test> element.\n this.outerHTML = JSON.parse(this.getAttribute(test));\n }\n}\n\nwindow.customElements.define('ab-test', ABTest);\n\nif (module.hot) {\n module.hot.accept();\n}\n"],"names":["ABTest","HTMLElement","connectedCallback","variant","window","localStorage","getItem","type","this","getAttribute","Math","floor","random","setItem","test","dataLayer","push","abTestType","abTestVariant","outerHTML","JSON","parse","customElements","define"],"sourceRoot":""}