{"version":3,"file":"manage.bundle.mjs","sources":["../../../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../../../src/digitalmarketplace/scripts/analytics/data-layer.types.ts","../../../../src/digitalmarketplace/scripts/analytics/data-layer.ts","../../../../src/digitalmarketplace/scripts/cookies/manage.ts"],"sourcesContent":["/*! js-cookie v3.0.7 | MIT */\nfunction assign (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n    for (var key in source) {\n      if (key === '__proto__') continue\n      target[key] = source[key];\n    }\n  }\n  return target\n}\n\nvar defaultConverter = {\n  read: function (value) {\n    if (value[0] === '\"') {\n      value = value.slice(1, -1);\n    }\n    return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n  },\n  write: function (value) {\n    return encodeURIComponent(value).replace(\n      /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n      decodeURIComponent\n    )\n  }\n};\n\nfunction init(converter, defaultAttributes) {\n  function set(name, value, attributes) {\n    if (typeof document === 'undefined') {\n      return\n    }\n\n    attributes = assign({}, defaultAttributes, attributes);\n\n    if (typeof attributes.expires === 'number') {\n      attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n    }\n    if (attributes.expires) {\n      attributes.expires = attributes.expires.toUTCString();\n    }\n\n    name = encodeURIComponent(name)\n      .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n      .replace(/[()]/g, escape);\n\n    var stringifiedAttributes = '';\n    for (var attributeName in attributes) {\n      if (!attributes[attributeName]) {\n        continue\n      }\n\n      stringifiedAttributes += '; ' + attributeName;\n\n      if (attributes[attributeName] === true) {\n        continue\n      }\n\n      // Considers RFC 6265 section 5.2:\n      // ...\n      // 3.  If the remaining unparsed-attributes contains a %x3B (\";\")\n      //     character:\n      // Consume the characters of the unparsed-attributes up to,\n      // not including, the first %x3B (\";\") character.\n      // ...\n      stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n    }\n\n    return (document.cookie =\n      name + '=' + converter.write(value, name) + stringifiedAttributes)\n  }\n\n  function get(name) {\n    if (typeof document === 'undefined' || (arguments.length && !name)) {\n      return\n    }\n\n    // To prevent the for loop in the first place assign an empty array\n    // in case there are no cookies at all.\n    var cookies = document.cookie ? document.cookie.split('; ') : [];\n    var jar = {};\n    for (var i = 0; i < cookies.length; i++) {\n      var parts = cookies[i].split('=');\n      var value = parts.slice(1).join('=');\n\n      try {\n        var found = decodeURIComponent(parts[0]);\n        if (!(found in jar)) jar[found] = converter.read(value, found);\n        if (name === found) {\n          break\n        }\n      } catch {\n        // Do nothing...\n      }\n    }\n\n    return name ? jar[name] : jar\n  }\n\n  return Object.create(\n    {\n      set,\n      get,\n      remove: function (name, attributes) {\n        set(\n          name,\n          '',\n          assign({}, attributes, {\n            expires: -1\n          })\n        );\n      },\n      withAttributes: function (attributes) {\n        return init(this.converter, assign({}, this.attributes, attributes))\n      },\n      withConverter: function (converter) {\n        return init(assign({}, this.converter, converter), this.attributes)\n      }\n    },\n    {\n      attributes: { value: Object.freeze(defaultAttributes) },\n      converter: { value: Object.freeze(converter) }\n    }\n  )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n\nexport { api as default };\n","\nenum GrantType {\n  GRANTED = 'granted',\n  NOT_GRANTED = 'not granted'\n}\n\nexport { GrantType }","import { CookiePreferences } from '../cookies/manage.types'\nimport { GrantType } from './data-layer.types'\n\nconst getGrantedText = (state: boolean) => state ? GrantType.GRANTED : GrantType.NOT_GRANTED\n\nconst updateDataLayer = (cookiePreferences: CookiePreferences) => {\n  window.dataLayer.push({\n    event: 'gtm_consent_update',\n    usage_consent: getGrantedText(cookiePreferences.usage),\n    glassbox_consent: getGrantedText(cookiePreferences.glassbox),\n    marketing_consent: GrantType.NOT_GRANTED\n  })\n}\n\nexport { updateDataLayer }","import Cookies from 'js-cookie'\nimport { CookiePreferences, CookieUpdateOption } from './manage.types'\nimport { updateDataLayer } from '../analytics/data-layer'\n\nconst cookieUpdateOptions: CookieUpdateOption[] = [\n  {\n    cookieName: 'usage',\n    cookiePrefixes: ['_ga', '_gi']\n  },\n  {\n    cookieName: 'glassbox',\n    cookiePrefixes: ['_cls']\n  }\n]\n\nconst DOMAINS = [\n  '.marketplace.team',\n  '.digitalmarketplace.service.gov.uk',\n  'www.applytosupply.digitalmarketplace.service.gov.uk'\n]\n\n// When not in production we want to delete cookies in localhost too\nconst getDomains = () => {\n  if (window.location.hostname === 'localhost') {\n    return DOMAINS.concat(['localhost'])\n  }\n\n  return DOMAINS\n}\n\nconst getCookiePreferences = (): CookiePreferences => {\n  const defaultCookieSettings = '{\"usage\":false,\"glassbox\":false}'\n\n  return JSON.parse(Cookies.get('cookie_preferences_dmp') ?? defaultCookieSettings)\n}\n\nconst setCookiePreferences = (usage: boolean) => {\n  const cookiePreferences: CookiePreferences = getCookiePreferences()\n\n  cookiePreferences.usage = usage\n  cookiePreferences.settings_viewed = true\n\n  Cookies.set('cookie_preferences_dmp', JSON.stringify(cookiePreferences), { expires: 365 })\n\n  updateDataLayer(cookiePreferences)\n  removeUnwantedCookies()\n}\n\nconst removeUnwantedCookies = (): void => {\n  const cookieList: string[] = Object.keys(Cookies.get())\n  const cookiesToRemove: string[] = ['digitalmarketplace_cookie_settings_viewed', 'digitalmarketplace_google_analytics_enabled', 'digitalmarketplace_cookie_options_v1', 'dm_cookies_policy']\n  const cookiePreferences: CookiePreferences = getCookiePreferences()\n  const cookiePrefixes: string[] = []\n\n  cookieUpdateOptions.forEach((cookieUpdateOption) => {\n    if (!cookiePreferences[cookieUpdateOption.cookieName]) cookiePrefixes.push(...cookieUpdateOption.cookiePrefixes)\n  })\n\n  for (let i = 0; i < cookieList.length; i++) {\n    const cookieName = cookieList[i]\n\n    if (cookiePrefixes.some((cookiePrefix) => cookieName.startsWith(cookiePrefix))) cookiesToRemove.push(cookieName)\n  }\n\n  getDomains().forEach((domain) => {\n    cookiesToRemove.forEach((cookieName) => { Cookies.remove(cookieName, { path: '/', domain: domain }) })\n  })\n}\n\nexport {\n  getCookiePreferences,\n  setCookiePreferences,\n  removeUnwantedCookies\n}"],"names":["assign","target","i","arguments","length","source","key","defaultConverter","read","value","slice","replace","decodeURIComponent","write","encodeURIComponent","init","converter","defaultAttributes","set","name","attributes","document","expires","Date","now","toUTCString","escape","stringifiedAttributes","attributeName","split","cookie","get","cookies","jar","parts","join","found","_unused","Object","create","remove","withAttributes","withConverter","freeze","api","path","Cookies"],"mappings":"AACA,SAASA,MAAMA,CAAEC,MAAM,EAAE;AACvB,EAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AACzC,IAAA,IAAIG,MAAM,GAAGF,SAAS,CAACD,CAAC,CAAC;AACzB,IAAA,KAAK,IAAII,GAAG,IAAID,MAAM,EAAE;MACtB,IAAIC,GAAG,KAAK,WAAW,EAAE;AACzBL,MAAAA,MAAM,CAACK,GAAG,CAAC,GAAGD,MAAM,CAACC,GAAG,CAAC;AAC3B,IAAA;AACF,EAAA;AACA,EAAA,OAAOL,MAAM;AACf;AAEA,IAAIM,gBAAgB,GAAG;AACrBC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAYC,KAAK,EAAE;AACrB,IAAA,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACpBA,KAAK,GAAGA,KAAK,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5B,IAAA;AACA,IAAA,OAAOD,KAAK,CAACE,OAAO,CAAC,kBAAkB,EAAEC,kBAAkB,CAAC;EAC9D,CAAC;AACDC,EAAAA,KAAK,EAAE,SAAPA,KAAKA,CAAYJ,KAAK,EAAE;IACtB,OAAOK,kBAAkB,CAACL,KAAK,CAAC,CAACE,OAAO,CACtC,0CAA0C,EAC1CC,kBACF,CAAC;AACH,EAAA;AACF,CAAC;AAED,SAASG,IAAIA,CAACC,SAAS,EAAEC,iBAAiB,EAAE;AAC1C,EAAA,SAASC,GAAGA,CAACC,IAAI,EAAEV,KAAK,EAAEW,UAAU,EAAE;AACpC,IAAA,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;AACnC,MAAA;AACF,IAAA;IAEAD,UAAU,GAAGpB,MAAM,CAAC,EAAE,EAAEiB,iBAAiB,EAAEG,UAAU,CAAC;AAEtD,IAAA,IAAI,OAAOA,UAAU,CAACE,OAAO,KAAK,QAAQ,EAAE;AAC1CF,MAAAA,UAAU,CAACE,OAAO,GAAG,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,EAAE,GAAGJ,UAAU,CAACE,OAAO,GAAG,KAAK,CAAC;AACxE,IAAA;IACA,IAAIF,UAAU,CAACE,OAAO,EAAE;MACtBF,UAAU,CAACE,OAAO,GAAGF,UAAU,CAACE,OAAO,CAACG,WAAW,EAAE;AACvD,IAAA;AAEAN,IAAAA,IAAI,GAAGL,kBAAkB,CAACK,IAAI,CAAC,CAC5BR,OAAO,CAAC,sBAAsB,EAAEC,kBAAkB,CAAC,CACnDD,OAAO,CAAC,OAAO,EAAEe,MAAM,CAAC;IAE3B,IAAIC,qBAAqB,GAAG,EAAE;AAC9B,IAAA,KAAK,IAAIC,aAAa,IAAIR,UAAU,EAAE;AACpC,MAAA,IAAI,CAACA,UAAU,CAACQ,aAAa,CAAC,EAAE;AAC9B,QAAA;AACF,MAAA;MAEAD,qBAAqB,IAAI,IAAI,GAAGC,aAAa;AAE7C,MAAA,IAAIR,UAAU,CAACQ,aAAa,CAAC,KAAK,IAAI,EAAE;AACtC,QAAA;AACF,MAAA;AASAD,MAAAA,qBAAqB,IAAI,GAAG,GAAGP,UAAU,CAACQ,aAAa,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,IAAA;AAEA,IAAA,OAAQR,QAAQ,CAACS,MAAM,GACrBX,IAAI,GAAG,GAAG,GAAGH,SAAS,CAACH,KAAK,CAACJ,KAAK,EAAEU,IAAI,CAAC,GAAGQ,qBAAqB;AACrE,EAAA;EAEA,SAASI,GAAGA,CAACZ,IAAI,EAAE;IACjB,IAAI,OAAOE,QAAQ,KAAK,WAAW,IAAKlB,SAAS,CAACC,MAAM,IAAI,CAACe,IAAK,EAAE;AAClE,MAAA;AACF,IAAA;AAIA,IAAA,IAAIa,OAAO,GAAGX,QAAQ,CAACS,MAAM,GAAGT,QAAQ,CAACS,MAAM,CAACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;IAChE,IAAII,GAAG,GAAG,EAAE;AACZ,IAAA,KAAK,IAAI/B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8B,OAAO,CAAC5B,MAAM,EAAEF,CAAC,EAAE,EAAE;MACvC,IAAIgC,KAAK,GAAGF,OAAO,CAAC9B,CAAC,CAAC,CAAC2B,KAAK,CAAC,GAAG,CAAC;AACjC,MAAA,IAAIpB,KAAK,GAAGyB,KAAK,CAACxB,KAAK,CAAC,CAAC,CAAC,CAACyB,IAAI,CAAC,GAAG,CAAC;MAEpC,IAAI;QACF,IAAIC,KAAK,GAAGxB,kBAAkB,CAACsB,KAAK,CAAC,CAAC,CAAC,CAAC;AACxC,QAAA,IAAI,EAAEE,KAAK,IAAIH,GAAG,CAAC,EAAEA,GAAG,CAACG,KAAK,CAAC,GAAGpB,SAAS,CAACR,IAAI,CAACC,KAAK,EAAE2B,KAAK,CAAC;QAC9D,IAAIjB,IAAI,KAAKiB,KAAK,EAAE;AAClB,UAAA;AACF,QAAA;AACF,MAAA,CAAC,CAAC,OAAAC,OAAA,EAAM,CAER;AACF,IAAA;AAEA,IAAA,OAAOlB,IAAI,GAAGc,GAAG,CAACd,IAAI,CAAC,GAAGc,GAAG;AAC/B,EAAA;EAEA,OAAOK,MAAM,CAACC,MAAM,CAClB;AACErB,IAAAA,GAAG,EAAHA,GAAG;AACHa,IAAAA,GAAG,EAAHA,GAAG;AACHS,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAYrB,IAAI,EAAEC,UAAU,EAAE;MAClCF,GAAG,CACDC,IAAI,EACJ,EAAE,EACFnB,MAAM,CAAC,EAAE,EAAEoB,UAAU,EAAE;AACrBE,QAAAA,OAAO,EAAE;AACX,OAAC,CACH,CAAC;IACH,CAAC;AACDmB,IAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAYrB,UAAU,EAAE;AACpC,MAAA,OAAOL,IAAI,CAAC,IAAI,CAACC,SAAS,EAAEhB,MAAM,CAAC,EAAE,EAAE,IAAI,CAACoB,UAAU,EAAEA,UAAU,CAAC,CAAC;IACtE,CAAC;AACDsB,IAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAY1B,SAAS,EAAE;AAClC,MAAA,OAAOD,IAAI,CAACf,MAAM,CAAC,EAAE,EAAE,IAAI,CAACgB,SAAS,EAAEA,SAAS,CAAC,EAAE,IAAI,CAACI,UAAU,CAAC;AACrE,IAAA;AACF,GAAC,EACD;AACEA,IAAAA,UAAU,EAAE;AAAEX,MAAAA,KAAK,EAAE6B,MAAM,CAACK,MAAM,CAAC1B,iBAAiB;KAAG;AACvDD,IAAAA,SAAS,EAAE;AAAEP,MAAAA,KAAK,EAAE6B,MAAM,CAACK,MAAM,CAAC3B,SAAS;AAAE;AAC/C,GACF,CAAC;AACH;AAEA,IAAI4B,GAAG,GAAG7B,IAAI,CAACR,gBAAgB,EAAE;AAAEsC,EAAAA,IAAI,EAAE;AAAI,CAAC,CAAC;;AC7H/C,IAAK,SAGJ;AAHD,CAAA,UAAK,SAAS,EAAA;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC7B,CAAC,EAHI,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;ACEd,MAAM,cAAc,GAAG,CAAC,KAAc,KAAK,KAAK,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW;AAE5F,MAAM,eAAe,GAAG,CAAC,iBAAoC,KAAI;AAC/D,IAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;AACpB,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,aAAa,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC;AACtD,QAAA,gBAAgB,EAAE,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAC5D,iBAAiB,EAAE,SAAS,CAAC;AAC9B,KAAA,CAAC;AACJ,CAAC;;ACRD,MAAM,mBAAmB,GAAyB;AAChD,IAAA;AACE,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,UAAU,EAAE,UAAU;QACtB,cAAc,EAAE,CAAC,MAAM;AACxB;CACF;AAED,MAAM,OAAO,GAAG;IACd,mBAAmB;IACnB,oCAAoC;IACpC;CACD;AAED;AACA,MAAM,UAAU,GAAG,MAAK;IACtB,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IACtC;AAEA,IAAA,OAAO,OAAO;AAChB,CAAC;AAED,MAAM,oBAAoB,GAAG,MAAwB;IACnD,MAAM,qBAAqB,GAAG,kCAAkC;AAEhE,IAAA,OAAO,IAAI,CAAC,KAAK,CAACC,GAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,qBAAqB,CAAC;AACnF;AAEA,MAAM,oBAAoB,GAAG,CAAC,KAAc,KAAI;AAC9C,IAAA,MAAM,iBAAiB,GAAsB,oBAAoB,EAAE;AAEnE,IAAA,iBAAiB,CAAC,KAAK,GAAG,KAAK;AAC/B,IAAA,iBAAiB,CAAC,eAAe,GAAG,IAAI;AAExC,IAAAA,GAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAE1F,eAAe,CAAC,iBAAiB,CAAC;AAClC,IAAA,qBAAqB,EAAE;AACzB;AAEA,MAAM,qBAAqB,GAAG,MAAW;IACvC,MAAM,UAAU,GAAa,MAAM,CAAC,IAAI,CAACA,GAAO,CAAC,GAAG,EAAE,CAAC;IACvD,MAAM,eAAe,GAAa,CAAC,2CAA2C,EAAE,6CAA6C,EAAE,sCAAsC,EAAE,mBAAmB,CAAC;AAC3L,IAAA,MAAM,iBAAiB,GAAsB,oBAAoB,EAAE;IACnE,MAAM,cAAc,GAAa,EAAE;AAEnC,IAAA,mBAAmB,CAAC,OAAO,CAAC,CAAC,kBAAkB,KAAI;AACjD,QAAA,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,cAAc,CAAC;AAClH,IAAA,CAAC,CAAC;AAEF,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC;AAEhC,QAAA,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAAE,YAAA,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;IAClH;AAEA,IAAA,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AAC9B,QAAA,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI,EAAGA,GAAO,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;AACxG,IAAA,CAAC,CAAC;AACJ;;;;","x_google_ignoreList":[0]}