{"version":3,"file":"js/app.1ae0c6cc.js","mappings":"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","sources":["webpack://surface/./src/data/guide.js","webpack://surface/./src/data/store.js","webpack://surface/./src/js/composables/useEmitter.js","webpack://surface/./src/js/emitter.js","webpack://surface/./src/App.vue","webpack://surface/./src/mixins/update.js","webpack://surface/./src/components/Menu.vue","webpack://surface/./src/components/StarRating.vue","webpack://surface/./src/js/feedBack.js","webpack://surface/./src/components/StarRating.vue?3b7a","webpack://surface/./src/components/common/MenuLink.vue","webpack://surface/./src/components/common/MenuLink.vue?c1f8","webpack://surface/./src/components/common/MenuCollapse.vue","webpack://surface/./src/components/common/MenuCollapse.vue?4edf","webpack://surface/./src/components/Menu.vue?ef75","webpack://surface/./src/components/MainMenu.vue","webpack://surface/./src/components/MainMenu.vue?78bc","webpack://surface/./src/components/AppOverlay.vue","webpack://surface/./src/data/breakpoints.js","webpack://surface/./src/components/AppOverlay.vue?84c6","webpack://surface/./src/components/SettingsDrawer.vue","webpack://surface/./src/components/QualityToggle.vue","webpack://surface/./src/components/QualityToggle.vue?585e","webpack://surface/./src/components/FilterDropdown.vue","webpack://surface/./src/components/FilterDropdown.vue?964f","webpack://surface/./src/components/FilterOptions.vue","webpack://surface/./src/components/FilterOptions.vue?c9ea","webpack://surface/./src/components/SettingsDrawer.vue?5c7a","webpack://surface/./src/components/FeedBack.vue","webpack://surface/./src/components/FeedBack.vue?435b","webpack://surface/./src/components/Guide.vue","webpack://surface/./src/components/common/ButtonText.vue","webpack://surface/./src/components/common/ButtonText.vue?0c92","webpack://surface/./src/components/Guide.vue?67da","webpack://surface/./src/App.vue?7ccd","webpack://surface/./src/i18nLanguage.js","webpack://surface/./src/router/index.js","webpack://surface/./src/registerServiceWorker.js","webpack://surface/./src/i18n.js","webpack://surface/./src/main.js","webpack://surface/webpack/bootstrap","webpack://surface/webpack/runtime/chunk loaded","webpack://surface/webpack/runtime/compat get default export","webpack://surface/webpack/runtime/define property getters","webpack://surface/webpack/runtime/ensure chunk","webpack://surface/webpack/runtime/get javascript chunk filename","webpack://surface/webpack/runtime/get mini-css chunk filename","webpack://surface/webpack/runtime/global","webpack://surface/webpack/runtime/hasOwnProperty shorthand","webpack://surface/webpack/runtime/load script","webpack://surface/webpack/runtime/make namespace object","webpack://surface/webpack/runtime/node module decorator","webpack://surface/webpack/runtime/publicPath","webpack://surface/webpack/runtime/css loading","webpack://surface/webpack/runtime/jsonp chunk loading","webpack://surface/webpack/startup"],"sourcesContent":["/*\r\n    Text\r\n      text: \"path to string in local files\"\r\n    Max Width  (default: 250px)\r\n      maxWidth: \"300px\"\r\n    Add Previous Button (default: false)\r\n      prevButton: true\r\n    Add Next Button (default: false)\r\n      nextButton: true\r\n    Add Finish Button (default: false)\r\n      finishButton: true\r\n*/\r\n\r\nexport default {\r\n  surfaceHub_A: {\r\n    0: {\r\n      text: \"general.scenes.surfaceHub_A.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"c4ae0665-1e54-4f07-a1dd-06040f68a7d4\": {\r\n        text: \"general.scenes.surfaceHub_A.guide.1.iframe1\",\r\n      },\r\n    },\r\n    3: {\r\n      text: \"general.scenes.surfaceHub_A.guide.3\",\r\n      //   maxWidth: \"400px\",\r\n    },\r\n    7: {\r\n      iframe: true,\r\n      firstScreen: {\r\n        text: \"general.scenes.surfaceHub_A.guide.7.iframe1\",\r\n      },\r\n    },\r\n    8: {\r\n      text: \"general.scenes.surfaceHub_A.guide.8\",\r\n      //   maxWidth: \"280px\",\r\n      //   nextButton: true,\r\n    },\r\n    9: {\r\n      iframe: true,\r\n      \"34499ff5-5cfd-4d0c-8952-1cee82b69ac0\": {\r\n        text: \"general.scenes.surfaceHub_A.guide.9.iframe1\",\r\n      },\r\n    },\r\n  },\r\n  surfaceHub_B: {\r\n    0: {\r\n      text: \"general.scenes.surfaceHub_B.guide.0\",\r\n    },\r\n    2: {\r\n      text: \"general.scenes.surfaceHub_B.guide.2\",\r\n      //   maxWidth: \"400px\",\r\n    },\r\n    3: {\r\n      iframe: true,\r\n      \"1b7197a3-4fc3-41fe-b196-150d442de9e6\": {\r\n        text: \"general.scenes.surfaceHub_B.guide.3.iframe1\",\r\n      },\r\n    },\r\n    4: {\r\n      text: \"general.scenes.surfaceHub_B.guide.4\",\r\n      //   maxWidth: \"400px\",\r\n    },\r\n  },\r\n  surfaceHub_C: {\r\n    0: {\r\n      text: \"general.scenes.surfaceHub_C.guide.0\",\r\n    },\r\n    1: {\r\n      text: \"general.scenes.surfaceHub_C.guide.1\",\r\n    },\r\n    2: {\r\n      text: \"general.scenes.surfaceHub_C.guide.3\",\r\n    },\r\n  },\r\n  surfaceHub_D: {\r\n    0: {\r\n      text: \"general.scenes.surfaceHub_D.guide.0\",\r\n    },\r\n    3: {\r\n      text: \"general.scenes.surfaceHub_D.guide.3\",\r\n    },\r\n    5: {\r\n      text: \"general.scenes.surfaceHub_D.guide.5\",\r\n      //   finishButton: true,\r\n    },\r\n  },\r\n  pro9_A: {\r\n    0: {\r\n      text: \"general.scenes.pro9_A.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"38738bd6-ef7c-4de6-a27a-fa22932375d2\": {\r\n        text: \"general.scenes.pro9_A.guide.1.iframe1\",\r\n      },\r\n      \"3e1aeb5b-7c77-43a3-805a-cf438ec8f700\": {\r\n        text: \"general.scenes.pro9_A.guide.1.iframe2\",\r\n      },\r\n      \"c8750691-3245-420c-815e-a0aa97e28494\": {\r\n        text: \"general.scenes.pro9_A.guide.1.iframe3\",\r\n      },\r\n      \"0d50e4b2-56d8-4579-bf68-cb88dc9ffca8\": {\r\n        text: \"general.scenes.pro9_A.guide.1.iframe4\",\r\n      },\r\n      \"c9ae44f2-13d8-4267-b200-13aee7452da6\": {\r\n        text: \"general.scenes.pro9_A.guide.1.iframe5\",\r\n      },\r\n    },\r\n    2: {\r\n      text: \"general.scenes.pro9_A.guide.2\",\r\n    },\r\n    3: {\r\n      text: \"general.scenes.pro9_A.guide.3\",\r\n    },\r\n    4: {\r\n      iframe: true,\r\n      \"a1a5add5-c13f-4860-9e70-326b599f1111\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe1\",\r\n      },\r\n      \"8d0a6c63-df23-44b6-93fd-3d7a04e4fc12\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe2\",\r\n      },\r\n      \"e04e40f7-e937-4a8e-8212-a844ddb06cc2\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe3\",\r\n      },\r\n      \"25062ce4-1420-46b7-8620-a510ca501218\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe4\",\r\n      },\r\n      \"bc920d08-7df7-412b-9bbd-751706f82334\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe5\",\r\n      },\r\n      \"1a968f02-38a2-4e5e-b8c3-afb8416493e3\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe6\",\r\n      },\r\n      \"f055fb96-afd3-4929-a4b8-8ca8f6470438\": {\r\n        text: \"general.scenes.pro9_A.guide.4.iframe7\",\r\n      },\r\n    },\r\n  },\r\n  pro9_B: {\r\n    0: {\r\n      text: \"general.scenes.pro9_B.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"24744dfd-4946-4d37-acfc-a10ea723941d\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe1\",\r\n      },\r\n      \"ca4bd019-9326-46c1-9255-07fb2bebbbc3\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe2\",\r\n      },\r\n      \"46c54898-7ee2-4153-88e3-7eb9440d54d4\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe3\",\r\n      },\r\n      \"09caec3e-6362-423c-a38b-a092a062cbc4\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe4\",\r\n      },\r\n      \"26c213e3-9ccc-415d-98a7-e14973898ab9\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe5\",\r\n      },\r\n      \"5df7c65a-f198-467c-b530-41a87e91bb8e\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe6\",\r\n      },\r\n      \"eb542996-02da-4257-aae0-73969f92ac7b\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe7\",\r\n      },\r\n      \"3acdb076-5c1b-4348-bff9-e8c72354cef9\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe8\",\r\n      },\r\n      \"3edec3fe-898f-48cb-aa9b-854ce330b336\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe9\",\r\n      },\r\n      \"55bae305-ac1a-41b5-8cb8-9f5f0e974145\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe10\",\r\n      },\r\n      \"52f8873b-53fb-4e90-9b9d-d8280a73d179\": {\r\n        text: \"general.scenes.pro9_B.guide.1.iframe11\",\r\n      },\r\n    },\r\n    3: {\r\n      iframe: true,\r\n      firstScreen: {\r\n        text: \"general.scenes.pro9_B.guide.3.iframe1\",\r\n      },\r\n      \"888927be-63fa-44ee-a2b1-4d615383ddf5\": {\r\n        text: \"general.scenes.pro9_B.guide.3.iframe1\",\r\n      },\r\n      \"640e8f96-ca66-4c55-97e0-af4a20d2de45\": {\r\n        text: \"general.scenes.pro9_B.guide.3.iframe2\",\r\n      },\r\n      \"af8b448d-ad79-4b6f-8365-b5bdb73621ac\": {\r\n        text: \"general.scenes.pro9_B.guide.3.iframe3\",\r\n      },\r\n      \"e696197a-9efc-45fa-bd37-8c368f7cfb38\": {\r\n        text: \"general.scenes.pro9_B.guide.3.iframe4\",\r\n      },\r\n    },\r\n  },\r\n  pro9_C: {\r\n    0: {\r\n      text: \"general.scenes.pro9_C.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"0bd18ad3-2fba-43a2-a92e-ec6b62144a01\": {\r\n        text: \"general.scenes.pro9_C.guide.1.iframe1\",\r\n      },\r\n      \"c8223359-b4d3-405c-9508-3022bdc8fdb0\": {\r\n        text: \"general.scenes.pro9_C.guide.1.iframe2\",\r\n      },\r\n      \"99f5c832-cd10-4c4b-8605-541e52b781ee\": {\r\n        text: \"general.scenes.pro9_C.guide.1.iframe3\",\r\n      },\r\n    },\r\n    2: {\r\n      text: \"general.scenes.pro9_C.guide.2\",\r\n    },\r\n    6: {\r\n      iframe: true,\r\n      \"e5707078-dcb4-42f1-b0f1-0c3cce13fcd0\": {\r\n        text: \"general.scenes.pro9_C.guide.6.iframe1\",\r\n      },\r\n      \"78716941-fb5b-435e-9d08-525059545485\": {\r\n        text: \"general.scenes.pro9_C.guide.6.iframe2\",\r\n      },\r\n      \"e0b17b53-8179-47e3-85f1-14943321bb15\": {\r\n        text: \"general.scenes.pro9_C.guide.6.iframe3\",\r\n      },\r\n      \"186b10ab-5993-41b2-8950-45d7e9cea697\": {\r\n        text: \"general.scenes.pro9_C.guide.6.iframe4\",\r\n      },\r\n    },\r\n  },\r\n  laptopStudio_A: {\r\n    0: {\r\n      text: \"general.scenes.laptopStudio_A.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"dc090cb2-1f13-4b7a-8931-243ec146bf88\": {\r\n        text: \"general.scenes.laptopStudio_A.guide.1.iframe1\",\r\n      },\r\n    },\r\n    2: {\r\n      text: \"general.scenes.laptopStudio_A.guide.2\",\r\n    },\r\n    6: {\r\n      iframe: true,\r\n      firstScreen: {\r\n        text: \"general.scenes.laptopStudio_A.guide.6.iframe1\",\r\n      },\r\n    },\r\n    7: {\r\n      iframe: true,\r\n      \"db3c0d30-c61c-43a0-8b31-fd55aae1dbfa\": {\r\n        text: \"general.scenes.laptopStudio_A.guide.7.iframe1\",\r\n      },\r\n      \"75732563-1245-4dd1-83d0-524ff1768a5e\": {\r\n        text: \"general.scenes.laptopStudio_A.guide.7.iframe2\",\r\n      },\r\n    },\r\n  },\r\n  laptopStudio_B: {\r\n    0: {\r\n      text: \"general.scenes.laptopStudio_B.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"f78a0091-e2dc-4412-b150-a5092c367cb1\": {\r\n        text: \"general.scenes.laptopStudio_B.guide.1.iframe1\",\r\n      },\r\n      \"76a22e85-333b-4bf9-b8be-ec31bc4cb6a7\": {\r\n        text: \"general.scenes.laptopStudio_B.guide.1.iframe2\",\r\n      },\r\n    },\r\n    2: {\r\n      text: \"general.scenes.laptopStudio_B.guide.2\",\r\n      //   maxWidth: \"400px\",\r\n    },\r\n    3: {\r\n      text: \"general.scenes.laptopStudio_B.guide.3\",\r\n    },\r\n    5: {\r\n      iframe: true,\r\n      \"d986adbe-07ad-4251-aebb-3314216bf212\": {\r\n        text: \"general.scenes.laptopStudio_B.guide.5.iframe1\",\r\n      },\r\n      \"c0861950-bcc2-4534-ab92-ec73ac5c67a4\": {\r\n        text: \"general.scenes.laptopStudio_B.guide.5.iframe2\",\r\n      },\r\n    },\r\n    6: {\r\n      text: \"general.scenes.laptopStudio_B.guide.6\",\r\n    },\r\n  },\r\n  Duo_A: {\r\n    0: {\r\n      text: \"general.scenes.duo_A.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"7d673ca3-cd7f-487e-a963-ca84380b8f12\": {\r\n        text: \"general.scenes.duo_A.guide.1.iframe1\",\r\n      },\r\n      \"adfeff5b-da99-4b85-873c-209809e2a7e3\": {\r\n        text: \"general.scenes.duo_A.guide.1.iframe2\",\r\n      },\r\n      \"813df600-35b6-4eff-9cec-4ac0a6e9e203\": {\r\n        text: \"general.scenes.duo_A.guide.1.iframe3\",\r\n      },\r\n      \"7b2172b4-9ff2-4f2a-a4f5-a19e0b55b556\": {\r\n        text: \"general.scenes.duo_A.guide.1.iframe4\",\r\n      },\r\n    },\r\n    2: {\r\n      text: \"general.scenes.duo_A.guide.2\",\r\n      //   maxWidth: \"400px\",\r\n      //   nextButton: true,\r\n    },\r\n    4: {\r\n      iframe: true,\r\n      \"d257f12c-4b8a-4b32-a1d3-95bf19a7f96e\": {\r\n        text: \"general.scenes.duo_A.guide.4.iframe1\",\r\n        position: {\r\n          y: \"bottom\",\r\n        },\r\n      },\r\n      \"729c4c8f-2591-4375-a522-f4ca6ebaf0f7\": {\r\n        text: \"general.scenes.duo_A.guide.4.iframe2\",\r\n        position: {\r\n          y: \"bottom\",\r\n        },\r\n      },\r\n      \"4d34c01f-c7d7-4908-a2d4-11e16b3c01e8\": {\r\n        text: \"general.scenes.duo_A.guide.4.iframe3\",\r\n        position: {\r\n          y: \"bottom\",\r\n        },\r\n      },\r\n    },\r\n    8: {\r\n      iframe: true,\r\n      \"60f73bbb-1302-4ad9-92da-137fefd37c0c\": {\r\n        text: \"general.scenes.duo_A.guide.8.iframe1\",\r\n        position: {\r\n          y: \"bottom\",\r\n        },\r\n      },\r\n    },\r\n  },\r\n  Duo_B: {\r\n    0: {\r\n      text: \"general.scenes.duo_B.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      \"813e1b29-2c00-4b6a-aafd-68994248ce1a\": {\r\n        text: \"general.scenes.duo_B.guide.1.iframe1\",\r\n      },\r\n      \"1d45d2ca-e7ed-42f0-a1f6-e1bfeefcf6e5\": {\r\n        text: \"general.scenes.duo_B.guide.1.iframe2\",\r\n      },\r\n    },\r\n    3: {\r\n      iframe: true,\r\n      \"3d52f1b5-adc3-4fd6-ae58-39cebd8ab216\": {\r\n        text: \"general.scenes.duo_B.guide.3.iframe1\",\r\n      },\r\n      \"91d3ff65-c30c-4266-ad87-d594eef822b1\": {\r\n        text: \"general.scenes.duo_B.guide.3.iframe2\",\r\n      },\r\n      \"b6c666d3-35ce-4a59-aebb-718bda0acc1b\": {\r\n        text: \"general.scenes.duo_B.guide.3.iframe3\",\r\n      },\r\n    },\r\n    4: {\r\n      iframe: true,\r\n      \"330ecc54-741d-473b-b913-5689c3f844ae\": {\r\n        text: \"general.scenes.duo_B.guide.4.iframe1\",\r\n      },\r\n      \"1f178b97-c4b6-449a-b8de-17984d8fa4e7\": {\r\n        text: \"general.scenes.duo_B.guide.4.iframe2\",\r\n      },\r\n    },\r\n  },\r\n  duo_C: {\r\n    0: {\r\n      text: \"general.scenes.duo_C.guide.0\",\r\n    },\r\n    1: {\r\n      text: \"general.scenes.duo_C.guide.1\",\r\n      //   maxWidth: \"400px\",\r\n    },\r\n    2: {\r\n      iframe: true,\r\n      \"ce74ea62-6fa0-4bff-b7f4-adba11f37d3e\": {\r\n        text: \"general.scenes.duo_C.guide.2.iframe1\",\r\n      },\r\n    },\r\n    4: {\r\n      iframe: true,\r\n      \"2c331878-8067-4197-8d22-5aa5803fbea8\": {\r\n        text: \"general.scenes.duo_C.guide.4.iframe1\",\r\n      },\r\n      \"8ee8e19a-4d6d-41bf-bd8c-12062e85cbfd\": {\r\n        text: \"general.scenes.duo_C.guide.4.iframe2\",\r\n      },\r\n    },\r\n    5: {\r\n      iframe: true,\r\n      \"a4123a46-5feb-4a27-bc86-11a664fd4932\": {\r\n        text: \"general.scenes.duo_C.guide.5.iframe1\",\r\n      },\r\n    },\r\n    6: {\r\n      iframe: true,\r\n      \"fbddf626-d9d1-426e-a770-ea734940c413\": {\r\n        text: \"general.scenes.duo_C.guide.6.iframe1\",\r\n      },\r\n    },\r\n  },\r\n  surfaceLaptopGo_A: {\r\n    0: {\r\n      text: \"general.scenes.surfaceLaptopGo_A.guide.0\",\r\n    },\r\n    1: {\r\n      iframe: true,\r\n      firstScreen: {\r\n        //\"65b98250-51db-4f03-acf4-9cfc07ebf2a1\": {\r\n        text: \"general.scenes.surfaceLaptopGo_A.guide.1.iframe1\",\r\n      },\r\n      \"5dfe36e5-1054-4355-9bd3-830e601f5005\": {\r\n        text: \"general.scenes.surfaceLaptopGo_A.guide.1.iframe2\",\r\n      },\r\n    },\r\n    2: {\r\n      iframe: true,\r\n      firstScreen: {\r\n        //\"a4ad5169-67a7-45fd-93f1-2516c478060b\": {\r\n        text: \"general.scenes.surfaceLaptopGo_A.guide.2.iframe1\",\r\n      },\r\n      \"77ae2153-208e-484d-bd64-d41d87c12eb8\": {\r\n        text: \"general.scenes.surfaceLaptopGo_A.guide.2.iframe2\",\r\n      },\r\n      \"fa23b0e2-2463-457f-a725-2dbf987b76ce\": {\r\n        text: \"general.scenes.surfaceLaptopGo_A.guide.2.iframe3\",\r\n      },\r\n      \"4c797f87-d813-4839-8522-a82e9ceaca63\": {\r\n        text: \"general.scenes.surfaceLaptopGo_A.guide.2.iframe4\",\r\n      },\r\n    },\r\n  },\r\n  surfaceLaptopGo_B: {\r\n    0: {\r\n      text: \"general.scenes.surfaceLaptopGo_B.guide.0\",\r\n    },\r\n  },\r\n};\r\n","import { createStore } from \"vuex\";\r\n\r\nexport const store = createStore({\r\n  state: {\r\n    quality: \"md\",\r\n    qualityLevel: {\r\n      sd: 1.5,\r\n      md: 1,\r\n      hd: 0.5,\r\n    },\r\n    qualityLevelLimit: {\r\n      sd: 1.25,\r\n      md: 1,\r\n      hd: 0.75,\r\n    },\r\n    activeDevices: {\r\n      spro9: true,\r\n      spro10: true,\r\n      spro11: true,\r\n      spro8: true,\r\n      sprox: true,\r\n      sgo3: true,\r\n      // New change for 9/21 ----\r\n      sgo4: true,\r\n      // ----\r\n      slaptop7: true,\r\n      slaptop5: true,\r\n      slaptop6: true,\r\n      slaptop4: true,\r\n      // New change for 9/21 ----\r\n      slaptops2: true,\r\n      // ----\r\n      slaptops: true,\r\n      // New change for 9/21 ----\r\n      slaptopgo3: true,\r\n      // ----\r\n      slaptopgo: true,\r\n      sduo2: true,\r\n      sstudio2: true,\r\n      shub385: true,\r\n      shub350: true,\r\n      shub2s: true,\r\n      shubs: true,\r\n      shead2: true,\r\n      sproFlexKeyboard: true,\r\n      sear: true,\r\n    },\r\n    focusedDevice: null,\r\n    shareUrl: \"\",\r\n    isFamilyExplorer: false,\r\n    isFeedBackOpen: false,\r\n    pageIndex: 0,\r\n    pageIndexTotal: 0,\r\n    actualLang: \"\",\r\n    avoidDoubleClick: false,\r\n    meshOverlay: {\r\n      items: {},\r\n      itemsPos: {},\r\n    },\r\n    meshOverlayHidden: false,\r\n    isMenuOpen: null,\r\n    isFilterOpen: false,\r\n    loaderIsShowing: true,\r\n    loadedPercent: 0,\r\n    tooltip: \"\",\r\n    isEndingSidebarTransitioning: false,\r\n    surfaceLaptop_A_SwipeID: 0,\r\n    famExpBreadcrumbs: [],\r\n    camDeg: 160,\r\n    camBeta: 1.3,\r\n    showDev: false,\r\n    currentTooltip: \"\",\r\n    famExpCurrentPosture: \"laptop\",\r\n    famExpCurrentModel: \"\",\r\n    famExpDeviceLoading: \"\",\r\n    famExpDeviceLoadingLabel: \"\",\r\n    IFrameStep: 0,\r\n    currentScenario: {\r\n      navDirection: \"forward\",\r\n      guideId: \"\",\r\n      guideIsShowing: true,\r\n      activeIframeData: {\r\n        title: \"\",\r\n        sectionId: null,\r\n        screenId: null,\r\n      },\r\n      iFrameIndexes: {},\r\n    },\r\n    windowSize: {\r\n      w: 0,\r\n      h: 0,\r\n      aspectRatio: 0,\r\n      readableRatio: \"wide\",\r\n    },\r\n    currentBrowser: null,\r\n  },\r\n  getters: {\r\n    pageIndex: state => {\r\n      return state.pageIndex;\r\n    },\r\n    actualLang: state => {\r\n      return state.actualLang;\r\n    },\r\n    avoidDoubleClick: state => {\r\n      return state.avoidDoubleClick;\r\n    },\r\n    IFrameStep: state => {\r\n      return state.IFrameStep;\r\n    },\r\n    isFeedBackOpen: state => {\r\n      return state.isFeedBackOpen;\r\n    },\r\n    currentSlideNumber: state => {\r\n      let curSlide = state.pageIndex + 1;\r\n      Object.keys(state.currentScenario.iFrameIndexes).forEach(key => {\r\n        Object.keys(state.currentScenario.iFrameIndexes[key]).forEach(\r\n          iframeData => {\r\n            curSlide +=\r\n              state.currentScenario.iFrameIndexes?.[key]?.[iframeData]\r\n                .currentIndex;\r\n          }\r\n        );\r\n      });\r\n      return curSlide;\r\n    },\r\n    totalSlides: state => {\r\n      let total = state.pageIndexTotal;\r\n      Object.keys(state.currentScenario.iFrameIndexes).forEach(key => {\r\n        Object.keys(state.currentScenario.iFrameIndexes[key]).forEach(\r\n          iframeData => {\r\n            total +=\r\n              state.currentScenario.iFrameIndexes?.[key]?.[iframeData]\r\n                .screenCount - 1;\r\n          }\r\n        );\r\n      });\r\n      return total;\r\n    },\r\n  },\r\n  mutations: {\r\n    updateDevices(state, data) {\r\n      if (data) {\r\n        state.activeDevices[data.id] = data.value;\r\n      }\r\n      let keys = Object.keys(state.activeDevices).filter(\r\n        k => state.activeDevices[k] === true\r\n      );\r\n      state.shareUrl = `${window.location.origin}/#/?filter=${keys.join()}`;\r\n    },\r\n    setDevices(state, devices) {\r\n      Object.keys(state.activeDevices).forEach(key => {\r\n        if (devices.includes(key)) {\r\n          state.activeDevices[key] = true;\r\n        } else {\r\n          state.activeDevices[key] = false;\r\n        }\r\n      });\r\n    },\r\n    updateShowDev(state, bool) {\r\n      state.showDev = bool;\r\n    },\r\n    updateActualLang(state, string) {\r\n      state.actualLang = string;\r\n    },\r\n    updateIFrameStep(state, index) {\r\n      state.IFrameStep = index;\r\n    },\r\n    updateiFrameIndexesOnLoad(state, data) {\r\n      if (!state.currentScenario.iFrameIndexes[data.title]) {\r\n        state.currentScenario.iFrameIndexes[data.title] = {};\r\n      }\r\n      state.currentScenario.iFrameIndexes[data.title][data.index] = {\r\n        screenCount: data.section.screenCount,\r\n        currentIndex: 0,\r\n      };\r\n    },\r\n    resetiFrameIndexes(state) {\r\n      state.currentScenario.iFrameIndexes = {};\r\n    },\r\n    updateiFrameIndexesOnNav(state, data) {\r\n      state.currentScenario.iFrameIndexes[data.title][\r\n        data.sectionIndex\r\n      ].currentIndex = data.screenIndex;\r\n      state.currentScenario.activeIframeData.screenId = data.screenId;\r\n    },\r\n    resetActiveIframeData(state) {\r\n      state.currentScenario.activeIframeData = {\r\n        title: \"\",\r\n        sectionId: null,\r\n        screenId: null,\r\n      };\r\n    },\r\n    updateActiveIframeData(state, data) {\r\n      const { title, sectionId, screenId } = data;\r\n      state.currentScenario.activeIframeData = { title, sectionId, screenId };\r\n    },\r\n    updatePageIndexTotal(state, total) {\r\n      state.pageIndexTotal = total;\r\n    },\r\n    reset(state) {\r\n      state.pageIndex = 0;\r\n      state.meshOverlay.items = {};\r\n    },\r\n    next(state) {\r\n      state.pageIndex++;\r\n    },\r\n    prev(state) {\r\n      state.pageIndex--;\r\n    },\r\n    updateCurScenarioGuideShowing(state, bool) {\r\n      state.currentScenario.guideIsShowing = bool;\r\n    },\r\n    updateCurScenarioGuideId(state, id) {\r\n      state.currentScenario.guideId = id;\r\n    },\r\n    updateIsFamilyExplorer(state, bool) {\r\n      state.isFamilyExplorer = bool;\r\n    },\r\n    updateAvoidDoubleClick(state, bool) {\r\n      state.avoidDoubleClick = bool;\r\n    },\r\n    meshOverlayUpdateItemsPos(state, itemPositions) {\r\n      state.meshOverlay.itemsPos = itemPositions;\r\n    },\r\n    meshOverlayUpdateItem(state, payload) {\r\n      const key = payload.id;\r\n      const { position, type, data } = payload;\r\n      state.meshOverlay.items[key] = {\r\n        id: key,\r\n        type,\r\n        position,\r\n        data,\r\n        ...state.meshOverlay.items[key],\r\n      };\r\n    },\r\n    meshOverlayUpdateItems(state, items) {\r\n      state.meshOverlay.items = items;\r\n    },\r\n    meshOverlayResetItems(state) {\r\n      state.meshOverlay.items = {};\r\n    },\r\n    meshOverlaySelectItem(state, payload) {\r\n      const key = payload.id;\r\n      if (state.tooltip === key) {\r\n        state.tooltip = \"\";\r\n      } else {\r\n        state.tooltip = key;\r\n      }\r\n    },\r\n    updateIsMenuOpen(state, bool) {\r\n      state.isMenuOpen = bool;\r\n    },\r\n    updateFilterOpen(state, bool) {\r\n      state.isFilterOpen = bool;\r\n    },\r\n    updateLoaderIsShowing(state, bool) {\r\n      state.loaderIsShowing = bool;\r\n    },\r\n    updateIsEndingSidebarTransitioning(state, bool) {\r\n      state.isEndingSidebarTransitioning = bool;\r\n    },\r\n    updateSurfaceLaptop_A_SwipeID(state, num) {\r\n      state.surfaceLaptop_A_SwipeID = num;\r\n    },\r\n    addFamExpBreadcrumb(state, tooltipId) {\r\n      if (!state.famExpBreadcrumbs.includes(tooltipId)) {\r\n        state.famExpBreadcrumbs.push(tooltipId);\r\n      }\r\n    },\r\n    resetFamExpBreadcrumbs(state) {\r\n      state.famExpBreadcrumbs = [];\r\n    },\r\n    updateCam(state, cam) {\r\n      state.camDeg = cam.deg;\r\n      state.camBeta = cam.beta;\r\n    },\r\n    updateCurrentTooltip(state, tooltipId) {\r\n      state.currentTooltip = tooltipId;\r\n      if (!state.famExpBreadcrumbs.includes(tooltipId)) {\r\n        state.famExpBreadcrumbs.push(tooltipId);\r\n      }\r\n    },\r\n    updateFamExpCurrentPosture(state, posture) {\r\n      state.famExpCurrentPosture = posture;\r\n    },\r\n    updateFamExpCurrentModel(state, model) {\r\n      state.famExpCurrentModel = model;\r\n    },\r\n    updateFamExpDeviceLoading(state, deviceName) {\r\n      state.famExpDeviceLoading = deviceName;\r\n    },\r\n    updateFamExpDeviceLoadingLabel(state, deviceName) {\r\n      state.famExpDeviceLoadingLabel = deviceName;\r\n    },\r\n    setQuality(state, quality) {\r\n      state.quality = quality;\r\n    },\r\n    updateMeshOverlayHidden(state, bool) {\r\n      state.meshOverlayHidden = bool;\r\n    },\r\n    windowSize(state, obj) {\r\n      state.windowSize = obj;\r\n    },\r\n    updateFeedBack(state, open) {\r\n      state.isFeedBackOpen = open;\r\n    },\r\n    updateCurrentBrowser(state, browserName) {\r\n      state.currentBrowser = browserName;\r\n    },\r\n    updateFocusedDevice(state, deviceCode) {\r\n      if (deviceCode) {\r\n        state.focusedDevice = deviceCode;\r\n      } else {\r\n        state.focusedDevice = null;\r\n      }\r\n    },\r\n    updateCurrentNavDirection(state, str) {\r\n      state.currentScenario.navDirection = str;\r\n    },\r\n  },\r\n  actions: {\r\n    updateCurrentTooltip({ commit }, tooltipId) {\r\n      commit(\"updateCurrentTooltip\", tooltipId);\r\n      commit(\"addFamExpBreadcrumb\", tooltipId);\r\n    },\r\n    next({ commit }) {\r\n      commit(\"next\");\r\n      // saving for deeper navigation, add direction as param\r\n      //   commit(\"updateCurrentNavDirection\", direction ? direction : \"forward\");\r\n    },\r\n    prev({ commit }) {\r\n      commit(\"prev\");\r\n      // saving for deeper navigation, add direction as param\r\n      //   console.log(direction);\r\n      //   commit(\"updateCurrentNavDirection\", direction ? direction : \"back\");\r\n    },\r\n    windowSize({ commit }) {\r\n      let windowSizeObj = {};\r\n      windowSizeObj.w = window.innerWidth;\r\n      windowSizeObj.h = window.innerHeight;\r\n      windowSizeObj.aspectRatio = windowSizeObj.w / windowSizeObj.h;\r\n      if (windowSizeObj.aspectRatio > 0) {\r\n        if (windowSizeObj.aspectRatio < 1.7) {\r\n          windowSizeObj.readableRatio = \"standard\";\r\n        } else if (\r\n          windowSizeObj.aspectRatio >= 1.7 &&\r\n          windowSizeObj.aspectRatio < 2.1\r\n        ) {\r\n          windowSizeObj.readableRatio = \"wide\";\r\n        } else if (windowSizeObj.aspectRatio >= 2.1) {\r\n          windowSizeObj.readableRatio = \"ultrawide\";\r\n        }\r\n      }\r\n      commit(\"windowSize\", windowSizeObj);\r\n    },\r\n    updateCurrentBrowser({ commit }) {\r\n      let browserName = \"\";\r\n      if (navigator.vendor.match(/google/i)) {\r\n        browserName = \"chrome/blink\";\r\n      } else if (navigator.vendor.match(/apple/i)) {\r\n        browserName = \"safari/webkit\";\r\n      } else if (navigator.userAgent.match(/firefox\\//i)) {\r\n        browserName = \"firefox/gecko\";\r\n      } else if (navigator.userAgent.match(/edge\\//i)) {\r\n        browserName = \"edge/edgehtml\";\r\n      } else if (navigator.userAgent.match(/trident\\//i)) {\r\n        browserName = \"ie/trident\";\r\n      } else {\r\n        browserName = navigator.userAgent + \"\\n\" + navigator.vendor;\r\n      }\r\n      commit(\"updateCurrentBrowser\", browserName);\r\n    },\r\n  },\r\n});\r\n","import { getCurrentInstance } from \"vue\";\r\n\r\nexport default function useEmitter() {\r\n  const internalInstance = getCurrentInstance();\r\n  const emitter = internalInstance.appContext.config.globalProperties.emitter;\r\n\r\n  return emitter;\r\n}\r\n","// This is in a seperate file so Vue and external js\r\n// files can both access the same mitt instance\r\nimport mitt from \"mitt\";\r\nexport const emitter = mitt();\r\n","<template>\r\n  <div class=\"app\" :class=\"$i18n.locale\">\r\n    <div v-if=\"updateExists && isProductionUrl\" class=\"app__updateNotification\">\r\n      {{ $t(\"general.update\") }}\r\n      <button @click=\"refreshApp\">{{ $t(\"general.updatePage\") }}</button>\r\n    </div>\r\n    <header>\r\n      <!-- <transition name=\"quick-fade\">\r\n        <GuideToggle\r\n          v-show=\"\r\n            (!$store.state.loaderIsShowing && $store.state.isFamilyExplorer) ||\r\n              (!$store.state.isFamilyExplorer && $store.state.pageIndex > 0)\r\n          \"\r\n        />\r\n      </transition> -->\r\n      <transition name=\"quick-fade\">\r\n        <Guide v-show=\"!$store.state.loaderIsShowing\" />\r\n      </transition>\r\n      <transition name=\"quick-fade\">\r\n        <SettingsDrawer\r\n          v-show=\"\r\n            (!$store.state.loaderIsShowing && $store.state.isFamilyExplorer) ||\r\n              (!$store.state.isFamilyExplorer && $store.state.pageIndex > 0)\r\n          \"\r\n        />\r\n      </transition>\r\n      <Menu />\r\n    </header>\r\n    <main>\r\n      <router-view />\r\n      <cookie-banner></cookie-banner>\r\n      <AppOverlay />\r\n      <FeedBack :isOpen=\"openFeedBack\" v-if=\"$store.state.isFeedBackOpen\" />\r\n      <MainMenu v-show=\"!$store.state.loaderIsShowing\" />\r\n    </main>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { computed, onBeforeUnmount, onMounted, nextTick } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport _ from \"lodash\";\r\nimport useEmitter from \"@/js/composables/useEmitter\";\r\nimport update from \"@/mixins/update\";\r\nimport Menu from \"@/components/Menu.vue\";\r\nimport MainMenu from \"@/components/MainMenu.vue\";\r\nimport AppOverlay from \"@/components/AppOverlay.vue\";\r\nimport SettingsDrawer from \"@/components/SettingsDrawer.vue\";\r\nimport FeedBack from \"@/components/FeedBack.vue\";\r\n// import GuideToggle from \"@/components/GuideToggle\";\r\nimport Guide from \"@/components/Guide\";\r\n\r\nexport default {\r\n  mixins: [update],\r\n  components: {\r\n    Menu,\r\n    AppOverlay,\r\n    SettingsDrawer,\r\n    FeedBack,\r\n    // GuideToggle,\r\n    Guide,\r\n    MainMenu,\r\n  },\r\n  setup() {\r\n    const store = useStore();\r\n    const emitter = useEmitter();\r\n\r\n    const openFeedBack = computed(() => {\r\n      return store.state.isFeedBackOpen;\r\n    });\r\n    const isProductionUrl = computed(() => {\r\n      return (\r\n        window?.location?.host !== \"exploresurface.com\" ||\r\n        window?.location?.host !== \"explore-surface.vercel.app\"\r\n      );\r\n    });\r\n\r\n    function onResize() {\r\n      store.dispatch(\"windowSize\");\r\n      emitter.emit(\"globalResize\");\r\n      //   console.log((window.innerHeight / window.innerWidth) * 1000);\r\n    }\r\n\r\n    onMounted(() => {\r\n      nextTick(() => {\r\n        onResize();\r\n        window.addEventListener(\"resize\", _.debounce(onResize, 10));\r\n        store.dispatch(\"updateCurrentBrowser\");\r\n        let urlParams = new URLSearchParams(\r\n          window.location.hash.substring(window.location.hash.indexOf(\"?\"))\r\n        );\r\n        if (urlParams.has(\"filter\")) {\r\n          let enabledParams = urlParams.get(\"filter\").split(\",\");\r\n          store.commit(\"setDevices\", enabledParams);\r\n          console.log(enabledParams);\r\n        }\r\n      });\r\n    });\r\n    onBeforeUnmount(() => {\r\n      window.removeEventListener(\"resize\", _.debounce(onResize, 10));\r\n    });\r\n    return { onResize, openFeedBack, store, isProductionUrl };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n@import \"@/styles/main.scss\";\r\n</style>\r\n\r\n<style lang=\"scss\" scoped>\r\n.app {\r\n  &__updateNotification {\r\n    position: absolute;\r\n    z-index: 10000;\r\n    bottom: 15px;\r\n    right: 15px;\r\n    padding: 35px;\r\n    background: grey;\r\n  }\r\n}\r\n</style>\r\n\r\n<style lang=\"scss\">\r\nhtml,\r\nbody {\r\n  height: 100%;\r\n  margin: 0;\r\n  overflow: hidden;\r\n  scroll-behavior: smooth;\r\n}\r\n@include ms-font-face(\"Segoe UI\", \"segoeui-westeuropean\");\r\n#app {\r\n  font-family: \"Segoe UI\", Arial, sans-serif;\r\n  -webkit-font-smoothing: antialiased;\r\n  -moz-osx-font-smoothing: grayscale;\r\n  color: black;\r\n  height: 100%;\r\n  background: #e6e6e6;\r\n}\r\n#nav {\r\n  padding: 0;\r\n  a {\r\n    font-weight: bold;\r\n    color: #2c3e50;\r\n    &.router-link-exact-active {\r\n      color: #42b983;\r\n    }\r\n  }\r\n}\r\nbutton {\r\n  font-family: \"Segoe UI\", Arial, sans-serif;\r\n}\r\n\r\n.surface-business-ui-container {\r\n  position: absolute;\r\n  left: 0px;\r\n  width: 100vw;\r\n  height: var(--height-minus-footer-nav);\r\n  @include breakpoint(\"tablet\") {\r\n    height: calc(98vh - 55px);\r\n  }\r\n  display: flex;\r\n  align-items: center;\r\n  z-index: 20;\r\n  display: flex;\r\n  flex-direction: column;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n}\r\n</style>\r\n","export default {\r\n  data() {\r\n    return {\r\n      // refresh variables\r\n      refreshing: false,\r\n      registration: null,\r\n      updateExists: false,\r\n    };\r\n  },\r\n\r\n  created() {\r\n    // Listen for our custom event from the SW registration\r\n    document.addEventListener(\"swUpdated\", this.updateAvailable, {\r\n      once: true,\r\n    });\r\n\r\n    // Prevent multiple refreshes\r\n    navigator.serviceWorker.addEventListener(\"controllerchange\", () => {\r\n      if (this.refreshing) return;\r\n      this.refreshing = true;\r\n      // Here the actual reload of the page occurs\r\n      window.location.reload();\r\n    });\r\n  },\r\n\r\n  methods: {\r\n    // Store the SW registration so we can send it a message\r\n    // We use `updateExists` to control whatever alert, toast, dialog, etc we want to use\r\n    // To alert the user there is an update they need to refresh for\r\n    updateAvailable(event) {\r\n      this.registration = event.detail;\r\n      this.updateExists = true;\r\n    },\r\n\r\n    // Called when the user accepts the update\r\n    refreshApp() {\r\n      this.updateExists = false;\r\n      // Make sure we only send a 'skip waiting' message if the SW is waiting\r\n      if (!this.registration || !this.registration.waiting) return;\r\n      // send message to SW to skip the waiting and activate the new SW\r\n      this.registration.waiting.postMessage({ type: \"SKIP_WAITING\" });\r\n    },\r\n  },\r\n};\r\n","<template>\r\n  <FocusTrap ref=\"focusTrapRef\" :intial-focus=\"() => $refs.menuCloseBtn\">\r\n    <div class=\"menu\" :class=\"{ 'menu--chaningRoutes': changingRoutes }\">\r\n      <!-- v-if=\"route.name !== 'Home'\" -->\r\n      <button\r\n        :class=\"{\r\n          'menu__button--hidden':\r\n            isEndingSidebarTransitioning || loaderIsShowing,\r\n        }\"\r\n        class=\"menu__button\"\r\n        @click=\"$store.commit('updateIsMenuOpen', true)\"\r\n        :aria-label=\"$t('accessibility.openMenu')\"\r\n        :tabindex=\"$store.state.isMenuOpen ? -1 : 0\"\r\n      >\r\n        <div v-for=\"i in 3\" :key=\"`line${i}`\"></div>\r\n      </button>\r\n      <transition name=\"menu-slideout\">\r\n        <div v-show=\"menuIsOpen\" class=\"menu__content\">\r\n          <button\r\n            class=\"menu__close\"\r\n            @click=\"$store.commit('updateIsMenuOpen', false)\"\r\n            :aria-label=\"$t('accessibility.closeMenu')\"\r\n            tabindex=\"0\"\r\n            ref=\"menuCloseBtn\"\r\n          >\r\n            <img\r\n              src=\"@/assets/close-x.svg\"\r\n              v-bind:alt=\"$t('accessibility.closeMenu')\"\r\n            />\r\n          </button>\r\n          <div class=\"home-btn\">\r\n            <MenuLink\r\n              :link=\"homeRoute\"\r\n              :current-path=\"route.path\"\r\n              aria=\"\"\r\n              @close-menu=\"closeMenu\"\r\n            >\r\n              {{ $t(homeRoute.displayName) }}\r\n            </MenuLink>\r\n          </div>\r\n          <div class=\"menu__content-inner custom-scrollbar\">\r\n            <div\r\n              v-for=\"(category, categoryIndex) in menuRoutes\"\r\n              :key=\"`category${categoryIndex}`\"\r\n              style=\"width: 100%\"\r\n            >\r\n              <MenuCollapse\r\n                :isOpen=\"selectedCategory === category.name\"\r\n                :item=\"category\"\r\n                :index=\"categoryIndex\"\r\n                @button-click=\"\r\n                  val => {\r\n                    selectedCategory == val\r\n                      ? (selectedCategory = null)\r\n                      : (selectedCategory = val);\r\n                    selectedDevice = null;\r\n                  }\r\n                \"\r\n                :aria=\"\r\n                  $t('accessibility.openDeviceMenu', {\r\n                    device: $t(category.displayName),\r\n                  })\r\n                \"\r\n                :padBottom=\"!category.hasNestedCollapse\"\r\n              >\r\n                <div v-if=\"category.children\">\r\n                  <div\r\n                    v-for=\"(device, deviceIndex) in category.children\"\r\n                    :key=\"`device${deviceIndex}`\"\r\n                  >\r\n                    <MenuLink\r\n                      v-if=\"device.path\"\r\n                      :link=\"device\"\r\n                      :current-path=\"route.path\"\r\n                      @close-menu=\"closeMenu\"\r\n                      :parent=\"device\"\r\n                      :aria=\"\r\n                        category.comingSoon\r\n                          ? 'Coming soon'\r\n                          : $t(device.aria, {\r\n                              device: $t(category.displayName),\r\n                              scenario: $t(device.displayName),\r\n                            })\r\n                      \"\r\n                      :animateIn=\"!menuIsOpening\"\r\n                      :isExternal=\"device.isExternal\"\r\n                      :isNewLink=\"device.isNewLink\"\r\n                    >\r\n                      {{ $t(device.displayName) }}\r\n                    </MenuLink>\r\n\r\n                    <MenuCollapse\r\n                      v-else\r\n                      :isOpen=\"selectedDevice === device.name\"\r\n                      :item=\"device\"\r\n                      :index=\"deviceIndex\"\r\n                      :isEnabled=\"device.deviceEnabled\"\r\n                      @button-click=\"\r\n                        val => {\r\n                          selectedDevice == val\r\n                            ? (selectedDevice = null)\r\n                            : (selectedDevice = val);\r\n                        }\r\n                      \"\r\n                      :aria=\"\r\n                        $t('accessibility.openDeviceMenu', {\r\n                          device: $t(device.displayName),\r\n                        })\r\n                      \"\r\n                      :animateIn=\"!menuIsOpening\"\r\n                      :padBottom=\"!device.hasNestedCollapse\"\r\n                      isNested\r\n                      :isLast=\"deviceIndex === category.children.length - 1\"\r\n                    >\r\n                      <div v-if=\"device.children\">\r\n                        <div\r\n                          v-for=\"(link, linkIndex) in device.children\"\r\n                          :key=\"`link${linkIndex}`\"\r\n                        >\r\n                          <MenuLink\r\n                            v-if=\"link.path\"\r\n                            :link=\"link\"\r\n                            :current-path=\"route.path\"\r\n                            :aria=\"\r\n                              device.comingSoon\r\n                                ? 'Coming soon'\r\n                                : $t(link.aria, {\r\n                                    device: $t(device.displayName),\r\n                                    scenario: $t(link.displayName),\r\n                                  })\r\n                            \"\r\n                            @close-menu=\"closeMenu\"\r\n                            :parent=\"device\"\r\n                            :animateIn=\"!menuIsOpening\"\r\n                            :isExternal=\"device.isExternal\"\r\n                          >\r\n                            {{\r\n                              device.comingSoon\r\n                                ? \"Coming soon\"\r\n                                : $t(link.displayName)\r\n                            }}\r\n                          </MenuLink>\r\n                        </div>\r\n                      </div>\r\n                    </MenuCollapse>\r\n                  </div>\r\n                </div>\r\n              </MenuCollapse>\r\n            </div>\r\n            <div style=\"width: 100%\">\r\n              <MenuCollapse\r\n                :isOpen=\"selectedCategory === calcRoute.name\"\r\n                :item=\"calcRoute\"\r\n                :padBottom=\"!calcRoute.hasNestedCollapse\"\r\n                @button-click=\"\r\n                  val => {\r\n                    selectedCategory == val\r\n                      ? (selectedCategory = null)\r\n                      : (selectedCategory = val);\r\n                    selectedDevice = null;\r\n                  }\r\n                \"\r\n              >\r\n                <div\r\n                  v-for=\"(link, linkIndex) in calcRoute.children\"\r\n                  :key=\"`link${linkIndex}`\"\r\n                >\r\n                  <MenuLink isExternal :link=\"link\" :animateIn=\"!menuIsOpening\">\r\n                    {{ link.displayName }}\r\n                  </MenuLink>\r\n                </div>\r\n              </MenuCollapse>\r\n            </div>\r\n          </div>\r\n\r\n          <StarRating class=\"anim_start_rating\" />\r\n        </div>\r\n      </transition>\r\n      <div class=\"menu__fade\"></div>\r\n    </div>\r\n  </FocusTrap>\r\n</template>\r\n\r\n<script>\r\nimport { ref, computed, watch, onMounted } from \"vue\";\r\nimport { useRouter, useRoute } from \"vue-router\";\r\nimport { store } from \"@/data/store.js\";\r\nimport anime from \"animejs\";\r\nimport { FocusTrap } from \"focus-trap-vue\";\r\nimport StarRating from \"@/components/StarRating.vue\";\r\nimport useEmitter from \"@/js/composables/useEmitter\";\r\nimport MenuLink from \"@/components/common/MenuLink\";\r\nimport MenuCollapse from \"@/components/common/MenuCollapse\";\r\n\r\nexport default {\r\n  components: {\r\n    FocusTrap,\r\n    StarRating,\r\n    MenuLink,\r\n    MenuCollapse,\r\n  },\r\n  setup() {\r\n    const router = useRouter();\r\n    const route = useRoute();\r\n    const emitter = useEmitter();\r\n    const selectedCategory = ref(\"\");\r\n    const selectedDevice = ref(null);\r\n    const selectedDeviceLabel = ref(null);\r\n    const menuIsOpening = ref(false);\r\n    const changingRoutes = ref(false);\r\n    const stars = ref([1, 2, 3, 4, 5]);\r\n    const star_selected = ref(localStorage.getItem(\"starRating\") || 0);\r\n    const star_hover = ref(0);\r\n    const focusTrapRef = ref(null);\r\n\r\n    const homeRoute = ref({\r\n      name: \"Home\",\r\n      displayName: \"general.menu.home\",\r\n      path: `/${store.state.actualLang}`,\r\n      familyExplorer: true,\r\n    });\r\n    const calcRoute = ref({\r\n      name: \"Calculators\",\r\n      displayName: \"Calculators\",\r\n      path: null,\r\n      children: [\r\n        {\r\n          path: `${process.env.VUE_APP_TCO_CALCULATOR_URL}`,\r\n          name: \"TCO\",\r\n          displayName: \"Total Cost of Ownership (TCO) Calculator\",\r\n          aria: \"TCO\",\r\n          isNewLink: true,\r\n        },\r\n        {\r\n          path: `${process.env.VUE_APP_SUS_ESTIMATOR_URL}`,\r\n          name: \"SEE\",\r\n          displayName: \"Emissions Estimator (Sustainability)\",\r\n          aria: \"SEE\",\r\n          isNewLink: true,\r\n        },\r\n      ],\r\n    });\r\n    const menuRoutes = ref([\r\n      {\r\n        name: \"2-in-1 Tablets\",\r\n        displayName: \"general.menu.category.twoInOneTablets\",\r\n        path: null,\r\n        // comingSoon: true,\r\n        hasNestedCollapse: true,\r\n        children: [\r\n          {\r\n            path: `/${store.state.actualLang}/device/pro11`,\r\n            name: \"Surface Pro\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.pro11.menuName\",\r\n            deviceEnabled: \"spro11\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/pro10`,\r\n            name: \"Surface Pro 10\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.pro10.name\",\r\n            deviceEnabled: \"spro10\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/pro9`,\r\n            name: \"Surface Pro 9\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.pro9.name\",\r\n            deviceEnabled: \"spro9\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/go4`,\r\n            name: \"Surface Go 4\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.go4.name\",\r\n            deviceEnabled: \"sgo4\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          // {\r\n          //   path: `/${store.state.actualLang}/device/go3`,\r\n          //   name: \"Surface Go 3\",\r\n          //   aria: \"accessibility.deviceExplorer\",\r\n          //   displayName: \"general.menu.go3.name\",\r\n          //   deviceEnabled: \"sgo3\",\r\n          //   familyExplorer: true,\r\n          //   isNewLink: true,\r\n          // },\r\n          // {\r\n          //   name: \"Surface Pro 9\",\r\n          //   displayName: \"general.menu.pro9.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"spro9\",\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/pro9`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/productivity-with-natural-inputs`,\r\n          //       name: \"Surface Pro 9\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.pro9.productivityNaturalInputs\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/stay-connected-with-5G`,\r\n          //       name: \"Surface Pro 9\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.pro9.stayConnected\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/performance-by-your-definition`,\r\n          //       name: \"Surface Pro 9\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.pro9.performanceByYourDef\",\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // New change for 9/21 ----\r\n          // // {\r\n          // //   name: \"Surface Pro 8\",\r\n          // //   displayName: \"general.menu.pro8.name\",\r\n          // //   path: null,\r\n          // //   deviceEnabled: \"spro8\",\r\n          // //   children: [\r\n          // //     {\r\n          // //       path: `/${store.state.actualLang}/device/pro8`,\r\n          // //       name: \"Explore this device\",\r\n          // //       aria: \"accessibility.deviceExplorer\",\r\n          // //       displayName: \"general.menu.explore\",\r\n          // //       familyExplorer: true,\r\n          // //     },\r\n          // //   ],\r\n          // // },\r\n\r\n          // // {\r\n          // //   name: \"Surface Pro X\",\r\n          // //   displayName: \"general.menu.proX.name\",\r\n          // //   path: null,\r\n          // //   deviceEnabled: \"sprox\",\r\n          // //   // comingSoon: true,\r\n          // //   children: [\r\n          // //     {\r\n          // //       path: `/${store.state.actualLang}/device/proX`,\r\n          // //       name: \"Explore this device\",\r\n          // //       aria: \"accessibility.deviceExplorer\",\r\n          // //       displayName: \"general.menu.explore\",\r\n          // //       familyExplorer: true,\r\n          // //     },\r\n          // //     // {\r\n          // //     //   path: `/${store.state.actualLang}/stay-connected`,\r\n          // //     //   name: \"Surface Pro X\",\r\n          // //     //   aria: \"accessibility.scenarioExplorer\",\r\n          // //     //   displayName: \"general.menu.proX.stayConnected\",\r\n          // //     // },\r\n          // //   ],\r\n          // // },\r\n          // // ----\r\n          // // New change for 9/21 ----\r\n          // {\r\n          //   name: \"Surface Go 4\",\r\n          //   displayName: \"general.menu.go4.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"sgo4\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/go4`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     // {\r\n          //     //   path: `/${store.state.actualLang}/productivity-and-inking`,\r\n          //     //   name: \"Productivity and inking\",\r\n          //     //   aria: \"accessibility.scenarioExplorer\",\r\n          //     //   displayName: \"general.menu.go3.actionNatural\",\r\n          //     // },\r\n          //     // {\r\n          //     //   path: `/${store.state.actualLang}/maps-on-the-go`,\r\n          //     //   name: \"Maps on the go\",\r\n          //     //   aria: \"accessibility.scenarioExplorer\",\r\n          //     //   displayName: \"general.menu.go3.actionMaps\",\r\n          //     // },\r\n          //     // {\r\n          //     //   path: `/${store.state.actualLang}/taking-a-picture`,\r\n          //     //   name: \"Taking a picture\",\r\n          //     //   aria: \"accessibility.scenarioExplorer\",\r\n          //     //   displayName: \"general.menu.go3.actionPicture\",\r\n          //     // },\r\n          //   ],\r\n          // },\r\n          // // ----\r\n          // {\r\n          //   name: \"Surface Go 3\",\r\n          //   displayName: \"general.menu.go3.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"sgo3\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/go3`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/productivity-and-inking`,\r\n          //       name: \"Productivity and inking\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.go3.actionNatural\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/maps-on-the-go`,\r\n          //       name: \"Maps on the go\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.go3.actionMaps\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/taking-a-picture`,\r\n          //       name: \"Taking a picture\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.go3.actionPicture\",\r\n          //     },\r\n          //   ],\r\n          // },\r\n        ],\r\n      },\r\n      {\r\n        name: \"Laptops\",\r\n        displayName: \"general.menu.category.laptops\",\r\n        path: null,\r\n        // comingSoon: true,\r\n        hasNestedCollapse: true,\r\n        children: [\r\n          {\r\n            path: `/${store.state.actualLang}/device/laptop7`,\r\n            name: \"Surface Laptop\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.laptop7.menuName\",\r\n            deviceEnabled: \"slaptop7\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/laptop6`,\r\n            name: \"Surface Laptop 6\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.laptop6.name\",\r\n            deviceEnabled: \"slaptop6\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/laptop5`,\r\n            name: \"Surface Laptop 5\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.laptop5.name\",\r\n            deviceEnabled: \"slaptop5\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          // {\r\n          //   path: `/${store.state.actualLang}/device/laptop4`,\r\n          //   name: \"Surface Laptop 4\",\r\n          //   aria: \"accessibility.deviceExplorer\",\r\n          //   displayName: \"general.menu.laptop4.name\",\r\n          //   deviceEnabled: \"slaptop4\",\r\n          //   familyExplorer: true,\r\n          //   isNewLink: true,\r\n          // },\r\n          {\r\n            path: `/${store.state.actualLang}/device/laptopStudio2`,\r\n            name: \"Surface Laptop Studio 2\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.laptopStudio2.name\",\r\n            deviceEnabled: \"slaptops2\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          // {\r\n          //   path: `/${store.state.actualLang}/device/laptopStudio`,\r\n          //   name: \"Surface Laptop Studio\",\r\n          //   aria: \"accessibility.deviceExplorer\",\r\n          //   displayName: \"general.menu.laptopStudio.name\",\r\n          //   deviceEnabled: \"slaptops\",\r\n          //   familyExplorer: true,\r\n          //   isNewLink: true,\r\n          // },\r\n          {\r\n            path: `/${store.state.actualLang}/device/laptopGo3`,\r\n            name: \"Surface Laptop Go 3\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.laptopGo3.name\",\r\n            deviceEnabled: \"slaptopgo3\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          // {\r\n          //   path: `/${store.state.actualLang}/device/laptopGo2`,\r\n          //   name: \"Surface Laptop Go 2\",\r\n          //   aria: \"accessibility.deviceExplorer\",\r\n          //   displayName: \"general.menu.laptopGo.name\",\r\n          //   deviceEnabled: \"slaptopgo\",\r\n          //   familyExplorer: true,\r\n          //   isNewLink: true,\r\n          // },\r\n          // {\r\n          //   name: \"Surface Laptop 5\",\r\n          //   displayName: \"general.menu.laptop5.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"slaptop5\",\r\n          //   // comingSoon: true,\r\n          //   // minHeight: \"136px\",\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/laptop5`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     // {\r\n          //     //   path: `/${store.state.actualLang}/lightweight-performance`,\r\n          //     //   name: \"Lightweight performance\",\r\n          //     //   aria: \"accessibility.scenarioExplorer\",\r\n          //     //   displayName: \"general.menu.laptop4.actionLightweight\",\r\n          //     // },\r\n          //     // {\r\n          //     //   path: `/${store.state.actualLang}/responsive-trackpad`,\r\n          //     //   name: \"Responsive trackpad\",\r\n          //     //   aria: \"accessibility.scenarioExplorer\",\r\n          //     //   displayName: \"general.menu.laptop4.actionTrackpad\",\r\n          //     // },\r\n          //     // {\r\n          //     //   path: `/${store.state.actualLang}/best-in-class-meetings`,\r\n          //     //   name: \"Best-in-class meeting\",\r\n          //     //   aria: \"accessibility.scenarioExplorer\",\r\n          //     //   displayName: \"general.menu.laptop4.actionMeetings\",\r\n          //     // },\r\n          //   ],\r\n          // },\r\n          // {\r\n          //   name: \"Surface Laptop 4\",\r\n          //   displayName: \"general.menu.laptop4.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"slaptop4\",\r\n          //   // comingSoon: true,\r\n          //   // minHeight: \"136px\",\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/laptop4`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/lightweight-performance`,\r\n          //       name: \"Lightweight performance\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptop4.actionLightweight\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/responsive-trackpad`,\r\n          //       name: \"Responsive trackpad\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptop4.actionTrackpad\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/best-in-class-meetings`,\r\n          //       name: \"Best-in-class meeting\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptop4.actionMeetings\",\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // New change for 9/21 ----\r\n          // {\r\n          //   name: \"Surface Laptop Studio 2\",\r\n          //   displayName: \"general.menu.laptopStudio2.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"slaptops2\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/laptopStudio2`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // ----\r\n          // {\r\n          //   name: \"Surface Laptop Studio\",\r\n          //   displayName: \"general.menu.laptopStudio.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"slaptops\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/laptopStudio`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/ideate-with-microsoft-whiteboard`,\r\n          //       name: \"Ideate with Microsoft Whiteboard\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptopStudio.ideateWithWiteboard\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/create-dynamic-presentations-with-powerPoint`,\r\n          //       name: \"Create dynamic presentations with PowerPoint\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptopStudio.createDynamicPPT\",\r\n          //       twoLines: true,\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // New change for 9/21 ----\r\n          // {\r\n          //   name: \"Surface Laptop Go 3\",\r\n          //   displayName: \"general.menu.laptopGo3.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"slaptopgo3\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/laptopGo3`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // ----\r\n          // {\r\n          //   name: \"Surface Laptop Go 2\",\r\n          //   displayName: \"general.menu.laptopGo.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"slaptopgo\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/laptopGo2`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/touchscreen-display`,\r\n          //       name: \"Touchscreen display\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptopGo.actionTouchscreen\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/desktop-on-the-go`,\r\n          //       name: \"Desktop on the go\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.laptopGo.actionDesktop\",\r\n          //     },\r\n          //   ],\r\n          // },\r\n        ],\r\n      },\r\n      // {\r\n      //   name: \"Dual Screen\",\r\n      //   displayName: \"general.menu.category.dualScreen\",\r\n      //   path: null,\r\n      //   // comingSoon: true,\r\n      //   hasNestedCollapse: true,\r\n      //   children: [\r\n      //     {\r\n      //       path: `/${store.state.actualLang}/device/duo2`,\r\n      //       name: \"Surface Duo 2\",\r\n      //       aria: \"accessibility.deviceExplorer\",\r\n      //       displayName: \"general.menu.duo.name\",\r\n      //       deviceEnabled: \"sduo2\",\r\n      //       familyExplorer: true,\r\n      //       isNewLink: true,\r\n      //     },\r\n      //     // {\r\n      //     //   name: \"Surface Duo 2\",\r\n      //     //   displayName: \"general.menu.duo.name\",\r\n      //     //   path: null,\r\n      //     //   deviceEnabled: \"sduo2\",\r\n      //     //   children: [\r\n      //     //     {\r\n      //     //       path: `/${store.state.actualLang}/device/duo2`,\r\n      //     //       name: \"Explore this device\",\r\n      //     //       aria: \"accessibility.deviceExplorer\",\r\n      //     //       displayName: \"general.menu.explore\",\r\n      //     //       familyExplorer: true,\r\n      //     //     },\r\n      //     //     {\r\n      //     //       path: `/${store.state.actualLang}/prepare-and-present-with-surface-duo-2`,\r\n      //     //       aria: \"accessibility.scenarioExplorer\",\r\n      //     //       name: \"Surface Duo A\",\r\n      //     //       displayName: \"general.menu.duo.duoA\",\r\n      //     //     },\r\n      //     //     {\r\n      //     //       path: `/${store.state.actualLang}/do-more-with-outlook-on-surface-duo-2`,\r\n      //     //       name: \"Surface Duo B\",\r\n      //     //       aria: \"accessibility.scenarioExplorer\",\r\n      //     //       displayName: \"general.menu.duo.duoB\",\r\n      //     //     },\r\n      //     //     {\r\n      //     //       path: `/${store.state.actualLang}/stay-in-the-know-even-when-its-closed`,\r\n      //     //       name: \"Surface Duo C\",\r\n      //     //       aria: \"accessibility.scenarioExplorer\",\r\n      //     //       displayName: \"general.menu.duo.duoC\",\r\n      //     //     },\r\n      //     //   ],\r\n      //     // },\r\n      //   ],\r\n      // },\r\n      {\r\n        name: \"Large Screens\",\r\n        displayName: \"general.menu.category.largeScreens\",\r\n        path: null,\r\n        // comingSoon: true,\r\n        hasNestedCollapse: true,\r\n        children: [\r\n          {\r\n            path: `/${store.state.actualLang}/device/studio2plus`,\r\n            name: \"Surface Studio 2+\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.studio2.name\",\r\n            deviceEnabled: \"sstudio2\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/hub3`,\r\n            name: \"Surface Hub 3\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.hubs3.name\",\r\n            deviceEnabled: \"shub385\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/hub2s`,\r\n            name: \"Surface Hub 2S\",\r\n            aria: \"accessibility.deviceExplorer\",\r\n            displayName: \"general.menu.hubs.name\",\r\n            deviceEnabled: \"shub2s\",\r\n            familyExplorer: true,\r\n            isNewLink: true,\r\n          },\r\n          // {\r\n          //   name: \"Surface Studio 2+\",\r\n          //   displayName: \"general.menu.studio2.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"sstudio2\",\r\n          //   // comingSoon: true,\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/studio2plus`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/creative-freedom`,\r\n          //       name: \"Creative freedom\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.studio2.actionFreedom\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/color-accuracy`,\r\n          //       name: \"Color accuracy\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.studio2.actionAccuracy\",\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // New change for 9/21 ----\r\n          // {\r\n          //   name: \"Surface Hub 3\",\r\n          //   displayName: \"general.menu.hubs3.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"shub385\",\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/hub3`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //   ],\r\n          // },\r\n          // // ----\r\n          // {\r\n          //   name: \"Surface Hub 2S\",\r\n          //   displayName: \"general.menu.hubs.name\",\r\n          //   path: null,\r\n          //   deviceEnabled: \"shub2s\",\r\n          //   children: [\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/device/hub2s`,\r\n          //       name: \"Explore this device\",\r\n          //       aria: \"accessibility.deviceExplorer\",\r\n          //       displayName: \"general.menu.explore\",\r\n          //       familyExplorer: true,\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/collaborate-anywhere`,\r\n          //       name: \"Collaborate anywhere\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.hubs.actionHubA\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/join-meetings-seamlessly`,\r\n          //       name: \"Join meetings seamlessly\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.hubs.actionHubB\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/multiscreen-meeting`,\r\n          //       name: \"Multiscreen meeting\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.hubs.actionHubC\",\r\n          //     },\r\n          //     {\r\n          //       path: `/${store.state.actualLang}/personal-office`,\r\n          //       name: \"Scenario D\",\r\n          //       aria: \"accessibility.scenarioExplorer\",\r\n          //       displayName: \"general.menu.hubs.actionHubD\",\r\n          //     },\r\n          //   ],\r\n          // },\r\n        ],\r\n      },\r\n      {\r\n        name: \"Surface accessories\",\r\n        displayName: \"general.menu.accessories.name\",\r\n        path: null,\r\n        // comingSoon: true,\r\n        children: [\r\n          {\r\n            path: `/${store.state.actualLang}/device/proFlexKeyboard`,\r\n            name: \"Explore Surface Pro Flex Keyboard\",\r\n            aria: \"general.menu.accessories.actionToba\",\r\n            displayName: \"general.menu.accessories.actionToba\",\r\n            familyExplorer: true,\r\n            deviceEnabled: \"sproFlexKeyboard\",\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/device/headphones`,\r\n            name: \"Explore Surface Headphones 2+\",\r\n            aria: \"general.menu.accessories.actionHeadphones\",\r\n            displayName: \"general.menu.accessories.actionHeadphones\",\r\n            familyExplorer: true,\r\n            deviceEnabled: \"shead2\",\r\n            isNewLink: true,\r\n          },\r\n          // {\r\n          //   path: `/${store.state.actualLang}/device/earbuds`,\r\n          //   name: \"Explore Surface Earbuds\",\r\n          //   aria: \"general.menu.accessories.actionEarbuds\",\r\n          //   displayName: \"general.menu.accessories.actionEarbuds\",\r\n          //   familyExplorer: true,\r\n          //   deviceEnabled: \"sear\",\r\n          //   isNewLink: true,\r\n          // },\r\n        ],\r\n      },\r\n      {\r\n        name: \"Security, management, and deployment\",\r\n        displayName: \"general.menu.management.name\",\r\n        path: null,\r\n        // comingSoon: true,\r\n        children: [\r\n          {\r\n            path: `/${store.state.actualLang}/autopilot-admin-experience`,\r\n            name: \"Autopilot admin experience\",\r\n            aria: \"accessibility.scenarioExplorer2\",\r\n            displayName: \"general.menu.management.actionAdmin\",\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `/${store.state.actualLang}/autopilot-user-experience`,\r\n            name: \"Autopilot user experience\",\r\n            aria: \"accessibility.scenarioExplorer2\",\r\n            displayName: \"general.menu.management.actionUser\",\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `https://aka.ms/SurfaceSSMPDemo`,\r\n            name: \"Surface Management Portal Interactive Guide\",\r\n            aria: \"\",\r\n            displayName: \"general.menu.management.managementPortal\",\r\n            isExternal: true,\r\n            isNewLink: true,\r\n          },\r\n          {\r\n            path: `https://aka.ms/SurfaceDFCIDemo`,\r\n            name: \"Surface Management Portal Interactive Guide\",\r\n            aria: \"\",\r\n            displayName: \"general.menu.management.firmwareConfig\",\r\n            isExternal: true,\r\n            isNewLink: true,\r\n          },\r\n        ],\r\n      },\r\n    ]);\r\n\r\n    watch(\r\n      () => route.path,\r\n      newVal => {\r\n        setSelectedDevice(newVal);\r\n        store.commit(\"updateFamExpDeviceLoading\", selectedDevice.value);\r\n        store.commit(\r\n          \"updateFamExpDeviceLoadingLabel\",\r\n          selectedDeviceLabel.value\r\n        );\r\n        store.commit(\"resetiFrameIndexes\");\r\n        store.commit(\"resetActiveIframeData\");\r\n      }\r\n    );\r\n\r\n    const menuIsOpen = computed(() => {\r\n      return store.state.isMenuOpen;\r\n    });\r\n\r\n    const loaderIsShowing = computed(() => {\r\n      return store.state.loaderIsShowing;\r\n    });\r\n\r\n    const isEndingSidebarTransitioning = computed(() => {\r\n      return store.state.isEndingSidebarTransitioning;\r\n    });\r\n\r\n    onMounted(() => {\r\n      setSelectedDevice(route.path);\r\n      focusTrapRef.value.deactivate();\r\n    });\r\n\r\n    function setSelectedDevice(path) {\r\n      switch (path) {\r\n        case `/${store.state.actualLang}`:\r\n          selectedCategory.value = \"\";\r\n          selectedDevice.value = \"Surface family explorer\";\r\n          selectedDeviceLabel.value = \"\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/pro11`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro\";\r\n          selectedDeviceLabel.value = \"general.menu.pro11.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/pro10`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro 10\";\r\n          selectedDeviceLabel.value = \"general.menu.pro10.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/pro9`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro 9\";\r\n          selectedDeviceLabel.value = \"general.menu.pro9.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/natural-inking-with-pro9`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro 9\";\r\n          selectedDeviceLabel.value = \"general.menu.pro9.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/performance-by-your-definition`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro 9\";\r\n          selectedDeviceLabel.value = \"general.menu.pro9.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/stay-connected-with-5g`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro 9\";\r\n          selectedDeviceLabel.value = \"general.menu.pro9.name\";\r\n          break;\r\n        // case `/${store.state.actualLang}/natural-inking-with-pro8`:\r\n        //   selectedCategory.value = \"2-in-1 Tablets\";\r\n        //   selectedDevice.value = \"Surface Pro 8\";\r\n        //   selectedDeviceLabel.value = \"general.menu.pro8.name\";\r\n        //   break;\r\n        // case `/${store.state.actualLang}/performance-by-your-definition`:\r\n        //   selectedCategory.value = \"2-in-1 Tablets\";\r\n        //   selectedDevice.value = \"Surface Pro 8\";\r\n        //   selectedDeviceLabel.value = \"general.menu.pro8.name\";\r\n        //   break;\r\n        case `/${store.state.actualLang}/device/pro8`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro 8\";\r\n          selectedDeviceLabel.value = \"general.menu.pro8.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/proX`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro X\";\r\n          selectedDeviceLabel.value = \"general.menu.proX.name\";\r\n          break;\r\n        // case `/${store.state.actualLang}/stay-connected-with-lte-advanced`:\r\n        //   selectedCategory.value = \"2-in-1 Tablets\";\r\n        //   selectedDevice.value = \"Surface Pro 9\";\r\n        //   selectedDeviceLabel.value = \"general.menu.pro9.name\";\r\n        //   break;\r\n        case `/${store.state.actualLang}/precision-note-taking`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Pro X\";\r\n          selectedDeviceLabel.value = \"general.menu.proX.name\";\r\n          break;\r\n        // New change for 9/21 ----\r\n        case `/${store.state.actualLang}/device/go4`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Go 4\";\r\n          selectedDeviceLabel.value = \"general.menu.go4.name\";\r\n          break;\r\n        // ----\r\n        case `/${store.state.actualLang}/device/go3`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Go 3\";\r\n          selectedDeviceLabel.value = \"general.menu.go3.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/natural-inking`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Go 3\";\r\n          selectedDeviceLabel.value = \"general.menu.go3.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/maps-on-the-go`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Go 3\";\r\n          selectedDeviceLabel.value = \"general.menu.go3.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/taking-a-picture`:\r\n          selectedCategory.value = \"2-in-1 Tablets\";\r\n          selectedDevice.value = \"Surface Go 3\";\r\n          selectedDeviceLabel.value = \"general.menu.go3.name\";\r\n          break;\r\n        // New change for 9/21 ----\r\n        case `/${store.state.actualLang}/device/laptopStudio2`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Studio 2\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopStudio2.name\";\r\n          break;\r\n        // ----\r\n        case `/${store.state.actualLang}/device/laptopStudio`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Studio\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopStudio.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/ideate-with-microsoft-whiteboard`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Studio\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopStudio.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/create-dynamic-presentations-with-powerPoint`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Studio\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopStudio.name\";\r\n          break;\r\n        // New change for 9/21 ----\r\n        case `/${store.state.actualLang}/device/laptopGo3`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Go 3\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopGo3.name\";\r\n          break;\r\n        // ----\r\n        case `/${store.state.actualLang}/device/laptopGo2`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Go 2\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopGo.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/touchscreen-display`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Go 2\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopGo.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/desktop-on-the-go`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop Go 2\";\r\n          selectedDeviceLabel.value = \"general.menu.laptopGo.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/laptop4`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop 4\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop4.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/laptop5`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop 5\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop5.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/laptop6`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop 6\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop6.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/laptop7`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop7.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/lightweight-performance`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop 4\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop4.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/responsive-trackpad`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop 4\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop4.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/best-in-class-meetings`:\r\n          selectedCategory.value = \"Laptops\";\r\n          selectedDevice.value = \"Surface Laptop 4\";\r\n          selectedDeviceLabel.value = \"general.menu.laptop4.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/duo2`:\r\n          selectedCategory.value = \"Dual Screen\";\r\n          selectedDevice.value = \"Surface Duo 2\";\r\n          selectedDeviceLabel.value = \"general.menu.duo.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/prepare-and-present-with-surface-duo-2`:\r\n          selectedCategory.value = \"Dual Screen\";\r\n          selectedDevice.value = \"Surface Duo 2\";\r\n          selectedDeviceLabel.value = \"general.menu.duo.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/do-more-with-outlook-on-surface-duo-2`:\r\n          selectedCategory.value = \"Dual Screen\";\r\n          selectedDevice.value = \"Surface Duo 2\";\r\n          selectedDeviceLabel.value = \"general.menu.duo.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/stay-in-the-know-even-when-its-closed`:\r\n          selectedCategory.value = \"Dual Screen\";\r\n          selectedDevice.value = \"Surface Duo 2\";\r\n          selectedDeviceLabel.value = \"general.menu.duo.name\";\r\n          break;\r\n        // New change for 9/21 ----\r\n        case `/${store.state.actualLang}/device/hub3`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Hub 3\";\r\n          selectedDeviceLabel.value = \"general.menu.hubs3.name\";\r\n          break;\r\n        // ----\r\n        case `/${store.state.actualLang}/device/hub2s`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Hub 2S\";\r\n          selectedDeviceLabel.value = \"general.menu.hubs.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/collaborate-anywhere`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Hub 2S\";\r\n          selectedDeviceLabel.value = \"general.menu.hubs.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/join-meetings-seamlessly`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Hub 2S\";\r\n          selectedDeviceLabel.value = \"general.menu.hubs.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/multiscreen-meeting`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Hub 2S\";\r\n          selectedDeviceLabel.value = \"general.menu.hubs.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/personal-office`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Hub 2S\";\r\n          selectedDeviceLabel.value = \"general.menu.hubs.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/studio2plus`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Studio 2+\";\r\n          selectedDeviceLabel.value = \"general.menu.studio2.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/creative-freedom`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Studio 2+\";\r\n          selectedDeviceLabel.value = \"general.menu.studio2.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/color-accuracy`:\r\n          selectedCategory.value = \"Large Screens\";\r\n          selectedDevice.value = \"Surface Studio 2+\";\r\n          selectedDeviceLabel.value = \"general.menu.studio2.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/autopilot-user-experience`:\r\n          selectedCategory.value = \"Security, management, and deployment\";\r\n          selectedDevice.value = \"Security, management, and deployment\";\r\n          selectedDeviceLabel.value = \"general.menu.management.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/autopilot-admin-experience`:\r\n          selectedCategory.value = \"Security, management, and deployment\";\r\n          selectedDevice.value = \"Security, management, and deployment\";\r\n          selectedDeviceLabel.value = \"general.menu.management.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/headphones`:\r\n          selectedCategory.value = \"Surface accessories\";\r\n          selectedDevice.value = \"Surface accessories\";\r\n          selectedDeviceLabel.value = \"general.menu.accessories.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/proFlexKeyboard`:\r\n          selectedCategory.value = \"Surface accessories\";\r\n          selectedDevice.value = \"Surface accessories\";\r\n          selectedDeviceLabel.value = \"general.menu.accessories.name\";\r\n          break;\r\n        case `/${store.state.actualLang}/device/earbuds`:\r\n          selectedCategory.value = \"Surface accessories\";\r\n          selectedDevice.value = \"Surface accessories\";\r\n          selectedDeviceLabel.value = \"general.menu.accessories.name\";\r\n          break;\r\n      }\r\n    }\r\n\r\n    watch(\r\n      () => store.state.isMenuOpen,\r\n      newVal => {\r\n        if (newVal === true) {\r\n          openMenu();\r\n        } else {\r\n          focusTrapRef.value.deactivate();\r\n        }\r\n      }\r\n    );\r\n\r\n    function openMenu() {\r\n      menuIsOpening.value = true;\r\n      setSelectedDevice(route.path);\r\n      anime.set(\".menu__content-inner > div\", {\r\n        translateY: 40,\r\n      });\r\n\r\n      anime({\r\n        targets: \".menu__content-inner > div\",\r\n        duration: 400,\r\n        translateY: [40, 0],\r\n        opacity: [0, 1],\r\n        delay: anime.stagger(80, { start: 125 }),\r\n        complete: () => {\r\n          menuIsOpening.value = false;\r\n          focusTrapRef.value.activate();\r\n        },\r\n        easing: \"easeOutQuint\",\r\n      });\r\n    }\r\n\r\n    function closeMenu(path, isFamilyExplorerLink, deviceName = \"\") {\r\n      emitter.emit(\"globalResize\");\r\n      changingRoutes.value = true;\r\n      anime.set(\".menu__fade\", {\r\n        opacity: 0,\r\n      });\r\n\r\n      anime({\r\n        targets: \".menu__fade\",\r\n        duration: 250,\r\n        opacity: 1,\r\n        easing: \"linear\",\r\n        complete: () => {\r\n          store.commit(\"updateIsMenuOpen\", false);\r\n          setTimeout(() => {\r\n            if (isFamilyExplorerLink && store.state.isFamilyExplorer) {\r\n              if (path.split(\"/\").pop() === `${store.state.actualLang}`) {\r\n                emitter.emit(\"famExpGoToExplorerPath\", \"\");\r\n              } else {\r\n                emitter.emit(\"famExpGoToExplorerPath\", path.split(\"/\").pop());\r\n                router.replace({ path: path });\r\n              }\r\n              router.push({ path });\r\n            } else {\r\n              store.commit(\"reset\", store.state);\r\n              router.push({ path });\r\n            }\r\n            store.commit(\"updateFamExpDeviceLoading\", deviceName);\r\n          }, 200);\r\n          setTimeout(() => {\r\n            anime.set(\".menu__fade\", {\r\n              opacity: 0,\r\n            });\r\n            changingRoutes.value = false;\r\n          }, 400);\r\n        },\r\n      });\r\n    }\r\n\r\n    function updateRating(star) {\r\n      star_selected.value = star;\r\n      localStorage.setItem(\"starRating\", star);\r\n    }\r\n\r\n    function star_class(element) {\r\n      if (star_selected.value >= element) {\r\n        return \"star_element_active\";\r\n      } else if (star_selected.value < element && element <= star_hover.value) {\r\n        return \"star_element_hover\";\r\n      }\r\n    }\r\n\r\n    return {\r\n      menuIsOpen,\r\n      menuRoutes,\r\n      router,\r\n      route,\r\n      stars,\r\n      star_selected,\r\n      star_hover,\r\n      store,\r\n      openMenu,\r\n      closeMenu,\r\n      menuIsOpening,\r\n      changingRoutes,\r\n      selectedDevice,\r\n      isEndingSidebarTransitioning,\r\n      loaderIsShowing,\r\n      updateRating,\r\n      star_class,\r\n      focusTrapRef,\r\n      homeRoute,\r\n      selectedCategory,\r\n      calcRoute,\r\n    };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.menu {\r\n  $menuAnimationLength: 0.25s;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100vw;\r\n  height: 100vh;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n  cursor: auto;\r\n  //   z-index: 101;\r\n\r\n  &__content {\r\n    position: absolute;\r\n    right: 0;\r\n    top: 50%;\r\n    transform: translate3d(0, -50%, 0);\r\n    width: clamp(410px, 25vw, 480px);\r\n    height: 100%;\r\n    z-index: 101;\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n    padding: $absoluteOuterPadding 3.25vw 3.25vw;\r\n\r\n    box-sizing: border-box;\r\n    box-shadow: 0px 0px 20px rgba($darkGray, 0.25);\r\n    will-change: transform;\r\n\r\n    &-inner {\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: flex-start;\r\n      align-items: flex-start;\r\n      overflow-y: auto;\r\n      height: calc(100% - 155px); //calc(100% - 98px);\r\n      width: 100%;\r\n      //   @media screen and (min-height: 900px) {\r\n      //     height: calc(100% - 92px); //calc(100% - 98px);\r\n      //   }\r\n    }\r\n\r\n    @include backgroundBlur(#e6e6e6, 0.975, 0.8, 15px);\r\n  }\r\n  .home-btn {\r\n    margin-top: 9px;\r\n    margin-bottom: 24px;\r\n\r\n    :deep(a) {\r\n      font-weight: 600;\r\n    }\r\n  }\r\n\r\n  &__close {\r\n    position: absolute;\r\n    top: $absoluteOuterPadding;\r\n    right: $absoluteOuterPadding;\r\n    z-index: 102;\r\n    cursor: pointer;\r\n    padding: 11px 11px 7px 11px;\r\n    border-radius: 100%;\r\n    transition: all 250ms ease;\r\n    transform: scale3d(1, 1, 1);\r\n    background: transparent;\r\n    border: none;\r\n\r\n    img {\r\n      position: relative;\r\n      transition: all 250ms ease;\r\n      transform: scale3d(1, 1, 1);\r\n      width: 21px;\r\n    }\r\n    &:hover {\r\n      transform: scale3d(1.1, 1.1, 1.1);\r\n      img {\r\n        transform: scale3d(1.1, 1.1, 1.1);\r\n      }\r\n    }\r\n  }\r\n\r\n  &__button {\r\n    position: absolute;\r\n    top: $absoluteOuterPadding;\r\n    right: $absoluteOuterPadding;\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n    background: rgba(0, 0, 0, 0.6);\r\n    border-radius: 2px;\r\n    border: none;\r\n    padding: 8px;\r\n    cursor: pointer;\r\n    z-index: 98;\r\n    transition: all 250ms ease;\r\n\r\n    > div {\r\n      background: #fff;\r\n      height: 2px;\r\n      width: 20px;\r\n      margin: 4px auto;\r\n    }\r\n\r\n    &--hidden {\r\n      opacity: 0;\r\n    }\r\n\r\n    &:hover {\r\n      background: rgba(0, 0, 0, 0.75);\r\n    }\r\n    &:focus {\r\n      background: rgba(0, 0, 0, 0.75);\r\n    }\r\n  }\r\n  &__fade {\r\n    background: #e6e6e6;\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    z-index: 106;\r\n    opacity: 0;\r\n  }\r\n\r\n  .menu-slideout-leave-active,\r\n  .menu-slideout-enter-active {\r\n    transition: all 0.25s ease-in;\r\n  }\r\n\r\n  .menu-slideout-leave-from,\r\n  .menu-slideout-enter-to {\r\n    transform: translate3d(0, -50%, 0);\r\n  }\r\n  .menu-slideout-leave-to,\r\n  .menu-slideout-enter-from {\r\n    transform: translate3d(clamp(360px, 25vw, 480px), -50%, 0);\r\n  }\r\n\r\n  .menu--chaningRoutes .menu-slideout-leave-active {\r\n    transition: none;\r\n  }\r\n}\r\n\r\n.anim_start_rating {\r\n  margin-top: 0px;\r\n  //   @media screen and (min-height: 900px) {\r\n  //     margin-top: -50px;\r\n  //   }\r\n}\r\n</style>\r\n","<template>\r\n  <div>\r\n    <h2 class=\"rating_Text\">\r\n      Your overall rating\r\n    </h2>\r\n    <div class=\"star_rating_container\">\r\n      <button\r\n        v-for=\"element in stars\"\r\n        :key=\"element\"\r\n        class=\"star_rating_container_main\"\r\n        @click=\"updateRating(element)\"\r\n        @mouseover=\"star_hover = element\"\r\n        @focus=\"star_hover = element\"\r\n        @blur=\"star_hover = 0\"\r\n        @mouseleave=\"star_hover = 0\"\r\n      >\r\n        {{ $t(\"accessibility.star.\" + element) }}\r\n        <svg\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          width=\"31.94\"\r\n          height=\"31.94\"\r\n          viewBox=\"0 0 16 16\"\r\n          fill=\"none\"\r\n        >\r\n          <path\r\n            d=\"M11.0625 9.79688L13 16L8 12.1562L3 16L4.9375 9.79688L0 6H6.125L8 0L9.875 6H16L11.0625 9.79688Z\"\r\n            class=\"star_element\"\r\n            :class=\"star_class(element)\"\r\n          />\r\n        </svg>\r\n      </button>\r\n      <h3 v-show=\"star_selected !== 0\" class=\"star_amount\">\r\n        {{ star_selected }}\r\n      </h3>\r\n    </div>\r\n    <h3\r\n      tabindex=\"0\"\r\n      class=\"additional_comments\"\r\n      @click=\"openModal()\"\r\n      v-on:keyup.enter=\"openModal()\"\r\n      :aria-label=\"$t('accessibility.additionalComments')\"\r\n    >\r\n      Additional comments?\r\n    </h3> \r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { ref } from \"vue\";\r\nimport { store } from \"@/data/store.js\";\r\nimport { sendRequest } from \"@/js/feedBack.js\";\r\n\r\nexport default {\r\n  setup() {\r\n    const stars = ref([1, 2, 3, 4, 5]);\r\n    const star_selected = ref(localStorage.getItem(\"starRating\") || 0);\r\n    const star_hover = ref(0);\r\n\r\n    function updateRating(star) {\r\n      star_selected.value = star;\r\n      localStorage.setItem(\"starRating\", star);\r\n      sendRequest({ star_rating: star, site_name: \"Surface for Business\" });\r\n    }\r\n\r\n    function star_class(element) {\r\n      if (star_selected.value >= element) {\r\n        return \"star_element_active\";\r\n      } else if (star_selected.value < element && element <= star_hover.value) {\r\n        return \"star_element_hover\";\r\n      }\r\n    }\r\n\r\n    function openModal() {\r\n      store.commit(\"updateIsMenuOpen\", false);\r\n      store.commit(\"updateFeedBack\", true);\r\n    }\r\n    return {\r\n      star_selected,\r\n      star_hover,\r\n      stars,\r\n      store,\r\n      updateRating,\r\n      star_class,\r\n      openModal,\r\n    };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.rating_Text {\r\n  font-family: Segoe UI;\r\n  font-size: 16px;\r\n  font-style: normal;\r\n  font-weight: 700;\r\n  line-height: 26px;\r\n  letter-spacing: 0em;\r\n  text-align: left;\r\n  @include breakpoint(\"tablet\") {\r\n    margin: 0px;\r\n  }\r\n  @include breakpoint(\"mobile\") {\r\n    margin: 0px;\r\n  }\r\n}\r\n\r\n.star_rating_container {\r\n  display: flex;\r\n  flex-direction: row;\r\n  margin-top: 15px;\r\n  @include breakpoint(\"tablet\") {\r\n    margin-top: 0px;\r\n  }\r\n  @include breakpoint(\"mobile\") {\r\n    margin-top: 0px;\r\n  }\r\n  &_main {\r\n    background: none;\r\n    border: none;\r\n    margin-right: 3px;\r\n    font-size: 0px;\r\n  }\r\n}\r\n.star_element {\r\n  fill: #b3b0ad;\r\n\r\n  &_active {\r\n    fill: #000000;\r\n  }\r\n  &_hover {\r\n    fill: #0078d4;\r\n  }\r\n}\r\n\r\n.star_amount {\r\n  font-family: Segoe UI;\r\n  font-style: normal;\r\n  font-weight: normal;\r\n  width: 34px;\r\n  height: 39px;\r\n  font-size: 26px;\r\n  line-height: 150%;\r\n  margin: 0;\r\n  text-align: right;\r\n  color: #4a4a4a;\r\n}\r\n\r\n.additional_comments {\r\n  font-family: Segoe UI;\r\n  font-style: normal;\r\n  font-weight: normal;\r\n  font-size: 16px;\r\n  line-height: 100%;\r\n  text-decoration-line: underline;\r\n  color: #4a4a4a;\r\n  margin-top: 15px;\r\n  cursor: pointer;\r\n}\r\n</style>\r\n","function fetchCsrfToken() {\r\n    return new Promise((resolve, reject) => {\r\n        const baseUrl = process.env.VUE_APP_BACKEND_API_URL;\r\n        let url = `${baseUrl}/api/GetCsrfToken`;\r\n\r\n        var xhr = new XMLHttpRequest();\r\n        xhr.withCredentials = true;\r\n\r\n        xhr.addEventListener(\"readystatechange\", function () {\r\n            if (this.readyState === 4 && this.status === 200) {\r\n                const response = JSON.parse(this.responseText);\r\n                localStorage.setItem('csrfToken', response.token);  // Store CSRF token\r\n                resolve(response.token);  // Resolve with the token\r\n            } else if (this.readyState === 4) {\r\n                reject(\"Failed to fetch CSRF token\");\r\n            }\r\n        });\r\n\r\n        xhr.open(\"GET\", url);\r\n        xhr.send();\r\n    });\r\n}\r\n\r\nfunction sendRequest(payLoad) {\r\n    const baseUrl = process.env.VUE_APP_BACKEND_API_URL;\r\n    let url = `${baseUrl}/api/Feedback`;\r\n\r\n    if (window.location.host !== \"exploresurface.com\") {\r\n        url = `${baseUrl}/api/Feedback`;\r\n    }\r\n\r\n    // Check if token is available in localStorage\r\n    let csrfToken = localStorage.getItem('csrfToken');\r\n\r\n    // Define a function to send the request once the token is available\r\n    const sendApiRequest = (token) => {\r\n        var xhr = new XMLHttpRequest();\r\n        xhr.withCredentials = true;\r\n\r\n        xhr.addEventListener(\"readystatechange\", function () {\r\n            if (this.readyState === 4) {\r\n                // Handle the response\r\n                console.log(this.responseText);\r\n            }\r\n        });\r\n\r\n        xhr.open(\"POST\", url);\r\n        xhr.setRequestHeader(\"Content-Type\", \"application/json\");\r\n        xhr.setRequestHeader(\"X-CSRF-TOKEN\", token);  // Use the CSRF token\r\n        xhr.send(JSON.stringify(payLoad));\r\n    };\r\n\r\n    if (!csrfToken) {\r\n        console.info(\"CSRF token not found in localStorage... fetching\");\r\n        fetchCsrfToken().then(token => {\r\n            sendApiRequest(token);  // Send the request once token is fetched\r\n        }).catch(error => {\r\n            console.error(\"Error fetching CSRF token:\", error);\r\n        });\r\n    } else {\r\n        sendApiRequest(csrfToken);  // Token is already available, proceed with the request\r\n    }\r\n}\r\n\r\nexport { sendRequest };\r\n","import { render } from \"./StarRating.vue?vue&type=template&id=72b24951&scoped=true\"\nimport script from \"./StarRating.vue?vue&type=script&lang=js\"\nexport * from \"./StarRating.vue?vue&type=script&lang=js\"\n\nimport \"./StarRating.vue?vue&type=style&index=0&id=72b24951&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-72b24951\"]])\n\nexport default __exports__","<template>\r\n  <div v-if=\"isExternal\" class=\"menu-link-new\" :class=\"{ 'menu-animate-in': animateIn }\">\r\n    <a :href=\"link.path\" target=\"_blank\"><slot></slot> </a>\r\n  </div>\r\n  <div v-else class=\"menu-link\" :class=\"{ 'menu-animate-in': animateIn, 'menu-link-new': isNewLink }\">\r\n    <a\r\n      @click=\"\r\n        $emit(\r\n          'close-menu',\r\n          link.path,\r\n          link.familyExplorer ? true : false,\r\n          parent ? parent.name : false\r\n        )\r\n      \"\r\n      @keypress.enter=\"\r\n        $emit(\r\n          'close-menu',\r\n          link.path,\r\n          link.familyExplorer ? true : false,\r\n          parent ? parent.name : false\r\n        )\r\n      \"\r\n      :class=\"{\r\n        'router-link-active router-link-exact-active':\r\n          currentPath === link.path,\r\n        'menu-link--disabled': comingSoon,\r\n      }\"\r\n      :aria-label=\"aria\"\r\n      tabindex=\"0\"\r\n    >\r\n      <slot></slot>\r\n    </a>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  emits: [\"close-menu\"],\r\n  props: {\r\n    isExternal: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isNewLink: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    link: {\r\n      type: Object,\r\n      required: true,\r\n    },\r\n    comingSoon: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    parent: {\r\n      type: Object,\r\n      default: () => {\r\n        return {};\r\n      },\r\n    },\r\n    aria: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    currentPath: {\r\n      type: String,\r\n      defautl: \"/\",\r\n    },\r\n    animateIn: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  setup(props) {\r\n    return { props };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.menu-link {\r\n  &--disabled {\r\n    pointer-events: none;\r\n    touch-action: none;\r\n\r\n    color: #9b9b9b !important;\r\n  }\r\n\r\n  a {\r\n    font-size: 20px;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n    color: $extraDarkGray;\r\n    @include text(body);\r\n\r\n    &.router-link-exact-active {\r\n      color: $blue;\r\n      pointer-events: none;\r\n      touch-action: none;\r\n    }\r\n\r\n    &:hover {\r\n      color: $blue;\r\n    }\r\n  }\r\n}\r\n\r\n.menu-link-new {\r\n  &--disabled {\r\n    pointer-events: none;\r\n    touch-action: none;\r\n\r\n    color: #9b9b9b !important;\r\n  }\r\n\r\n  a {\r\n    font-size: 20px;\r\n    line-height: 1;\r\n    cursor: pointer;\r\n    text-decoration: none;\r\n    color: $extraDarkGray;\r\n    @include text(body);\r\n\r\n    &.router-link-exact-active {\r\n      color: $blue;\r\n      pointer-events: none;\r\n      touch-action: none;\r\n    }\r\n\r\n    &:hover {\r\n      color: $blue;\r\n    }\r\n  }\r\n\r\n  // background-color: rgb(252, 252, 205);\r\n  // margin-bottom: 10px;\r\n  padding: 10px 0;\r\n  border-top: 1px solid #bdbdbd;\r\n  // border-bottom: 1px solid #bdbdbd;\r\n}\r\n\r\n</style>\r\n","import { render } from \"./MenuLink.vue?vue&type=template&id=e606725a&scoped=true\"\nimport script from \"./MenuLink.vue?vue&type=script&lang=js\"\nexport * from \"./MenuLink.vue?vue&type=script&lang=js\"\n\nimport \"./MenuLink.vue?vue&type=style&index=0&id=e606725a&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e606725a\"]])\n\nexport default __exports__","<template>\r\n  <div\r\n    class=\"menu-collapse\"\r\n    :class=\"{\r\n      'menu-collapse--open': isOpen,\r\n      'menu-collapse--first': index === 0,\r\n      'menu-collapse--last': isLast,\r\n      'menu-collapse--is-nested': isNested,\r\n      'menu-collapse--padding-bottom': padBottom,\r\n      'menu-animate-in': animateIn,\r\n      'menu-collapse__disabled':\r\n        isEnabled !== null ? !$store.state.activeDevices[isEnabled] : false,\r\n    }\"\r\n  >\r\n    <button\r\n      class=\"menu-collapse__header\"\r\n      @click=\"$emit('button-click', item.name)\"\r\n      :tabindex=\"item.children ? 0 : -1\"\r\n      :aria-label=\"aria\"\r\n      :disabled=\"\r\n        isEnabled !== null ? !$store.state.activeDevices[isEnabled] : false\r\n      \"\r\n    >\r\n      <div\r\n        :class=\"{\r\n          'menu-collapse__disabled':\r\n            isEnabled !== null ? !$store.state.activeDevices[isEnabled] : false,\r\n        }\"\r\n      >\r\n        {{ title ? title : $t(item.displayName) }}\r\n        <svg\r\n          width=\"8\"\r\n          height=\"13\"\r\n          viewBox=\"0 0 8 13\"\r\n          fill=\"none\"\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          class=\"icon\"\r\n          :class=\"{ 'icon--open': isOpen }\"\r\n        >\r\n          <path\r\n            d=\"M0.692383 0.807617L6.38476 6.49999L0.692383 12.1924\"\r\n            stroke=\"currentColor\"\r\n          />\r\n        </svg>\r\n      </div>\r\n    </button>\r\n    <n-collapse-transition :show=\"isOpen\" appear>\r\n      <div class=\"menu-collapse__content\" ref=\"menuCollapseContent\">\r\n        <slot></slot>\r\n      </div>\r\n    </n-collapse-transition>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { watch, ref, nextTick } from \"vue\";\r\nimport { NCollapseTransition } from \"naive-ui\";\r\nimport anime from \"animejs\";\r\n\r\nexport default {\r\n  emits: [\"button-click\"],\r\n  components: { NCollapseTransition },\r\n  props: {\r\n    item: {\r\n      type: Object,\r\n      required: true,\r\n    },\r\n    isOpen: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    title: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    aria: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    index: {\r\n      type: Number,\r\n      default: 1,\r\n    },\r\n    animateIn: {\r\n      type: Boolean,\r\n      defautl: false,\r\n    },\r\n    padBottom: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isNested: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isLast: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    isEnabled: {\r\n      type: String,\r\n      default: null,\r\n    },\r\n  },\r\n  setup(props) {\r\n    const menuCollapseContent = ref(null);\r\n    watch(\r\n      () => props.isOpen,\r\n      newVal => {\r\n        if (newVal) {\r\n          nextTick(() => {\r\n            let targets = menuCollapseContent.value.querySelectorAll(\r\n              \".menu-animate-in\"\r\n            );\r\n\r\n            anime.set(targets, {\r\n              opacity: 0,\r\n              translateY: 24,\r\n            });\r\n            anime({\r\n              targets: targets,\r\n              duration: props.padBottom && targets.length < 7 ? 400 : 300,\r\n              opacity: [0, 1],\r\n              translateY: [24, 0],\r\n              delay: anime.stagger(targets.length > 7 ? 50 : 100),\r\n              easing: \"cubicBezier(0.25,0.1,0.25,1)\",\r\n            });\r\n          });\r\n        }\r\n      }\r\n    );\r\n\r\n    return { props, menuCollapseContent };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.menu-collapse {\r\n  position: relative;\r\n  width: 100%;\r\n  box-sizing: border-box;\r\n\r\n  &__disabled {\r\n    pointer-events: none;\r\n    touch-action: none;\r\n\r\n    color: #9b9b9b !important;\r\n  }\r\n\r\n  &__content {\r\n    margin-left: 24px;\r\n  }\r\n\r\n  &--first {\r\n    &:before {\r\n      content: \"\";\r\n      position: absolute;\r\n      display: block;\r\n      background: #bdbdbd;\r\n      height: 1px;\r\n      width: 100%;\r\n      top: 0;\r\n      left: 0;\r\n    }\r\n  }\r\n  &:after {\r\n    content: \"\";\r\n    position: absolute;\r\n    display: block;\r\n    background: #bdbdbd;\r\n    height: 1px;\r\n    width: 100%;\r\n    bottom: -1px;\r\n    left: 0;\r\n  }\r\n  &--last.menu-collapse--is-nested {\r\n    &:after {\r\n      display: none;\r\n    }\r\n  }\r\n\r\n  &:hover {\r\n    button {\r\n      color: $darkGray;\r\n    }\r\n  }\r\n\r\n  button {\r\n    position: relative;\r\n    width: 100%;\r\n    padding: 0px 16px 0px 4px;\r\n    min-height: 60px;\r\n    border: none;\r\n    background: transparent;\r\n    cursor: pointer;\r\n    font-weight: 400;\r\n    margin: 0;\r\n    @include text(bodyBold);\r\n    line-height: 130%;\r\n    color: $extraDarkGray;\r\n    text-align: left;\r\n\r\n    > div {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      padding: 20px 0;\r\n    }\r\n\r\n    .icon {\r\n      transform: rotate(90deg);\r\n      transition: transform 0.25s ease-in-out;\r\n      transform-origin: center center;\r\n\r\n      &--open {\r\n        transform: rotate(-90deg);\r\n      }\r\n    }\r\n  }\r\n  &--padding-bottom {\r\n    /*.menu-collapse__content {\r\n      padding-bottom: 24px;\r\n    }*/\r\n    .n-collapse-transition {\r\n      margin-top: -6px;\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./MenuCollapse.vue?vue&type=template&id=024854b2&scoped=true\"\nimport script from \"./MenuCollapse.vue?vue&type=script&lang=js\"\nexport * from \"./MenuCollapse.vue?vue&type=script&lang=js\"\n\nimport \"./MenuCollapse.vue?vue&type=style&index=0&id=024854b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-024854b2\"]])\n\nexport default __exports__","import { render } from \"./Menu.vue?vue&type=template&id=89af6d30&scoped=true\"\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\nimport \"./Menu.vue?vue&type=style&index=0&id=89af6d30&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-89af6d30\"]])\n\nexport default __exports__","<!-- eslint-disable prettier/prettier -->\r\n<template>\r\n  <div class=\"main-menu\">\r\n    <ul>\r\n      <li class=\"left-align\">\r\n        <a\r\n          href=\"https://go.microsoft.com/fwlink/?linkid=2259814\"\r\n          target=\"_blank\"\r\n        >\r\n          Consumer Health Privacy</a\r\n        >\r\n      </li>\r\n      <li class=\"left-align\">\r\n        <a\r\n          href=\"https://go.microsoft.com/fwlink/?LinkId=521839\"\r\n          target=\"_blank\"\r\n        >\r\n          Privacy & Cookie</a\r\n        >\r\n      </li>\r\n    </ul>\r\n    <ul>\r\n      <li class=\"right-align\">\r\n        <a :href=\"TcoCalculatorUrl\" target=\"_blank\">\r\n          Total Cost of Ownership (TCO) Calculator</a\r\n        >\r\n      </li>\r\n      <li class=\"right-align\">\r\n        <a :href=\"SusEstimatorUrl\" target=\"_blank\">\r\n          Emissions Estimator (Sustainability)</a\r\n        >\r\n      </li>\r\n    </ul>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  data() {\r\n    return {\r\n      TcoCalculatorUrl: process.env.VUE_APP_TCO_CALCULATOR_URL,\r\n      SusEstimatorUrl: process.env.VUE_APP_SUS_ESTIMATOR_URL,\r\n    };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.main-menu {\r\n  z-index: 100;\r\n  position: fixed;\r\n  background-color: #333;\r\n  width: 100%;\r\n  color: #fff;\r\n  bottom: 0;\r\n  padding: 0px 40px;\r\n  // new\r\n  display: flex;\r\n  justify-content: space-between;\r\n  box-sizing: border-box;\r\n\r\n  ul {\r\n    display: flex;\r\n    justify-content: center;\r\n    list-style: none;\r\n    // width: 50%;\r\n    padding: 0px;\r\n\r\n    li {\r\n      font-size: 16px;\r\n      padding: 10px; //15px\r\n\r\n      a {\r\n        color: inherit;\r\n        text-decoration: none;\r\n        padding-bottom: 5px;\r\n        border-bottom: 1px solid #fff;\r\n      }\r\n    }\r\n\r\n    // .left-align {\r\n    //     font-size: 16px;\r\n    //     padding: 10px; //15px\r\n    //     justify-self: left;\r\n    // }\r\n\r\n    // .right-align {\r\n    //     font-size: 16px;\r\n    //     padding: 10px; //15px\r\n    //     // align-items: right;\r\n    //     justify-self: right;\r\n    //     // margin-left: auto;\r\n    //     // float: right;\r\n    // }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./MainMenu.vue?vue&type=template&id=7d4abd62&scoped=true\"\nimport script from \"./MainMenu.vue?vue&type=script&lang=js\"\nexport * from \"./MainMenu.vue?vue&type=script&lang=js\"\n\nimport \"./MainMenu.vue?vue&type=style&index=0&id=7d4abd62&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d4abd62\"]])\n\nexport default __exports__","<template>\r\n  <div\r\n    v-if=\"\r\n      (!modalClosed && $store.state.windowSize.w <= Breakpoints.tablet) ||\r\n        (!modalClosed && $store.state.currentBrowser === 'firefox/gecko')\r\n    \"\r\n  >\r\n    <FocusTrap>\r\n      <div class=\"app-overlay\" :class=\"modalClosed && 'app-overlay__closed'\">\r\n        <button\r\n          class=\"app-overlay__close\"\r\n          @click=\"modalClosed = true\"\r\n          tabindex=\"0\"\r\n          :aria-label=\"$t('accessibility.closeAlert')\"\r\n        >\r\n          <img src=\"@/assets/close-x.svg\" alt=\"\" />\r\n        </button>\r\n        <div>\r\n          <svg\r\n            class=\"app-overlay__logo\"\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            viewBox=\"0 0 558.6 80.7\"\r\n          >\r\n            <path\r\n              d=\"M367 30.3c0 1.6.6 2.9 1.7 4s3.1 2.4 5.9 3.8c3.8 2 6.6 4 8.3 6 1.7 2 2.5 4.3 2.5 6.9 0 3.8-1.4 6.8-4.2 9-2.8 2.2-6.3 3.3-10.6 3.3-2.5 0-4.7-.3-6.8-.8s-3.6-1.1-4.6-1.7v-8.2c1.3 1.2 3 2.2 5.1 3 2.1.8 4.1 1.2 6.1 1.2 2.2 0 3.9-.4 5.2-1.3 1.3-.8 1.9-2.1 1.9-3.8 0-1.5-.6-2.8-1.9-4.1-1.2-1.2-3.5-2.7-6.8-4.4-3.3-1.7-5.7-3.5-7.3-5.5-1.6-2-2.4-4.3-2.4-7 0-3.6 1.4-6.5 4.2-8.8 2.8-2.3 6.3-3.4 10.6-3.4 1.9 0 3.8.2 5.6.5 1.8.4 3.1.7 4 1.1V28c-1.2-.9-2.6-1.7-4.3-2.2-1.7-.5-3.4-.8-5.1-.8-2.1 0-3.8.5-5.1 1.4-1.3 1.1-2 2.4-2 3.9zm50.8 1.3v31h-7.4v-4.1h-.1c-1 1.4-2.3 2.5-3.9 3.3-1.6.8-3.4 1.2-5.4 1.2-3.6 0-6.3-1-8.2-3.1-1.9-2-2.8-5.2-2.8-9.5V31.6h7.4v18c0 2.6.5 4.6 1.6 5.9 1 1.3 2.6 2 4.7 2s3.7-.7 5-2.2c1.2-1.5 1.9-3.4 1.9-5.7v-18h7.2zm22-.5c.6 0 1.1 0 1.6.1s.9.2 1.2.3v7.4c-.4-.3-.9-.5-1.7-.8-.7-.3-1.6-.4-2.7-.4-1.8 0-3.3.8-4.5 2.3s-1.9 3.8-1.9 7v15.6h-7.3v-31h7.3v4.9h.1c.7-1.7 1.7-3 3-4 1.3-.9 3-1.4 4.9-1.4zm21.5-14.9c.9 0 1.7 0 2.4.1s1.3.2 1.8.4V23c-.2-.1-.7-.3-1.3-.5-.6-.2-1.3-.3-2.1-.3-1.5 0-2.7.5-3.5 1.4s-1.2 2.4-1.2 4.2v3.7h6.9v6h-6.9v25H450v-25h-5.2v-6h5.2v-4.3c0-3.3 1.1-5.9 3.2-8 2-2 4.8-3 8.1-3zm30.9 27v12.1c0 2.9.2 5.4.5 7.3h-7.3l-.4-3.3c-.9 1.2-2.1 2.2-3.6 2.8-1.5.7-3.4 1-5.6 1-2.7 0-5-.8-6.9-2.5-1.8-1.7-2.8-3.9-2.8-6.7 0-3 1.2-5.4 3.5-7.2 2.4-1.8 6.1-3 11.1-3.7l4.4-.5c0-2-.5-3.5-1.4-4.4-1-.9-2.4-1.3-4.3-1.3-2.1 0-4.1.3-5.9.9-1.9.6-3.3 1.4-4.3 2.2v-6.7c1-.5 2.6-1.1 4.7-1.6 2.1-.6 4.3-.8 6.7-.8 3.9 0 6.8 1.1 8.8 3.2 1.8 2.2 2.8 5.2 2.8 9.2zm-10.3 4.6c-3.2.4-5.5 1-6.8 1.9-1.3.9-2 2-2 3.6 0 1.3.4 2.3 1.2 3.1.8.8 1.9 1.1 3.5 1.1 2.3 0 4.1-.7 5.4-2.1 1.3-1.4 2-3.1 2-5.3v-2.7l-3.3.4zm32 9.5c1.1 0 2.3-.3 3.6-.8 1.3-.5 2.5-1.2 3.6-2v6.8c-1.2.7-2.5 1.2-4 1.5-1.5.3-3.1.5-4.9.5-4.6 0-8.3-1.4-11.1-4.3-2.9-2.9-4.3-6.6-4.3-11 0-5 1.5-9.1 4.4-12.3 2.9-3.2 7-4.8 12.4-4.8 1.4 0 2.7.2 4.1.5 1.4.4 2.5.8 3.3 1.2v7c-1.1-.8-2.3-1.5-3.4-1.9-1.2-.5-2.4-.7-3.6-.7-2.9 0-5.2.9-7 2.8-1.8 1.9-2.7 4.4-2.7 7.6 0 3.1.8 5.6 2.5 7.3 1.8 1.7 4.1 2.6 7.1 2.6zm36.5-2.5v6c-1.2.8-2.8 1.4-4.7 1.9-1.9.5-4 .7-6.2.7-4.7 0-8.4-1.4-11-4.2-2.6-2.8-3.9-6.7-3.9-11.7 0-4.8 1.4-8.8 4.2-11.9 2.8-3.1 6.4-4.7 10.6-4.7 4.3 0 7.6 1.3 10 3.9 2.4 2.6 3.6 6.2 3.6 10.9v3.5h-21.2c.3 3.1 1.3 5.3 3 6.5 1.7 1.2 3.8 1.9 6.5 1.9 1.7 0 3.4-.3 5-.8 1.4-.4 2.8-1.1 4.1-2zM545.7 44c0-2.4-.6-4.2-1.7-5.5-1.1-1.3-2.7-1.9-4.7-1.9-1.7 0-3.3.6-4.7 1.9-1.4 1.3-2.3 3.1-2.8 5.5h13.9zm-401-24.6v43.2h-7.5V28.7h-.1l-13.4 33.9h-5L105 28.7h-.1v33.9H98V19.4h10.8l12.4 32h.2l13.1-32h10.2zm6.3 3.3c0-1.2.4-2.2 1.3-3 .9-.8 1.9-1.2 3.1-1.2 1.3 0 2.4.4 3.2 1.3.8.8 1.3 1.8 1.3 3s-.4 2.2-1.3 3c-.9.8-1.9 1.2-3.2 1.2s-2.3-.4-3.1-1.2c-.9-1-1.3-2-1.3-3.1zm8 8.9v31h-7.3v-31h7.3zm22.1 25.7c1.1 0 2.3-.3 3.6-.8 1.3-.5 2.5-1.2 3.6-2v6.8c-1.2.7-2.5 1.2-4 1.5-1.5.3-3.1.5-4.9.5-4.6 0-8.3-1.4-11.1-4.3-2.9-2.9-4.3-6.6-4.3-11 0-5 1.5-9.1 4.4-12.3 2.9-3.2 7-4.8 12.4-4.8 1.4 0 2.7.2 4.1.5 1.4.4 2.5.8 3.3 1.2v7c-1.1-.8-2.3-1.5-3.4-1.9-1.2-.5-2.4-.7-3.6-.7-2.9 0-5.2.9-7 2.8-1.8 1.9-2.7 4.4-2.7 7.6 0 3.1.8 5.6 2.5 7.3 1.9 1.7 4.2 2.6 7.1 2.6zm28-26.2c.6 0 1.1 0 1.6.1s.9.2 1.2.3v7.4c-.4-.3-.9-.5-1.7-.8-.7-.3-1.6-.4-2.7-.4-1.8 0-3.3.8-4.5 2.3-1.2 1.5-1.9 3.8-1.9 7v15.6h-7.3v-31h7.3v4.9h.1c.7-1.7 1.7-3 3-4 1.4-.9 3-1.4 4.9-1.4zm3.1 16.5c0-5.1 1.4-9.2 4.3-12.2s6.9-4.5 12.1-4.5c4.8 0 8.6 1.4 11.3 4.3 2.7 2.9 4.1 6.8 4.1 11.7 0 5-1.4 9-4.3 12s-6.8 4.5-11.8 4.5c-4.8 0-8.6-1.4-11.4-4.2-2.9-2.9-4.3-6.8-4.3-11.6zm7.6-.3c0 3.2.7 5.7 2.2 7.4 1.5 1.7 3.6 2.6 6.3 2.6 2.7 0 4.7-.9 6.1-2.6 1.4-1.7 2.1-4.2 2.1-7.6 0-3.3-.7-5.8-2.2-7.5-1.4-1.7-3.4-2.5-6-2.5-2.7 0-4.7.9-6.2 2.7-1.6 1.7-2.3 4.2-2.3 7.5zm35.1-7.5c0 1 .3 1.9 1 2.5.7.6 2.1 1.3 4.4 2.2 2.9 1.2 5 2.5 6.1 3.9 1.2 1.5 1.8 3.2 1.8 5.3 0 2.9-1.1 5.3-3.4 7-2.2 1.8-5.3 2.7-9.1 2.7-1.3 0-2.7-.2-4.3-.5-1.6-.3-2.9-.7-4-1.2v-7.2c1.3.9 2.8 1.7 4.3 2.2 1.5.5 2.9.8 4.2.8 1.6 0 2.9-.2 3.6-.7s1.2-1.2 1.2-2.3c0-1-.4-1.9-1.2-2.5s-2.4-1.5-4.6-2.4c-2.7-1.1-4.6-2.4-5.7-3.8-1.1-1.4-1.7-3.2-1.7-5.4 0-2.8 1.1-5.1 3.3-6.9 2.2-1.8 5.1-2.7 8.6-2.7 1.1 0 2.3.1 3.6.4 1.3.2 2.5.6 3.4.9V39c-1-.6-2.1-1.2-3.4-1.7-1.3-.5-2.6-.7-3.8-.7-1.4 0-2.5.3-3.2.8-.8.7-1.1 1.4-1.1 2.4zm16.4 7.8c0-5.1 1.4-9.2 4.3-12.2s6.9-4.5 12.1-4.5c4.8 0 8.6 1.4 11.3 4.3 2.7 2.9 4.1 6.8 4.1 11.7 0 5-1.4 9-4.3 12s-6.8 4.5-11.8 4.5c-4.8 0-8.6-1.4-11.4-4.2-2.9-2.9-4.3-6.8-4.3-11.6zm7.6-.3c0 3.2.7 5.7 2.2 7.4 1.5 1.7 3.6 2.6 6.3 2.6 2.7 0 4.7-.9 6.1-2.6 1.4-1.7 2.1-4.2 2.1-7.6 0-3.3-.7-5.8-2.2-7.5-1.4-1.7-3.4-2.5-6-2.5-2.7 0-4.7.9-6.2 2.7-1.6 1.7-2.3 4.2-2.3 7.5zm48.4-9.7h-10.9v25H309v-25h-5.2v-6h5.2v-4.3c0-3.3 1.1-5.9 3.2-8 2.1-2.1 4.8-3.1 8.1-3.1.9 0 1.7 0 2.4.1s1.3.2 1.8.4V23c-.2-.1-.7-.3-1.3-.5-.6-.2-1.3-.3-2.1-.3-1.5 0-2.7.5-3.5 1.4-.8 1-1.2 2.4-1.2 4.2v3.7h10.9v-7l7.3-2.2v9.2h7.4v6h-7.4V52c0 1.9.3 3.3 1 4 .7.8 1.8 1.2 3.3 1.2.4 0 .9-.1 1.5-.3.6-.2 1.1-.4 1.6-.7v6c-.5.3-1.2.5-2.3.7s-2.1.3-3.2.3c-3.1 0-5.4-.8-6.9-2.5-1.5-1.6-2.3-4.1-2.3-7.4V37.6z\"\r\n              fill=\"#77787b\"\r\n            />\r\n            <path fill=\"#f26522\" d=\"M4.3 5h34.2v34.2H4.3z\" />\r\n            <path fill=\"#8dc63f\" d=\"M42.1 5h34.2v34.2H42.1z\" />\r\n            <path fill=\"#00aeef\" d=\"M4.3 42.8h34.2V77H4.3z\" />\r\n            <path fill=\"#ffc20e\" d=\"M42.1 42.8h34.2V77H42.1z\" />\r\n          </svg>\r\n          <p\r\n            v-if=\"$store.state.windowSize.w <= Breakpoints.tablet\"\r\n            class=\"app-overlay__content\"\r\n          >\r\n            {{ $t(\"general.mobileMessage\") }}\r\n          </p>\r\n          <p\r\n            v-if=\"$store.state.currentBrowser === 'firefox/gecko'\"\r\n            class=\"app-overlay__content\"\r\n          >\r\n            {{ $t(\"general.firefoxMessage\") }}\r\n          </p>\r\n        </div>\r\n      </div>\r\n    </FocusTrap>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { FocusTrap } from \"focus-trap-vue\";\r\nimport Breakpoints from \"@/data/breakpoints\";\r\n\r\nexport default {\r\n  components: { FocusTrap },\r\n  data() {\r\n    return {\r\n      modalClosed: false,\r\n      Breakpoints,\r\n    };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.app-overlay {\r\n  //   display: none;\r\n  height: 100%;\r\n  width: 100%;\r\n  position: absolute;\r\n  top: 0;\r\n  bottom: 0;\r\n  left: 0;\r\n  right: 0;\r\n  z-index: 1000;\r\n  background: $lightGray;\r\n  color: $extraDarkGray;\r\n  &__logo {\r\n    @include breakpoint(\"desktop\") {\r\n      width: 440px;\r\n      max-width: 95%;\r\n    }\r\n    // @include breakpoint(\"tablet\") {\r\n    //   transform: scale(0.7);\r\n    // }\r\n  }\r\n  &__content {\r\n    @include text(\"body\");\r\n    max-width: 475px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n    color: $extraDarkGray;\r\n    @include breakpoint(\"mobile\") {\r\n      max-width: 100%;\r\n    }\r\n  }\r\n  //   @include breakpoint(\"tablet\") {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  &__closed {\r\n    display: none;\r\n  }\r\n  &__close {\r\n    cursor: pointer;\r\n    width: 32px;\r\n    height: 32px;\r\n    position: absolute;\r\n    right: 1rem;\r\n    top: 1rem;\r\n    transition: all 250ms ease;\r\n    padding: 0;\r\n    background: transparent;\r\n    border: none;\r\n    img {\r\n      position: relative;\r\n      transition: all 250ms ease;\r\n      width: 21px;\r\n    }\r\n    &:hover {\r\n      transform: scale(1.1);\r\n    }\r\n  }\r\n  //   }\r\n}\r\n</style>\r\n","export default {\r\n  mobile: 700,\r\n  tablet: 1199.9,\r\n  desktop: 1200,\r\n};\r\n","import { render } from \"./AppOverlay.vue?vue&type=template&id=2511de41&scoped=true\"\nimport script from \"./AppOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./AppOverlay.vue?vue&type=script&lang=js\"\n\nimport \"./AppOverlay.vue?vue&type=style&index=0&id=2511de41&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2511de41\"]])\n\nexport default __exports__","<template>\r\n  <!-- <ManageCookiesPopup v-if=\"showCookiePopup\" @close-cookie-popup-child=\"closeCookiePopup\" @close-cookie-popup-child-and-close-cookie-banner=\"closeCookiePopup\"/> -->\r\n  <FocusTrap :active=\"isDrawerOpen\">\r\n    <div\r\n      class=\"settings-drawer\"\r\n      :class=\"{ 'settings-drawer__open': isDrawerOpen }\"\r\n      @mouseover=\"isHovered = true\"\r\n      @mouseleave=\"isHovered = false\"\r\n    >\r\n      <div class=\"settings-drawer__content\">\r\n        <div class=\"settings-drawer__content-inner\">\r\n          <QualityToggle :isSelectable=\"isDrawerOpen\" />\r\n          <!-- <LanguageDropdown :isSelectable=\"isDrawerOpen\" /> -->\r\n          <FilterDropdown\r\n            :isSelectable=\"isDrawerOpen\"\r\n            @filersHovered=\"\r\n              bool => {\r\n                isHovered = bool;\r\n              }\r\n            \"\r\n          />\r\n          <!-- <button class=\"cookieSettings\" @click=\"openCookiePopup\"><p>Cookie Consent Tool</p></button> -->\r\n        </div>\r\n      </div>\r\n      <button\r\n        class=\"settings-drawer__icon\"\r\n        @click=\"showHideMenu(!isDrawerOpen)\"\r\n        tabindex=\"0\"\r\n        :aria-label=\"\r\n          isDrawerOpen\r\n            ? $t('general.settings.close')\r\n            : $t('general.settings.open')\r\n        \"\r\n      >\r\n        <transition-group name=\"quick-fade\" mode=\"out-in\">\r\n          <svg\r\n            width=\"20\"\r\n            height=\"20\"\r\n            viewBox=\"0 0 20 20\"\r\n            fill=\"none\"\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            v-show=\"!isDrawerOpen\"\r\n            key=\"settings-icon\"\r\n          >\r\n            <path\r\n              d=\"M17.4121 9.64844C17.4121 9.70703 17.4121 9.76562 17.4121 9.82422C17.4186 9.88281 17.4219 9.94141 17.4219 10C17.4219 10.0586 17.4186 10.1172 17.4121 10.1758C17.4121 10.2344 17.4121 10.293 17.4121 10.3516L19.9414 11.9238L18.3887 15.6641L15.4883 15C15.332 15.1693 15.1693 15.332 15 15.4883L15.6641 18.3887L11.9238 19.9414L10.3516 17.4121C10.293 17.4121 10.2344 17.4154 10.1758 17.4219C10.1172 17.4219 10.0586 17.4219 10 17.4219C9.94141 17.4219 9.88281 17.4219 9.82422 17.4219C9.76562 17.4154 9.70703 17.4121 9.64844 17.4121L8.07617 19.9414L4.33594 18.3887L5 15.4883C4.83073 15.332 4.66797 15.1693 4.51172 15L1.61133 15.6641L0.0585938 11.9238L2.58789 10.3516C2.58789 10.293 2.58464 10.2344 2.57812 10.1758C2.57812 10.1172 2.57812 10.0586 2.57812 10C2.57812 9.94141 2.57812 9.88281 2.57812 9.82422C2.58464 9.76562 2.58789 9.70703 2.58789 9.64844L0.0585938 8.07617L1.61133 4.33594L4.51172 5C4.66797 4.83073 4.83073 4.66797 5 4.51172L4.33594 1.61133L8.07617 0.0585938L9.64844 2.58789C9.70703 2.58789 9.76562 2.58789 9.82422 2.58789C9.88281 2.58138 9.94141 2.57812 10 2.57812C10.0586 2.57812 10.1172 2.58138 10.1758 2.58789C10.2344 2.58789 10.293 2.58789 10.3516 2.58789L11.9238 0.0585938L15.6641 1.61133L15 4.51172C15.1693 4.66797 15.332 4.83073 15.4883 5L18.3887 4.33594L19.9414 8.07617L17.4121 9.64844ZM16.2695 10.918C16.2826 10.7617 16.2956 10.6087 16.3086 10.459C16.3216 10.3027 16.3281 10.1465 16.3281 9.99023C16.3281 9.84049 16.3216 9.6875 16.3086 9.53125C16.2956 9.375 16.2826 9.22201 16.2695 9.07227L18.5742 7.63672L17.7344 5.60547L15.0879 6.2207C14.8861 5.97331 14.6777 5.74544 14.4629 5.53711C14.2546 5.32878 14.0267 5.12044 13.7793 4.91211L14.3945 2.26562L12.3633 1.42578L10.918 3.73047C10.7682 3.71745 10.6152 3.70443 10.459 3.69141C10.3027 3.67839 10.1497 3.67188 10 3.67188C9.84375 3.67188 9.6875 3.67839 9.53125 3.69141C9.38151 3.70443 9.22852 3.71745 9.07227 3.73047L7.63672 1.42578L5.60547 2.26562L6.2207 4.91211C5.97331 5.11393 5.74544 5.32227 5.53711 5.53711C5.32878 5.74544 5.12044 5.97331 4.91211 6.2207L2.26562 5.60547L1.42578 7.63672L3.73047 9.08203C3.71745 9.23828 3.70443 9.39453 3.69141 9.55078C3.67839 9.70052 3.67188 9.85352 3.67188 10.0098C3.67188 10.1595 3.67839 10.3125 3.69141 10.4688C3.70443 10.625 3.71745 10.778 3.73047 10.9277L1.42578 12.3633L2.26562 14.3945L4.91211 13.7793C5.11393 14.0267 5.31901 14.2546 5.52734 14.4629C5.74219 14.6712 5.97331 14.8796 6.2207 15.0879L5.60547 17.7344L7.63672 18.5742L9.08203 16.2695C9.23177 16.2826 9.38477 16.2956 9.54102 16.3086C9.69727 16.3216 9.85026 16.3281 10 16.3281C10.1562 16.3281 10.3092 16.3216 10.459 16.3086C10.6152 16.2956 10.7715 16.2826 10.9277 16.2695L12.3633 18.5742L14.3945 17.7344L13.7793 15.0879C14.0267 14.8861 14.2546 14.681 14.4629 14.4727C14.6712 14.2578 14.8796 14.0267 15.0879 13.7793L17.7344 14.3945L18.5742 12.3633L16.2695 10.918ZM10 6.32812C10.5078 6.32812 10.9831 6.42578 11.4258 6.62109C11.875 6.8099 12.2656 7.07031 12.5977 7.40234C12.9297 7.73438 13.1901 8.125 13.3789 8.57422C13.5742 9.01693 13.6719 9.49219 13.6719 10C13.6719 10.5078 13.5742 10.9863 13.3789 11.4355C13.1901 11.8783 12.9297 12.2656 12.5977 12.5977C12.2656 12.9297 11.875 13.1934 11.4258 13.3887C10.9831 13.5775 10.5078 13.6719 10 13.6719C9.49219 13.6719 9.01367 13.5775 8.56445 13.3887C8.12174 13.1934 7.73438 12.9297 7.40234 12.5977C7.07031 12.2656 6.80664 11.8783 6.61133 11.4355C6.42253 10.9863 6.32812 10.5078 6.32812 10C6.32812 9.49219 6.42253 9.01693 6.61133 8.57422C6.80664 8.125 7.07031 7.73438 7.40234 7.40234C7.73438 7.07031 8.12174 6.8099 8.56445 6.62109C9.01367 6.42578 9.49219 6.32812 10 6.32812ZM10 12.5781C10.3581 12.5781 10.6934 12.513 11.0059 12.3828C11.3184 12.2461 11.5918 12.0605 11.8262 11.8262C12.0605 11.5918 12.2428 11.3184 12.373 11.0059C12.5098 10.6934 12.5781 10.3581 12.5781 10C12.5781 9.64193 12.5098 9.30664 12.373 8.99414C12.2428 8.68164 12.0605 8.4082 11.8262 8.17383C11.5918 7.93945 11.3184 7.75716 11.0059 7.62695C10.6934 7.49023 10.3581 7.42188 10 7.42188C9.64193 7.42188 9.30664 7.49023 8.99414 7.62695C8.68164 7.75716 8.4082 7.93945 8.17383 8.17383C7.93945 8.4082 7.75391 8.68164 7.61719 8.99414C7.48698 9.30664 7.42188 9.64193 7.42188 10C7.42188 10.3581 7.48698 10.6934 7.61719 11.0059C7.75391 11.3184 7.93945 11.5918 8.17383 11.8262C8.4082 12.0605 8.68164 12.2461 8.99414 12.3828C9.30664 12.513 9.64193 12.5781 10 12.5781Z\"\r\n              fill=\"#4A4A4A\"\r\n            />\r\n          </svg>\r\n          <img\r\n            src=\"@/assets/close-x.svg\"\r\n            v-show=\"isDrawerOpen\"\r\n            style=\"max-width: 16px;\"\r\n            key=\"settings-close-icon\"\r\n            alt=\"\"\r\n          />\r\n        </transition-group>\r\n      </button>\r\n      <transition name=\"quick-fade\">\r\n        <FilterOptions\r\n          v-if=\"!$store.state.loaderIsShowing && $store.state.isFilterOpen\"\r\n        />\r\n      </transition>\r\n    </div>\r\n    <!-- <ManageCookiesPopup v-if=\"showCookiePopup\" @close-cookie-popup-child=\"closeCookiePopup\" @close-cookie-popup-child-and-close-cookie-banner=\"closeCookiePopup\"/> -->\r\n  </FocusTrap>\r\n  <!-- <ManageCookiesPopup @close-cookie-popup-child=\"closeCookiePopup\" @close-cookie-popup-child-and-close-cookie-banner=\"closeCookiePopup\"/> -->\r\n</template>\r\n\r\n<script>\r\nimport { ref, watch } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { FocusTrap } from \"focus-trap-vue\";\r\nimport QualityToggle from \"@/components/QualityToggle.vue\";\r\n// import LanguageDropdown from \"@/components/LanguageDropdown.vue\";\r\nimport FilterDropdown from \"@/components/FilterDropdown.vue\";\r\nimport FilterOptions from \"@/components/FilterOptions.vue\";\r\n// import ManageCookiesPopup from \"./ManageCookiesPopup.vue\";\r\n\r\nlet OPEN_TIMEOUT = null;\r\n\r\nexport default {\r\n  components: {\r\n    QualityToggle,\r\n    // LanguageDropdown,\r\n    FocusTrap,\r\n    FilterDropdown,\r\n    FilterOptions,\r\n    // ManageCookiesPopup,\r\n  },\r\n  // data() {\r\n  //   return {\r\n  //     showCookiePopup: false,\r\n  //   };\r\n  // },\r\n  setup() {\r\n    let route = useRoute();\r\n    let store = useStore();\r\n    let isDrawerOpen = ref(false);\r\n    let isHovered = ref(false);\r\n    let showCookiePopup = ref(false);\r\n\r\n    watch(\r\n      () => isHovered.value,\r\n      newVal => {\r\n        if (!newVal && isDrawerOpen.value) {\r\n          setAutoCloseTimeout();\r\n        } else {\r\n          clearAutoCloseTimeout();\r\n        }\r\n      }\r\n    );\r\n    watch(\r\n      () => route.path,\r\n      () => {\r\n        isDrawerOpen.value = false;\r\n        store.commit(\"updateFilterOpen\", false);\r\n      }\r\n    );\r\n\r\n    watch(\r\n      () => store.state.isMenuOpen,\r\n      () => {\r\n        isDrawerOpen.value = false;\r\n        store.commit(\"updateFilterOpen\", false);\r\n      }\r\n    );\r\n\r\n    let clearAutoCloseTimeout = () => {\r\n      if (OPEN_TIMEOUT) {\r\n        window.clearTimeout(OPEN_TIMEOUT);\r\n        OPEN_TIMEOUT = null;\r\n      }\r\n    };\r\n\r\n    let setAutoCloseTimeout = () => {\r\n      clearAutoCloseTimeout();\r\n      OPEN_TIMEOUT = window.setTimeout(() => {\r\n        isDrawerOpen.value = false;\r\n        store.commit(\"updateFilterOpen\", false);\r\n      }, 5000);\r\n    };\r\n\r\n    return { isDrawerOpen, isHovered, showCookiePopup, };\r\n  },\r\n  methods: {\r\n    showHideMenu(bool) {\r\n      this.$store.commit(\"updateFilterOpen\", false);\r\n      this.isDrawerOpen = bool;\r\n    },\r\n    closeCookiePopup() {\r\n      this.showCookiePopup = false;\r\n    },\r\n    openCookiePopup() {\r\n      this.showCookiePopup = true;\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\r\n.cookieSettings {\r\nmargin: 2px 24px 0px;\r\nbackground: none;\r\ncolor: inherit;\r\nborder: none;\r\npadding: 0;\r\nfont: inherit;\r\ncursor: pointer;\r\n// font-weight: 600;\r\n}\r\n\r\n.cookieSettings p {\r\n    @include text(bodyBold);\r\n    color: $extraDarkGray;\r\n    padding-bottom: 0px;\r\n    margin-right: 16px;\r\n    text-decoration: underline;\r\n  }\r\n\r\n.settings-drawer {\r\n  position: absolute;\r\n  display: flex;\r\n  align-items: center;\r\n  top: $absoluteOuterPadding;\r\n  right: $absoluteOuterPadding;\r\n  padding-left: 12px;\r\n  height: 38px;\r\n  z-index: 30;\r\n  transform: translateX(-44px);\r\n  pointer-events: none;\r\n  touch-action: none;\r\n\r\n  &__icon {\r\n    position: relative;\r\n    width: 39px;\r\n    height: 38px;\r\n    cursor: pointer;\r\n    border: none;\r\n    @include backgroundBlur(#fff, 0.975, 0.8, 15px);\r\n    border-radius: 2px 2px 2px 2px;\r\n    border-left: 1px solid transparent;\r\n    transition: 0.15s all ease-in-out;\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n\r\n    &:hover {\r\n      background: rgba(255, 255, 255, 1) !important;\r\n    }\r\n\r\n    svg {\r\n      width: 20px;\r\n      height: 20px;\r\n    }\r\n    > * {\r\n      position: absolute;\r\n      top: 50%;\r\n      left: calc(50% - 1px);\r\n      transform: translate(-50%, -50%);\r\n    }\r\n  }\r\n\r\n  &__content {\r\n    overflow: hidden;\r\n    height: 100%;\r\n  }\r\n  &__content-inner {\r\n    display: flex;\r\n    margin-left: 12px;\r\n    transform: translateX(100%);\r\n    @include backgroundBlur(#fff, 0.975, 0.8, 15px);\r\n    border-radius: 2px 0px 0px 2px;\r\n    height: 100%;\r\n    transition: transform 0.35s ease;\r\n  }\r\n\r\n  &__open {\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n\r\n    .settings-drawer__icon {\r\n      border-left: 1px solid #d5d5d5;\r\n      @include backgroundBlur(#fff, 0.975, 0.8, 15px);\r\n      border-radius: 0px 2px 2px 0px;\r\n    }\r\n    .settings-drawer__content-inner {\r\n      transform: translateX(0);\r\n      @include backgroundBlur(#fff, 0.975, 0.8, 15px);\r\n    }\r\n  }\r\n\r\n  @include breakpoint(\"mobile\") {\r\n    align-items: flex-end;\r\n    flex-direction: column-reverse;\r\n    height: initial;\r\n    &__content {\r\n      height: 140px;\r\n    }\r\n    &__content-inner {\r\n      flex-direction: column;\r\n      justify-content: space-between;\r\n      transform: translateX(0) translateY(-100%);\r\n      height: 100px;\r\n      transition: transform 0.35s ease;\r\n      padding: 12px;\r\n    }\r\n\r\n    &__open {\r\n      .settings-drawer__icon {\r\n        border-left: 1px solid transparent;\r\n        border-radius: 0px 2px 2px 0px;\r\n      }\r\n      .settings-drawer__content-inner {\r\n        transform: translateX(0) translateY(0);\r\n        border-radius: 2px 0 2px 2px;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <div\r\n    class=\"quality-toggle\"\r\n    :class=\"{\r\n      'quality-toggle--background-active': !isExplorer,\r\n    }\"\r\n  >\r\n    <p>{{ $t(\"general.performance\") }}</p>\r\n    <div class=\"quality-toggle__buttons\">\r\n      <button\r\n        v-for=\"(button, i) in DATA.qualityToggle\"\r\n        :key=\"i\"\r\n        class=\"quality-toggle__button\"\r\n        :class=\"{\r\n          'quality-toggle__button--active':\r\n            button.dataMode === $store.state.quality,\r\n        }\"\r\n        :aria-label=\"button.ariaLabel\"\r\n        @click=\"setQuality(i)\"\r\n        :tabindex=\"isSelectable ? 0 : -1\"\r\n      >\r\n        {{ $t(button.text) }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nconst data = {\r\n  qualityToggle: [\r\n    {\r\n      text: \"general.low\",\r\n      dataMode: \"sd\",\r\n      ariaLabel: \"Switch to low quality mode\",\r\n    },\r\n    {\r\n      text: \"general.medium\",\r\n      dataMode: \"md\",\r\n      ariaLabel: \"Switch to medium quality mode\",\r\n    },\r\n    {\r\n      text: \"general.high\",\r\n      dataMode: \"hd\",\r\n      ariaLabel: \"Switch to high quality mode\",\r\n    },\r\n  ],\r\n};\r\n\r\nexport default {\r\n  props: {\r\n    isSelectable: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      DATA: data,\r\n    };\r\n  },\r\n  computed: {\r\n    isExplorer() {\r\n      let returnVal = false;\r\n      const isDeviceExplorer = new RegExp(/^(.+)?\\/device\\/(.+)?$/);\r\n\r\n      if (\r\n        this.$route.path === `/` ||\r\n        this.$route.path === `/${this.$store.state.actualLang}` ||\r\n        this.$route.path === `/${this.$store.state.actualLang}/` ||\r\n        isDeviceExplorer.test(this.$route.path)\r\n      ) {\r\n        returnVal = true;\r\n      }\r\n\r\n      return returnVal;\r\n    },\r\n  },\r\n  methods: {\r\n    setQuality(i) {\r\n      this.$store.commit(\"setQuality\", this.DATA.qualityToggle[i].dataMode);\r\n    },\r\n  },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.quality-toggle {\r\n  $root: &;\r\n\r\n  position: relative;\r\n  display: flex;\r\n  align-items: center;\r\n  margin: 0 24px;\r\n\r\n  @include breakpoint(\"mobile\") {\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n  }\r\n\r\n  p {\r\n    @include text(bodyBold);\r\n    color: $extraDarkGray;\r\n    padding-bottom: 0px;\r\n    margin-right: 16px;\r\n  }\r\n\r\n  &__buttons {\r\n    display: flex;\r\n    align-items: center;\r\n  }\r\n\r\n  &__button {\r\n    height: 100%;\r\n    margin: 0 0.2rem;\r\n    cursor: pointer;\r\n    border: none;\r\n    background: none;\r\n    color: #767676;\r\n    font-size: 14px;\r\n    transition: all 0.25s 0.1s ease-in-out;\r\n    position: relative;\r\n    opacity: 0.8;\r\n    &:nth-of-type(1) {\r\n      margin-left: 0;\r\n      padding-left: 0;\r\n    }\r\n    &:nth-of-type(3) {\r\n      margin-right: 0;\r\n      padding-right: 0;\r\n    }\r\n    &:nth-child(2),\r\n    &:nth-child(3) {\r\n      &:after {\r\n        content: \"\";\r\n        height: 1px;\r\n        width: 15px;\r\n        position: absolute;\r\n        bottom: 42%;\r\n        transform: rotate(-90deg);\r\n        background: $navGrey;\r\n        transition: all 0.25s ease-in-out;\r\n      }\r\n\r\n      &:nth-child(2) {\r\n        &:after {\r\n          left: -10px;\r\n        }\r\n      }\r\n      &:nth-child(3) {\r\n        &:after {\r\n          left: -10px;\r\n        }\r\n      }\r\n    }\r\n    &:hover,\r\n    &--active {\r\n      color: $extraDarkGray;\r\n      opacity: 1;\r\n      &:after {\r\n        color: $extraDarkGray;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./QualityToggle.vue?vue&type=template&id=36b2ccb1&scoped=true\"\nimport script from \"./QualityToggle.vue?vue&type=script&lang=js\"\nexport * from \"./QualityToggle.vue?vue&type=script&lang=js\"\n\nimport \"./QualityToggle.vue?vue&type=style&index=0&id=36b2ccb1&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-36b2ccb1\"]])\n\nexport default __exports__","<template>\r\n  <button\r\n    type=\"button\"\r\n    class=\"filter\"\r\n    v-on:click=\"showFilterMenu\"\r\n    aria-label=\"filter devices\"\r\n    :tabindex=\"isSelectable ? 0 : -1\"\r\n  >\r\n    <p>Filter Devices</p>\r\n    <svg\r\n      width=\"25\"\r\n      height=\"25\"\r\n      viewBox=\"0 0 25 25\"\r\n      fill=\"none\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path\r\n        d=\"M5.99988 8L12.7992 16.5806L19.5986 8\"\r\n        stroke=\"#3A3A3A\"\r\n        stroke-width=\"2\"\r\n      />\r\n      <rect\r\n        x=\"0.25\"\r\n        y=\"0.25\"\r\n        width=\"24.5\"\r\n        height=\"24.5\"\r\n        rx=\"2.75\"\r\n        stroke=\"#3A3A3A\"\r\n        stroke-width=\"0.5\"\r\n      />\r\n    </svg>\r\n  </button>\r\n</template>\r\n<script>\r\nimport { computed } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\n\r\nexport default {\r\n  props: {\r\n    isSelectable: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  setup() {\r\n    const store = useStore();\r\n\r\n    const showFilterMenu = () => {\r\n      store.commit(\"updateFilterOpen\", !store.state.isFilterOpen);\r\n    };\r\n\r\n    const isFilterMenuActive = computed(() => {\r\n      return store.state.isFilterOpen;\r\n    });\r\n\r\n    return { showFilterMenu, isFilterMenuActive };\r\n  },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.filter {\r\n  display: flex;\r\n  align-items: center;\r\n  margin: 2px 24px 0px;\r\n  background: none;\r\n  color: inherit;\r\n  border: none;\r\n  padding: 0;\r\n  font: inherit;\r\n  cursor: pointer;\r\n  outline: inherit;\r\n\r\n  &:focus-visible svg {\r\n    outline: -webkit-focus-ring-color auto 1px;\r\n    border-radius: 2px;\r\n  }\r\n\r\n  p {\r\n    @include text(bodyBold);\r\n    color: $extraDarkGray;\r\n    padding-bottom: 0px;\r\n    margin-right: 16px;\r\n  }\r\n\r\n  .filter_menu {\r\n    position: static;\r\n    background-color: #f4f4f4;\r\n    top: 60px;\r\n    right: 10px;\r\n  }\r\n\r\n  .close {\r\n    display: none;\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./FilterDropdown.vue?vue&type=template&id=83502d3e&scoped=true\"\nimport script from \"./FilterDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./FilterDropdown.vue?vue&type=script&lang=js\"\n\nimport \"./FilterDropdown.vue?vue&type=style&index=0&id=83502d3e&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-83502d3e\"]])\n\nexport default __exports__","<template>\r\n  <FocusTrap :active=\"isFilterOpen\">\r\n    <div\r\n      class=\"filter_menu\"\r\n      @mouseover=\"isHovered = true\"\r\n      @mouseleave=\"isHovered = false\"\r\n    >\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.spro9\"\r\n          id=\"checkboxPro9\"\r\n          tabindex=\"0\"\r\n          @change=\"onCheckBoxChange('spro9', !$store.state.activeDevices.spro9)\"\r\n        />\r\n        <label for=\"checkboxPro9\">Surface Pro 9</label>\r\n      </div> -->\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.spro10\"\r\n          id=\"checkboxPro10\"\r\n          @change=\"onCheckBoxChange('spro10', !$store.state.activeDevices.spro10)\"\r\n        />\r\n        <label for=\"checkboxPro10\">Surface Pro 10</label>\r\n      </div>\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.spro11\"\r\n          id=\"checkboxBigrock\"\r\n          @change=\"onCheckBoxChange('spro11', !$store.state.activeDevices.spro11)\"\r\n        />\r\n        <label for=\"checkboxBigrock\">Surface Pro</label>\r\n      </div>\r\n\r\n      <!-- New change for 9/21 ---- -->  \r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.sgo4\"\r\n          id=\"checkboxGo4\"\r\n          @change=\"onCheckBoxChange('sgo4', !$store.state.activeDevices.sgo4)\"\r\n        />\r\n        <label for=\"checkboxGo4\">Surface Go 4</label>\r\n      </div>\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.sgo3\"\r\n          id=\"checkboxGo3\"\r\n          @change=\"onCheckBoxChange('sgo3', !$store.state.activeDevices.sgo3)\"\r\n        />\r\n        <label for=\"checkboxGo3\">Surface Go 3</label>\r\n      </div> -->\r\n      <!-- ---- -->\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptop6\"\r\n          id=\"checkboxLaptop6\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptop6', !$store.state.activeDevices.slaptop6)\r\n          \"\r\n        />\r\n        <label for=\"checkboxLaptop6\">Surface Laptop 6</label>\r\n      </div>\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptop7\"\r\n          id=\"checkboxHartwell\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptop7', !$store.state.activeDevices.slaptop7)\r\n          \"\r\n        />\r\n        <label for=\"checkboxHartwell\">Surface Laptop</label>\r\n      </div>\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptop5\"\r\n          id=\"checkboxLaptop5\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptop5', !$store.state.activeDevices.slaptop5)\r\n          \"\r\n        />\r\n        <label for=\"checkboxLaptop5\">Surface Laptop 5</label>\r\n      </div> -->\r\n      \r\n      <!-- New change for 9/21 ---- -->\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptops2\"\r\n          id=\"checkboxLaptopStudio2\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptops2', !$store.state.activeDevices.slaptops2)\r\n          \"\r\n        />\r\n        <label for=\"checkboxLaptopStudio\">Surface Laptop Studio 2</label>\r\n      </div>\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptops\"\r\n          id=\"checkboxLaptopStudio\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptops', !$store.state.activeDevices.slaptops)\r\n          \"\r\n        />\r\n        <label for=\"checkboxLaptopStudio\">Surface Laptop Studio</label>\r\n      </div> -->\r\n      <!-- ---- -->\r\n\r\n      <!-- New change for 9/21 ---- -->\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptopgo3\"\r\n          id=\"checkboxLaptopGo3\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptopgo3', !$store.state.activeDevices.slaptopgo3)\r\n          \"\r\n        />\r\n        <label for=\"checkboxLaptopGo\">Surface Laptop Go 3</label>\r\n      </div>\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.slaptopgo\"\r\n          id=\"checkboxLaptopGo\"\r\n          @change=\"\r\n            onCheckBoxChange('slaptopgo', !$store.state.activeDevices.slaptopgo)\r\n          \"\r\n        />\r\n        <label for=\"checkboxLaptopGo\">Surface Laptop Go 2</label>\r\n      </div> -->\r\n      <!-- ----  -->\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.sduo2\"\r\n          id=\"checkboxDuo2\"\r\n          @change=\"onCheckBoxChange('sduo2', !$store.state.activeDevices.sduo2)\"\r\n        />\r\n        <label for=\"checkboxDuo2\">Surface Duo 2</label>\r\n      </div> -->\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.sstudio2\"\r\n          id=\"checkboxStudio2\"\r\n          @change=\"\r\n            onCheckBoxChange('sstudio2', !$store.state.activeDevices.sstudio2)\r\n          \"\r\n        />\r\n        <label for=\"checkboxStudio2\">Surface Studio 2+</label>\r\n      </div>\r\n\r\n      <!-- New change for 9/21 ---- -->\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.shub385\"\r\n          id=\"checkboxHub385\"\r\n          @change=\"\r\n            onCheckBoxChange('shub385', !$store.state.activeDevices.shub385)\r\n          \"\r\n        />\r\n        <label for=\"checkboxHub385\">Surface Hub 3 85\"</label>\r\n      </div>\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.shub350\"\r\n          id=\"checkboxHub350\"\r\n          @change=\"onCheckBoxChange('shub350', !$store.state.activeDevices.shub350)\"\r\n        />\r\n        <label for=\"checkboxHub350\">Surface Hub 3 50\"</label>\r\n      </div>\r\n\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.shub2s\"\r\n          id=\"checkboxHub2S\"\r\n          @change=\"\r\n            onCheckBoxChange('shub2s', !$store.state.activeDevices.shub2s)\r\n          \"\r\n        />\r\n        <label for=\"checkboxHub2S\">Surface Hub 2S 85\"</label>\r\n      </div>\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.shubs\"\r\n          id=\"checkboxHubS\"\r\n          @change=\"onCheckBoxChange('shubs', !$store.state.activeDevices.shubs)\"\r\n        />\r\n        <label for=\"checkboxHubS\">Surface Hub 2S 50\"</label>\r\n      </div> -->\r\n      <!-- ----  -->\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.sproFlexKeyboard\"\r\n          id=\"checkboxToba\"\r\n          @change=\"\r\n            onCheckBoxChange('sproFlexKeyboard', !$store.state.activeDevices.sproFlexKeyboard)\r\n          \"\r\n        />\r\n        <label for=\"checkboxToba\">Surface Pro Flex Keyboard</label>\r\n      </div>\r\n\r\n      <!-- <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.shead2\"\r\n          id=\"checkboxHeadphones2\"\r\n          @change=\"\r\n            onCheckBoxChange('shead2', !$store.state.activeDevices.shead2)\r\n          \"\r\n        />\r\n        <label for=\"checkboxHeadphones2\">Surface Headphones 2+</label>\r\n      </div>\r\n\r\n      <div class=\"item\">\r\n        <input\r\n          type=\"checkbox\"\r\n          :checked=\"$store.state.activeDevices.sear\"\r\n          id=\"checkboxEarbuds\"\r\n          @change=\"onCheckBoxChange('sear', !$store.state.activeDevices.sear)\"\r\n        />\r\n        <label for=\"checkboxEarbuds\">Surface Earbuds</label>\r\n      </div> -->\r\n\r\n      <div class=\"separator\" />\r\n\r\n      <div class=\"item share\" v-if=\"!share\">\r\n        <button id=\"share-button\" @click=\"share = !share\">\r\n          <svg\r\n            width=\"20\"\r\n            height=\"17\"\r\n            viewBox=\"0 0 29 26\"\r\n            fill=\"none\"\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n          >\r\n            <path\r\n              d=\"M0.000488281 26V7.48486H1.83887V24.1616H20.748V22.3232L22.5863 20.6162V26H0.000488281Z\"\r\n              fill=\"#3A3A3A\"\r\n            />\r\n            <path\r\n              fill-rule=\"evenodd\"\r\n              clip-rule=\"evenodd\"\r\n              d=\"M5.67652 20.3536C5.19504 18.6465 5.6767 13.9192 8.69693 10.2424C11.9442 6.28932 15.7878 5.51515 18.808 5.51515V0L28.7878 10.2424L18.808 20.3536V14.9697C18.7821 14.9697 18.7559 14.9697 18.7297 14.9697C17.1627 14.9693 15.0751 14.9688 11.7171 16.2828C8.97501 17.3559 6.88211 19.2589 5.9303 20.1243C5.83381 20.212 5.74904 20.2891 5.67652 20.3536ZM7.87879 16.1515C8.01011 14.4444 9.39653 11.7821 12.0808 9.58586C14.7262 7.42148 18.1423 7.4592 20.111 7.48094C20.2922 7.48295 20.4612 7.48481 20.6162 7.48481V4.46465L26.2626 10.2424L20.6162 16.1515V13C20.4531 13 20.2606 12.9975 20.043 12.9946C18.508 12.9745 15.7263 12.938 13.2626 13.6566C10.1111 14.5758 8.53536 15.6262 7.87879 16.1515Z\"\r\n              fill=\"#3A3A3A\"\r\n            />\r\n          </svg>\r\n          Share filtered site\r\n        </button>\r\n      </div>\r\n      <div class=\"share-view\" v-else>\r\n        <button\r\n          class=\"share-close\"\r\n          @click=\"\r\n            share = !share;\r\n            copied = !copied;\r\n          \"\r\n        >\r\n          <svg\r\n            width=\"15\"\r\n            height=\"15\"\r\n            viewBox=\"0 0 15 15\"\r\n            fill=\"none\"\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n          >\r\n            <path d=\"M1 0.5L14.5 14\" stroke=\"#000\" stroke-width=\"1.25\" />\r\n            <path d=\"M14.5 0.5L0.999999 14\" stroke=\"#000\" stroke-width=\"1.25\" />\r\n          </svg>\r\n        </button>\r\n        <div class=\"icon\" v-if=\"copied\">\r\n          <svg\r\n            width=\"29\"\r\n            height=\"29\"\r\n            viewBox=\"0 0 29 29\"\r\n            fill=\"none\"\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n          >\r\n            <circle cx=\"14.5\" cy=\"14.5\" r=\"14.5\" fill=\"#9BC45C\" />\r\n            <path\r\n              d=\"M6 15.2222L11.2308 21L23 8\"\r\n              stroke=\"#F4F4F4\"\r\n              stroke-width=\"2\"\r\n            />\r\n          </svg>\r\n        </div>\r\n        <p class=\"success\" v-if=\"copied\">Link copied!</p>\r\n        <div class=\"text-link\">\r\n          <input\r\n            v-on:focus=\"$event.target.select()\"\r\n            ref=\"clone\"\r\n            readonly\r\n            :value=\"$store.state.shareUrl\"\r\n          />\r\n          <button @click=\"copy\" class=\"copy-button\">Copy</button>\r\n        </div>\r\n        <p class=\"information\">\r\n          The linked site will display the currently selected devices\r\n        </p>\r\n      </div>\r\n    </div>\r\n  </FocusTrap>\r\n</template>\r\n<script>\r\nimport { ref, watch, computed, onMounted } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport { FocusTrap } from \"focus-trap-vue\";\r\n\r\nlet OPEN_TIMEOUT = null;\r\n\r\nexport default {\r\n  components: { FocusTrap },\r\n  setup() {\r\n    let store = useStore();\r\n    let isHovered = ref(false);\r\n    let clone = ref(null);\r\n    let share = ref(false);\r\n    let copied = ref(false);\r\n\r\n    watch(\r\n      () => isHovered.value,\r\n      newVal => {\r\n        if (!newVal && isFilterOpen.value) {\r\n          setAutoCloseTimeout();\r\n        } else {\r\n          clearAutoCloseTimeout();\r\n        }\r\n      }\r\n    );\r\n\r\n    const isFilterOpen = computed({\r\n      get() {\r\n        return store.state.isFilterOpen;\r\n      },\r\n      set(newValue) {\r\n        store.commit(\"updateFilterOpen\", newValue);\r\n      },\r\n    });\r\n\r\n    let clearAutoCloseTimeout = () => {\r\n      if (OPEN_TIMEOUT) {\r\n        window.clearTimeout(OPEN_TIMEOUT);\r\n        OPEN_TIMEOUT = null;\r\n      }\r\n    };\r\n\r\n    let setAutoCloseTimeout = () => {\r\n      clearAutoCloseTimeout();\r\n      OPEN_TIMEOUT = window.setTimeout(() => {\r\n        isFilterOpen.value = false;\r\n      }, 4500);\r\n    };\r\n\r\n    let onCheckBoxChange = (id, value) => {\r\n      store.commit(\"updateDevices\", { id, value });\r\n    };\r\n\r\n    onMounted(() => {\r\n      store.commit(\"updateDevices\");\r\n    });\r\n\r\n    let copy = () => {\r\n      clone.value.focus();\r\n      document.execCommand(\"copy\");\r\n      copied.value = true;\r\n    };\r\n\r\n    return {\r\n      isFilterOpen,\r\n      isHovered,\r\n      onCheckBoxChange,\r\n      copy,\r\n      share,\r\n      copied,\r\n      clone,\r\n    };\r\n  },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.filter_menu {\r\n  position: absolute;\r\n  top: 42px;\r\n  right: 62px;\r\n  width: 225px;\r\n  min-height: 488px;\r\n  z-index: 30;\r\n  background-color: #f4f4f4;\r\n  display: flex;\r\n  flex-direction: column;\r\n  overflow-y: auto;\r\n\r\n  button:focus-visible {\r\n    outline: -webkit-focus-ring-color auto 1px;\r\n  }\r\n\r\n  div.item {\r\n    padding-top: 12px;\r\n    padding-left: 20px;\r\n    color: #3a3a3a;\r\n    font-weight: 400;\r\n    font-size: 14px;\r\n\r\n    label {\r\n      margin-left: 15px;\r\n    }\r\n\r\n    &.share {\r\n      padding-top: 10px;\r\n    }\r\n\r\n    button {\r\n      background: none;\r\n      color: inherit;\r\n      border: none;\r\n      padding: 0;\r\n      font: inherit;\r\n      cursor: pointer;\r\n\r\n      svg {\r\n        margin-right: 10px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .share-view {\r\n    padding: 18px 20px;\r\n    min-height: 92px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: space-between;\r\n\r\n    .share-close {\r\n      align-self: flex-end;\r\n      background: none;\r\n      color: inherit;\r\n      border: none;\r\n      padding: 0;\r\n      font: inherit;\r\n      cursor: pointer;\r\n      margin-top: -10px;\r\n    }\r\n\r\n    div.icon {\r\n      display: flex;\r\n      justify-content: center;\r\n    }\r\n\r\n    p.success {\r\n      size: 18px;\r\n      color: #3a3a3a;\r\n      font-weight: 400;\r\n      line-height: 21px;\r\n      text-align: center;\r\n    }\r\n\r\n    div.text-link {\r\n      display: flex;\r\n      flex-direction: row;\r\n\r\n      .copy-button {\r\n        background: #4492c5;\r\n        color: #fff;\r\n        border: none;\r\n        padding-left: 5px;\r\n        padding-right: 5px;\r\n        margin-left: 3px;\r\n        font: inherit;\r\n        cursor: pointer;\r\n      }\r\n    }\r\n\r\n    p.information {\r\n      font-style: italic;\r\n      font-weight: 400;\r\n      font-size: 10.5px;\r\n      line-height: 14px;\r\n      text-align: center;\r\n      margin-left: -5px;\r\n      color: #3a3a3a;\r\n    }\r\n  }\r\n\r\n  div.separator {\r\n    background-color: #3a3a3a;\r\n    width: 202px;\r\n    height: 1px;\r\n    align-self: center;\r\n    margin-top: 14px;\r\n  }\r\n}\r\n.close {\r\n  display: none;\r\n}\r\n</style>\r\n","import { render } from \"./FilterOptions.vue?vue&type=template&id=4e64a8ec&scoped=true\"\nimport script from \"./FilterOptions.vue?vue&type=script&lang=js\"\nexport * from \"./FilterOptions.vue?vue&type=script&lang=js\"\n\nimport \"./FilterOptions.vue?vue&type=style&index=0&id=4e64a8ec&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4e64a8ec\"]])\n\nexport default __exports__","import { render } from \"./SettingsDrawer.vue?vue&type=template&id=6aef27de&scoped=true\"\nimport script from \"./SettingsDrawer.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsDrawer.vue?vue&type=script&lang=js\"\n\nimport \"./SettingsDrawer.vue?vue&type=style&index=0&id=6aef27de&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6aef27de\"]])\n\nexport default __exports__","<template>\r\n  <FocusTrap :active=\"modalIsOpen\" :initial-focus=\"() => $refs.closeBtn\">\r\n    <div class=\"disclaimer\" :class=\"{ 'disclaimer--active': modalIsOpen }\">\r\n      <div class=\"disclaimer__modal-container\">\r\n        <div class=\"disclaimer__content\" ref=\"closeBtn\">\r\n          <button\r\n            class=\"disclaimer__close\"\r\n            tabindex=\"1\"\r\n            @click=\"toggleModal\"\r\n            :aria-label=\"$t('accessibility.closeModalFeedBack')\"\r\n          >\r\n            <img\r\n              src=\"@/assets/close-x.svg\"\r\n              v-bind:alt=\"$t('accessibility.closeModalFeedBack')\"\r\n            />\r\n          </button>\r\n          <div\r\n            class=\"disclaimer__body\"\r\n            :class=\"{ 'disclaimer__body--center': submitted }\"\r\n          >\r\n            <div v-if=\"!submitted\">\r\n              <h1 class=\"modal_title\">{{ questions.title }}</h1>\r\n              <div\r\n                v-for=\"(element, index) in questions.questions\"\r\n                :key=\"index\"\r\n                class=\"modal_question\"\r\n              >\r\n                <h2 class=\"modal_question_title\">{{ element.question }}</h2>\r\n                <div v-if=\"element.isRadio\">\r\n                  <div class=\"modal_radio_container\">\r\n                    <div\r\n                      v-for=\"(answer, index2) in element.answers\"\r\n                      :key=\"index2\"\r\n                      class=\"modal_radio_container2\"\r\n                    >\r\n                      <input\r\n                        class=\"modal_radio_input\"\r\n                        :aria-label=\"answer.value\"\r\n                        type=\"radio\"\r\n                        :tabindex=\"1\"\r\n                        :id=\"answer.id\"\r\n                        :name=\"index\"\r\n                        v-on:keyup.enter=\"\r\n                          $event.target.nextElementSibling.focus()\r\n                        \"\r\n                        :value=\"answer.id\"\r\n                        v-model=\"picked[index]\"\r\n                      />\r\n                      <h3 class=\"modal_radio_label\">{{ answer.value }}</h3>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <div v-if=\"element.isTextArea\">\r\n                  <textarea\r\n                    tabindex=\"1\"\r\n                    :aria-label=\"$t('accessibility.anyComment')\"\r\n                    class=\"modal_question_text\"\r\n                    :placeholder=\"element.placeHolder\"\r\n                    v-model=\"picked[index]\"\r\n                  ></textarea>\r\n                </div>\r\n              </div>\r\n              <button\r\n                class=\"modal_submit_button\"\r\n                tabindex=\"20\"\r\n                @click=\"submit()\"\r\n                :disabled=\"!picked[0] && !picked[1] && !picked[2] && !picked[3]\"\r\n              >\r\n                {{ $t(\"general.scenes.submit\") }}\r\n              </button>\r\n            </div>\r\n            <div v-if=\"submitted\" class=\"center_submit\">\r\n              <h1 class=\"submit_title\">Success.</h1>\r\n              <h2 class=\"submit_subtitle\">Thank you for your feedback.</h2>\r\n              <button class=\"submit_button_close\" @click=\"toggleModal\">\r\n                Close\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </FocusTrap>\r\n</template>\r\n\r\n<script>\r\nimport { ref, watch } from \"vue\";\r\nimport { store } from \"@/data/store.js\";\r\nimport questions from \"@/data/feedBack.json\";\r\nimport { sendRequest } from \"@/js/feedBack.js\";\r\nimport { FocusTrap } from \"focus-trap-vue\";\r\n\r\nexport default {\r\n  components: { FocusTrap },\r\n  props: {\r\n    isOpen: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  setup(props) {\r\n    const picked = ref([]);\r\n    const modalIsOpen = ref(props.isOpen);\r\n    const submitted = ref(false);\r\n\r\n    watch(\r\n      () => props.isOpen,\r\n      () => {\r\n        modalIsOpen.value = props.isOpen;\r\n      }\r\n    );\r\n\r\n    function toggleModal() {\r\n      modalIsOpen.value = false;\r\n      store.commit(\"updateFeedBack\", modalIsOpen.value);\r\n      picked.value = [];\r\n    }\r\n\r\n    function submit() {\r\n      let request = { site_name: \"Surface for Business\" };\r\n\r\n      if (picked.value[0]) {\r\n        request.understanding_improved = 3 - picked.value[0];\r\n      }\r\n      if (picked.value[1]) {\r\n        request.content_valuable = 3 - picked.value[1];\r\n      }\r\n      if (picked.value[2]) {\r\n        request.likely_to_purchase = 3 - picked.value[2];\r\n      }\r\n      if (picked.value[3]) {\r\n        request.comments = picked.value[3];\r\n      }\r\n\r\n      sendRequest(request);\r\n\r\n      submitted.value = true;\r\n    }\r\n\r\n    return {\r\n      props,\r\n      toggleModal,\r\n      modalIsOpen,\r\n      questions,\r\n      picked,\r\n      submit,\r\n      submitted,\r\n    };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.disclaimer {\r\n  font-family: Segoe UI;\r\n  font-style: normal;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  background: rgba(0, 0, 0, 0);\r\n  height: 100vh;\r\n  width: 100%;\r\n  user-select: none;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n\r\n  &__modal-container {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    height: 100vh;\r\n    width: 100%;\r\n    background: rgba(0, 0, 0, 0);\r\n    transition: all 0.25s ease-in-out;\r\n    z-index: 100;\r\n  }\r\n\r\n  &__content {\r\n    position: relative;\r\n    width: calc(100% - 140px);\r\n    max-width: 52%;\r\n    max-height: 90%;\r\n    min-height: 78vh;\r\n    background: #ffffff;\r\n    box-shadow: 0px 4px 44px 4px rgba(0, 0, 0, 0.25);\r\n    border-radius: 4px;\r\n    padding-top: 3.14%;\r\n    box-sizing: border-box;\r\n    opacity: 0;\r\n    transition: all 0.25s ease-in-out;\r\n    display: flex;\r\n    flex-direction: column;\r\n\r\n    @media all and (max-width: 1400px) {\r\n      max-width: 62%;\r\n    }\r\n    @include breakpoint(\"tablet\") {\r\n      max-width: 600px;\r\n    }\r\n  }\r\n\r\n  &__body {\r\n    overflow: auto;\r\n\r\n    padding-left: 4%;\r\n    padding-right: 4%;\r\n\r\n    p {\r\n      padding: 8px 0;\r\n    }\r\n\r\n    &--center {\r\n      margin: auto;\r\n    }\r\n  }\r\n\r\n  &__close {\r\n    position: absolute;\r\n    background: none;\r\n    border: none;\r\n    top: 25px;\r\n    right: 25px;\r\n    cursor: pointer;\r\n  }\r\n\r\n  &--active {\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n\r\n    .disclaimer__modal-container {\r\n      background: rgba(0, 0, 0, 0.66);\r\n    }\r\n\r\n    .disclaimer__content {\r\n      opacity: 1;\r\n    }\r\n  }\r\n}\r\n\r\n.modal_title {\r\n  font-weight: 600;\r\n  font-size: 26px;\r\n  line-height: 150%;\r\n  color: #4a4a4a;\r\n}\r\n.modal_question {\r\n  margin-bottom: 30px;\r\n}\r\n\r\n.modal_question_title {\r\n  font-weight: bold;\r\n  font-size: 15px;\r\n  line-height: 160%;\r\n  color: #4a4a4a;\r\n  max-width: 66%;\r\n}\r\n\r\n.modal_question_text::placeholder {\r\n  opacity: 0.9;\r\n}\r\n\r\n.modal_question_text {\r\n  cursor: auto;\r\n  font-weight: normal;\r\n  font-size: 16px;\r\n  line-height: 160%;\r\n  color: #000000;\r\n  padding-left: 20px;\r\n  min-width: 96.9%;\r\n  min-height: 112px;\r\n  resize: none;\r\n}\r\n\r\n.modal_radio_container {\r\n  display: flex;\r\n  flex-direction: row;\r\n  justify-content: space-between;\r\n}\r\n.modal_radio_container2 {\r\n  display: flex !important;\r\n}\r\n.modal_radio_label {\r\n  pointer-events: none;\r\n  margin-bottom: 0px;\r\n  margin-top: 2px;\r\n  font-weight: normal;\r\n  font-size: 14px;\r\n  line-height: 19px;\r\n  color: #323130;\r\n  order: 1;\r\n}\r\n.modal_radio_input {\r\n  width: 18px;\r\n  height: 18px;\r\n  vertical-align: text-bottom;\r\n  margin-left: 0;\r\n}\r\n\r\n.modal_submit_button {\r\n  background-color: #0078d4;\r\n  border-radius: 2px;\r\n  color: #ffffff;\r\n  font-weight: normal;\r\n  font-size: 16px;\r\n  line-height: 160%;\r\n  min-width: 21%;\r\n  min-height: 5vh;\r\n  border: 0px solid #0078d4;\r\n  cursor: pointer;\r\n}\r\n.submit_title {\r\n  font-weight: 600;\r\n  font-size: 36px;\r\n  line-height: 125%;\r\n  text-align: center;\r\n  letter-spacing: -0.02em;\r\n  color: #4a4a4a;\r\n  margin-bottom: 0px;\r\n}\r\n.submit_subtitle {\r\n  font-weight: normal;\r\n  font-size: 16px;\r\n  line-height: 160%;\r\n  text-align: center;\r\n  color: #4a4a4a;\r\n  margin-top: 0px;\r\n  margin-bottom: 25px;\r\n}\r\n\r\n.submit_button_close {\r\n  background-color: #0078d4;\r\n  border-radius: 2px;\r\n  color: #ffffff;\r\n  font-weight: normal;\r\n  font-size: 16px;\r\n  line-height: 160%;\r\n  min-width: 60%;\r\n  min-height: 5vh;\r\n  border: 0px solid #0078d4;\r\n  cursor: pointer;\r\n  margin-bottom: 74px;\r\n}\r\n\r\n.center_submit {\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  vertical-align: center;\r\n}\r\n</style>\r\n","import { render } from \"./FeedBack.vue?vue&type=template&id=76748331&scoped=true\"\nimport script from \"./FeedBack.vue?vue&type=script&lang=js\"\nexport * from \"./FeedBack.vue?vue&type=script&lang=js\"\n\nimport \"./FeedBack.vue?vue&type=style&index=0&id=76748331&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-76748331\"]])\n\nexport default __exports__","<template>\r\n  <div class=\"guide\">\r\n    <transition name=\"fade\">\r\n      <div\r\n        v-if=\"currentGuide && $store.state.currentScenario.guideIsShowing\"\r\n        class=\"guide__box\"\r\n        :class=\"position\"\r\n        :style=\"{ maxWidth: maxWidth }\"\r\n      >\r\n        <div class=\"guide__content\" v-html=\"$sanitize($t(currentGuide.text))\" />\r\n        <div\r\n          v-if=\"\r\n            currentGuide.prevButton ||\r\n              currentGuide.nextButton ||\r\n              currentGuide.finishButton\r\n          \"\r\n          class=\"guide__buttons\"\r\n        >\r\n          <div>\r\n            <ButtonText\r\n              v-if=\"currentGuide.prevButton\"\r\n              text=\"general.scenes.back\"\r\n              @click=\"\r\n                () => {\r\n                  this.$store.dispatch('prev');\r\n                }\r\n              \"\r\n              arrow=\"left\"\r\n              id=\"actionButton\"\r\n            />\r\n          </div>\r\n          <div>\r\n            <ButtonText\r\n              v-if=\"currentGuide.nextButton\"\r\n              text=\"general.scenes.next\"\r\n              @click=\"\r\n                () => {\r\n                  this.$store.dispatch('next');\r\n                }\r\n              \"\r\n              id=\"actionButton\"\r\n            />\r\n            <ButtonText\r\n              v-else-if=\"currentGuide.finishButton\"\r\n              text=\"general.scenes.finish\"\r\n              @click=\"\r\n                () => {\r\n                  this.$store.dispatch('next');\r\n                }\r\n              \"\r\n              id=\"actionButton\"\r\n            />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </transition>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport guideData from \"@/data/guide\";\r\nimport ButtonText from \"@/components/common/ButtonText\";\r\nimport { computed } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\n\r\nexport default {\r\n  name: \"Guide\",\r\n  components: {\r\n    ButtonText,\r\n  },\r\n  setup(props) {\r\n    const store = useStore();\r\n\r\n    const currentGuide = computed(() => {\r\n      if (pageIndex.value !== 0 && guideData) {\r\n        let guideForScreen =\r\n          guideData?.[store.state.currentScenario.guideId]?.[pageIndex.value];\r\n        if (guideForScreen?.iframe) {\r\n          return guideForScreen?.[\r\n            store.state?.currentScenario?.activeIframeData?.screenId\r\n          ];\r\n        } else {\r\n          return guideForScreen;\r\n        }\r\n      }\r\n      return null;\r\n    });\r\n\r\n    const pageIndex = computed(() => {\r\n      return store.state.pageIndex;\r\n    });\r\n\r\n    const position = computed(() => {\r\n      let returnVal = [\"guide__box--Hcenter\", \"guide__box--top\"];\r\n      if (currentGuide.value?.position) {\r\n        if (currentGuide.value.position.x) {\r\n          returnVal[0] =\r\n            currentGuide.value.position.x === \"center\"\r\n              ? `guide__box--H${currentGuide.value.position.x}`\r\n              : `guide__box--${currentGuide.value.position.x}`;\r\n        }\r\n        if (currentGuide.value.position.y) {\r\n          returnVal[1] =\r\n            currentGuide.value.position.y === \"center\"\r\n              ? `guide__box--V${currentGuide.value.position.y}`\r\n              : `guide__box--${currentGuide.value.position.y}`;\r\n        }\r\n      }\r\n      return returnVal;\r\n    });\r\n\r\n    const maxWidth = computed(() => {\r\n      let returnMaxWidth = \"250px\";\r\n      if (currentGuide.value && currentGuide.value.maxWidth) {\r\n        returnMaxWidth = currentGuide.value.maxWidth;\r\n      }\r\n      return returnMaxWidth;\r\n    });\r\n\r\n    return { props, pageIndex, guideData, position, currentGuide, maxWidth };\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.guide {\r\n  $extraPadding: 112px;\r\n\r\n  position: absolute;\r\n  pointer-events: none;\r\n  touch-action: none;\r\n  top: 0;\r\n  right: 0;\r\n  z-index: 29;\r\n  width: calc(100vw - (#{$absoluteOuterPadding} * 2));\r\n  height: calc(100vh - (#{$absoluteOuterPadding} * 2) - 92px);\r\n  box-sizing: border-box;\r\n  margin: calc(#{$absoluteOuterPadding} + 46px) $absoluteOuterPadding;\r\n\r\n  &__box {\r\n    position: absolute;\r\n    padding: 12px;\r\n    border-radius: 3px;\r\n    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);\r\n    right: 0;\r\n    top: 0;\r\n    @include backgroundBlur(#fff, 0.975, 0.8, 15px);\r\n    max-width: 600px;\r\n    pointer-events: all;\r\n    touch-action: auto;\r\n\r\n    &--top {\r\n      top: 0;\r\n    }\r\n\r\n    &--bottom {\r\n      top: initial;\r\n      bottom: 0;\r\n    }\r\n    &--Vcenter {\r\n      top: 50%;\r\n      transform: translateY(-50%);\r\n    }\r\n\r\n    @include breakpoint(mobile) {\r\n      max-height: 50px;\r\n      overflow: auto;\r\n    }\r\n    @include breakpoint(tablet) {\r\n      max-height: 60px;\r\n      overflow: auto;\r\n    }\r\n  }\r\n\r\n  &__content {\r\n    @include text(body);\r\n\r\n    color: $extraDarkGray;\r\n    font-size: 15px;\r\n\r\n    :deep(p),\r\n    p {\r\n      margin-bottom: 12px !important;\r\n    }\r\n  }\r\n\r\n  &__buttons {\r\n    display: flex;\r\n    margin-top: 24px;\r\n    justify-content: space-between;\r\n  }\r\n}\r\n</style>\r\n","<template>\r\n  <button\r\n    class=\"buttonText\"\r\n    :class=\"{\r\n      'buttonText--white-text': white,\r\n      'buttonText--left': arrow === 'left',\r\n      'buttonText--right': arrow === 'right',\r\n    }\"\r\n  >\r\n    {{ $t(text) }}\r\n    <div v-if=\"arrow\" class=\"buttonText__arrows-container\">\r\n      <div\r\n        v-if=\"arrow === 'right'\"\r\n        class=\"buttonText__arrow buttonText__arrowRight\"\r\n      ></div>\r\n      <div\r\n        v-if=\"arrow === 'left'\"\r\n        class=\"buttonText__arrow buttonText__arrowLeft\"\r\n      ></div>\r\n    </div>\r\n  </button>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  setup(props) {\r\n    return props;\r\n  },\r\n  props: {\r\n    text: {\r\n      type: String,\r\n      required: true,\r\n    },\r\n    white: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    arrow: {\r\n      type: String,\r\n      default: \"right\",\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.buttonText {\r\n  position: relative;\r\n  @include text(bodyBold);\r\n  background: transparent;\r\n  color: $blue;\r\n  border: none;\r\n  display: flex;\r\n  justify-items: space-between;\r\n  align-items: center;\r\n  padding: 0px 8px;\r\n  transition: all 200ms ease;\r\n  pointer-events: all;\r\n  touch-action: auto;\r\n  cursor: pointer;\r\n\r\n  &--white-text {\r\n    color: #fff;\r\n  }\r\n\r\n  &--left {\r\n    padding: 0px 8px 0px 24px;\r\n  }\r\n  &--right {\r\n    padding: 0px 24px 0px 8px;\r\n  }\r\n\r\n  &__arrows-container {\r\n    position: absolute;\r\n    width: 100%;\r\n    height: 100%;\r\n    top: 0;\r\n    left: 0;\r\n    z-index: 0;\r\n  }\r\n  &__arrow {\r\n    position: absolute;\r\n    content: url(\"data:image/svg+xml,%3Csvg width='7' height='9' viewBox='0 0 7 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 4.5L0.25 8.39711L0.25 0.602885L7 4.5Z' fill='%230078D4'/%3E%3C/svg%3E%0A\");\r\n    width: 12px;\r\n    transition: 0.15s all ease;\r\n\r\n    &Right {\r\n      transform: translate(-25%, -50%);\r\n      top: 50%;\r\n      right: 0;\r\n    }\r\n    &Left {\r\n      transform: translate(25%, -50%) rotate(180deg);\r\n      top: 50%;\r\n      left: 0;\r\n    }\r\n  }\r\n\r\n  &:hover {\r\n    .buttonText__arrow {\r\n      &Right {\r\n        transform: translate(0%, -50%);\r\n        top: 50%;\r\n        right: 0;\r\n      }\r\n      &Left {\r\n        transform: translate(0%, -50%) rotate(180deg);\r\n        top: 50%;\r\n        left: 0;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import { render } from \"./ButtonText.vue?vue&type=template&id=3c51be5b&scoped=true\"\nimport script from \"./ButtonText.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonText.vue?vue&type=script&lang=js\"\n\nimport \"./ButtonText.vue?vue&type=style&index=0&id=3c51be5b&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c51be5b\"]])\n\nexport default __exports__","import { render } from \"./Guide.vue?vue&type=template&id=1cdc3494&scoped=true\"\nimport script from \"./Guide.vue?vue&type=script&lang=js\"\nexport * from \"./Guide.vue?vue&type=script&lang=js\"\n\nimport \"./Guide.vue?vue&type=style&index=0&id=1cdc3494&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1cdc3494\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=5c588014&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=5c588014&lang=scss\"\nimport \"./App.vue?vue&type=style&index=1&id=5c588014&lang=scss&scoped=true\"\nimport \"./App.vue?vue&type=style&index=2&id=5c588014&lang=scss\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5c588014\"]])\n\nexport default __exports__","//if actual user configuation is not one of these languages,\r\n//the default value will be the first element of the array\r\n// English on this case\r\n\r\n//if this array is empty you will get an index out of bound error\r\n// on index.js (router) and on i18n.js\r\n\r\n// const VALID_LANGUAGES = [\"en-us\"];\r\nconst VALID_LANGUAGES = [\"en-us\", \"es-es\", \"de-de\", \"fr-fr\", \"ja-jp\"];\r\n\r\nexport default VALID_LANGUAGES;\r\n","import { createRouter, createWebHashHistory } from \"vue-router\";\r\nimport { store } from \"@/data/store.js\";\r\nimport { trackRouter } from \"vue-gtag-next\";\r\nimport VALID_LANGUAGES from \"../i18nLanguage\";\r\n\r\nconst getTitleFromName = name => {\r\n  //   console.log(\"getting name\");\r\n  switch (name) {\r\n    case \"pro8\":\r\n      return \"Surface Pro 8\";\r\n    case \"pro9\":\r\n      return \"Surface Pro 9\";\r\n    case \"pro11\":\r\n      return \"Surface Pro\";\r\n    case \"pro10\":\r\n      return \"Surface Pro 10\";\r\n    // New change for 9/21 ----\r\n    case \"laptopStudio2\":\r\n      return \"Surface Laptop Studio 2\";\r\n    // ----\r\n    case \"laptopStudio\":\r\n      return \"Surface Laptop Studio\";\r\n    case \"proX\":\r\n      return \"Surface Pro X\";\r\n    case \"earbuds\":\r\n      return \"Surface Earbuds\";\r\n    // New change for 9/21 ----\r\n    case \"go4\":\r\n      return \"Surface Go 4\";\r\n    // ----\r\n    case \"go3\":\r\n      return \"Surface Go 3\";\r\n    case \"headphones\":\r\n      return \"Surface Headphones 2+\";\r\n    case \"proFlexKeyboard\":\r\n      return \"Surface Pro Flex Keyboard\";\r\n    case \"laptop4\":\r\n      return \"Surface Laptop 4\";\r\n    case \"laptop5\":\r\n      return \"Surface Laptop 5\";\r\n    case \"laptop6\":\r\n      return \"Surface Laptop 6\";\r\n    case \"laptop7\":\r\n      return \"Surface Laptop\";\r\n    // New change for 9/21 ----\r\n    case \"laptopGo3\":\r\n      return \"Surface Laptop Go 3\";\r\n    // ----\r\n    case \"laptopGo2\":\r\n      return \"Surface Laptop Go 2\";\r\n    case \"studio2\":\r\n      return \"Surface Studio 2+\";\r\n    case \"hub3\":\r\n      return \"Surface Hub 3\";\r\n    case \"hub2s\":\r\n      return \"Surface Hub 2S\";\r\n    case \"duo2\":\r\n      return \"Surface Duo 2\";\r\n  }\r\n};\r\n\r\nconst getDefault = () => {\r\n  let userLanguage = window.navigator.userLanguage || window.navigator.language;\r\n  if (VALID_LANGUAGES.includes(userLanguage.toLowerCase())) {\r\n    store.commit(\"updateActualLang\", userLanguage.toLowerCase());\r\n  } else {\r\n    store.commit(\"updateActualLang\", VALID_LANGUAGES[0].toLowerCase());\r\n  }\r\n  //store.commit(\"updateActualLang\", \"en\");\r\n  return \"/\" + store.state.actualLang;\r\n};\r\n\r\nconst routes = [\r\n  {\r\n    path: \"/\",\r\n    redirect: getDefault(),\r\n  },\r\n  {\r\n    path: \"/:lang\",\r\n    name: \"Explore Surface for Business\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"family-explorer\" */ \"../modules/familyExplorer/FamilyExplorer.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/device/:device\",\r\n    name: \"Device Explorer\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"family-explorer\" */ \"../modules/familyExplorer/FamilyExplorer.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/productivity-and-inking\",\r\n    name: \"Productivity and inking\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-go\" */ \"../modules/surfaceGo_A/SurfaceGo_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/maps-on-the-go\",\r\n    name: \"Maps on the go\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-go\" */ \"../modules/surfaceGo_B/SurfaceGo_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/taking-a-picture\",\r\n    name: \"Taking a picture\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-go\" */ \"../modules/surfaceGo_C/SurfaceGo_C.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/autopilot-user-experience\",\r\n    name: \"Autopilot user experience\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-go\" */ \"../modules/surfaceGo_D/SurfaceGo_D.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/collaborate-anywhere\",\r\n    name: \"Collaborate anywhere\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-hub\" */ \"../modules/surfaceHub_A/surfaceHub_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/join-meetings-seamlessly\",\r\n    name: \"Join meetings seamlessly\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-hub\" */ \"../modules/surfaceHub_B/surfaceHub_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/multiscreen-meeting\",\r\n    name: \"Multiscreen meeting\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-hub\" */ \"../modules/surfaceHub_C/surfaceHub_C.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/personal-office\",\r\n    name: \"Personal office\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-hub\" */ \"../modules/surfaceHub_D/surfaceHub_D.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/precision-note-taking\",\r\n    name: \"Precision note-taking\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-pro\" */ \"../modules/surfacePro_C/SurfacePro_C.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/autopilot-admin-experience\",\r\n    name: \"Autopilot admin experience\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-pro\" */ \"../modules/surfaceProX_B/surfaceProX_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/touchscreen-display\",\r\n    name: \"Touchscreen Display\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop-go\" */ \"../modules/surfaceLaptopGo_A/SurfaceLaptopGo_A.vue\"\r\n      ),\r\n  },\r\n\r\n  {\r\n    path: \"/:lang/desktop-on-the-go\",\r\n    name: \"Desktop on the go\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop-go\" */ \"../modules/surfaceLaptopGo_B/SurfaceLaptopGo_B.vue\"\r\n      ),\r\n  },\r\n\r\n  {\r\n    path: \"/:lang/lightweight-performance\",\r\n    name: \"Lightweight performance\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop\" */ \"../modules/surfaceLaptop_A/SurfaceLaptop_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/responsive-trackpad\",\r\n    name: \"Responsive trackpad\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop\" */ \"../modules/surfaceLaptop_B/SurfaceLaptop_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/best-in-class-meetings\",\r\n    name: \"Best in class meetings\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop\" */ \"../modules/surfaceLaptop_C/SurfaceLaptop_C.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/live-inking\",\r\n    name: \"Live inking\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-book\" */ \"../modules/surfaceBook_A/SurfaceBook_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/ideate-with-microsoft-whiteboard\",\r\n    name: \"Ideate with Microsoft Whiteboard\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop-sudio\" */ \"../modules/surfaceRowan_A/surfaceRowan_A.vue\"\r\n      ),\r\n  },\r\n\r\n  {\r\n    path: \"/:lang/create-dynamic-presentations-with-powerPoint\",\r\n    name: \"Create dynamic presentations with PowerPoint\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-laptop-sudio\" */ \"../modules/surfaceRowan_B/surfaceRowan_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/productivity-with-natural-inputs\",\r\n    name: \"Productivity with natural inputs\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-pro-9\" */ \"../modules/surfaceDelia_A/surfaceDelia_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/performance-by-your-definition\",\r\n    name: \"Performance by your definition\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-pro-9\" */ \"../modules/surfaceDelia_B/surfaceDelia_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/stay-connected-with-5g\",\r\n    name: \"Stay connected with 5G\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-pro-9\" */ \"../modules/surfaceHarris_A/surfaceHarris_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/creative-agility\",\r\n    name: \"Creative agility\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-book\" */ \"../modules/surfaceBook_D/SurfaceBook_D.vue\"\r\n      ),\r\n  },\r\n\r\n  {\r\n    path: \"/:lang/creative-freedom\",\r\n    name: \"Creative freedom\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-studio\" */ \"../modules/surfaceStudio_A/SurfaceStudio_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/color-accuracy\",\r\n    name: \"Color accuracy\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-studio\" */ \"../modules/surfaceStudio_B/SurfaceStudio_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/prepare-and-present-with-surface-duo-2\",\r\n    name: \"Prepare and present with Surface Duo 2\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-studio\" */ \"../modules/surfaceDuo_A/surfaceDuo_A.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/do-more-with-outlook-on-surface-duo-2\",\r\n    name: \"Do more with Outlook on Surface Duo 2\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-studio\" */ \"../modules/surfaceDuo_B/surfaceDuo_B.vue\"\r\n      ),\r\n  },\r\n  {\r\n    path: \"/:lang/stay-in-the-know-even-when-its-closed\",\r\n    name: \"Stay in the know even when its closed\",\r\n    component: () =>\r\n      import(\r\n        /* webpackChunkName: \"surface-studio\" */ \"../modules/surfaceDuo_C/surfaceDuo_C.vue\"\r\n      ),\r\n  },\r\n];\r\n\r\nconst router = createRouter({\r\n  history: createWebHashHistory(),\r\n  routes,\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n  if (to.name === \"Device Explorer\") {\r\n    document.title = \"Device Explorer - \" + getTitleFromName(to.params.device);\r\n  } else document.title = to.name;\r\n  next();\r\n});\r\n\r\nif (\r\n  window.location.host === \"explore-surface-staging.netlify.app\" ||\r\n  window.location.host === \"exploresurface.com\" ||\r\n  window.location.host === \"www.exploresurface.com\"\r\n) {\r\n  trackRouter(router, {\r\n    template(to) {\r\n      if (to.name === \"Device Explorer\") {\r\n        return {\r\n          page_title: \"Device Explorer - \" + getTitleFromName(to.params.device),\r\n        };\r\n      } else {\r\n        return {\r\n          page_title: to.name,\r\n        };\r\n      }\r\n    },\r\n  });\r\n}\r\n\r\nexport default router;\r\n","/* eslint-disable no-console */\r\n\r\nimport { register } from \"register-service-worker\";\r\n\r\nif (process.env.NODE_ENV === \"production\") {\r\n  register(`${process.env.BASE_URL}service-worker.js`, {\r\n    ready() {\r\n      console.log(\r\n        \"App is being served from cache by a service worker.\\n\" +\r\n          \"For more details, visit https://goo.gl/AFskqB\"\r\n      );\r\n    },\r\n    registered() {\r\n      console.log(\"Service worker has been registered.\");\r\n    },\r\n    cached() {\r\n      console.log(\"Content has been cached for offline use.\");\r\n    },\r\n    updatefound() {\r\n      console.log(\"New content is downloading.\");\r\n    },\r\n    updated(registration) {\r\n      // When the SW is updated we will dispatch an event we can listen to in our .vue file\r\n      console.log(\"New content is available; please refresh.\");\r\n      document.dispatchEvent(\r\n        new CustomEvent(\"swUpdated\", { detail: registration })\r\n      );\r\n    },\r\n    offline() {\r\n      console.log(\r\n        \"No internet connection found. App is running in offline mode.\"\r\n      );\r\n    },\r\n    error(error) {\r\n      console.error(\"Error during service worker registration:\", error);\r\n    },\r\n  });\r\n}\r\n","import { createI18n } from \"vue-i18n\"; // import from runtime only\r\n\r\nimport { store } from \"@/data/store.js\";\r\n\r\n// importing de json files to translate everything\r\n// add a new language mean that you need to import a new json file\r\nimport en_us from \"./locales/en.json\";\r\nimport es_es from \"./locales/es.json\";\r\nimport de_de from \"./locales/de.json\";\r\nimport fr_fr from \"./locales/fr.json\";\r\nimport ja_jp from \"./locales/jp.json\";\r\n\r\nimport VALID_LANGUAGES from \"./i18nLanguage\";\r\n\r\nconst DEFAULT_LANGUAGE = VALID_LANGUAGES[0]; // just in case that actual locale is not valid\r\n\r\nconst isValidLang = lang => {\r\n  return VALID_LANGUAGES.includes(lang.toLowerCase());\r\n};\r\n\r\nlet language = \"\";\r\nif (window.location.hash.split(\"/\").length > 1) {\r\n  language = window.location.hash.split(\"/\")[1];\r\n}\r\n\r\n//the first run of the web site the URL is always \"/\"\r\n// and them the router redirect to the user default language i.e \"/en-us\"\r\n// so we set on the store the actual user language and if we got it, them use it\r\nif (!language && store.state.actualLang) {\r\n  language = store.state.actualLang;\r\n}\r\n\r\nif (!language || !isValidLang(language)) {\r\n  language = DEFAULT_LANGUAGE;\r\n}\r\n\r\nstore.commit(\"updateActualLang\", language.toLowerCase());\r\n\r\n// if you are adding a new language, add the new json file on the \"messages\" object\r\nconst i18n = createI18n({\r\n  locale: store.state.actualLang.replace(\"-\", \"_\"),\r\n  fallbackLocale: \"en_us\",\r\n  messages: {\r\n    en_us,\r\n    es_es,\r\n    de_de,\r\n    fr_fr,\r\n    ja_jp,\r\n  },\r\n  warnHtmlInMessage: \"off\",\r\n  silentFallbackWarn: true,\r\n});\r\n\r\nexport default i18n;\r\n\r\n/*\r\n\r\n  */\r\n","import { createApp } from \"vue\";\r\n\r\nimport App from \"./App.vue\";\r\nimport { store } from \"./data/store\";\r\nimport router from \"./router\";\r\nimport \"./registerServiceWorker\";\r\nimport i18n from \"./i18n\";\r\nimport Vue3Sanitize from \"../node_modules/vue-3-sanitize/dist/vue-3-sanitize\";\r\nimport { emitter } from \"@/js/emitter\";\r\n\r\n// import gtag from \"vue-gtag-next\";\r\n// import { createGtm } from \"@gtm-support/vue-gtm\";\r\n// import CookieBanner from \"@/components/CookieBanner.vue\"; \r\n\r\n\r\n// function getCookie(cName) {\r\n//   const cookieName = `${cName}=`;\r\n//   const decodedCookie = decodeURIComponent(document.cookie);\r\n//   const cookieArray = decodedCookie.split(';');\r\n//   for (let i = 0; i < cookieArray.length; i++) {\r\n//       let cookie = cookieArray[i];\r\n//       while (cookie.charAt(0) === ' ') {\r\n//           cookie = cookie.substring(1);\r\n//       }\r\n//       if (cookie.indexOf(cookieName) === 0) {\r\n//           return cookie.substring(cookieName.length, cookie.length);\r\n//       }\r\n//   }\r\n//   return '';\r\n// }\r\n\r\n// function deleteCookie(name) {\r\n//   if (window.location.host === 'exploresurface.com' || window.location.host === 'www.exploresurface.com') {\r\n//       document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=.exploresurface.com';\r\n//   }\r\n//   else {\r\n//       document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=localhost';\r\n//   }\r\n// }\r\n\r\n\r\n// Google Analytics\r\n//   Staging: \"G-HMQ5QNSVW9\"\r\n//   Production (vercel): \"G-KE7M7VG50R\"\r\n//   Production: \"G-TZJ3KCVF5V\"\r\n// let gtagID = \"G-HMQ5QNSVW9\";\r\n\r\n// if (window.location.host === \"exploresurface.com\" || window.location.host === \"www.exploresurface.com\") {\r\n//   gtagID = \"G-TZJ3KCVF5V\";\r\n// } \r\n// else if (window.location.host === \"explore-surface-staging.netlify.app\") {\r\n//   gtagID = \"G-KE7M7VG50R\";\r\n// }\r\n\r\n// window.gtagID = gtagID;\r\n// let gtmConfig = null;\r\n// let gtmID = \"GTM-M6SWTL5\";\r\n// let debugMode = true;\r\n// if (window.location.host === \"exploresurface.com\" || window.location.host === \"www.exploresurface.com\") {\r\n//   gtmID = \"GTM-PH2WCDZ\";\r\n//   debugMode = false;\r\n// }\r\n// Google Tag Manager\r\n// gtmConfig = {\r\n//   id: gtmID, // Your GTM single container ID, array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy'] or array of objects [{id: 'GTM-xxxxxx', queryParams: { gtm_auth: 'abc123', gtm_preview: 'env-4', gtm_cookies_win: 'x'}}, {id: 'GTM-yyyyyy', queryParams: {gtm_auth: 'abc234', gtm_preview: 'env-5', gtm_cookies_win: 'x'}}], // Your GTM single container ID or array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy']\r\n//   //   queryParams: {\r\n//   //     // Add URL query string when loading gtm.js with GTM ID (required when using custom environments)\r\n//   //     gtm_auth: \"AB7cDEf3GHIjkl-MnOP8qr\",\r\n//   //     gtm_preview: \"env-4\",\r\n//   //     gtm_cookies_win: \"x\",\r\n//   //   },\r\n//   defer: false, // Script can be set to `defer` to speed up page load at the cost of less accurate results (in case visitor leaves before script is loaded, which is unlikely but possible). Defaults to false, so the script is loaded `async` by default\r\n//   compatibility: false, // Will add `async` and `defer` to the script tag to not block requests for old browsers that do not support `async`\r\n//   nonce: \"2726c7f26c\", // Will add `nonce` to the script tag\r\n//   enabled: false, // localStorage.getItem(\"cookieAccepted\") === \"true\", // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)\r\n//   debug: debugMode, // Whether or not display console logs debugs (optional)\r\n//   loadScript: true, // Whether or not to load the GTM Script (Helpful if you are including GTM manually, but need the dataLayer functionality in your components) (optional)\r\n//   vueRouter: router, // Pass the router instance to automatically sync with router (optional)\r\n//   // ignoredViews: ['homepage'], // Don't trigger events for specified router names (optional)\r\n//   trackOnNextTick: false, // Whether or not call trackView in Vue.nextTick\r\n// };\r\n\r\nconst app = createApp(App)\r\n  .use(router)\r\n  .use(store)\r\n  .use(i18n)\r\n  .use(Vue3Sanitize);\r\n\r\n// if (getCookie('cookieAccepted') === 'false' || getCookie('cookieAccepted') === '') {\r\n//   app.use(gtag, {\r\n//     property: { id: gtagID },\r\n//     isEnabled: false,\r\n//   });\r\n//   if (gtmConfig) {\r\n//     app.use(createGtm(gtmConfig));\r\n//   }\r\n//   // deleteCookie(\"_ga\");\r\n//   // deleteCookie(\"_ga_6PDPXRE77K\");\r\n//   // deleteCookie(\"_ga_HMQ5QNSVW9\");\r\n//   // deleteCookie(\"_ga_TZJ3KCVF5V\");\r\n//   // deleteCookie(\"_ga_51Y1S81QZ0\");\r\n// }\r\n// else if (getCookie('cookieAccepted') === 'true') {\r\n//   app.use(gtag, {\r\n//     property: { id: gtagID },\r\n//     isEnabled: true,\r\n//   });\r\n//   if (gtmConfig) {\r\n//     gtmConfig.enabled = true;\r\n//     app.use(createGtm(gtmConfig));\r\n//   }\r\n// }\r\n\r\n// app.component(\"CookieBanner\", CookieBanner);\r\napp.config.globalProperties.emitter = emitter;\r\napp.mount(\"#app\");\r\n\r\nwindow.store = store;\r\n\r\nexport default i18n;\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"125\":\"surface-laptop\",\"182\":\"surface-hub\",\"188\":\"surface-pro-9\",\"362\":\"surface-book\",\"412\":\"surface-laptop-go\",\"475\":\"surface-go\",\"586\":\"surface-laptop-sudio\",\"635\":\"surface-studio\",\"702\":\"surface-pro\",\"929\":\"family-explorer\"}[chunkId] || chunkId) + \".\" + {\"1\":\"c8f9d749\",\"125\":\"e3870052\",\"182\":\"ea18ebee\",\"188\":\"4d599d2e\",\"362\":\"ac8b9462\",\"412\":\"b1ef18ee\",\"475\":\"89638729\",\"478\":\"a66d57b8\",\"586\":\"96b848f9\",\"635\":\"3920f999\",\"639\":\"69bc233a\",\"686\":\"71e1d10a\",\"702\":\"9022f434\",\"740\":\"0004e328\",\"821\":\"7aae3646\",\"929\":\"88c179dd\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"125\":\"surface-laptop\",\"182\":\"surface-hub\",\"188\":\"surface-pro-9\",\"362\":\"surface-book\",\"412\":\"surface-laptop-go\",\"475\":\"surface-go\",\"586\":\"surface-laptop-sudio\",\"635\":\"surface-studio\",\"702\":\"surface-pro\",\"929\":\"family-explorer\"}[chunkId] || chunkId) + \".\" + {\"125\":\"ef9adb57\",\"182\":\"ec7d9c50\",\"188\":\"cd2548d9\",\"362\":\"7c1c98b4\",\"412\":\"50c32afe\",\"475\":\"dcca13a5\",\"478\":\"786f570b\",\"586\":\"ed518919\",\"635\":\"9d170061\",\"702\":\"e2efbc6b\",\"929\":\"b8107bd9\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"surface:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"125\":1,\"182\":1,\"188\":1,\"362\":1,\"412\":1,\"475\":1,\"478\":1,\"586\":1,\"635\":1,\"702\":1,\"929\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunksurface\"] = self[\"webpackChunksurface\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(53400); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["surfaceHub_A","text","iframe","firstScreen","surfaceHub_B","surfaceHub_C","surfaceHub_D","pro9_A","pro9_B","pro9_C","laptopStudio_A","laptopStudio_B","Duo_A","position","y","Duo_B","duo_C","surfaceLaptopGo_A","surfaceLaptopGo_B","store","createStore","state","quality","qualityLevel","sd","md","hd","qualityLevelLimit","activeDevices","spro9","spro10","spro11","spro8","sprox","sgo3","sgo4","slaptop7","slaptop5","slaptop6","slaptop4","slaptops2","slaptops","slaptopgo3","slaptopgo","sduo2","sstudio2","shub385","shub350","shub2s","shubs","shead2","sproFlexKeyboard","sear","focusedDevice","shareUrl","isFamilyExplorer","isFeedBackOpen","pageIndex","pageIndexTotal","actualLang","avoidDoubleClick","meshOverlay","items","itemsPos","meshOverlayHidden","isMenuOpen","isFilterOpen","loaderIsShowing","loadedPercent","tooltip","isEndingSidebarTransitioning","surfaceLaptop_A_SwipeID","famExpBreadcrumbs","camDeg","camBeta","showDev","currentTooltip","famExpCurrentPosture","famExpCurrentModel","famExpDeviceLoading","famExpDeviceLoadingLabel","IFrameStep","currentScenario","navDirection","guideId","guideIsShowing","activeIframeData","title","sectionId","screenId","iFrameIndexes","windowSize","w","h","aspectRatio","readableRatio","currentBrowser","getters","currentSlideNumber","curSlide","Object","keys","forEach","key","iframeData","currentIndex","totalSlides","total","screenCount","mutations","updateDevices","data","id","value","filter","k","window","location","origin","join","setDevices","devices","includes","updateShowDev","bool","updateActualLang","string","updateIFrameStep","index","updateiFrameIndexesOnLoad","section","resetiFrameIndexes","updateiFrameIndexesOnNav","sectionIndex","screenIndex","resetActiveIframeData","updateActiveIframeData","updatePageIndexTotal","reset","next","prev","updateCurScenarioGuideShowing","updateCurScenarioGuideId","updateIsFamilyExplorer","updateAvoidDoubleClick","meshOverlayUpdateItemsPos","itemPositions","meshOverlayUpdateItem","payload","type","meshOverlayUpdateItems","meshOverlayResetItems","meshOverlaySelectItem","updateIsMenuOpen","updateFilterOpen","updateLoaderIsShowing","updateIsEndingSidebarTransitioning","updateSurfaceLaptop_A_SwipeID","num","addFamExpBreadcrumb","tooltipId","push","resetFamExpBreadcrumbs","updateCam","cam","deg","beta","updateCurrentTooltip","updateFamExpCurrentPosture","posture","updateFamExpCurrentModel","model","updateFamExpDeviceLoading","deviceName","updateFamExpDeviceLoadingLabel","setQuality","updateMeshOverlayHidden","obj","updateFeedBack","open","updateCurrentBrowser","browserName","updateFocusedDevice","deviceCode","updateCurrentNavDirection","str","actions","commit","windowSizeObj","innerWidth","innerHeight","navigator","vendor","match","userAgent","useEmitter","internalInstance","getCurrentInstance","emitter","appContext","config","globalProperties","mitt","class","_createElementBlock","_normalizeClass","_ctx","$i18n","locale","updateExists","$setup","isProductionUrl","_hoisted_1","_createTextVNode","_toDisplayString","$t","_createElementVNode","onClick","_cache","args","refreshApp","_createCommentVNode","_createVNode","_Transition","name","default","_withCtx","_component_Guide","$store","_","_component_SettingsDrawer","_component_Menu","_component_router_view","_component_cookie_banner","_component_AppOverlay","_createBlock","_component_FeedBack","isOpen","openFeedBack","_component_MainMenu","refreshing","registration","created","document","addEventListener","this","updateAvailable","once","serviceWorker","reload","methods","event","detail","waiting","postMessage","style","_component_FocusTrap","ref","intial-focus","$refs","menuCloseBtn","changingRoutes","$event","tabindex","_Fragment","_renderList","i","_hoisted_2","src","_imports_0","alt","_hoisted_4","_hoisted_3","_hoisted_5","_component_MenuLink","link","homeRoute","route","path","aria","onCloseMenu","closeMenu","displayName","_hoisted_6","menuRoutes","category","categoryIndex","_component_MenuCollapse","selectedCategory","item","onButtonClick","val","selectedDevice","padBottom","hasNestedCollapse","children","_hoisted_7","device","deviceIndex","parent","comingSoon","animateIn","menuIsOpening","isExternal","isNewLink","isEnabled","deviceEnabled","isNested","isLast","length","_hoisted_8","linkIndex","_hoisted_9","calcRoute","_component_StarRating","menuIsOpen","_hoisted_10","xmlns","width","height","viewBox","fill","stars","element","updateRating","onMouseover","star_hover","onFocus","onBlur","onMouseleave","d","star_class","star_selected","openModal","onKeyup","_withKeys","fetchCsrfToken","Promise","resolve","reject","baseUrl","process","url","xhr","XMLHttpRequest","withCredentials","readyState","status","response","JSON","parse","responseText","localStorage","setItem","token","send","sendRequest","payLoad","host","csrfToken","getItem","sendApiRequest","console","log","setRequestHeader","stringify","info","then","catch","error","setup","star","star_rating","site_name","__exports__","$props","href","target","_renderSlot","$slots","undefined","$emit","familyExplorer","onKeypress","currentPath","emits","props","Boolean","required","String","defautl","stroke","disabled","_component_n_collapse_transition","show","appear","components","NCollapseTransition","Number","menuCollapseContent","watch","newVal","nextTick","targets","querySelectorAll","anime","set","opacity","translateY","duration","delay","stagger","easing","FocusTrap","StarRating","MenuLink","MenuCollapse","router","useRouter","useRoute","selectedDeviceLabel","focusTrapRef","setSelectedDevice","computed","openMenu","start","complete","activate","isFamilyExplorerLink","emit","setTimeout","split","pop","replace","onMounted","deactivate","$data","TcoCalculatorUrl","SusEstimatorUrl","modalClosed","Breakpoints","tablet","mobile","desktop","active","isDrawerOpen","isHovered","_component_QualityToggle","isSelectable","_component_FilterDropdown","onFilersHovered","$options","showHideMenu","_TransitionGroup","mode","_component_FilterOptions","isExplorer","DATA","qualityToggle","button","dataMode","ariaLabel","returnVal","isDeviceExplorer","RegExp","$route","test","x","rx","showFilterMenu","useStore","isFilterMenuActive","for","_hoisted_38","cx","cy","r","_hoisted_41","checked","onChange","onCheckBoxChange","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","share","_hoisted_37","copied","_hoisted_39","_hoisted_40","_hoisted_42","_hoisted_43","_hoisted_44","select","readonly","_hoisted_45","copy","_hoisted_46","_hoisted_35","_hoisted_36","OPEN_TIMEOUT","clone","setAutoCloseTimeout","clearAutoCloseTimeout","get","newValue","clearTimeout","focus","execCommand","QualityToggle","FilterDropdown","FilterOptions","showCookiePopup","closeCookiePopup","openCookiePopup","modalIsOpen","initial-focus","closeBtn","toggleModal","submitted","questions","question","isRadio","answers","answer","index2","nextElementSibling","picked","isTextArea","placeholder","placeHolder","submit","request","understanding_improved","content_valuable","likely_to_purchase","comments","currentGuide","_normalizeStyle","maxWidth","innerHTML","$sanitize","prevButton","nextButton","finishButton","_component_ButtonText","dispatch","arrow","white","ButtonText","guideData","guideForScreen","returnMaxWidth","mixins","update","Menu","AppOverlay","SettingsDrawer","FeedBack","Guide","MainMenu","onResize","urlParams","URLSearchParams","hash","substring","indexOf","has","enabledParams","onBeforeUnmount","removeEventListener","render","VALID_LANGUAGES","getTitleFromName","getDefault","userLanguage","language","toLowerCase","routes","redirect","component","createRouter","history","createWebHashHistory","beforeEach","to","from","params","trackRouter","template","page_title","register","ready","registered","cached","updatefound","updated","dispatchEvent","CustomEvent","offline","DEFAULT_LANGUAGE","isValidLang","lang","i18n","createI18n","fallbackLocale","messages","en_us","es_es","de_de","fr_fr","ja_jp","warnHtmlInMessage","silentFallbackWarn","app","createApp","App","use","Vue3Sanitize","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","n","getter","__esModule","a","definition","o","defineProperty","enumerable","f","e","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","onerror","onload","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","p","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","err","Error","code","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}