{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/TheHeader.vue?8e62","webpack:///./src/components/browser/BrowserTreeItem.vue?e8b0","webpack:///./src/components/browser/BrowserLanguageDropdown.vue?da58","webpack:///./src/views/TheBrowser.vue?bfd9","webpack:///./src/App.vue?547c","webpack:///./src/components/browser/Browser.vue?728e","webpack:///./src/components/TheScrollTopButton.vue?a258","webpack:///./src/App.vue","webpack:///./src/components/TheBreadcrumb.vue","webpack:///./src/components/TheBreadcrumb.vue?b1b0","webpack:///./src/components/TheFooter.vue","webpack:///./src/components/TheFooter.vue?33e4","webpack:///./src/components/TheHeader.vue","webpack:///./src/configuration/appSettings.js","webpack:///./src/components/shared/GS1Link.vue","webpack:///./src/components/shared/GS1Link.vue?cecc","webpack:///./src/components/TheHeader.vue?1688","webpack:///./src/components/TheTopHeader.vue","webpack:///./src/components/TheTopHeader.vue?e240","webpack:///./src/components/TheScrollTopButton.vue","webpack:///./src/components/TheScrollTopButton.vue?ae71","webpack:///./src/App.vue?dfb6","webpack:///./src/views/TheBrowser.vue","webpack:///./src/components/browser/Browser.vue","webpack:///./src/components/browser/BrowserTreeItem.vue","webpack:///./src/common/enums.js","webpack:///./src/services/httpService.js","webpack:///./src/repositories/gpcBrowserRepository.js","webpack:///./src/composables/useTree.js","webpack:///./src/components/browser/BrowserTreeItem.vue?57ac","webpack:///./src/components/browser/BrowserLanguageDropdown.vue","webpack:///./src/composables/useLanguage.js","webpack:///./src/composables/useGtm.js","webpack:///./src/components/browser/BrowserLanguageDropdown.vue?a62b","webpack:///./src/components/browser/BrowserPublicationDropdown.vue","webpack:///./src/composables/usePublication.js","webpack:///./src/components/browser/BrowserPublicationDropdown.vue?f743","webpack:///./src/composables/useSearch.js","webpack:///./src/components/browser/BrowserSearch.vue","webpack:///./src/components/browser/BrowserSearch.vue?cfa1","webpack:///./src/components/browser/BroswerSearchConfigDropdown.vue","webpack:///./src/composables/useSearchConfigurationSingleton.js","webpack:///./src/components/browser/BroswerSearchConfigDropdown.vue?397d","webpack:///./src/components/shared/TooltipInfo.vue","webpack:///./src/components/shared/TooltipInfo.vue?f671","webpack:///./src/components/browser/Browser.vue?a4c6","webpack:///./src/components/browser/BrowserDownload.vue","webpack:///./src/services/fileService.js","webpack:///./src/components/browser/BrowserDownload.vue?2e88","webpack:///./src/components/shared/GS1LinkButton.vue","webpack:///./src/components/shared/GS1LinkButton.vue?9fdb","webpack:///./src/views/TheBrowser.vue?9c12","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/components/browser/BrowserPublicationDropdown.vue?c2de","webpack:///./src/components/TheBreadcrumb.vue?30cf","webpack:///./src/components/shared/GS1LinkButton.vue?b9c3","webpack:///./src/components/TheTopHeader.vue?bd41","webpack:///./src/components/shared/GS1Link.vue?74f9","webpack:///./src/components/TheFooter.vue?b976","webpack:///./src/assets/logo.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","class","render","__scopeId","href","title","target","rel","enable-background","viewBox","xml:space","cx","cy","fill","style","type","data-bs-toggle","data-bs-target","aria-controls","aria-expanded","aria-label","id","aria-current","width","height","border","alt","src","image","environment","link","text","ENVIRONMENT_NAME","MAIN_LANGUAGE_CODE","API_URL","SSO_REDIRECT_URL","SSO_OPEN_ID_PROVIDER","SSO_CLIENT_ID","SESSION_REFRESH_TIME_TO_EXPIRE","SESSION_PROMPT_TIME_TO_EXPIRE","props","components","BIconArrowRightShort","String","setup","GS1Link","includes","appSettings","showSearchBar","textToSearch","doSearch","placeholder","BIconSearch","encodedParam","encodeURIComponent","location","scrollToTop","showButton","BIconChevronUp","scTimer","scY","addEventListener","setTimeout","scrollY","clearTimeout","scrollTo","top","behavior","TheHeader","TheFooter","TheBreadcrumb","TheTopHeader","TheScrollTopButton","handleLanguageChange","handlePublicationChange","selectedLanguage","selectedPublication","trackEventBeforeRedirect","role","tooltipTitle","show","isNoResultsFound","handleChangeLanguageSelect","languageId","selectedLanguageId","handleChangePublicationSelect","handleSearch","isLoading","treeKey","treeData","item","code","isItemOutOfSearch","isFolder","isLoadingTreeItem","toggle","isOpen","getLevelTitle","level","treeItemCode","treeItemTitle","isDefinitionPresent","toggleDefinition","isDefinitionOpen","treeItemDefinition","treeItemDefinitionExcludes","isDefinitionExcludesPresent","childs","child","ClassificationLevel","Segment","Family","Class","Brick","Attribute","Value","freeze","httpGet","path","abortSignal","fetch","getConfig","response","ok","isSuccess","message","statusText","json","console","log","httpCustom","config","signal","getFileName","headers","header","match","replace","method","body","toUpperCase","JSON","stringify","getLanguagesAsync","getPublicationsAsync","getPreviousPublicationAsync","publicationId","isLatestPublicationAsync","getSegmentsAsync","getFamiliesAsync","getClassesAsync","getBricksAsync","getAttributesAsync","getAttributeValuesAsync","getRelationsAsync","exportAsJsonAsync","url","file","exportAsXmlAsync","exportAsXlsxAsync","blob","exportDeltaAsJsonAsync","exportDeltaAsXlsxAsync","getDownloadPublicationReleaseNoteAttachmentUrl","isFetchingTree","ref","isFetchingSegmentFamilyClasses","isFetchingBricks","isFetchingAttributesAndValues","useTree","abortController","AbortController","clearTheTree","abortTreeFetching","abort","fetchPublishedSchemaTreeAsync","nextTick","segmentPromise","gpcBrowserRepository","familyPromise","classPromise","brickPromise","attributePromise","attrValuePromise","relationPromise","addSegments","addFamilies","addClasses","bricksResponse","addBricks","attributesResponse","attributeValuesResponse","relationsResponse","addAttributesAndValues","familyDictionary","mapToDictionary","forEach","segment","classDictionary","family","items","brickDictionary","clas","bricks","attributes","values","relations","assign","map","x","attributeDictionary","valueDictionary","brickCode","attributeCode","attributeValueCode","relatedAttribute","find","f","relatedValue","sort","a","b","localeCompare","enums","AttributeValue","keys","array","propName","reduce","prev","curr","computed","BIconChevronDown","BIconChevronRight","BIconCaretDownSquare","BIconCaretUpSquare","isOutOfSearch","codeSearch","titleSearch","definitionSearch","definition","definitionExcludesSearch","definitionExcludes","selectedLanguageName","languages","language","selectLanguage","languageName","isFetchingLanguages","useLanguage","fetchLanguagesAsync","isEnglish","existingLanguage","languageCode","toLowerCase","useGtm","_isGtmAvailable","Array","isArray","dataLayer","gtag","trackEvent","eventName","params","emits","emit","route","lang","currLanguageId","prevLanguageId","detectUserLanguage","handleQueryParamLanguage","browserCulture","navigator","userLanguage","correspondingLanguageByCulture","culture","correspondingLanguageByLanguageCode","substring","engLanguage","langParam","query","matchedLanguage","selectedPublicationName","publications","publication","selectPublication","publicationName","_publications","usePublication","_isFetchingPublication","fetchPublicationsAsync","downloadPublicationAsJsonAsync","isStaticFile","downloadPublicationAsXmlAsync","downloadPublicationAsXlsxAsync","downloadDeltaAsJsonAsync","downloadDeltaAsXlsxAsync","isFetchingPublicaiton","Number","required","isRouteParamHandled","handleQueryParamPublication","currPublication","prevPublication","publicationTypes","publicationParam","publ","isGDSN","matchedPublication","useSearch","ignoreAccents","this","normalize","replaceAt","index","replacementLength","replacement","substr","capitalizeFirstLetter","charAt","isSearching","searchAsync","searchConfig","cleanupSearch","search","toString","trim","foundArray","brick","attribute","attributeValue","itemToSearchIn","parents","trySearchInItem","parent","trimSearchResults","isSearchedItem","some","boolProperties","stringProperties","cleanupProperties","prop","includeAttributesAndValues","trySearchInCode","trySearchInTitle","trySearchInDefinitionIncludes","trySearchInDefinitionExcludes","searchInCode","searchInTitle","getSearchResultBasedOnConfig","searchInDefinitionIncludes","searchInDefinitionExcludes","searchInText","exactWording","getExactSearchedText","searchInWordsCombination","words","split","searchedText","getSearchedText","keyWordsDictionaryToReplace","word","indexOfMatchedWord","indexOf","tempKey","capitalizedWord","entries","wordToSearch","searchText","autocomplete","disabled","isSearchEnabled","MIN_SEARCH_LENGTH","isSearchValid","handleSearchQueryParam","for","searchConfiguration","reactive","useSearchConfigurationSingleton","BIconSliders","close","handleBlur","tabindex","Boolean","default","tooltip","isTooltipFocused","showTooltip","tooltipEl","document","getElementById","trigger","focus","disposeTooltip","isFocused","tip","dispose","BrowserTreeItem","BrowserLanguageDropdown","BrowserPublicationDropdown","BrowserSearch","BroswerSearchConfigDropdown","TooltipInfo","fetchTreePromise","Promise","resolve","every","isReleaseNoteAvailable","downloadAttachmentHref","releaseNoteTitle","isCurrentAvailable","isCurrentGDSN","currentPublicationTitle","downloadGPCPublciationAsJson","downloadHref","downloadState","isDownloadingGPCAsJson","isFreeToDownload","downloadGPCPublciationAsXml","isDownloadingGPCAsXml","downloadGPCPublciationAsXlsx","isDownloadingGPCAsXlsx","isDeltaAvailable","currentPublicationDeltaTitle","downloadDeltaPublicationAsJson","isDownloadingDeltaAsJson","downloadDeltaPublicationAsXlsx","isDownloadingDeltaAsXlsx","downloadGdsnPublciationAsJson","isDownloadingGDSNAsXml","isDownloadingGDSNAsXlsx","isDownloadingGDSNAsJson","downloadGdsnPublciationAsXml","downloadGdsnPublciationAsXlsx","mailToMoHref","downloadJson","fileName","downloadFile","downloadXml","downloadXlsx","contentType","Blob","createElement","download","URL","createObjectURL","dataset","downloadurl","join","evt","MouseEvent","view","bubbles","cancelable","dispatchEvent","remove","BIconDownload","BIconEnvelope","currentPublication","previousPublication","isLatestPublication","isPreviousAvailable","releaseNoteAttachment","freeToDownload","version","donwnloadMainLabel","moContactEmail","previousPublicationResponse","isLatestPublicationResponse","event","preventDefault","usePublicationBlobs","fileService","Browser","GS1LinkButton","BrowserDownload","routes","component","router","createRouter","history","createWebHistory","createApp","App","use","mount"],"mappings":"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","file":"js/app.24271920.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TheHeader.vue?vue&type=style&index=0&id=576d32f5&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BrowserTreeItem.vue?vue&type=style&index=0&id=2862147b&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BrowserLanguageDropdown.vue?vue&type=style&index=0&id=75458584&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TheBrowser.vue?vue&type=style&index=0&id=2572ab04&scoped=true&lang=css\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=4046d642&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Browser.vue?vue&type=style&index=0&id=2cfe267e&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TheScrollTopButton.vue?vue&type=style&index=0&id=49a7cd4c&scoped=true&lang=css\"","<template>\n  <div class=\"wrapper\">\n    <the-top-header></the-top-header>\n    <the-header class=\"site-header\"></the-header>\n    <div class=\"site-body\">\n      <the-breadcrumb></the-breadcrumb>\n      <router-view />\n    </div>\n    <the-footer class=\"site-footer\"></the-footer>\n  </div>\n  <the-scroll-top-button></the-scroll-top-button>\n</template>\n\n<script>\nimport TheBreadcrumb from \"./components/TheBreadcrumb.vue\";\nimport TheFooter from \"./components/TheFooter.vue\";\nimport TheHeader from \"./components/TheHeader.vue\";\nimport TheTopHeader from \"./components/TheTopHeader.vue\";\nimport TheScrollTopButton from \"./components/TheScrollTopButton.vue\";\nexport default {\n  components: { TheHeader, TheFooter, TheBreadcrumb, TheTopHeader,TheScrollTopButton },\n  name: \"App\",\n};\n</script>\n<style >\n.wrapper {\n  min-height: 100vh;\n  display: flex;\n  flex-direction: column; \n}\n\n.site-header,\n.site-footer {\n  flex-shrink: 0;\n}\n\n.site-body {\n  flex-grow: 1;\n}\n</style>\n","<template>\n  <div class=\"container\">\n    <div class=\"row\">\n      <div class=\"col-12\">\n        <nav style=\"--bs-breadcrumb-divider: '>'\" aria-label=\"breadcrumb\">\n          <ol class=\"breadcrumb my-2 fs-6\">\n            <li class=\"breadcrumb-item\"><a href=\"https://www.gs1.org\">Home</a></li>\n            <li class=\"breadcrumb-item active\" aria-current=\"page\">Browser</li>\n          </ol>\n        </nav>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {};\n</script>\n\n<style scoped>\n.breadcrumb-item{\n  margin-bottom: 0;\n  text-decoration: none;\n}\n.breadcrumb-item a{\n  text-decoration: none;\n}\n</style>\n","import { render } from \"./TheBreadcrumb.vue?vue&type=template&id=31c4164a&scoped=true\"\nimport script from \"./TheBreadcrumb.vue?vue&type=script&lang=js\"\nexport * from \"./TheBreadcrumb.vue?vue&type=script&lang=js\"\n\nimport \"./TheBreadcrumb.vue?vue&type=style&index=0&id=31c4164a&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-31c4164a\"\n\nexport default script","<template>\n  <footer class=\"footer mb-3\">\n    <div class=\"container\">\n      <div class=\"row gs1-pt-spacer-1 gs1-pb-spacer-1\">\n        <div class=\"col-xs-12 col-sm-4 col-md-2\">\n          <h4><a href=\"https://www.gs1.org/standards\" class=\"gs1-color-blue\">Standards</a></h4>\n          <ul>\n            <li><a href=\"https://www.gs1.org/need-gs1-barcode\">Need a barcode</a></li>\n            <li><a href=\"https://www.gs1.org/genspecs\">General Specifications</a></li>\n            <li><a href=\"https://www.gs1.org/standards/id-keys/gtin\">Global Trade Item Number (GTIN)</a></li>\n          </ul>\n        </div>\n        <div class=\"col-xs-12 col-sm-4 col-md-2\">\n          <h4><a href=\"https://www.gs1.org/services\" class=\"gs1-color-blue\">Services</a></h4>\n          <ul>\n            <li><a href=\"https://www.gs1.org/services/gdsn\">GS1 GDSN</a></li>\n            <li><a href=\"http://gepir.gs1.org/\">Who owns this barcode?</a></li>\n            <li><a href=\"https://www.gs1.org/check-digit-calculator\">Check digit calculator</a></li>\n            <li><a href=\"https://www.gs1.org/services/epc-encoderdecoder\">EPC encoder/decoder</a></li>\n          </ul>\n        </div>\n        <div class=\"col-xs-12 col-sm-4 col-md-2\">\n          <h4><a href=\"https://www.gs1.org/industries\" class=\"gs1-color-blue\">Industries</a></h4>\n          <ul>\n            <li><a href=\"https://www.gs1.org/retail\">Retail</a></li>\n            <li><a href=\"https://www.gs1.org/healthcare\">Healthcare</a></li>\n            <li><a href=\"https://www.gs1.org/transport-and-logistics\">Transport &amp; Logistics</a></li>\n            <li><a href=\"https://www.gs1.org/technical-industries\">Technical Industries</a></li>\n          </ul>\n        </div>\n        <div class=\"col-xs-12 col-sm-4 col-md-2\">\n          <h4><a href=\"https://www.gs1.org/news-events\" class=\"gs1-color-blue\">News &amp; Events</a></h4>\n          <ul>\n            <li><a href=\"https://www.gs1.org/news-archive\">News</a></li>\n            <li><a href=\"https://www.gs1.org/events-calendar\">Events</a></li>\n          </ul>\n        </div>\n        <div class=\"col-xs-12 col-sm-4 col-md-2\">\n          <h4><a href=\"https://www.gs1.org/about\" class=\"gs1-color-blue\">About GS1</a></h4>\n          <ul>\n            <li><a href=\"https://www.gs1.org/about/what-we-do\">What we do</a></li>\n            <li><a href=\"https://www.gs1.org/how-we-got-here\">Our story</a></li>\n            <li><a href=\"https://www.gs1.org/public-policy\">Public Policy</a></li>\n            <li><a href=\"https://www.gs1.org/careers\">Careers</a></li>\n            <li><a href=\"http://xchange.gs1.org/sites/faq\">FAQs</a></li>\n          </ul>\n        </div>\n        <div class=\"col-xs-12 col-sm-4 col-md-2\">\n          <div class=\"social-media-icons my-4\">\n            <a href=\"http://www.twitter.com/gs1\" title=\"Twitter\" class=\"me-3\" target=\"_blank\" rel=\"noopener\"\n              ><svg enable-background=\"new 0 0 48 48\" viewBox=\"0 0 48 48\" xml:space=\"preserve\">\n                <circle cx=\"24\" cy=\"24\" fill=\"currentColor\" r=\"24\" />\n                <g>\n                  <g>\n                    <path\n                      d=\"M36.8,15.4c-0.9,0.5-2,0.8-3,0.9c1.1-0.7,1.9-1.8,2.3-3.1c-1,0.6-2.1,1.1-3.4,1.4c-1-1.1-2.3-1.8-3.8-1.8    c-2.9,0-5.3,2.5-5.3,5.7c0,0.4,0,0.9,0.1,1.3c-4.4-0.2-8.3-2.5-10.9-5.9c-0.5,0.8-0.7,1.8-0.7,2.9c0,2,0.9,3.7,2.3,4.7    c-0.9,0-1.7-0.3-2.4-0.7c0,0,0,0.1,0,0.1c0,2.7,1.8,5,4.2,5.6c-0.4,0.1-0.9,0.2-1.4,0.2c-0.3,0-0.7,0-1-0.1    c0.7,2.3,2.6,3.9,4.9,3.9c-1.8,1.5-4.1,2.4-6.5,2.4c-0.4,0-0.8,0-1.3-0.1c2.3,1.6,5.1,2.6,8.1,2.6c9.7,0,15-8.6,15-16.1    c0-0.2,0-0.5,0-0.7C35.2,17.6,36.1,16.6,36.8,15.4z\"\n                      fill=\"#FFFFFF\"\n                    />\n                  </g>\n                </g></svg\n            ></a>\n            <a href=\"https://www.youtube.com/user/gs1global\" title=\"Youtube\" class=\"me-3\" target=\"_blank\" rel=\"noopener\"\n              ><svg fill=\"currentColor\" style=\"fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2\" viewBox=\"0 0 512 512\">\n                <path\n                  d=\"M256,0c141.29,0 256,114.71 256,256c0,141.29 -114.71,256 -256,256c-141.29,0 -256,-114.71 -256,-256c0,-141.29 114.71,-256 256,-256Zm153.315,178.978c-3.68,-13.769 -14.522,-24.61 -28.29,-28.29c-24.958,-6.688 -125.025,-6.688 -125.025,-6.688c0,0 -100.067,0 -125.025,6.688c-13.765,3.68 -24.61,14.521 -28.29,28.29c-6.685,24.955 -6.685,77.024 -6.685,77.024c0,0 0,52.067 6.685,77.02c3.68,13.769 14.525,24.614 28.29,28.293c24.958,6.685 125.025,6.685 125.025,6.685c0,0 100.067,0 125.025,-6.685c13.768,-3.679 24.61,-14.524 28.29,-28.293c6.685,-24.953 6.685,-77.02 6.685,-77.02c0,0 0,-52.069 -6.685,-77.024Zm-185.316,125.025l0,-96.002l83.137,48.001l-83.137,48.001Z\"\n                /></svg\n            ></a>\n            <a href=\"https://www.linkedin.com/company/gs1\" title=\"LinkedIn\" target=\"_blank\" rel=\"noopener\"\n              ><svg fill=\"currentColor\" style=\"fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2\" viewBox=\"0 0 512 512\">\n                <path\n                  d=\"M256,0c141.29,0 256,114.71 256,256c0,141.29 -114.71,256 -256,256c-141.29,0 -256,-114.71 -256,-256c0,-141.29 114.71,-256 256,-256Zm-80.037,399.871l0,-199.921l-66.464,0l0,199.921l66.464,0Zm239.62,0l0,-114.646c0,-61.409 -32.787,-89.976 -76.509,-89.976c-35.255,0 -51.047,19.389 -59.889,33.007l0,-28.306l-66.447,0c0.881,18.757 0,199.921 0,199.921l66.446,0l0,-111.65c0,-5.976 0.43,-11.95 2.191,-16.221c4.795,-11.935 15.737,-24.299 34.095,-24.299c24.034,0 33.663,18.34 33.663,45.204l0,106.966l66.45,0Zm-272.403,-296.321c-22.74,0 -37.597,14.95 -37.597,34.545c0,19.182 14.405,34.544 36.717,34.544l0.429,0c23.175,0 37.6,-15.362 37.6,-34.544c-0.43,-19.595 -14.424,-34.545 -37.149,-34.545Z\"\n                /></svg\n            ></a>\n          </div>\n        </div>\n      </div>\n      <div class=\"d-sm-block d-md-flex thematic-break\">\n        <div class=\"gs1-utility-links mt-2\">\n          <div class=\"row g-0 d-md-block\">\n            <a class=\"col-12 pe-4 me-4 utility-link\" href=\"https://www.gs1.org/terms-use\" title=\"en\">Terms of use</a>\n            <a class=\"col-12 pe-4 me-4 utility-link\" href=\"https://www.gs1.org/privacy-policy\" title=\"en\">Privacy policy</a>\n            <a\n              class=\"col-12 pe-4 me-4 utility-link\"\n              href=\"https://gs1.wufoo.com/forms/website-feedback/def/Field1=https://www.gs1.org/standards/gpc/jun-2019/&amp;Field106=https://www.gs1.org/services\"\n              title=\"en\"\n              >Website feedback</a\n            >\n            <a class=\"col-12 me-3\" href=\"https://www.gs1.org/contact\" title=\"en\">Contact us</a>\n          </div>\n        </div>\n      </div>\n    </div>\n  </footer>\n</template>\n\n<script>\nexport default {};\n</script>\n\n<style scoped>\n.social-media-icons svg {\n  height: 2.3rem;\n  width: 2.3rem;\n  color: var(--gs1-color-blue);\n  cursor: pointer;\n}\n.social-media-icons svg:hover {\n  color: var(--gs1-color-link);\n}\n.gs1-utility-links a {\n  font-size: 0.875rem;\n}\n.gs1-utility-links a.utility-link {\n  border-right: 1px solid #b1b3b3;\n}\n.footer h4 a {\n  color: var(--gs1-color-blue);\n  font-weight: 500;\n  font-size: 1.1875rem;\n}\n.footer h4 a:hover {\n  text-decoration: underline;\n}\n.footer ul {\n  list-style-type: none;\n  margin-bottom: 20px;\n  padding: 0;\n  line-height: 1em;\n}\n.footer a {\n  color: var(--gs1-color-link);\n  font-weight: 300;\n  text-decoration: none;\n  font-size: 0.875rem;\n}\n.thematic-break{\nborder-top:1px solid #b3b3b3;\n}\n</style>\n","import { render } from \"./TheFooter.vue?vue&type=template&id=7fa87b41&scoped=true\"\nimport script from \"./TheFooter.vue?vue&type=script&lang=js\"\nexport * from \"./TheFooter.vue?vue&type=script&lang=js\"\n\nimport \"./TheFooter.vue?vue&type=style&index=0&id=7fa87b41&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-7fa87b41\"\n\nexport default script","<template>\n  <header>\n    <nav class=\"gs1-navbar navbar navbar-expand-lg navbar-light bg-white\">\n      <div class=\"container position-relative\">\n        <a class=\"navbar-brand\" href=\"https://www.gs1.org\"><img width=\"72\" height=\"59\" border=\"0\" alt=\"GS1 logo\" :src=\"image\" /></a>\n        <h5 v-if=\"environment != null\" class=\"fw-bold mt-2 ms-2\">{{ environment }}</h5>\n        <button\n          class=\"navbar-toggler\"\n          type=\"button\"\n          data-bs-toggle=\"collapse\"\n          data-bs-target=\"#navbarNav\"\n          aria-controls=\"navbarNav\"\n          aria-expanded=\"false\"\n          aria-label=\"Toggle navigation\"\n        >\n          <span class=\"icon-bar top-bar\"></span><span class=\"icon-bar middle-bar\"></span><span class=\"icon-bar bottom-bar\"></span>\n        </button>\n        <div class=\"collapse navbar-collapse justify-content-end\" id=\"navbarNav\">\n          <ul class=\"navbar-nav\">\n            <li class=\"nav-item\">\n              <a aria-current=\"page\" href=\"https://www.gs1.org/about\" class=\"nav-link\">About</a>\n              <ul class=\"gs1-submenu\">\n                <li class=\"row m-0\">\n                  <div class=\"col-md-4 gs1-submenu-left-side gs1-background-color-ui-1\">\n                    <h4>About us</h4>\n                    <ul class=\"gs1-submenu-links\">\n                      <li><GS1Link link=\"https://www.gs1.org/about/what-we-do\" class=\"gs1-color-blue\" text=\"What we do\"></GS1Link></li>\n                      <li><GS1Link link=\"https://www.gs1.org/about/how-we-got-here\" class=\"gs1-color-blue\" text=\"History\"></GS1Link></li>\n                      <li><GS1Link link=\"https://www.gs1.org/public-policy\" class=\"gs1-color-blue\" text=\"Public Policy\"></GS1Link></li>\n                      <li><GS1Link link=\"https://www.gs1.org/contact\" class=\"gs1-color-blue\" text=\"Contact\"></GS1Link></li>\n                    </ul>\n                  </div>\n                  <div class=\"col-md-8\">\n                    <div class=\"row gs1-submenu-right-side\">\n                      <div class=\"col-md-12\">\n                        <h2 class=\"gs1-submenu-title\">\n                          <a href=\"https://www.gs1.org/about\">About GS1</a>\n                        </h2>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column\">\n                        <h4>GS1 Annual Report</h4>\n                        <p>Read our latest annual report and archives</p>\n                        <a href=\"https://www.gs1.org/about/annual-report\" title=\"Read our annual report\">Read our annual report</a>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column\">\n                        <h4>Careers</h4>\n                        <p>Explore opportunities and take your career to the next level</p>\n                        <a href=\"https://www.gs1.org/careers\" target=\"_blank\" rel=\"noopener\" title=\"View open positions\">View open positions</a>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column\">\n                        <h4>Management Board</h4>\n                        <p>Get to know the industry leaders who are making a difference</p>\n                        <a href=\"https://www.gs1.org/about/management-board\" title=\"Management Board\">Meet the board </a>\n                      </div>\n                    </div>\n                  </div>\n                </li>\n              </ul>\n            </li>\n            <li class=\"nav-item\">\n              <a aria-current=\"page\" href=\"https://www.gs1.org/standards\" class=\"nav-link\">Standards</a>\n              <ul class=\"gs1-submenu\">\n                <li class=\"row m-0\">\n                  <div class=\"col-md-4 gs1-submenu-left-side gs1-background-color-ui-1\">\n                    <h4>What do you need?</h4>\n                    <ul class=\"gs1-submenu-links\">\n                      <li>\n                        <GS1Link link=\"https://www.gs1.org/how-gs1-standards-work\" class=\"gs1-color-blue\" text=\"How GS1 standards work\"></GS1Link>\n                      </li>\n                      <li>\n                        <GS1Link link=\"https://www.gs1.org/standards-development\" class=\"gs1-color-blue\" text=\"GS1 Standards Development\"></GS1Link>\n                      </li>\n                      <li><GS1Link link=\"https://www.gs1.org/standards/log\" class=\"gs1-color-blue\" text=\"Recently published standards\"></GS1Link></li>\n                      <li><GS1Link link=\"https://www.gs1.org/standards/traceability\" class=\"gs1-color-blue\" text=\"Traceability\"></GS1Link></li>\n                    </ul>\n                  </div>\n                  <div class=\"col-md-8\">\n                    <div class=\"row gs1-submenu-right-side\">\n                      <div class=\"col-md-12\">\n                        <h2 class=\"gs1-submenu-title\">\n                          <a href=\"https://www.gs1.org/standards\">Standards</a>\n                        </h2>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column align-items-center\">\n                        <a class=\"mb-3\" href=\"https://www.gs1.org/standards#identify\"\n                          ><img alt=\"identify\" src=\"https://www.gs1.org/sites/default/files/images/identity.png\" title=\"identify\"\n                        /></a>\n                        <h4>Identify</h4>\n                        <a href=\"https://www.gs1.org/id-keys\" title=\"ID Keys\">ID Keys</a>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column align-items-center\">\n                        <a class=\"mb-3\" href=\"https://www.gs1.org/standards#capture\"\n                          ><img alt=\"capture\" src=\"https://www.gs1.org/sites/default/files/images/capture.png\" title=\"capture\"\n                        /></a>\n                        <h4>Capture</h4>\n                        <a href=\"https://www.gs1.org/barcodes\" title=\"Barcodes\">Barcodes</a>\n                        <a href=\"https://www.gs1.org/epc-rfid\" title=\"EPC/RFID\">EPC/RFID</a>\n                      </div>\n                      <div class=\"col-md-4 mb-3 gs1-submenu-column align-items-center\">\n                        <a class=\"mb-3\" href=\"https://www.gs1.org/standards#share\"\n                          ><img alt=\"share\" src=\"https://www.gs1.org/sites/default/files/images/share.jpg\" title=\"Share\"\n                        /></a>\n                        <h4>Share</h4>\n                        <a href=\"https://www.gs1.org/standards/gs1-global-data-model\" title=\"View GS1 Global Data Model Standards\"\n                          >GS1 Global Data Model</a\n                        >\n                        <a href=\"https://www.gs1.org/gdsn-standards\" title=\"View GDSN Standards\">GDSN</a>\n                        <a href=\"https://www.gs1.org/standards#shares\" title=\"View all Standards\">See all</a>\n                      </div>\n                    </div>\n                  </div>\n                </li>\n              </ul>\n            </li>\n            <li class=\"nav-item\">\n              <a aria-current=\"page\" href=\"https://www.gs1.org/services\" class=\"nav-link\">Services</a>\n              <ul class=\"gs1-submenu\">\n                <li class=\"row m-0\">\n                  <div class=\"col-md-4 gs1-submenu-left-side gs1-background-color-ui-1\">\n                    <h4>Useful Links</h4>\n                    <ul class=\"gs1-submenu-links\">\n                      <li>\n                        <GS1Link\n                          link=\"https://www.gs1.org/services/check-digit-calculator\"\n                          class=\"gs1-color-blue\"\n                          text=\"Check digit calculator\"\n                        ></GS1Link>\n                      </li>\n                      <li>\n                        <GS1Link link=\"https://gepir.gs1.org/index.php/search-by-gtin\" class=\"gs1-color-blue\" text=\"Who owns this barcode?\"></GS1Link>\n                      </li>\n                      <li><GS1Link link=\"https://www.gs1.org/services/gmn-generator\" class=\"gs1-color-blue\" text=\"GMN generator\"></GS1Link></li>\n                      <li><GS1Link link=\"https://www.gs1.org/services\" class=\"gs1-color-blue\" text=\"Other services &amp; tools\"></GS1Link></li>\n                    </ul>\n                  </div>\n                  <div class=\"col-md-8\">\n                    <div class=\"row gs1-submenu-right-side\">\n                      <div class=\"col-md-12\">\n                        <h2 class=\"gs1-submenu-title\">\n                          <a href=\"https://www.gs1.org/services\">Services</a>\n                        </h2>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column\">\n                        <h4>Global Data Synchronisation Network (GDSN)</h4>\n                        <p>The world's largest product data network.</p>\n                        <a href=\"https://www.gs1.org/services/gdsn\" title=\"Global Data Synchronisation Network (GDSN)\">Read more</a>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column\">\n                        <h4>Verified by GS1</h4>\n                        <p>Get product identity right with Verified by GS1</p>\n                        <a href=\"https://www.gs1.org/services/verified-by-gs1\" title=\"Verified by GS1\">Read more</a>\n                      </div>\n                      <div class=\"col-md-4 gs1-submenu-column\">\n                        <h4>GPC Browser service</h4>\n                        <p>Browse all components of the published GPC schemas.</p>\n                        <a href=\"https://www.gs1.org/services/gpc-browser\" title=\"GPC Browser service\">Read more</a>\n                      </div>\n                    </div>\n                  </div>\n                </li>\n              </ul>\n            </li>\n            <li class=\"nav-item\">\n              <a aria-current=\"page\" href=\"https://www.gs1.org/industries\" class=\"nav-link\">Industries</a>\n              <ul class=\"gs1-submenu\">\n                <li class=\"row m-0 gs1-submenu-middle\">\n                  <div class=\"col-md-12\">\n                    <h2 class=\"gs1-submenu-title\">\n                      <a href=\"https://www.gs1.org/industries\">Industries</a>\n                    </h2>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column align-items-center\">\n                    <a class=\"mb-3\" href=\"https://www.gs1.org/retail\"\n                      ><img alt=\"identify\" src=\"https://www.gs1.org/sites/default/files/images/retail.png\" title=\"Retail\"\n                    /></a>\n                    <h4><a class=\"gs1-h-link\" href=\"https://www.gs1.org/retail\" title=\"Retail\">Retail</a></h4>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column align-items-center\">\n                    <a class=\"mb-3\" href=\"https://www.gs1.org/healthcare\" title=\"Healthcare\"\n                      ><img alt=\"Healthcare\" src=\"https://www.gs1.org/sites/default/files/images/healthcare.png\" title=\"Healthcare\" />\n                    </a>\n                    <h4><a class=\"gs1-h-link\" href=\"https://www.gs1.org/healthcare\" title=\"Healthcare\">Healthcare</a></h4>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column align-items-center\">\n                    <a class=\"mb-3\" href=\"https://www.gs1.org/transport-and-logistics\" title=\"Transport &amp; Logistics\"\n                      ><img\n                        alt=\"identify\"\n                        src=\"https://www.gs1.org/sites/default/files/images/transport-logistics.png\"\n                        title=\"Transport &amp; Logistics\"\n                      />\n                    </a>\n                    <h4>\n                      <a class=\"gs1-h-link\" href=\"https://www.gs1.org/transport-and-logistics\" title=\"Transport &amp; Logistics\"\n                        >Transport &amp; Logistics</a\n                      >\n                    </h4>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column align-items-center\">\n                    <a class=\"mb-3\" href=\"https://www.gs1.org/technical-industries\" title=\"Technical Industries\"\n                      ><img\n                        alt=\"Technical Industries\"\n                        src=\"https://www.gs1.org/sites/default/files/gs1_icon_technical_industries_rgb_2015-11-10_copy.png\"\n                        title=\"Technical Industries\"\n                      />\n                    </a>\n                    <h4>\n                      <a class=\"gs1-h-link\" href=\"https://www.gs1.org/technical-industries\" title=\"Technical industries\">Technical industries</a>\n                    </h4>\n                  </div>\n                </li>\n              </ul>\n            </li>\n            <li class=\"nav-item\">\n              <a aria-current=\"page\" href=\"https://www.gs1.org/news-events\" class=\"nav-link\">News &amp; Events</a>\n              <ul class=\"gs1-submenu\">\n                <li class=\"row m-0 gs1-submenu-middle\">\n                  <div class=\"col-md-12\">\n                    <h2 class=\"gs1-submenu-title\">\n                      <a href=\"https://www.gs1.org/news-events\">News &amp; Events</a>\n                    </h2>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column\">\n                    <a class=\"mb-3\" href=\"https://www.gs1.org/events-calendar\" title=\"Events &amp; Calendar\">Events &amp; Calendar</a>\n                    <a href=\"https://www.gs1.org/news-archive\" title=\"Latest News\">Latest News</a>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column\">\n                    <div class=\"gs1-event-title\">GS1 Standards Week</div>\n                    <h4 class=\"gs1-color-ui-8\">\n                      <div>\n                        <time datetime=\"2022-04-26T12:00:00Z\" class=\"datetime\">26</time> -\n                        <time datetime=\"2022-04-28T12:00:00Z\" class=\"datetime\">28 Apr 2022</time> &nbsp;|&nbsp;\n                      </div>\n                      <div>Virtual event</div>\n                    </h4>\n                    <a href=\"https://cvent.me/432lqP\" target=\"_blank\" rel=\"noopener\">View event</a>\n                  </div>\n                  <div class=\"col-md-3 gs1-submenu-column\"></div>\n                </li>\n              </ul>\n            </li>\n            <li class=\"nav-item\">\n              <a class=\"btn gs1-button orange\" href=\"https://www.gs1.org/standards/need-gs1-barcode\">Get your barcodes</a>\n            </li>\n          </ul>\n        </div>\n      </div>\n    </nav>\n  </header>\n</template>\n\n<script>\nimport image from \"../assets/logo.png\";\nimport appSettings from \"../configuration/appSettings\";\nimport GS1Link from \"./shared/GS1Link.vue\";\n\nexport default {\n  components: { GS1Link },\n  setup() {\n    const environment = [\"Development\", \"Staging\"].includes(appSettings.ENVIRONMENT_NAME) ? appSettings.ENVIRONMENT_NAME : null;\n    return { image, environment };\n  },\n};\n</script>\n\n<style scoped>\nheader {\n  box-shadow: 0 2px 3px 0 rgb(0 44 108 / 20%);\n}\n.nav-link {\n  font-size: 0.9375rem;\n  color: var(--gs1-color-blue) !important;\n  font-weight: 500;\n  position: relative;\n}\n.nav-link:hover {\n  background-color: var(--gs1-color-ui-2);\n  border-radius: 4px;\n}\n.nav-link.router-link-active {\n  color: #cd3c0d !important;\n  background-color: transparent;\n  text-decoration: none;\n}\n.nav-link.router-link-active::before {\n  position: absolute;\n  top: 30px;\n  right: 0;\n  left: 0;\n  width: 80%;\n  height: 4px;\n  margin-right: auto;\n  margin-left: auto;\n  content: \"\";\n  background-color: #cd3c0d;\n  border-radius: 100px;\n}\n@media (max-width: 991.98px) {\n  .nav-link.router-link-active {\n    color: var(--gs1-color-blue) !important;\n    font-size: 1rem;\n  }\n  .nav-link.router-link-active::before {\n    content: none;\n  }\n}\n.navbar-toggler {\n  border: none;\n  background: transparent !important;\n  -webkit-appearance: none;\n  border-radius: 0;\n  margin-top: 25px;\n  margin-left: 22px;\n  margin-right: 0;\n  margin-bottom: 25px;\n  background-color: transparent;\n}\n\n.navbar-toggler:hover {\n  background: transparent !important;\n}\n.navbar-toggler:focus {\n  box-shadow: none;\n}\n\n.navbar-toggler .icon-bar {\n  transition: all 0.2s;\n  width: 30px;\n  height: 3px;\n  display: block;\n  margin-bottom: 5px;\n  background-color: #002c6c;\n}\n\n.navbar-toggler .top-bar {\n  transform: rotate(45deg);\n  transform-origin: 10% 10%;\n}\n\n.navbar-toggler .middle-bar {\n  opacity: 0;\n}\n\n.navbar-toggler .bottom-bar {\n  transform: rotate(-45deg);\n  transform-origin: 10% 90%;\n}\n\n.navbar-toggler.collapsed .top-bar {\n  transform: rotate(0);\n}\n\n.navbar-toggler.collapsed .middle-bar {\n  opacity: 1;\n}\n\n.navbar-toggler.collapsed .bottom-bar {\n  transform: rotate(0);\n}\n\n.navbar-toggler.collapsed .icon-bar {\n  background-color: #002c6c;\n}\n\n.gs1-navbar {\n  height: 106px;\n}\n.gs1-navbar .nav-item {\n  padding: 10px 5px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  height: 106px;\n}\n.gs1-navbar a {\n  font-size: 0.875rem;\n}\n\n.nav-item:hover > .gs1-submenu {\n  display: block !important;\n}\n.gs1-submenu {\n  display: none;\n  position: absolute;\n  left: 0;\n  right: 0;\n  top: 108px;\n  z-index: 3;\n  background-color: var(--gs1-color-white);\n  border: 1px solid var(--gs1-color-ui-2);\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n  border-bottom-left-radius: 4px;\n  border-bottom-right-radius: 4px;\n  padding-left: 0;\n  min-height: 250px;\n}\n.gs1-submenu-left-side {\n  border-bottom-left-radius: 4px;\n  padding-top: 24px;\n  padding-left: 36px;\n  min-height: 250px;\n}\n.gs1-submenu-left-side > h4 {\n  color: var(--gs1-color-ui-8);\n  font-size: 1rem;\n  margin-bottom: 26px;\n  margin-top: 0px;\n  font-weight: 300;\n  line-height: 1.2;\n}\n.gs1-submenu-right-side {\n  border-bottom-right-radius: 4px;\n  padding-left: 45px;\n  padding-top: 24px;\n  padding-right: 45px;\n}\n.gs1-submenu-middle {\n  border-bottom-right-radius: 4px;\n  padding-left: 40px;\n  padding-top: 24px;\n  padding-right: 40px;\n  padding-bottom: 45px;\n}\n.gs1-submenu-links {\n  list-style: none;\n  margin-left: 0px;\n  padding-left: 0px;\n}\n.gs1-submenu-title {\n  line-height: 1rem;\n  margin-top: 0;\n}\n.gs1-submenu-title::after {\n  content: \"\";\n  display: block;\n  width: calc(100% - 15px);\n  height: 1px;\n  background-color: var(--gs1-color-ui-3);\n  margin-top: 7px;\n}\n.gs1-submenu-title > a {\n  color: var(--gs1-color-blue);\n  font-size: 1rem;\n  font-weight: 500;\n  padding: 0;\n  text-decoration: none;\n}\n.gs1-submenu-column {\n  display: flex;\n  flex-direction: column;\n}\n.gs1-submenu-column > h4 {\n  color: var(--gs1-color-blue);\n  font-size: 1rem;\n  margin-top: 0;\n  font-weight: 300;\n  line-height: 1.2;\n}\n.gs1-submenu-column > p {\n  flex: 1;\n  color: var(--gs1-color-ui-8);\n  font-size: 0.9375rem;\n}\n.gs1-submenu-column > a {\n  font-weight: 500;\n  padding: 0;\n  color: var(--gs1-color-link-accessible);\n  font-size: 0.875rem;\n  text-decoration: none;\n}\n.gs1-h-link {\n  font-weight: 500;\n  font-size: 1rem !important;\n  line-height: 25px;\n  padding: 0;\n  text-decoration: none;\n  color: var(--gs1-color-blue);\n}\n.gs1-h-link:hover {\n  text-decoration: underline !important;\n}\n.gs1-event-title {\n  color: var(--gs1-color-blue);\n  font-size: 1rem;\n  font-weight: 500;\n  margin-bottom: 20px;\n}\n</style>\n","// DEV ENV\n// export default {\n//   ENVIRONMENT_NAME: \"Development\",\n//   MAIN_LANGUAGE_CODE: \"EN\",\n//   API_URL: process.env.NODE_ENV == \"development\" ? \"https://localhost:44356/api\" : \"https://gpc-api-dev.gs1.org/api\",\n//   SSO_REDIRECT_URL: process.env.NODE_ENV == \"development\" ? \"https://localhost:9551\" : \"https://gpc-browser-dev.gs1.org\",\n//   SSO_OPEN_ID_PROVIDER: process.env.NODE_ENV == \"development\" ? \"https://gs1sso-dev.gs1.org\" : \"https://gs1sso.gs1.org\" ,\n//   SSO_CLIENT_ID: process.env.NODE_ENV == \"development\" ? \"GPCUIDEV\" : \"GPCUIPROD\",\n//   SESSION_REFRESH_TIME_TO_EXPIRE: 30,\n//   SESSION_PROMPT_TIME_TO_EXPIRE: \"70%\",\n// };\n\n// STAGING ENV\n// export default {\n//   ENVIRONMENT_NAME: \"Staging\",\n//   MAIN_LANGUAGE_CODE: \"EN\",\n//   API_URL: \"https://gpc-api-dev.gs1.org/api\",\n//   SSO_REDIRECT_URL: \"https://gpc-browser-dev.gs1.org\",\n//   SSO_OPEN_ID_PROVIDER: \"https://gs1sso-dev.gs1.org\" ,\n//   SSO_CLIENT_ID: \"GPCUIDEV\",\n//   SESSION_REFRESH_TIME_TO_EXPIRE: 30,\n//   SESSION_PROMPT_TIME_TO_EXPIRE: \"70%\",\n// };\n\n\n// PROD ENV\nexport default {\n  ENVIRONMENT_NAME: \"Production\",\n  MAIN_LANGUAGE_CODE: \"EN\",\n  API_URL: \"https://gpc-api.gs1.org/api\",\n  SSO_REDIRECT_URL: \"https://gpc-browser.gs1.org\",\n  SSO_OPEN_ID_PROVIDER: \"https://gs1sso.gs1.org\" ,\n  SSO_CLIENT_ID: \"GPCUIPROD\",\n  SESSION_REFRESH_TIME_TO_EXPIRE: 30,\n  SESSION_PROMPT_TIME_TO_EXPIRE: \"70%\",\n};\n","<template>\n  <a class=\"gs1-link\" :href=\"props.link\">{{ props.text }}<b-icon-arrow-right-short></b-icon-arrow-right-short></a>\n</template>\n<script>\nimport { BIconArrowRightShort } from \"bootstrap-icons-vue\";\nexport default {\n  components: { BIconArrowRightShort },\n  props: {\n    link: String,\n    text: String,\n  },\n  setup(props) {\n    return { props };\n  },\n};\n</script>\n\n<style scoped>\na.gs1-link {\n  font-weight: 500;\n  font-size: 1rem !important;\n  line-height: 25px;\n  padding: 0;\n  text-decoration: none;\n}\na.gs1-link > svg {\n  width: 1.875rem;\n  height: 1.875rem;\n}\na.gs1-link:hover > svg {\n  transform: translateX(25%);\n  transition: all 0.2s ease;\n}\n</style>\n","import { render } from \"./GS1Link.vue?vue&type=template&id=375d8717&scoped=true\"\nimport script from \"./GS1Link.vue?vue&type=script&lang=js\"\nexport * from \"./GS1Link.vue?vue&type=script&lang=js\"\n\nimport \"./GS1Link.vue?vue&type=style&index=0&id=375d8717&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-375d8717\"\n\nexport default script","import { render } from \"./TheHeader.vue?vue&type=template&id=576d32f5&scoped=true\"\nimport script from \"./TheHeader.vue?vue&type=script&lang=js\"\nexport * from \"./TheHeader.vue?vue&type=script&lang=js\"\n\nimport \"./TheHeader.vue?vue&type=style&index=0&id=576d32f5&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-576d32f5\"\n\nexport default script","<template>\n  <div class=\"gs1-top-header\">\n    <div class=\"container\">\n      <div v-if=\"showSearchBar\" class=\"row height d-flex justify-content-center align-items-center\" style=\"height: 60px\">\n        <div class=\"col-md-12\">\n          <div class=\"gs1-global-search\">\n            <BIconSearch style=\"height: 16px\" class=\"gs1-search-icon\" />\n            <input v-model=\"textToSearch\" @keyup.enter=\"doSearch\" type=\"text\" class=\"form-control\" placeholder=\"Search gs1.org\" />\n            <span class=\"close-button\" @click=\"textToSearch = ''\">&#x2716;</span>\n          </div>\n        </div>\n      </div>\n      <div class=\"d-flex justify-content-end align-content-center py-1\">\n        <div class=\"main-text px-1\">The Global Language of Business</div>\n        <div class=\"mo-zone-login-link px-2\"><a href=\"https://mozone.gs1.org/home/\" target=\"_blank\" rel=\"noopener\">MO Zone login</a></div>\n        <div class=\"contact-us-link px-2\"><a href=\"https://www.gs1.org/contact\">Contact us</a></div>\n        <div class=\"ps-2 d-flex\" @click=\"showSearchBar = !showSearchBar\"><BIconSearch style=\"height: 16px\" class=\"gs1-search-icon\" /></div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { BIconSearch } from \"bootstrap-icons-vue\";\nimport { ref } from \"@vue/reactivity\";\nexport default {\n  components: { BIconSearch },\n  setup() {\n    const showSearchBar = ref(false);\n    const textToSearch = ref(\"\");\n    const doSearch = () => {\n      if (textToSearch.value == null || textToSearch.value == \"\") {\n        return;\n      }\n      const encodedParam = encodeURIComponent(textToSearch.value);\n      window.location.href = `https://www.gs1.org/search/gsone/${encodedParam}`;\n    };\n    return { showSearchBar, textToSearch , doSearch};\n  },\n};\n</script>\n\n<style scoped>\n.gs1-top-header {\n  background-color: var(--gs1-color-ui-1);\n  box-shadow: 0 2px 3px 0 rgb(0 44 108 / 20%);\n}\n.gs1-top-header .main-text {\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n.mo-zone-login-link {\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n.contact-us-link {\n  font-size: 0.75rem;\n  font-weight: 500;\n}\n.gs1-search-icon {\n  height: 16px;\n  color: var(--gs1-color-blue);\n  cursor: pointer;\n}\n.gs1-global-search {\n  position: relative;\n  box-shadow: 0 0 40px rgba(51, 51, 51, 0.1);\n}\n\n.gs1-global-search input {\n  text-indent: 30px;\n}\n.gs1-global-search input:focus {\n  box-shadow: none;\n  border: 2px solid var(--gs1-color-blue);\n}\n\n.gs1-global-search .gs1-search-icon {\n  position: absolute;\n  top: 10px;\n  left: 15px;\n}\n\n.gs1-global-search .close-button {\n  position: absolute;\n  top: 5px;\n  right: 15px;\n  font-weight: bolder;\n  color: #999;\n  cursor: pointer;\n}\n</style>\n","import { render } from \"./TheTopHeader.vue?vue&type=template&id=a920fee0&scoped=true\"\nimport script from \"./TheTopHeader.vue?vue&type=script&lang=js\"\nexport * from \"./TheTopHeader.vue?vue&type=script&lang=js\"\n\nimport \"./TheTopHeader.vue?vue&type=style&index=0&id=a920fee0&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-a920fee0\"\n\nexport default script","<template>\n  <button @click=\"scrollToTop\" id=\"ScrollTopButton\" :style=\"{ display: showButton ? 'inline-block' : 'none' }\"><BIconChevronUp class=\"gs1-color-blue\"></BIconChevronUp></button>\n</template>\n\n<script>\nimport { BIconChevronUp } from \"bootstrap-icons-vue\";\nimport { computed, onMounted, ref } from \"@vue/runtime-core\";\nexport default {\n  components: { BIconChevronUp },\n  setup() {\n    const scTimer = ref(0);\n    const scY = ref(0);\n\n    const showButton = computed(() => {\n      return scY.value > 300;\n    });\n\n    onMounted(() => {\n      window.addEventListener(\"scroll\", () => {\n        if (scTimer.value) return;\n        scTimer.value = setTimeout(() => {\n          scY.value = window.scrollY;\n          clearTimeout(scTimer.value);\n          scTimer.value = 0;\n        }, 100);\n      });\n    });\n\n    const scrollToTop = () => {\n      window.scrollTo({\n        top: 0,\n        behavior: \"smooth\",\n      });\n    };\n    return { scrollToTop, showButton };\n  },\n};\n</script>\n\n<style scoped>\n#ScrollTopButton {\n  border: 1px solid var(--gs1-color-ui-2);\n  background-color: var(--gs1-color-ui-1);\n  box-shadow: 0 2px 3px 0 rgb(0 44 108 / 20%);\n  border-radius: 100px;\n  transition: bottom 0.2s ease;\n  bottom: 20px;\n  cursor: pointer;\n  display: none;\n  height: 70px;\n  position: fixed;\n  right: 20px;\n  width: 70px;\n  z-index: 300;\n}\n#ScrollTopButton:hover {\n  box-shadow: 0px 10px 30px rgb(0 44 108 / 20%);\n  bottom: 24px;\n  opacity: 0.8;\n}\n</style>\n","import { render } from \"./TheScrollTopButton.vue?vue&type=template&id=49a7cd4c&scoped=true\"\nimport script from \"./TheScrollTopButton.vue?vue&type=script&lang=js\"\nexport * from \"./TheScrollTopButton.vue?vue&type=script&lang=js\"\n\nimport \"./TheScrollTopButton.vue?vue&type=style&index=0&id=49a7cd4c&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-49a7cd4c\"\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=4046d642\"\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=4046d642&lang=css\"\nscript.render = render\n\nexport default script","<template>\n  <div>\n    <section class=\"gs1-background-color-orange\">\n      <div class=\"container\">\n        <div class=\"row\">\n          <div class=\"col-12 gs1-navigator-spacer\">\n            <h2 class=\"gs1-h2 mt-0 mb-2 text-white\">GPC Browser</h2>\n            <p class=\"fs-6 mb-0 text-white\">\n              The GPC browser allows you to browse all components (Segment, Family, Class, Brick and Attribute) of the current GPC schema.\n            </p>\n            <p class=\"fs-6 mb-0 mt-2\">\n              <a href=\"#FindOutMore\" class=\"fs-6 fst-italic text-white\">Access full GPC Standard files</a>\n            </p>\n          </div>\n        </div>\n      </div>\n    </section>\n\n    <section class=\"gs1-background-color-ui-1 gs1-navigator-spacer pt-3\">\n      <browser\n        @onLanguageChange=\"handleLanguageChange\"\n        @onPublicationChange=\"handlePublicationChange\"\n        class=\"p-3 bg-white border border-1 rounded\"\n      ></browser>\n    </section>\n    <section class=\"gs1-background-color-ui-1 gs1-navigator-spacer pt-0\">\n      <BrowserDownload class=\"g-0\" :selectedLanguage=\"selectedLanguage\" :selectedPublication=\"selectedPublication\"></BrowserDownload>\n    </section>\n    <section class=\"gs1-background-color-blue\">\n      <div class=\"container gs1-navigator-spacer\">\n        <div class=\"row\">\n          <div class=\"col-12\">\n            <h2 class=\"gs1-h2 mt-0 mb-2 text-white\">Any questions?</h2>\n            <p class=\"fs-6 text-white mb-4\">We can help you to get started with GPC.</p>\n            <GS1LinkButton\n              @click=\"trackEventBeforeRedirect('Contact your local GS1 office')\"\n              link=\"https://www.gs1.org/contact\"\n              class=\"orange\"\n              text=\"Contact your local GS1 office\"\n            ></GS1LinkButton>\n          </div>\n        </div>\n      </div>\n    </section>\n    <section class=\"gs1-background-color-ui-1\">\n      <div class=\"container\">\n        <div class=\"row gs1-navigator-spacer\" id=\"FindOutMore\">\n          <h3 class=\"gs1-h3 mb-4 mt-0\">Find out more</h3>\n          <div class=\"col-lg-6\">\n            <div class=\"d-flex flex-column\">\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('Current GPC standard full package')\"\n                href=\"https://ref.gs1.org/standards/gpc/\"\n                target=\"_blank\"\n                rel=\"noopener\"\n                >Current GPC standard full package (.zip)</a\n              >\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('Archive versions of the GPC standard')\"\n                href=\"https://ref.gs1.org/standards/gpc/archive\"\n                target=\"_self\"\n                >Archive versions of the GPC standard</a\n              >\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('GDSN GPC version - choose the first item in the archive')\"\n                href=\"https://ref.gs1.org/standards/gpc/archive\"\n                target=\"_self\"\n                >GDSN GPC version - choose the first item in the archive</a\n              >\n            </div>\n          </div>\n          <div class=\"col-lg-6\">\n            <div class=\"d-flex flex-column\">\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('GPC Browser Guide')\"\n                href=\"https://www.gs1.org/sites/gs1/files/docs/gpc/GPC-Browser-Guide.pdf\"\n                >GPC Browser Guide</a\n              >\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('GPC Browser Service User Guide video')\"\n                href=\"https://www.youtube.com/watch?v=0ef1PX7RRrA\"\n                target=\"_\"\n                >GPC Browser Service User Guide Video</a\n              >\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('GPC Development &amp; Implementation Guide')\"\n                href=\"https://gs1go2.azureedge.net/cdn/ff/sPhCuyCzpmueHnVAaVIFlQZPvTo6dJcfxi02DSCaVg8/1675886575/public/inline-files/202301-gs1-gpc-development-and-implementation-guideline.pdf\"\n                >GPC Development &amp; Implementation Guide</a\n              >\n              <a\n                class=\"mb-3\"\n                @click=\"trackEventBeforeRedirect('FAQs on Global Product')\"\n                href=\"https://xchange.gs1.org/sites/faq/Pages/topic.aspx?t=GPC\"\n                >FAQs on Global Product</a\n              >\n            </div>\n          </div>\n        </div>\n      </div>\n    </section>\n  </div>\n</template>\n\n<script>\nimport Browser from \"../components/browser/Browser.vue\";\nimport BrowserDownload from \"../components/browser/BrowserDownload.vue\";\nimport GS1LinkButton from \"../components/shared/GS1LinkButton.vue\";\nimport { ref } from \"@vue/reactivity\";\nimport useGtm from \"../composables/useGtm\";\n\nexport default {\n  components: { Browser, GS1LinkButton, BrowserDownload },\n  setup() {\n    const { trackEvent } = useGtm();\n\n    const selectedLanguage = ref({});\n    const selectedPublication = ref(null);\n\n    const handleLanguageChange = (language) => {\n      selectedLanguage.value = language;\n    };\n    const handlePublicationChange = (publication) => {\n      selectedPublication.value = publication;\n    };\n\n    const trackEventBeforeRedirect = (title) => {\n      trackEvent(\"gpc_link_click\", {\n        title: title,\n      });\n    };\n\n    return {\n      selectedLanguage,\n      selectedPublication,\n      handleLanguageChange,\n      handlePublicationChange,\n      trackEventBeforeRedirect,\n    };\n  },\n};\n</script>\n\n<style scoped>\n.spinner-download {\n  height: 1.25rem;\n  width: 1.25rem;\n}\n</style>\n","<template>\n  <div class=\"container\">\n    <div class=\"row\">\n      <div class=\"col-12\">\n        <tooltip-info style=\"width: 46px\" tooltipTitle=\"Advanced Search Options\" :show=\"isNoResultsFound\"></tooltip-info>\n        <div class=\"input-group gs1-input-group\">\n          <broswer-search-config-dropdown></broswer-search-config-dropdown>\n          <browser-language-dropdown @onChange=\"handleChangeLanguageSelect\"></browser-language-dropdown>\n          <browser-publication-dropdown :languageId=\"selectedLanguageId\" @onChange=\"handleChangePublicationSelect\"></browser-publication-dropdown>\n          <div class=\"w-100 d-block d-sm-none\"></div>\n          <browser-search @onSearch=\"handleSearch\"></browser-search>\n        </div>\n      </div>\n    </div>\n    <div class=\"row my-1\">\n      <div class=\"col-md-5 d-sm-none d-md-block\"></div>\n      <div class=\"col-2 col-sm-2 col-md-2 d-flex justify-content-center\">\n        <div v-show=\"isLoading\" class=\"search-spinner spinner-border gs1-color-orange-accessible mx-2 fs-6\" role=\"status\">\n          <span class=\"visually-hidden\">Loading...</span>\n        </div>\n      </div>\n      <div class=\"col-md-5 d-sm-none d-md-block\"></div>\n    </div>\n    <div class=\"row\">\n      <div class=\"col-12\" v-show=\"isNoResultsFound\">\n        <div class=\"fw-bold\">Sorry, no search results found!</div>\n        <div class=\"fs-6\">\n          We were unable to find any result for the terms you have typed in. Please refine your search in the advanced search options menu.\n        </div>\n        <div class=\"fs-6 mt-3\">\n          <div>Search Tips:</div>\n          <ul>\n            <li class=\"m-0\">Make sure that all words are spelled correctly</li>\n            <li class=\"m-0\">Use a more generic search term (Trademarked names are generally not used in the Classification)</li>\n            <li class=\"m-0\">Try to use a broad criteria or partial word searches</li>\n          </ul>\n        </div>\n        <div class=\"fs-6\">\n          <div>Still can't find what you are looking for?</div>\n          <ul>\n            <li class=\"m-0\">\n              <span>\n                If you are from the country of Egypt, please email\n                <a href=\"mailto:einvoice@gs1eg.org?subject=GPC Browser&body=Please provide product name or description (image optional).\"\n                  >einvoice@gs1eg.org</a\n                >\n                for help.\n              </span>\n            </li>\n            <li class=\"m-0\">\n              <span>\n                Other countries please email\n                <a href=\"mailto:helpdesk@gs1.org?subject=GPC Browser&body=Please provide product name or description (image optional).\"\n                  >helpdesk@gs1.org</a\n                >\n                for help.\n              </span>\n            </li>\n          </ul>\n        </div>\n      </div>\n      <div class=\"col-12\" v-show=\"treeData.length > 0\">\n        <div :key=\"treeKey\">\n          <browser-tree-item v-for=\"item in treeData\" :key=\"item.code\" :item=\"item\"></browser-tree-item>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport BrowserTreeItem from \"./BrowserTreeItem.vue\";\nimport BrowserLanguageDropdown from \"./BrowserLanguageDropdown.vue\";\nimport BrowserPublicationDropdown from \"./BrowserPublicationDropdown.vue\";\nimport useTree from \"../../composables/useTree\";\nimport useSearch from \"../../composables/useSearch\";\nimport BrowserSearch from \"./BrowserSearch.vue\";\nimport { computed, nextTick, ref } from \"@vue/runtime-core\";\nimport BroswerSearchConfigDropdown from \"./BroswerSearchConfigDropdown.vue\";\nimport useSearchConfigurationSingleton from \"../../composables/useSearchConfigurationSingleton\";\nimport useLanguage from \"../../composables/useLanguage\";\nimport TooltipInfo from \"../shared/TooltipInfo.vue\";\nexport default {\n  components: { BrowserTreeItem, BrowserLanguageDropdown, BrowserPublicationDropdown, BrowserSearch, BroswerSearchConfigDropdown, TooltipInfo },\n  emits: [\"onLanguageChange\", \"onPublicationChange\"],\n  setup(props, { emit }) {\n    const { languages } = useLanguage();\n    const { treeData, fetchPublishedSchemaTreeAsync, isFetchingSegmentFamilyClasses, isFetchingTree, clearTheTree, abortTreeFetching } = useTree();\n    const { searchAsync } = useSearch();\n    const { searchConfiguration } = useSearchConfigurationSingleton();\n\n    let fetchTreePromise = Promise.resolve();\n    const selectedLanguageId = ref(0);\n    const treeKey = ref(0);\n    const isSearching = ref(false);\n\n    const isLoading = computed(() => {\n      return isSearching.value || isFetchingSegmentFamilyClasses.value;\n    });\n    const isNoResultsFound = computed(() => {\n      return !isLoading.value && !isFetchingTree.value && treeData.value.every((f) => f.isOutOfSearch);\n    });\n\n    const handleChangeLanguageSelect = async (languageId) => {\n      selectedLanguageId.value = languageId;\n      emit(\n        \"onLanguageChange\",\n        languages.value.find((lang) => lang.languageId == languageId)\n      );\n    };\n\n    const handleChangePublicationSelect = async (publication) => {\n      if (publication != null) {\n        abortTreeFetching();\n        await fetchTreePromise;\n        fetchTreePromise = fetchPublishedSchemaTreeAsync(publication.publicationId);\n      } else {\n        abortTreeFetching();\n        await fetchTreePromise;\n        await nextTick();\n        clearTheTree();\n      }\n      emit(\"onPublicationChange\", publication);\n    };\n\n    const handleSearch = (text) => {\n      isSearching.value = true;\n      setTimeout(async () => {\n        if (searchConfiguration.includeAttributesAndValues) {\n          await fetchTreePromise;\n        }\n        await searchAsync(treeData, text, searchConfiguration);\n        isSearching.value = false;\n        ++treeKey.value; //trigger rerender component\n      }, 100);\n    };\n\n    return {\n      treeData,\n      selectedLanguageId,\n      handleChangeLanguageSelect,\n      handleChangePublicationSelect,\n      handleSearch,\n      isSearching,\n      treeKey,\n      isLoading,\n      isNoResultsFound,\n    };\n  },\n};\n</script>\n<style scoped>\n.search-spinner {\n  height: 1.5rem;\n  width: 1.5rem;\n  border-width: 0.2em;\n}\n.publication-name {\n  font-weight: 500;\n}\n</style>\n","<template>\n  <ul class=\"m-0 p-0 tree\">\n    <li v-if=\"isItemOutOfSearch\" class=\"tree-node mb-0\" :class=\"{ 'has-child': isFolder, loading: isLoadingTreeItem }\">\n      <div class=\"tree-content rounded\">\n        <div @click=\"toggle\" class=\"d-flex\">\n          <BIconChevronDown v-show=\"isOpen && !isLoadingTreeItem\" class=\"tree-arrow\" :class=\"{ expanded: isOpen, 'has-child': isFolder }\"></BIconChevronDown>\n          <BIconChevronRight v-show=\"!isOpen && !isLoadingTreeItem\" class=\"tree-arrow\" :class=\"{ expanded: isOpen, 'has-child': isFolder }\"></BIconChevronRight>\n          <div v-show=\"isLoadingTreeItem\" class=\"spinner-border gs1-color-orange mx-2 fs-6\" role=\"status\">\n            <span class=\"visually-hidden\">Loading...</span>\n          </div>\n        </div>\n        <div class=\"tree-item-main\">\n          <span @click=\"toggle\" class=\"item-level\">{{ getLevelTitle(item.level) }} </span>\n          <span class=\"item-code\" v-html=\"treeItemCode\"></span>\n          <span class=\"item-title\" v-html=\"treeItemTitle\"></span>\n          <span v-if=\"isDefinitionPresent\" @click=\"toggleDefinition\" class=\"info\">\n            <BIconCaretDownSquare v-if=\"!isDefinitionOpen\"></BIconCaretDownSquare>\n            <BIconCaretUpSquare v-if=\"isDefinitionOpen\" class=\"gs1-color-blue\"></BIconCaretUpSquare>\n          </span>\n        </div>\n      </div>\n      <div v-if=\"isDefinitionPresent\" class=\"d-flex definition-block align-items-center rounded\">\n        <transition name=\"fade\">\n          <div v-if=\"isDefinitionOpen\" class=\"item-definition rounded\">\n            <div class=\"item-definition-includes\">\n              <span class=\"fw-bold\">Definition: </span>\n              <span v-html=\"treeItemDefinition\"></span>\n            </div>\n            <div v-show=\"isDefinitionExcludesPresent\" class=\"item-definition-excludes\">\n              <span class=\"fw-bold\">Definition Excludes: </span>\n              <span v-html=\"treeItemDefinitionExcludes\"></span>\n            </div>\n          </div>\n        </transition>\n      </div>\n      <transition name=\"fade\">\n        <ul v-if=\"isOpen && isFolder\" class=\"tree-children\">\n          <tree-item v-for=\"child in item.childs\" :key=\"child.code\" :item=\"child\"></tree-item>\n        </ul>\n      </transition>\n    </li>\n  </ul>\n</template>\n\n<script>\nimport { computed, onMounted, ref } from \"vue\";\nimport useTree from \"../../composables/useTree\";\nimport { BIconChevronDown, BIconChevronRight, BIconCaretDownSquare, BIconCaretUpSquare } from \"bootstrap-icons-vue\";\nexport default {\n  components: { BIconChevronDown, BIconChevronRight, BIconCaretDownSquare, BIconCaretUpSquare },\n  name: \"tree-item\",\n  props: { item: Object },\n  setup(props) {\n    const { getLevelTitle, isFetchingAttributesAndValues, isLoading } = useTree();\n    const isOpen = ref(false);\n    const isDefinitionOpen = ref(false);\n\n    const isFolder = computed(() => {\n      return props.item.childs && props.item.childs.length;\n    });\n\n    const isLoadingTreeItem = computed(() => {\n      if (isFetchingAttributesAndValues.value) {\n        return isLoading(props.item.level);\n      }\n      return false;\n    });\n\n    const isItemOutOfSearch = computed(() => {\n      return !props.item.isOutOfSearch || props.item.isOutOfSearch == null;\n    });\n\n    const treeItemCode = computed(() => {\n      if (props.item.codeSearch == null || props.item.codeSearch == \"\") {\n        return props.item.code;\n      }\n      return props.item.codeSearch;\n    });\n\n    const treeItemTitle = computed(() => {\n      if (props.item.titleSearch == null || props.item.titleSearch == \"\") {\n        return props.item.title;\n      }\n      return props.item.titleSearch;\n    });\n\n    const treeItemDefinition = computed(() => {\n      if (props.item.definitionSearch == null || props.item.definitionSearch == \"\") {\n        return props.item.definition;\n      }\n      return props.item.definitionSearch;\n    });\n\n    const treeItemDefinitionExcludes = computed(() => {\n      if (props.item.definitionExcludesSearch == null || props.item.definitionExcludesSearch == \"\") {\n        return props.item.definitionExcludes;\n      }\n      return props.item.definitionExcludesSearch;\n    });\n\n    const isDefinitionPresent = computed(() => {\n      return treeItemDefinition.value != null && treeItemDefinition.value !== \"\";\n    });\n\n    const isDefinitionExcludesPresent = computed(() => {\n      return treeItemDefinitionExcludes.value != null && treeItemDefinitionExcludes.value !== \"\";\n    });\n\n    onMounted(() => {\n      if (props.item.isOpen) {\n        isOpen.value = true;\n      }\n      if (props.item.definitionSearch != null && props.item.definitionSearch !== \"\") {\n        isDefinitionOpen.value = true;\n      }\n      if (props.item.definitionExcludesSearch != null && props.item.definitionExcludesSearch !== \"\") {\n        isDefinitionOpen.value = true;\n      }\n    });\n\n    const toggle = () => {\n      if (isFolder.value) {\n        isOpen.value = !isOpen.value;\n      }\n    };\n    const toggleDefinition = () => {\n      if (isDefinitionPresent.value) {\n        isDefinitionOpen.value = !isDefinitionOpen.value;\n      }\n    };\n\n    return {\n      isOpen,\n      isFolder,\n      isLoadingTreeItem,\n      isItemOutOfSearch,\n      toggle,\n      toggleDefinition,\n      getLevelTitle,\n      treeItemCode,\n      treeItemTitle,\n      treeItemDefinition,\n      treeItemDefinitionExcludes,\n      isDefinitionPresent,\n      isDefinitionExcludesPresent,\n      isDefinitionOpen,\n    };\n  },\n};\n</script>\n\n<style scoped>\n.tree {\n  font-size: .875rem;\n}\n.tree-children {\n  margin-bottom: 0;\n  padding-left: 3rem !important;\n}\n.tree-node {\n  display: flex;\n  flex-direction: column;\n  position: relative;\n  box-sizing: border-box;\n}\n.tree-content {\n  display: flex;\n  align-items: center;\n  padding: 5px;\n  margin: 0;\n  cursor: default;\n  width: 100%;\n  box-sizing: border-box;\n}\n.tree-content .spinner-border {\n  height: 1rem;\n  width: 1rem;\n  border-width: 0.1em;\n}\n.tree-node:not(.selected) > .tree-content:hover {\n  background: var(--gs1-color-ui-2);\n}\n.tree-node.selected > .tree-content {\n  background-color: #e7eef7;\n}\n.tree-node.disabled > .tree-content:hover {\n  background: inherit;\n}\n.tree-node.loading .tree-arrow {\n  margin-left: 0;\n  width: 30px;\n  position: relative;\n}\n.tree-arrow {\n  flex-shrink: 0;\n  cursor: pointer;\n  margin-left: 30px;\n  width: 0;\n}\n.tree-arrow.has-child {\n  margin-left: 0;\n  width: 30px;\n  position: relative;\n}\n.tree-arrow.has-child:after {\n  border: 1.5px solid #494646;\n  position: absolute;\n  border-left: 0;\n  border-top: 0;\n  left: 9px;\n  top: 50%;\n  height: 9px;\n  width: 9px;\n  transform: rotate(-45deg) translateY(-50%) translateX(0);\n  transition: transform 0.25s;\n  transform-origin: center;\n}\n.tree-arrow.has-child.rtl:after {\n  border: 1.5px solid #494646;\n  position: absolute;\n  border-right: 0;\n  border-bottom: 0;\n  right: 0px;\n  top: 50%;\n  height: 9px;\n  width: 9px;\n  transform: rotate(-45deg) translateY(-50%) translateX(0);\n  transition: transform 0.25s;\n  transform-origin: center;\n}\n.tree-arrow.expanded.has-child:after {\n  transform: rotate(45deg) translateY(-50%) translateX(-5px);\n}\n.tree-arrow:after {\n  position: absolute;\n  display: block;\n  content: \"\";\n}\n.tree-arrow:hover {\n  color: var(--gs1-color-blue);\n}\n.fade-enter-active,\n.fade-leave-active {\n  transition: opacity 0.3s, transform 0.3s;\n  transform: translateX(0);\n}\n.fade-enter-from,\n.fade-leave-to {\n  opacity: 0;\n  transform: translateX(-2em);\n}\n\n.item-level {\n  color: var(--gs1-color-ui-6);\n  margin-right: 10px;\n  cursor: pointer;\n}\n.item-level:hover {\n  color: var(--gs1-color-blue);\n}\n.item-code {\n  margin-right: 10px;\n  font-weight: 500;\n}\n.item-title {\n  margin-right: 10px;\n}\n.search-keyword {\n  color: white;\n  background-color: #212529 !important;\n}\n.info {\n  margin-right: 10px;\n  cursor: pointer;\n}\n.info > svg {\n  width: 20px;\n  height: 20px;\n  color: var(--gs1-color-ui-6);\n}\n.definition-block {\n  margin-left: 1.875rem;\n  color: var(--gs1-color-blue);\n  background: var(--gs1-color-ui-1);\n}\n.info:hover > svg {\n  color: var(--gs1-color-blue);\n}\n.item-definition {\n  padding: 0.5rem;\n}\n.tree-item-main {\n  white-space: nowrap !important;\n  overflow-wrap: break-word;\n}\n/* Medium devices (tablets, less than 992px) */\n@media (max-width: 991.98px) {\n  .tree-item-main {\n    white-space: initial !important;\n  }\n}\n</style>\n","export default (function () {\n  const ClassificationLevel = {\n    Segment: 1,\n    Family: 2,\n    Class: 3,\n    Brick: 4,\n    Attribute: 5,\n    Value: 6,\n  };\n\n  return Object.freeze({\n    ClassificationLevel,\n  });\n})();\n","import appSettings from \"../configuration/appSettings\";\n\nexport async function httpGet(path, abortSignal = null) {\n  try {\n    let response = await fetch(`${appSettings.API_URL}${path}`, getConfig(\"get\", null, abortSignal));\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText };\n    }\n    return response.json();\n  } catch (error) {\n    error.name == \"AbortError\" && console.log(\"The user aborted a request\");\n    throw error;\n  }\n}\n\nexport async function httpPost(path, body, abortSignal = null) {\n  try {\n    let response = await fetch(`${appSettings.API_URL}${path}`, getConfig(\"post\", body, abortSignal));\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText };\n    }\n    return response.json();\n  } catch (error) {\n    console.log(error.name);\n    throw error;\n  }\n}\n\nexport async function httpPut(path, body, abortSignal = null) {\n  try {\n    let response = await fetch(`${appSettings.API_URL}${path}`, getConfig(\"put\", body, abortSignal));\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText };\n    }\n    return response.json();\n  } catch (error) {\n    console.log(error.name);\n    throw error;\n  }\n}\n\nexport async function httpCustom(path, config, abortSignal = null) {\n  if (abortSignal) {\n    config.signal = abortSignal;\n  }\n  return fetch(`${appSettings.API_URL}${path}`, config);\n}\n\nexport function getFileName(response) {\n  if (response != null && response.headers != null) {\n    const header = response.headers.get(\"Content-Disposition\");\n    if (header) {\n      return header.match(/filename=(.+);/)[1].replace(/(^\")|(\"$)/g, \"\");\n    }\n  }\n  return \"File\";\n}\n\nfunction getConfig(method, body = \"\", abortSignal = null) {\n  let config = {\n    headers: { \"Content-Type\": \"application/json;charset=utf-8\" },\n  };\n  if (abortSignal) {\n    config.signal = abortSignal;\n  }\n  if (method === \"get\") {\n    config.method = method.toUpperCase();\n  }\n  if (method === \"post\") {\n    config.method = method.toUpperCase();\n    config.body = JSON.stringify(body);\n  }\n  if (method === \"put\") {\n    config.method = method.toUpperCase();\n    config.body = JSON.stringify(body);\n  }\n\n  return config;\n}\n","import appSettings from \"../configuration/appSettings\";\nimport { getFileName, httpCustom, httpGet } from \"../services/httpService\";\n\nexport default (function () {\n  async function getLanguagesAsync() {\n    return httpGet(`/browser/language/all`);\n  }\n\n  async function getPublicationsAsync(languageId) {\n    return httpGet(`/browser/publication?languageId=${languageId}`);\n  }\n\n  async function getPreviousPublicationAsync(publicationId) {\n    return httpGet(`/browser/publication/previous?publicationId=${publicationId}`);\n  }\n\n  async function isLatestPublicationAsync(publicationId) {\n    return httpGet(`/browser/publication/islatest?publicationId=${publicationId}`);\n  }\n\n  async function getSegmentsAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/segment?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function getFamiliesAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/family?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function getClassesAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/class?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function getBricksAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/brick?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function getAttributesAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/attribute?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function getAttributeValuesAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/attribute-value?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function getRelationsAsync(publicationId, abortSignal) {\n    return httpGet(`/browser/brick-attribute-value?publicationId=${publicationId}`, abortSignal);\n  }\n\n  async function exportAsJsonAsync(publicationId) {\n    let url = `/browser/download/publication/${publicationId}/json`;\n    let response = await httpCustom(url, {\n      method: \"GET\",\n      headers: { \"Content-Type\": \"application/json;charset=utf-8\" },\n    });\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText, name: \"Empty\" };\n    } else {\n      let data = await response.json();\n      return { isSuccess: true, name: getFileName(response), file: data };\n    }\n  }\n\n  async function exportAsXmlAsync(publicationId) {\n    let url = `/browser/download/publication/${publicationId}/xml`;\n    let response = await httpCustom(url, {\n      method: \"GET\",\n      headers: { \"Content-Type\": \"application/xml;charset=utf-8\" },\n    });\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText, name: \"Empty\" };\n    } else {\n      let data = await response.text();\n      return { isSuccess: true, name: getFileName(response), file: data };\n    }\n  }\n\n  async function exportAsXlsxAsync(publicationId) {\n    let url = `/browser/download/publication/${publicationId}/xlsx`;\n    let response = await httpCustom(url, {\n      method: \"GET\",\n      headers: { \"Content-Type\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" },\n    });\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText, name: \"Empty\" };\n    } else {\n      let data = await response.blob();\n      return { isSuccess: true, name: getFileName(response), file: data };\n    }\n  }\n\n  async function exportDeltaAsJsonAsync(languageId, publicationId = null) {\n    let response = await httpCustom(`/publication/delta/json?languageId=${languageId}&publicationId=${publicationId}`, {\n      method: \"GET\",\n      headers: { \"Content-Type\": \"application/json;charset=utf-8\" },\n    });\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText };\n    } else {\n      let data = await response.json();\n      return { isSuccess: true, name: getFileName(response), file: data };\n    }\n  }\n\n  async function exportDeltaAsXlsxAsync(languageId, publicationId = null) {\n    let response = await httpCustom(`/publication/delta/xlsx?languageId=${languageId}&publicationId=${publicationId}`, {\n      method: \"GET\",\n      headers: { \"Content-Type\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" },\n    });\n    if (!response.ok) {\n      return { isSuccess: false, message: response.statusText };\n    } else {\n      let data = await response.blob();\n      return { isSuccess: true, name: getFileName(response), file: data };\n    }\n  }\n\n  function getDownloadPublicationReleaseNoteAttachmentUrl(publicationId) {\n    return `${appSettings.API_URL}/publication/attachment/download?publicationId=${publicationId}`;\n  }\n\n  return Object.freeze({\n    getLanguagesAsync,\n    getPublicationsAsync,\n    getPreviousPublicationAsync,\n    isLatestPublicationAsync,\n    getSegmentsAsync,\n    getFamiliesAsync,\n    getClassesAsync,\n    getBricksAsync,\n    getAttributesAsync,\n    getAttributeValuesAsync,\n    getRelationsAsync,\n    exportAsJsonAsync,\n    exportAsXmlAsync,\n    exportAsXlsxAsync,\n    exportDeltaAsJsonAsync,\n    exportDeltaAsXlsxAsync,\n    getDownloadPublicationReleaseNoteAttachmentUrl,\n  });\n})();\n","import { ref } from \"@vue/reactivity\";\nimport { computed, nextTick } from \"@vue/runtime-core\";\nimport enums from \"../common/enums\";\nimport gpcBrowserRepository from \"../repositories/gpcBrowserRepository\";\n\nconst isFetchingTree = ref(false);\nconst isFetchingSegmentFamilyClasses = ref(true);\nconst isFetchingBricks = ref(true);\nconst isFetchingAttributesAndValues = ref(true);\n\nexport default function useTree() {\n  const treeData = ref([]);\n  let abortController = new AbortController();\n\n  function clearTheTree() {\n    treeData.value = [];\n  }\n\n  function abortTreeFetching() {\n    abortController.abort();\n  }\n\n  async function fetchPublishedSchemaTreeAsync(publicationId) {\n    try {\n      abortController = new AbortController();\n      isFetchingTree.value = true;\n      treeData.value = [];\n      await nextTick();\n      const segmentPromise = gpcBrowserRepository.getSegmentsAsync(publicationId, abortController.signal);\n      const familyPromise = gpcBrowserRepository.getFamiliesAsync(publicationId, abortController.signal);\n      const classPromise = gpcBrowserRepository.getClassesAsync(publicationId, abortController.signal);\n      const brickPromise = gpcBrowserRepository.getBricksAsync(publicationId, abortController.signal);\n      const attributePromise = gpcBrowserRepository.getAttributesAsync(publicationId, abortController.signal);\n      const attrValuePromise = gpcBrowserRepository.getAttributeValuesAsync(publicationId, abortController.signal);\n      const relationPromise = gpcBrowserRepository.getRelationsAsync(publicationId, abortController.signal);\n      isFetchingSegmentFamilyClasses.value = true;\n      addSegments(await segmentPromise);\n      addFamilies(await familyPromise);\n      addClasses(await classPromise);\n      isFetchingSegmentFamilyClasses.value = false;\n      isFetchingBricks.value = true;\n      const bricksResponse = await brickPromise;\n      addBricks(bricksResponse.result);\n      isFetchingBricks.value = false;\n      isFetchingAttributesAndValues.value = true;\n      const attributesResponse = await attributePromise;\n      const attributeValuesResponse = await attrValuePromise;\n      const relationsResponse = await relationPromise;\n      addAttributesAndValues(bricksResponse.result, attributesResponse.result, attributeValuesResponse.result, relationsResponse.result);\n      isFetchingAttributesAndValues.value = false;\n      isFetchingTree.value = false;\n    } catch (err) {\n      if (err.name != \"AbortError\") throw err;\n    }\n  }\n\n  function addSegments(response) {\n    treeData.value = response.result;\n  }\n  function addFamilies(response) {\n    let familyDictionary = mapToDictionary(response.result, \"parentCode\");\n    treeData.value.forEach((segment) => {\n      if (familyDictionary[segment.code] != null) {\n        segment.childs.push(...familyDictionary[segment.code]);\n      }\n    });\n  }\n  function addClasses(response) {\n    let classDictionary = mapToDictionary(response.result, \"parentCode\");\n    treeData.value.forEach((segment) => {\n      segment.childs.forEach((family) => {\n        if (classDictionary[family.code] != null) {\n          family.childs.push(...classDictionary[family.code]);\n        }\n      });\n    });\n  }\n\n  function addBricks(items) {\n    let brickDictionary = mapToDictionary(items, \"parentCode\");\n    treeData.value.forEach((segment) => {\n      segment.childs.forEach((family) => {\n        family.childs.forEach((clas) => {\n          if (brickDictionary[clas.code] != null) {\n            clas.childs.push(...brickDictionary[clas.code]);\n          }\n        });\n      });\n    });\n  }\n\n  function addAttributesAndValues(bricks, attributes, values, relations) {\n    let brickDictionary = Object.assign({}, ...bricks.map((x) => ({ [x.code]: x })));\n    let attributeDictionary = Object.assign({}, ...attributes.map((x) => ({ [x.code]: x })));\n    let valueDictionary = Object.assign({}, ...values.map((x) => ({ [x.code]: x })));\n    relations.forEach((rel) => {\n      if (\n        brickDictionary[rel.brickCode] != null &&\n        attributeDictionary[rel.attributeCode] != null &&\n        valueDictionary[rel.attributeValueCode] != null\n      ) {\n        let relatedAttribute = brickDictionary[rel.brickCode].childs.find((f) => f.code == rel.attributeCode);\n        if (!relatedAttribute) {\n          relatedAttribute = Object.assign({}, attributeDictionary[rel.attributeCode]);\n          relatedAttribute.childs = [];\n          brickDictionary[rel.brickCode].childs.push(relatedAttribute);\n        }\n        let relatedValue = relatedAttribute.childs.find((f) => f.code == rel.attributeValueCode);\n        if (!relatedValue) {\n          relatedAttribute.childs.push(Object.assign({}, valueDictionary[rel.attributeValueCode]));\n          relatedAttribute.childs.sort((a, b) => a.title.localeCompare(b.title));\n        }\n      }\n    });\n  }\n\n  function isLoading(level) {\n    switch (level) {\n      case enums.ClassificationLevel.Brick:\n        return true;\n      case enums.ClassificationLevel.Attribute:\n        return true;\n      case enums.ClassificationLevel.AttributeValue:\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function getLevelTitle(level) {\n    if (level == enums.ClassificationLevel.Value) {\n      return \"Attribute Value\";\n    }\n    return Object.keys(enums.ClassificationLevel).find((key) => enums.ClassificationLevel[key] == level);\n  }\n\n  function mapToDictionary(array, propName) {\n    return array.reduce((prev, curr) => {\n      if (prev[curr[propName]] == null) {\n        prev[curr[propName]] = [curr];\n      } else {\n        prev[curr[propName]].push(curr);\n      }\n      return prev;\n    }, {});\n  }\n\n  return {\n    treeData: computed(() => treeData.value),\n    isFetchingTree: computed(() => isFetchingTree.value),\n    isFetchingSegmentFamilyClasses: computed(() => isFetchingSegmentFamilyClasses.value),\n    isFetchingBricks: computed(() => isFetchingBricks.value),\n    isFetchingAttributesAndValues: computed(() => isFetchingAttributesAndValues.value),\n    fetchPublishedSchemaTreeAsync,\n    getLevelTitle,\n    isLoading,\n    clearTheTree,\n    abortTreeFetching,\n  };\n}\n","import { render } from \"./BrowserTreeItem.vue?vue&type=template&id=2862147b&scoped=true\"\nimport script from \"./BrowserTreeItem.vue?vue&type=script&lang=js\"\nexport * from \"./BrowserTreeItem.vue?vue&type=script&lang=js\"\n\nimport \"./BrowserTreeItem.vue?vue&type=style&index=0&id=2862147b&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-2862147b\"\n\nexport default script","<template>\n  <button\n    id=\"LanguageDropdown\"\n    class=\"btn btn-outline-secondary gs1-dropdown\"\n    type=\"button\"\n    data-bs-toggle=\"dropdown\"\n    aria-expanded=\"false\"\n    :title=\"selectedLanguageName\"\n  >\n    <span class=\"lang-label\">{{ selectedLanguageName }}</span\n    ><b-icon-chevron-down class=\"ms-1 gs1-color-blue\"></b-icon-chevron-down>\n  </button>\n  <ul class=\"dropdown-menu gs1-dropdown-menu\">\n    <li v-for=\"language in languages\" :key=\"language.languageId\" @click.prevent=\"selectLanguage(language.languageId)\" class=\"m-0\">\n      <a class=\"dropdown-item\" href=\"#\">{{ language.languageName }}</a>\n    </li>\n  </ul>\n</template>\n\n<script>\nimport { computed, nextTick, onMounted, ref, watch } from \"@vue/runtime-core\";\nimport useLanguage from \"../../composables/useLanguage\";\nimport useGtm from \"../../composables/useGtm\";\nimport { BIconChevronDown } from \"bootstrap-icons-vue\";\nimport { useRoute } from \"vue-router\";\nexport default {\n  components: { BIconChevronDown },\n  emits: [\"onChange\"],\n  setup(props, { emit }) {\n    const { languages, fetchLanguagesAsync } = useLanguage();\n    const { trackEvent } = useGtm();\n    const route = useRoute();\n\n    const selectedLanguageId = ref(0);\n    const selectedLanguageName = computed(() => {\n      let lang = languages.value.find((f) => f.languageId == selectedLanguageId.value);\n      return lang == null ? \"Language\" : lang.languageName;\n    });\n\n    watch(selectedLanguageId, (currLanguageId, prevLanguageId) => {\n      if (currLanguageId != prevLanguageId) {\n        emit(\"onChange\", currLanguageId);\n        trackEvent(\"gpc_language_select\", {\n          languageCode: languages.value.find((f) => f.languageId == currLanguageId).languageCode.toLowerCase(),\n        });\n      }\n    });\n\n    onMounted(async () => {\n      await fetchLanguagesAsync();\n      await nextTick();\n      detectUserLanguage();\n      handleQueryParamLanguage();\n    });\n\n    const selectLanguage = (languageId) => {\n      selectedLanguageId.value = languageId;\n    };\n\n    const detectUserLanguage = () => {\n      const browserCulture = navigator.language || navigator.userLanguage;\n      if (!browserCulture) {\n        return;\n      }\n      const correspondingLanguageByCulture = languages.value.find((f) => f.culture == browserCulture);\n      if (correspondingLanguageByCulture) {\n        selectedLanguageId.value = correspondingLanguageByCulture.languageId;\n        return;\n      }\n      const correspondingLanguageByLanguageCode = languages.value.find(\n        (f) => f.languageCode.toLowerCase() == browserCulture.substring(0, 2).toLowerCase()\n      );\n      if (correspondingLanguageByLanguageCode) {\n        selectedLanguageId.value = correspondingLanguageByLanguageCode.languageId;\n        return;\n      }\n      const engLanguage = languages.value.find((f) => f.languageCode.toLowerCase() === \"en\");\n      if (engLanguage) {\n        selectedLanguageId.value = engLanguage.languageId;\n      }\n    };\n\n    const handleQueryParamLanguage = () => {\n      const langParam = route.query.lang;\n      if (!langParam) return;\n      const matchedLanguage = languages.value.find((f) => f.languageCode.toLowerCase() == langParam);\n      if (matchedLanguage) {\n        selectedLanguageId.value = matchedLanguage.languageId;\n      }\n    };\n\n    return {\n      selectedLanguageId,\n      selectedLanguageName,\n      selectLanguage,\n      languages,\n    };\n  },\n};\n</script>\n<style scoped>\n#LanguageDropdown {\n  width: 200px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.lang-label {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n}\n</style>\n","import { ref } from \"@vue/reactivity\";\nimport { computed } from \"@vue/runtime-core\";\nimport gpcBrowserRepository from \"../repositories/gpcBrowserRepository.js\";\n\nconst languages = ref([]);\nconst isFetchingLanguages = ref(false);\nexport default function useLanguage() {\n  async function fetchLanguagesAsync() {\n    isFetchingLanguages.value = true;\n    const response = await gpcBrowserRepository.getLanguagesAsync();\n    languages.value = response.result;\n    isFetchingLanguages.value = false;\n    return response;\n  }\n\n  function isEnglish(languageId) {\n    const existingLanguage = languages.value.find((f) => f.languageId == languageId);\n    if (!existingLanguage) {\n      return false;\n    }\n    return existingLanguage.languageCode.toLowerCase() === \"en\";\n  }\n\n  return {\n    languages: computed(() => languages.value),\n    isFetchingLanguages: computed(() => isFetchingLanguages.value),\n    fetchLanguagesAsync,\n    isEnglish\n  };\n}\n","export default function useGtm() {\n  const _isGtmAvailable = Array.isArray(window.dataLayer) && (typeof window.gtag === 'function');\n\n  function trackEvent(eventName, params) {\n    if (_isGtmAvailable) {\n        window.gtag(\"event\", eventName, params);\n    }\n  }\n\n  return {\n    trackEvent: trackEvent,\n  };\n}\n","import { render } from \"./BrowserLanguageDropdown.vue?vue&type=template&id=75458584&scoped=true\"\nimport script from \"./BrowserLanguageDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./BrowserLanguageDropdown.vue?vue&type=script&lang=js\"\n\nimport \"./BrowserLanguageDropdown.vue?vue&type=style&index=0&id=75458584&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-75458584\"\n\nexport default script","<template>\n  <button id=\"PublicationDropdown\" class=\"btn btn-outline-secondary gs1-dropdown\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n    <span class=\"publication-label\">{{ selectedPublicationName }}</span>\n    <b-icon-chevron-down class=\"ms-1 gs1-color-blue\"></b-icon-chevron-down>\n  </button>\n  <ul class=\"dropdown-menu gs1-dropdown-menu\">\n    <li v-for=\"publication in publications\" :key=\"publication.publicationId\" @click.prevent=\"selectPublication(publication)\" class=\"m-0\">\n      <a class=\"dropdown-item\" href=\"#\">{{ publication.publicationName }}</a>\n    </li>\n  </ul>\n</template>\n\n<script>\nimport { computed, ref, watch } from \"@vue/runtime-core\";\nimport useLanguage from \"../../composables/useLanguage\";\nimport useGtm from \"../../composables/useGtm\";\nimport { BIconChevronDown } from \"bootstrap-icons-vue\";\nimport usePublication from \"../../composables/usePublication\";\nimport { useRoute } from \"vue-router\";\nexport default {\n  components: { BIconChevronDown },\n  emits: [\"onChange\"],\n  props: {\n    languageId: { type: Number, required: true },\n  },\n  setup(props, { emit }) {\n    const { languages } = useLanguage();\n    const { publications, fetchPublicationsAsync } = usePublication();\n    const { trackEvent } = useGtm();\n    const route = useRoute();\n    let isRouteParamHandled = false\n\n    const selectedPublication = ref(null);\n    const selectedPublicationName = computed(() => (selectedPublication.value == null ? \"...\" : selectedPublication.value.publicationName));\n\n    watch(\n      () => props.languageId,\n      async (id) => {\n        await fetchPublicationsAsync(id);\n        if (publications.value.length > 0) {\n          selectedPublication.value = publications.value[0];\n          handleQueryParamPublication();\n          trackEvent(\"gpc_publication_select\", {\n            languageCode: languages.value.find((f) => f.languageId == props.languageId).languageCode.toLowerCase(),\n            publication: selectedPublication.value.publicationName,\n          });\n        } else {\n          selectedPublication.value = null;\n          emit(\"onChange\", selectedPublication.value);\n        }\n      }\n    );\n\n    watch(selectedPublication, (currPublication, prevPublication) => {\n      emit(\"onChange\", currPublication);\n      if (currPublication != null && currPublication != prevPublication) {\n        trackEvent(\"gpc_publication_select\", {\n          languageCode: languages.value.find((f) => f.languageId == props.languageId).languageCode.toLowerCase(),\n          publication: currPublication.publicationName,\n        });\n      }\n    });\n\n    function selectPublication(publication) {\n      selectedPublication.value = publication;\n    }\n\n    const handleQueryParamPublication = () => {\n      if(isRouteParamHandled) return;\n      const publicationTypes = [\"gdsn\", \"gpc\"];\n      const publicationParam = route.query.publ;\n      if (!publicationParam || !publicationTypes.includes(publicationParam.toLowerCase())) return;\n      const isGDSN = publicationParam.toLowerCase() == publicationTypes[0];\n      const matchedPublication = publications.value.find((f) => f.isGDSN == isGDSN);\n      if (matchedPublication) {\n        selectedPublication.value = matchedPublication;\n      }\n      isRouteParamHandled = true;\n    };\n\n    return {\n      publications,\n      selectedPublicationName,\n      selectPublication,\n    };\n  },\n};\n</script>\n<style scoped>\n#PublicationDropdown {\n  width: 340px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.publication-label {\n  text-overflow: ellipsis;\n  overflow: hidden;\n  white-space: nowrap;\n}\n</style>\n","import { computed, ref } from \"vue\";\nimport gpcBrowserRepository from \"../repositories/gpcBrowserRepository\";\n\nconst _publications = ref([]);\nexport default function usePublication() {\n  const _isFetchingPublication = ref(false);\n\n  async function fetchPublicationsAsync(languageId) {\n    _isFetchingPublication.value = true;\n    _publications.value = [];\n    const response = await gpcBrowserRepository.getPublicationsAsync(languageId);\n    _publications.value = response.result;\n    _isFetchingPublication.value = false;\n    return response;\n  }\n\n  async function getPreviousPublicationAsync(publicationId) {\n    return gpcBrowserRepository.getPreviousPublicationAsync(publicationId);\n  }\n  async function isLatestPublicationAsync(publicationId) {\n    return gpcBrowserRepository.isLatestPublicationAsync(publicationId);\n  }\n  async function downloadPublicationAsJsonAsync(id, isStaticFile) {\n    return gpcBrowserRepository.exportAsJsonAsync(id, isStaticFile);\n  }\n  async function downloadPublicationAsXmlAsync(id, isStaticFile) {\n    return gpcBrowserRepository.exportAsXmlAsync(id, isStaticFile);\n  }\n  async function downloadPublicationAsXlsxAsync(id, isStaticFile) {\n    return gpcBrowserRepository.exportAsXlsxAsync(id, isStaticFile);\n  }\n  async function downloadDeltaAsJsonAsync(languageId, publicationId = null) {\n    return gpcBrowserRepository.exportDeltaAsJsonAsync(languageId, publicationId);\n  }\n  async function downloadDeltaAsXlsxAsync(languageId, publicationId = null) {\n    return gpcBrowserRepository.exportDeltaAsXlsxAsync(languageId, publicationId);\n  }\n  function getDownloadPublicationReleaseNoteAttachmentUrl(publicationId) {\n    return gpcBrowserRepository.getDownloadPublicationReleaseNoteAttachmentUrl(publicationId);\n  }\n\n  return {\n    downloadPublicationAsJsonAsync,\n    downloadPublicationAsXmlAsync,\n    downloadPublicationAsXlsxAsync,\n    getPreviousPublicationAsync,\n    isLatestPublicationAsync,\n    downloadDeltaAsJsonAsync,\n    downloadDeltaAsXlsxAsync,\n    fetchPublicationsAsync,\n    getDownloadPublicationReleaseNoteAttachmentUrl,\n    publications: computed(() => _publications.value),\n    isFetchingPublicaiton: computed(() => _isFetchingPublication.value),\n  };\n}\n","import { render } from \"./BrowserPublicationDropdown.vue?vue&type=template&id=1bcf1918&scoped=true\"\nimport script from \"./BrowserPublicationDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./BrowserPublicationDropdown.vue?vue&type=script&lang=js\"\n\nimport \"./BrowserPublicationDropdown.vue?vue&type=style&index=0&id=1bcf1918&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-1bcf1918\"\n\nexport default script","import { ref } from \"@vue/reactivity\";\nimport { computed } from \"@vue/runtime-core\";\nimport enums from \"../common/enums\";\n\nexport default function useSearch() {\n  String.prototype.ignoreAccents = function () {\n    return this.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\");\n  };\n  String.prototype.replaceAt = function (index, replacementLength, replacement) {\n    return this.substr(0, index) + replacement + this.substr(index + replacementLength);\n  };\n  String.prototype.capitalizeFirstLetter = function () {\n    return this.charAt(0).toUpperCase() + this.slice(1);\n  };\n\n  const isSearching = ref(false);\n\n  async function searchAsync(treeData, text, searchConfig) {\n    if (text == null || text == \"\") {\n      cleanupSearch(treeData);\n      return;\n    }\n\n    cleanupSearch(treeData);\n    isSearching.value = true;\n    search(treeData, text.toString().trim(), searchConfig);\n    isSearching.value = false;\n  }\n\n  function search(treeData, textToSearch, searchConfig) {\n    treeData.value.forEach((segment) => {\n      let foundArray = [];\n      foundArray.push(handleSearch(segment, textToSearch, searchConfig));\n      segment.childs.forEach((family) => {\n        foundArray.push(handleSearch(family, textToSearch, searchConfig, [segment]));\n        family.childs.forEach((clas) => {\n          foundArray.push(handleSearch(clas, textToSearch, searchConfig, [segment, family]));\n          clas.childs.forEach((brick) => {\n            foundArray.push(handleSearch(brick, textToSearch, searchConfig, [segment, family, clas]));\n            brick.childs.forEach((attribute) => {\n              foundArray.push(handleSearch(attribute, textToSearch, searchConfig, [segment, family, clas, brick]));\n              attribute.childs.forEach((attributeValue) => {\n                foundArray.push(handleSearch(attributeValue, textToSearch, searchConfig, [segment, family, clas, brick, attribute]));\n              });\n            });\n          });\n        });\n      });\n      if (foundArray.find((f) => f === true)) {\n        segment.isOutOfSearch = false;\n      } else {\n        segment.isOutOfSearch = true;\n      }\n    });\n  }\n\n  const handleSearch = (itemToSearchIn, textToSearch, searchConfig, parents = []) => {\n    if (trySearchInItem(itemToSearchIn, textToSearch, searchConfig)) {\n      parents.forEach((parent) => (parent.isOpen = true));\n      if (searchConfig.trimSearchResults) {\n        parents.forEach((parent) => (parent.isOutOfSearch = false));\n        itemToSearchIn.isSearchedItem = true;\n      }\n      return true;\n    } else {\n      itemToSearchIn.isOpen = false;\n      if (searchConfig.trimSearchResults) {\n        if (parents.length && parents.some((s) => s.isSearchedItem)) {\n          itemToSearchIn.isOutOfSearch = false;\n        } else {\n          itemToSearchIn.isOutOfSearch = true;\n        }\n      }\n      return false;\n    }\n  };\n\n  function cleanupSearch(treeData) {\n    const boolProperties = [\"isOpen\", \"isOutOfSearch\", \"isSearchedItem\"];\n    const stringProperties = [\"codeSearch\", \"titleSearch\", \"definitionSearch\", \"definitionExcludesSearch\"];\n    const cleanupProperties = (item) => {\n      boolProperties.forEach((prop) => (item[prop] = false));\n      stringProperties.forEach((prop) => (item[prop] = null));\n    };\n\n    treeData.value.forEach((segment) => {\n      cleanupProperties(segment);\n      segment.childs.forEach((family) => {\n        cleanupProperties(family);\n        family.childs.forEach((clas) => {\n          cleanupProperties(clas);\n          clas.childs.forEach((brick) => {\n            cleanupProperties(brick);\n            brick.childs.forEach((attribute) => {\n              cleanupProperties(attribute);\n              attribute.childs.forEach((attributeValue) => {\n                cleanupProperties(attributeValue);\n              });\n            });\n          });\n        });\n      });\n    });\n  }\n\n  function trySearchInItem(item, text, searchConfig) {\n    if (\n      !searchConfig.includeAttributesAndValues &&\n      (item.level == enums.ClassificationLevel.Attribute || item.level == enums.ClassificationLevel.Value)\n    ) {\n      return false;\n    }\n\n    return (\n      trySearchInCode(item, text, searchConfig) ||\n      trySearchInTitle(item, text, searchConfig) ||\n      trySearchInDefinitionIncludes(item, text, searchConfig) ||\n      trySearchInDefinitionExcludes(item, text, searchConfig)\n    );\n  }\n\n  const trySearchInCode = (item, text, searchConfig) => {\n    if (searchConfig.searchInCode && item.code.toString().includes(text)) {\n      item.codeSearch = item.code.toString().replace(text, `<span class=\"text-white bg-dark\">${text}</span>`);\n      return true;\n    }\n    return false;\n  };\n\n  const trySearchInTitle = (item, text, searchConfig) => {\n    if (searchConfig.searchInTitle) {\n      item.titleSearch = getSearchResultBasedOnConfig(item.title, text, searchConfig);\n      if (item.titleSearch !== \"\") {\n        return true;\n      }\n    }\n    return false;\n  };\n\n  const trySearchInDefinitionIncludes = (item, text, searchConfig) => {\n    if (searchConfig.searchInDefinitionIncludes && item.definition != null && item.definition !== \"\") {\n      item.definitionSearch = getSearchResultBasedOnConfig(item.definition, text, searchConfig);\n      if (item.definitionSearch !== \"\") {\n        return true;\n      }\n    }\n    return false;\n  };\n\n  const trySearchInDefinitionExcludes = (item, text, searchConfig) => {\n    if (searchConfig.searchInDefinitionExcludes && item.definitionExcludes != null && item.definitionExcludes !== \"\") {\n      item.definitionExcludesSearch = getSearchResultBasedOnConfig(item.definitionExcludes, text, searchConfig);\n      if (item.definitionExcludesSearch !== \"\") {\n        return true;\n      }\n    }\n    return false;\n  };\n\n  const getSearchResultBasedOnConfig = (searchInText, text, searchConfig) => {\n    if (searchConfig.exactWording) {\n      return getExactSearchedText(searchInText, text);\n    }\n    if (searchConfig.searchInWordsCombination) {\n      let keys = {};\n      let words = text.split(\" \").map((m) => m.trim());\n      let searchedText = getSearchedText(searchInText, words, keys);\n      return Object.keys(keys).length >= words.length ? searchedText : \"\";\n    }\n    return getSearchedText(searchInText, [text]);\n  };\n\n  const getSearchedText = (searchInText, words, keyWordsDictionaryToReplace = {}) => {\n    words.forEach((word, index) => {\n      const indexOfMatchedWord = searchInText.ignoreAccents().toLowerCase().indexOf(word.ignoreAccents().toLowerCase());\n      if (indexOfMatchedWord > -1) {\n        let tempKey = `$${index}`;\n        let capitalizedWord = word.capitalizeFirstLetter();\n        if (searchInText.ignoreAccents().indexOf(capitalizedWord.ignoreAccents()) > -1) {\n          keyWordsDictionaryToReplace[tempKey] = `<span class=\"text-white bg-dark\">${capitalizedWord}</span>`;\n          searchInText = searchInText.replaceAt(indexOfMatchedWord, capitalizedWord.length, tempKey);\n          return;\n        }\n        keyWordsDictionaryToReplace[tempKey] = `<span class=\"text-white bg-dark\">${word}</span>`;\n        searchInText = searchInText.replaceAt(indexOfMatchedWord, word.length, tempKey);\n      }\n    });\n\n    if (Object.keys(keyWordsDictionaryToReplace).length) {\n      for (const [key, value] of Object.entries(keyWordsDictionaryToReplace)) {\n        searchInText = searchInText.replace(key, value);\n      }\n    } else {\n      searchInText = \"\";\n    }\n    return searchInText;\n  };\n\n  const getExactSearchedText = (searchInText, wordToSearch) => {\n    const indexOfMatchedWord = searchInText.ignoreAccents().toLowerCase().indexOf(wordToSearch.ignoreAccents().toLowerCase());\n    if (indexOfMatchedWord < 0) {\n      return \"\";\n    }\n    if (indexOfMatchedWord == 0 && searchInText.charAt(wordToSearch.length).ignoreAccents().match(/[a-z]/i) == null) {\n      return searchInText.replaceAt(indexOfMatchedWord, wordToSearch.length, `<span class=\"text-white bg-dark\">${wordToSearch}</span>`);\n    }\n    if (\n      indexOfMatchedWord == searchInText.length - wordToSearch.length &&\n      searchInText\n        .charAt(searchInText.length - wordToSearch.length - 1)\n        .ignoreAccents()\n        .match(/[a-z]/i) == null\n    ) {\n      return searchInText.replaceAt(indexOfMatchedWord, wordToSearch.length, `<span class=\"text-white bg-dark\">${wordToSearch}</span>`);\n    }\n    if (\n      searchInText\n        .charAt(indexOfMatchedWord - 1)\n        .ignoreAccents()\n        .match(/[a-z]/i) == null &&\n      searchInText\n        .charAt(indexOfMatchedWord + wordToSearch.length)\n        .ignoreAccents()\n        .match(/[a-z]/i) == null\n    ) {\n      return searchInText.replaceAt(indexOfMatchedWord, wordToSearch.length, `<span class=\"text-white bg-dark\">${wordToSearch}</span>`);\n    }\n\n    return \"\";\n  };\n\n  return {\n    isSearching: computed(() => isSearching.value),\n    searchAsync,\n  };\n}\n","<template>\n  <input v-model=\"searchText\" @keyup.enter=\"doSearch\" type=\"search\" class=\"form-control gs1-input\" placeholder=\"Search...\" autocomplete=\"off\" />\n  <button @click=\"doSearch\" class=\"btn btn-outline-secondary gs1-button blue\" type=\"button\" :disabled=\"!isSearchEnabled\">\n    <b-icon-search class=\"fs-5\"></b-icon-search>\n  </button>\n</template>\n\n<script>\nimport { ref } from \"@vue/reactivity\";\nimport useTree from \"../../composables/useTree\";\nimport useSearch from \"../../composables/useSearch\";\nimport { computed, watchEffect, watch } from \"@vue/runtime-core\";\nimport { BIconSearch } from \"bootstrap-icons-vue\";\nimport useGtm from \"../../composables/useGtm\";\nimport { useRoute } from \"vue-router\";\nexport default {\n  components: { BIconSearch },\n  emits: [\"onSearch\"],\n  props: { treeData: Array },\n  setup(props, { emit }) {\n    const { isFetchingBricks } = useTree();\n    const { isSearching } = useSearch();\n    const { trackEvent } = useGtm();\n    const route = useRoute();\n\n    const MIN_SEARCH_LENGTH = 3;\n    const searchText = ref(route.query.search ?? \"\");\n    const isSearchValid = ref(\"\");\n    let isRouteParamHandled = false\n\n    const isSearchEnabled = computed(() => {\n      return isSearchValid.value && !isFetchingBricks.value && !isSearching.value;\n    });\n\n    watchEffect(() => {\n      if (searchText.value == \"\" || searchText.value.length >= MIN_SEARCH_LENGTH) {\n        isSearchValid.value = true;\n      } else {\n        isSearchValid.value = false;\n      }\n    });\n\n    watch(isSearchEnabled, (value)=> value && handleSearchQueryParam());\n\n    const doSearch = () => {\n      if (!isSearchEnabled.value) {\n        return;\n      }\n      emit(\"onSearch\", searchText.value);\n      trackEvent(\"gpc_browser_search\", {\n        text: searchText.value,\n      });\n    };\n\n    const handleSearchQueryParam = () => {\n      if(isRouteParamHandled) return;\n      searchText.value && doSearch();\n      isRouteParamHandled = true;\n    };\n\n    return { searchText, doSearch, isSearchEnabled, isSearching };\n  },\n};\n</script>\n","import { render } from \"./BrowserSearch.vue?vue&type=template&id=4147607d\"\nimport script from \"./BrowserSearch.vue?vue&type=script&lang=js\"\nexport * from \"./BrowserSearch.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\n  <button class=\"btn btn-outline-secondary gs1-dropdown\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n    <BIconSliders class=\" gs1-color-blue fs-5\"></BIconSliders>\n  </button>\n  <div class=\"dropdown-menu gs1-dropdown-menu\">\n    <div class=\"form-check mx-2\">\n      <label class=\"form-check-label\" for=\"SearchInCodeCheck\">Search in Code</label>\n      <input v-model=\"searchConfiguration.searchInCode\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" id=\"SearchInCodeCheck\" />\n    </div>\n    <div class=\"form-check mx-2\">\n      <label class=\"form-check-label\" for=\"SearchInTitleCheck\">Search in Title</label>\n      <input v-model=\"searchConfiguration.searchInTitle\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" id=\"SearchInTitleCheck\" />\n    </div>\n    <div class=\"form-check mx-2\">\n      <label class=\"form-check-label\" for=\"SearchInIncludesCheck\">Search in Definition (Includes)</label>\n      <input v-model=\"searchConfiguration.searchInDefinitionIncludes\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" id=\"SearchInIncludesCheck\" />\n    </div>\n    <div class=\"form-check mx-2\">\n      <label class=\"form-check-label\" for=\"SearchInExcludesCheck\">Search in Definition (Excludes)</label>\n      <input v-model=\"searchConfiguration.searchInDefinitionExcludes\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" id=\"SearchInExcludesCheck\" />\n    </div>\n    <div class=\"form-check mx-2\">\n      <label class=\"form-check-label\" for=\"SearchInAttributesCheck\">Include Attributes/Values</label>\n      <input v-model=\"searchConfiguration.includeAttributesAndValues\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" id=\"SearchInAttributesCheck\" />\n    </div>\n    <hr class=\"dropdown-divider\" />\n    <div class=\"trimmed-search form-check mx-2\">\n      <input v-model=\"searchConfiguration.trimSearchResults\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" value=\"\" id=\"TrimmedSearchCheck\" />\n      <label class=\"form-check-label\" for=\"TrimmedSearchCheck\">Trim Search Results</label>\n    </div>\n    <div class=\"form-check mx-2\">\n      <input v-model=\"searchConfiguration.searchInWordsCombination\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" value=\"\" id=\"SearchInWordsCombinationCheck\" />\n      <label class=\"form-check-label\" for=\"SearchInWordsCombinationCheck\">Search in words combination</label>\n    </div>\n    <div class=\"form-check mx-2\">\n      <input v-model=\"searchConfiguration.exactWording\" class=\"form-check-input gs1-check-input\" type=\"checkbox\" value=\"\" id=\"ExactWordingCheck\" />\n      <label class=\"form-check-label\" for=\"ExactWordingCheck\">Exact wording</label>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { BIconSliders } from \"bootstrap-icons-vue\";\nimport useSearchConfigurationSingleton from \"../../composables/useSearchConfigurationSingleton\";\nexport default {\n  components: { BIconSliders },\n  emits: [\"onClose\"],\n  setup(props, { emit }) {\n    const { searchConfiguration } = useSearchConfigurationSingleton();\n    const close = () => {\n      emit(\"onClose\");\n    };\n\n    return { searchConfiguration, close };\n  },\n};\n</script>\n","import { reactive } from \"@vue/reactivity\";\n\nconst searchConfiguration = reactive({\n  searchInCode: true,\n  searchInTitle: true,\n  searchInDefinitionIncludes: true,\n  searchInDefinitionExcludes: false,\n  searchInWordsCombination: true,\n  includeAttributesAndValues: true,\n  trimSearchResults: true,\n  exactWording: false,\n});\n\nexport default function useSearchConfigurationSingleton() {\n  return {\n    searchConfiguration: searchConfiguration,\n  };\n}\n","import { render } from \"./BroswerSearchConfigDropdown.vue?vue&type=template&id=72a900c0\"\nimport script from \"./BroswerSearchConfigDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./BroswerSearchConfigDropdown.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\n  <div id=\"TooltipInfo\" :title=\"tooltipTitle\" @blur=\"handleBlur\" tabindex=\"-1\"></div>\n</template>\n\n<script>\nimport { onMounted, watchEffect } from \"@vue/runtime-core\";\nimport { Tooltip } from \"bootstrap\";\nexport default {\n  props: {\n    tooltipTitle: String,\n    show: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  setup(props) {\n    let tooltip;\n    let isTooltipFocused = false;\n    const showTooltip = () => {\n      isTooltipFocused = false;\n      const tooltipEl = document.getElementById(\"TooltipInfo\");\n      tooltip = new Tooltip(tooltipEl, { trigger: \"focus\" });\n      setTimeout(() => {\n        tooltipEl.focus();\n        isTooltipFocused = true;\n      }, 100);\n    };\n    const disposeTooltip = (item, isFocused) => {\n      if (isFocused && item && item.tip) {\n        item.dispose();\n      }\n    };\n\n    onMounted(() => {\n      showTooltip();\n    });\n\n    watchEffect(() => {\n      if (props.show) {\n        showTooltip();\n      }\n    });\n\n    function handleBlur() {\n      disposeTooltip(tooltip, isTooltipFocused);\n    }\n\n    return { handleBlur };\n  },\n};\n</script>\n","import { render } from \"./TooltipInfo.vue?vue&type=template&id=9e37764c\"\nimport script from \"./TooltipInfo.vue?vue&type=script&lang=js\"\nexport * from \"./TooltipInfo.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./Browser.vue?vue&type=template&id=2cfe267e&scoped=true\"\nimport script from \"./Browser.vue?vue&type=script&lang=js\"\nexport * from \"./Browser.vue?vue&type=script&lang=js\"\n\nimport \"./Browser.vue?vue&type=style&index=0&id=2cfe267e&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-2cfe267e\"\n\nexport default script","<template>\n<div class=\"container\">\n  <div v-if=\"isReleaseNoteAvailable\" class=\"row gs1-navigator-spacer pt-0\">\n      <div class=\"col-12 d-flex align-items-center\">\n        <a class=\"btn gs1-button orange\" :href=\"downloadAttachmentHref\">{{ releaseNoteTitle }}<BIconDownload class=\"ms-3\" /></a>\n      </div>\n    </div>\n    <div v-if=\"isCurrentAvailable && !isCurrentGDSN\" class=\"row gpc\">\n      <div class=\"col-6\">\n        <div class=\"gs1-list-group list-group\">\n          <h5 class=\"gs1-h5 gs1-color-blue m-0 gs1-list-group-item list-group-item\">\n            <div>{{ currentPublicationTitle }}</div>\n          </h5>\n          <a\n            @click.prevent=\"downloadGPCPublciationAsJson\"\n            :href=\"downloadHref\"\n            :class=\"{\n              disabled:\n                downloadState.isDownloadingGPCAsXml ||\n                downloadState.isDownloadingGPCAsXlsx ||\n                downloadState.isDownloadingDeltaAsJson ||\n                downloadState.isDownloadingDeltaAsXlsx,\n            }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download GPC as JSON\n            <span\n              ><span v-show=\"downloadState.isDownloadingGPCAsJson\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingGPCAsJson\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingGPCAsJson\" /></span\n          ></a>\n          <a\n            @click.prevent=\"downloadGPCPublciationAsXml\"\n            :href=\"downloadHref\"\n            :class=\"{\n              disabled:\n                downloadState.isDownloadingGPCAsJson ||\n                downloadState.isDownloadingGPCAsXlsx ||\n                downloadState.isDownloadingDeltaAsJson ||\n                downloadState.isDownloadingDeltaAsXlsx,\n            }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download GPC as XML<span\n              ><span v-show=\"downloadState.isDownloadingGPCAsXml\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingGPCAsXml\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingGPCAsXml\" /></span\n          ></a>\n          <a\n            @click.prevent=\"downloadGPCPublciationAsXlsx\"\n            :href=\"downloadHref\"\n            :class=\"{\n              disabled:\n                downloadState.isDownloadingGPCAsXml ||\n                downloadState.isDownloadingGPCAsJson ||\n                downloadState.isDownloadingDeltaAsJson ||\n                downloadState.isDownloadingDeltaAsXlsx,\n            }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download GPC as XLSX<span\n              ><span v-show=\"downloadState.isDownloadingGPCAsXlsx\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingGPCAsXlsx\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingGPCAsXlsx\" /></span\n          ></a>\n        </div>\n      </div>\n      <div v-if=\"isDeltaAvailable\" class=\"col-6\">\n        <div class=\"gs1-list-group list-group\">\n          <h5 class=\"gs1-h5 gs1-color-blue m-0 gs1-list-group-item list-group-item\">{{ currentPublicationDeltaTitle }}</h5>\n          <a\n            @click.prevent=\"downloadDeltaPublicationAsJson\"\n            :href=\"downloadHref\"\n            :class=\"{\n              disabled:\n                downloadState.isDownloadingGPCAsJson ||\n                downloadState.isDownloadingGPCAsXml ||\n                downloadState.isDownloadingGPCAsXlsx ||\n                downloadState.isDownloadingDeltaAsXlsx,\n            }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download Delta as JSON\n            <span\n              ><span v-show=\"downloadState.isDownloadingDeltaAsJson\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingDeltaAsJson\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingDeltaAsJson\" /> </span\n          ></a>\n          <a\n            @click.prevent=\"downloadDeltaPublicationAsXlsx\"\n            :href=\"downloadHref\"\n            :class=\"{\n              disabled:\n                downloadState.isDownloadingGPCAsJson ||\n                downloadState.isDownloadingGPCAsXml ||\n                downloadState.isDownloadingGPCAsXlsx ||\n                downloadState.isDownloadingDeltaAsJson,\n            }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download Delta as XLSX\n            <span\n              ><span v-show=\"downloadState.isDownloadingDeltaAsXlsx\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingDeltaAsXlsx\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingDeltaAsXlsx\" /></span\n          ></a>\n        </div>\n      </div>\n    </div>\n    <div v-if=\"isCurrentAvailable && isCurrentGDSN\" class=\"row gdsn\">\n      <div class=\"col-6\">\n        <div class=\"gs1-list-group list-group\">\n          <h5 class=\"gs1-h5 gs1-color-blue m-0 gs1-list-group-item list-group-item\">\n            <div>{{ currentPublicationTitle }}</div>\n          </h5>\n          <a\n            @click.prevent=\"downloadGdsnPublciationAsJson\"\n            :href=\"downloadHref\"\n            :class=\"{ disabled: downloadState.isDownloadingGDSNAsXml || downloadState.isDownloadingGDSNAsXlsx }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download GDSN as JSON\n            <span\n              ><span v-show=\"downloadState.isDownloadingGDSNAsJson\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingGDSNAsJson\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingGDSNAsJson\" /> </span\n          ></a>\n          <a\n            @click.prevent=\"downloadGdsnPublciationAsXml\"\n            :href=\"downloadHref\"\n            :class=\"{ disabled: downloadState.isDownloadingGDSNAsJson || downloadState.isDownloadingGDSNAsXlsx }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download GDSN as XML\n            <span\n              ><span v-show=\"downloadState.isDownloadingGDSNAsXml\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingGDSNAsXml\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingGDSNAsXml\" /></span\n          ></a>\n          <a\n            @click.prevent=\"downloadGdsnPublciationAsXlsx\"\n            :href=\"downloadHref\"\n            :class=\"{ disabled: downloadState.isDownloadingGDSNAsJson || downloadState.isDownloadingGDSNAsXml }\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Download GDSN as XLSX\n            <span\n              ><span v-show=\"downloadState.isDownloadingGDSNAsXlsx\" class=\"spinner-download spinner-border gs1-color-orange\" role=\"status\">\n                <span class=\"visually-hidden\">Loading...</span>\n              </span>\n              <BIconDownload v-show=\"isFreeToDownload && !downloadState.isDownloadingGDSNAsXlsx\" />\n              <BIconEnvelope v-show=\"!isFreeToDownload && !downloadState.isDownloadingGDSNAsXlsx\" /></span\n          ></a>\n        </div>\n      </div>\n    </div>\n    <div v-if=\"!isCurrentAvailable\" class=\"row pt-0\">\n      <div class=\"col-12\">\n        <div class=\"gs1-list-group list-group\">\n          <a\n            :href=\"mailToMoHref\"\n            class=\"\n              gs1-list-group-item gs1-list-group-item-action\n              list-group-item list-group-item-action\n              d-flex\n              justify-content-between\n              align-items-center\n            \"\n            >Translation are managed by the GS1 Member Organisation Offices and schedules vary. Please contact translating MO with questions.<span\n              ><BIconEnvelope /></span\n          ></a>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { BIconDownload, BIconEnvelope } from \"bootstrap-icons-vue\";\nimport { ref } from \"@vue/reactivity\";\nimport { computed, watch } from \"@vue/runtime-core\";\nimport usePublication from \"../../composables/usePublication\";\nimport fileService from \"../../services/fileService\";\nimport useGtm from \"../../composables/useGtm\";\n\nexport default {\n  components: { BIconDownload, BIconEnvelope },\n  props: {\n    selectedLanguage: Object,\n    selectedPublication: Object,\n  },\n  setup(props) {\n    const {\n      getPreviousPublicationAsync,\n      isLatestPublicationAsync,\n      getDownloadPublicationReleaseNoteAttachmentUrl,\n      downloadPublicationAsJsonAsync,\n      downloadPublicationAsXmlAsync,\n      downloadPublicationAsXlsxAsync,\n      downloadDeltaAsJsonAsync,\n      downloadDeltaAsXlsxAsync,\n    } = usePublication();\n    const { trackEvent } = useGtm();\n\n    const selectedLanguageName = computed(() => props.selectedLanguage.languageName);\n    const currentPublication = ref(null);\n    const previousPublication = ref(null);\n    const isLatestPublication = ref(false);\n\n    const isCurrentAvailable = computed(() => currentPublication.value != null && isLatestPublication.value);\n    const isCurrentGDSN = computed(() => isCurrentAvailable.value && currentPublication.value.isGDSN);\n    const isPreviousAvailable = computed(() => previousPublication.value != null);\n    const isDeltaAvailable = computed(() => !isCurrentGDSN.value && isPreviousAvailable.value);\n    const isReleaseNoteAvailable = computed(\n      () => isCurrentAvailable.value && currentPublication.value.releaseNoteAttachment != null && currentPublication.value.releaseNoteAttachment != \"\"\n    );\n    const isFreeToDownload = computed(() => props.selectedLanguage.freeToDownload);\n\n    const currentPublicationTitle = computed(() => {\n      if (isCurrentAvailable.value && !isCurrentGDSN.value) {\n        return `${currentPublication.value.publicationName} (${currentPublication.value.version})`;\n      }\n      if (isCurrentGDSN.value) {\n        return `GPC version in GDSN (${currentPublication.value.publicationName} ${currentPublication.value.version})`;\n      }\n      return \"\";\n    });\n    const currentPublicationDeltaTitle = computed(() => {\n      if (isCurrentAvailable.value && isPreviousAvailable.value) {\n        return `${currentPublication.value.publicationName} (${currentPublication.value.version}) v. ${previousPublication.value.publicationName} (${previousPublication.value.version})`;\n      }\n      return \"\";\n    });\n\n    const donwnloadMainLabel = computed(() =>\n      isCurrentAvailable.value\n        ? `Download ${selectedLanguageName.value} ${currentPublication.value.publicationName} (${currentPublication.value.version})`\n        : \"\"\n    );\n    const releaseNoteTitle = computed(() =>\n      isReleaseNoteAvailable.value\n        ? `Download ${currentPublication.value.publicationName} (${currentPublication.value.version}) Release Notes PDF`\n        : \"\"\n    );\n\n    const downloadHref = computed(() => (!isFreeToDownload.value ? `mailto:${props.selectedLanguage.moContactEmail}` : \"#\"));\n    const mailToMoHref = computed(() => (props.selectedLanguage.moContactEmail ? `mailto:${props.selectedLanguage.moContactEmail}` : \"#\"));\n    const downloadAttachmentHref = computed(() => getDownloadPublicationReleaseNoteAttachmentUrl(currentPublication.value.publicationId));\n\n    const downloadState = ref({\n      isDownloadingGPCAsJson: false,\n      isDownloadingGPCAsXml: false,\n      isDownloadingGPCAsXlsx: false,\n      isDownloadingGDSNAsJson: false,\n      isDownloadingGDSNAsXml: false,\n      isDownloadingGDSNAsXlsx: false,\n      isDownloadingDeltaAsJson: false,\n      isDownloadingDeltaAsXlsx: false,\n    });\n\n    watch(\n      () => props.selectedPublication,\n      async (publication) => {\n        currentPublication.value = publication;\n        if (publication != null) {\n          const previousPublicationResponse = await getPreviousPublicationAsync(publication.publicationId);\n          previousPublication.value = previousPublicationResponse.isSuccess ? previousPublicationResponse.result : null;\n          const isLatestPublicationResponse = await isLatestPublicationAsync(publication.publicationId);\n          isLatestPublication.value = isLatestPublicationResponse.result;\n        }\n      }\n    );\n\n    const downloadGPCPublciationAsJson = async (event) => {\n      if (downloadState.value.isDownloadingGPCAsJson || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingGPCAsJson = true;\n      let data = await downloadPublicationAsJsonAsync(currentPublication.value.publicationId, props.selectedLanguage.usePublicationBlobs);\n      if (data.isSuccess) {\n        fileService.downloadJson(data.name, data.file);\n        trackEvent(\"gpc_download_file\", {\n          languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n          version: \"gpc\",\n          type: \"json\",\n        });\n      } else {\n        currentPublication.value = null;\n      }\n      downloadState.value.isDownloadingGPCAsJson = false;\n    };\n\n    const downloadGPCPublciationAsXml = async (event) => {\n      if (downloadState.value.isDownloadingGPCAsXml || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingGPCAsXml = true;\n      let data = await downloadPublicationAsXmlAsync(currentPublication.value.publicationId, props.selectedLanguage.usePublicationBlobs);\n      if (data.isSuccess) {\n        fileService.downloadXml(data.name, data.file);\n        trackEvent(\"gpc_download_file\", {\n          languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n          version: \"gpc\",\n          type: \"xml\",\n        });\n      } else {\n        currentPublication.value = null;\n      }\n      downloadState.value.isDownloadingGPCAsXml = false;\n    };\n\n    const downloadGPCPublciationAsXlsx = async (event) => {\n      if (downloadState.value.isDownloadingGPCAsXlsx || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingGPCAsXlsx = true;\n      let data = await downloadPublicationAsXlsxAsync(currentPublication.value.publicationId, props.selectedLanguage.usePublicationBlobs);\n      if (data.isSuccess) {\n        fileService.downloadXlsx(data.name, data.file);\n        trackEvent(\"gpc_download_file\", {\n          languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n          version: \"gpc\",\n          type: \"xlsx\",\n        });\n      } else {\n        currentPublication.value = null;\n      }\n      downloadState.value.isDownloadingGPCAsXlsx = false;\n    };\n\n    const downloadGdsnPublciationAsJson = async (event) => {\n      if (downloadState.value.isDownloadingGDSNAsJson || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingGDSNAsJson = true;\n      let data = await downloadPublicationAsJsonAsync(currentPublication.value.publicationId, props.selectedLanguage.usePublicationBlobs);\n      if (data.isSuccess) {\n        fileService.downloadJson(data.name, data.file);\n        trackEvent(\"gpc_download_file\", {\n          languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n          version: \"gdsn\",\n          type: \"xlsx\",\n        });\n      } else {\n        currentPublication.value = null;\n      }\n\n      downloadState.value.isDownloadingGDSNAsJson = false;\n    };\n\n    const downloadGdsnPublciationAsXml = async (event) => {\n      if (downloadState.value.isDownloadingGDSNAsXml || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingGDSNAsXml = true;\n      let data = await downloadPublicationAsXmlAsync(currentPublication.value.publicationId, props.selectedLanguage.usePublicationBlobs);\n      if (data.isSuccess) {\n        fileService.downloadXml(data.name, data.file);\n        trackEvent(\"gpc_download_file\", {\n          languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n          version: \"gdsn\",\n          type: \"xml\",\n        });\n      } else {\n        currentPublication.value = null;\n      }\n\n      downloadState.value.isDownloadingGDSNAsXml = false;\n    };\n\n    const downloadGdsnPublciationAsXlsx = async (event) => {\n      if (downloadState.value.isDownloadingGDSNAsXlsx || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingGDSNAsXlsx = true;\n      let data = await downloadPublicationAsXlsxAsync(currentPublication.value.publicationId, props.selectedLanguage.usePublicationBlobs);\n      if (data.isSuccess) {\n        fileService.downloadXlsx(data.name, data.file);\n        trackEvent(\"gpc_download_file\", {\n          languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n          version: \"gdsn\",\n          type: \"xlsx\",\n        });\n      } else {\n        currentPublication.value = null;\n      }\n      downloadState.value.isDownloadingGDSNAsXlsx = false;\n    };\n\n    const downloadDeltaPublicationAsJson = async (event) => {\n      if (downloadState.value.isDownloadingDeltaAsJson || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingDeltaAsJson = true;\n      let data = await downloadDeltaAsJsonAsync(props.selectedLanguage.languageId, currentPublication.value.publicationId);\n      fileService.downloadJson(data.name, data.file);\n      downloadState.value.isDownloadingDeltaAsJson = false;\n      trackEvent(\"delta_download_file\", {\n        languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n        type: \"json\",\n      });\n    };\n\n    const downloadDeltaPublicationAsXlsx = async (event) => {\n      if (downloadState.value.isDownloadingDeltaAsXlsx || !isFreeToDownload.value) {\n        return;\n      }\n      event.preventDefault();\n      downloadState.value.isDownloadingDeltaAsXlsx = true;\n      let data = await downloadDeltaAsXlsxAsync(props.selectedLanguage.languageId, currentPublication.value.publicationId);\n      fileService.downloadXlsx(data.name, data.file);\n      downloadState.value.isDownloadingDeltaAsXlsx = false;\n      trackEvent(\"delta_download_file\", {\n        languageCode: props.selectedLanguage.languageCode.toLowerCase(),\n        type: \"xlsx\",\n      });\n    };\n\n    return {\n      downloadState,\n      downloadGPCPublciationAsJson,\n      downloadGPCPublciationAsXml,\n      downloadGPCPublciationAsXlsx,\n      downloadGdsnPublciationAsJson,\n      downloadGdsnPublciationAsXml,\n      downloadGdsnPublciationAsXlsx,\n      downloadDeltaPublicationAsJson,\n      downloadDeltaPublicationAsXlsx,\n      isCurrentAvailable,\n      isPreviousAvailable,\n      isDeltaAvailable,\n      isCurrentGDSN,\n      isFreeToDownload,\n      isReleaseNoteAvailable,\n      downloadHref,\n      mailToMoHref,\n      selectedLanguageName,\n      currentPublicationTitle,\n      currentPublicationDeltaTitle,\n      releaseNoteTitle,\n      downloadAttachmentHref,\n      donwnloadMainLabel,\n    };\n  },\n};\n</script>\n","export default (function () {\n  function downloadJson(fileName, data) {\n    let json = JSON.stringify(data);\n    downloadFile(fileName, \"application/json\", json);\n  }\n\n  function downloadXml(fileName, data) {\n    downloadFile(fileName, \"application/xml\", data);\n  }\n\n  function downloadXlsx(fileName, data) {\n    downloadFile(fileName, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\", data);\n  }\n\n  function downloadFile(fileName, contentType, data) {\n    const blob = new Blob([data], { type: contentType });\n    const link = document.createElement(\"a\");\n\n    link.download = fileName;\n    link.href = window.URL.createObjectURL(blob);\n    link.dataset.downloadurl = [contentType, link.download, link.href].join(\":\");\n\n    const evt = new MouseEvent(\"click\", {\n      view: window,\n      bubbles: true,\n      cancelable: true,\n    });\n\n    link.dispatchEvent(evt);\n    link.remove();\n  }\n\n  return Object.freeze({\n    downloadJson,\n    downloadXml,\n    downloadXlsx,\n  });\n})();\n","import { render } from \"./BrowserDownload.vue?vue&type=template&id=976a869e\"\nimport script from \"./BrowserDownload.vue?vue&type=script&lang=js\"\nexport * from \"./BrowserDownload.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\n  <a class=\"btn gs1-button\" :href=\"props.link\">{{ props.text }}<b-icon-arrow-right-short></b-icon-arrow-right-short></a>\n</template>\n<script>\nimport { BIconArrowRightShort } from \"bootstrap-icons-vue\";\nexport default {\n  components: { BIconArrowRightShort },\n  props: {\n    link: String,\n    text: String,\n  },\n  setup(props) {\n    return { props };\n  },\n};\n</script>\n\n<style scoped>\na.gs1-button > svg {\n  width: 1.5rem;\n  height: 1.5rem;\n  margin-left: 0.5rem;\n}\na.gs1-button:hover > svg {\n  transform: translateX(25%);\n  transition: all 0.2s ease;\n}\n</style>\n","import { render } from \"./GS1LinkButton.vue?vue&type=template&id=33d5dd6b&scoped=true\"\nimport script from \"./GS1LinkButton.vue?vue&type=script&lang=js\"\nexport * from \"./GS1LinkButton.vue?vue&type=script&lang=js\"\n\nimport \"./GS1LinkButton.vue?vue&type=style&index=0&id=33d5dd6b&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-33d5dd6b\"\n\nexport default script","import { render } from \"./TheBrowser.vue?vue&type=template&id=2572ab04&scoped=true\"\nimport script from \"./TheBrowser.vue?vue&type=script&lang=js\"\nexport * from \"./TheBrowser.vue?vue&type=script&lang=js\"\n\nimport \"./TheBrowser.vue?vue&type=style&index=0&id=2572ab04&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-2572ab04\"\n\nexport default script","import { createRouter, createWebHistory } from \"vue-router\";\nimport Browser from \"/src/views/TheBrowser.vue\";\nconst routes = [\n  {\n    path: \"/\",\n    name: \"Browser\",\n    component: Browser,\n  },\n];\nconst router = createRouter({\n  history: createWebHistory(),\n  routes,\n});\nexport default router;\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router/index\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"bootstrap\";\nimport \"./assets/style.css\";\n\ncreateApp(App).use(router).mount(\"#app\");\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BrowserPublicationDropdown.vue?vue&type=style&index=0&id=1bcf1918&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TheBreadcrumb.vue?vue&type=style&index=0&id=31c4164a&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./GS1LinkButton.vue?vue&type=style&index=0&id=33d5dd6b&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TheTopHeader.vue?vue&type=style&index=0&id=a920fee0&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./GS1Link.vue?vue&type=style&index=0&id=375d8717&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TheFooter.vue?vue&type=style&index=0&id=7fa87b41&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/logo.fd0bee36.png\";"],"sourceRoot":""}