{"version":3,"sources":["../node_modules/@dtcm/ui-components/dist/utils/algolia.js"],"names":["state","client","indexes","Algolia","getClient","Promise","resolve","then","algoliasearch","applicationId","id","apiKey","key","STORYBOOK_MODE","window","console","log","default","getIndex","indexNameSuffix","indexName","getFullIndexName","initIndex","getFiltersFromCheckboxes","filtersObject","filterNameToOmit","Object","keys","reduce","filters","filterPiece","map","filterItem","push","concat","getFilters","data","arguments","length","undefined","values","item","targetItem","filter","taxonomyType","value","name","targetItems","forEach","prefix","fullTextSearchIndex","result"],"mappings":"kHAAA,4EAEIA,EAAQ,CACVC,OAAQ,KACRC,QAAS,IAEPC,EAAU,CACZC,UAQF,WACE,GAAIJ,EAAMC,OACR,OAAOI,QAAQC,QAAQN,EAAMC,QAE/B,OAAO,oCAAwEM,MAAK,SAAUC,GAC5F,IAAIC,EAAgB,EAAuBC,GACvCC,EAAS,EAAuBC,IASpC,OARK,iOAAYC,iBACfJ,EAAgB,YAAIK,OAAQ,uBAAyB,EAAuBJ,GAC5EC,EAAS,YAAIG,OAAQ,wBAA0B,EAAuBF,KAEnEH,GAAkBE,GACrBI,QAAQC,IAAI,mDAEdhB,EAAMC,OAASO,EAAcS,QAAQR,EAAeE,GAC7CX,EAAMC,WAtBfiB,SAyBF,SAAkBC,GAChB,IAAIC,EAAYC,EAAiBF,GACjC,GAAInB,EAAME,QAAQkB,GAChB,OAAOf,QAAQC,QAAQN,EAAME,QAAQkB,IAEvC,OAAOjB,EAAQC,YAAYG,MAAK,SAAUN,GAExC,OADAD,EAAME,QAAQkB,GAAanB,EAAOqB,UAAUF,GACrCpB,EAAME,QAAQkB,OA/BvBC,iBAAkBA,EAClBE,yBAsEF,SAAkCC,EAAeC,GAC/C,OAAOC,OAAOC,KAAKH,GAAeI,QAAO,SAAUC,EAASjB,GAC1D,GAAIA,IAAQa,EAAkB,OAAOI,EACrC,IAAIC,EAAc,GAMlB,OAJAN,EAAcZ,GAAKmB,KAAI,SAAUC,GAC/BF,EAAYG,KAAK,GAAGC,OAAOtB,EAAK,KAAKsB,OAAOF,OAE9CH,EAAQI,KAAKH,GACND,IACN,KA/EHM,WAiFF,WACE,IAAIC,EAAOC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAC3ER,EAAUH,OAAOc,OAAOJ,GAC5B,OAAOP,EAAQD,QAAO,SAAUC,EAASY,GACvC,GAAIA,EAAKC,WAAY,CACnB,IAAIC,EAASF,EAAKC,WAClBb,EAAQI,KAAK,GAAGC,OAAOS,EAAOC,aAAaC,MAAO,KAAKX,OAAOS,EAAOG,OAEnEL,EAAKM,aACYN,EAAKM,YAEXC,SAAQ,SAAUhB,GAC7BH,EAAQI,KAAK,GAAGC,OAAOF,EAAWY,aAAaC,MAAO,KAAKX,OAAOF,EAAWc,UAIjF,OAAOjB,IACN,MAlEE,SAASR,EAAiBF,GAuB/B,IACI8B,EADOnC,OACOmC,OACdC,EAAsB,YAAIpC,OAAQ,wBAA0B,GAC5D,iOAAYD,iBACdqC,EAAsB,2BAExB,IAAIC,EAASF,EAASA,EAAS9B,EAAkBA,EAMjD,OALKgC,GACCD,IACFC,EAASD,GAGNC,EAjEM","file":"static/js/AlgoliaModule.7fe925df.chunk.js","sourcesContent":["import { get } from './index';\nimport algoliaDefaultSettings from '../algoliaDefaultSettings.json';\nvar state = {\n  client: null,\n  indexes: {}\n};\nvar Algolia = {\n  getClient: getClient,\n  getIndex: getIndex,\n  getFullIndexName: getFullIndexName,\n  getFiltersFromCheckboxes: getFiltersFromCheckboxes,\n  getFilters: getFilters\n};\nexport default Algolia;\n// declare var algoliaSettings: any;\nfunction getClient() {\n  if (state.client) {\n    return Promise.resolve(state.client);\n  }\n  return import(/* webpackChunkName: \"AlgoliaSearchLite\" */'algoliasearch/lite').then(function (algoliasearch) {\n    var applicationId = algoliaDefaultSettings.id;\n    var apiKey = algoliaDefaultSettings.key;\n    if (!process.env.STORYBOOK_MODE) {\n      applicationId = get(window, 'algoliaSettings.id') || algoliaDefaultSettings.id;\n      apiKey = get(window, 'algoliaSettings.key') || algoliaDefaultSettings.key;\n    }\n    if (!applicationId || !apiKey) {\n      console.log('Algolia connection parameters were not provided');\n    }\n    state.client = algoliasearch.default(applicationId, apiKey);\n    return state.client;\n  });\n}\nfunction getIndex(indexNameSuffix) {\n  var indexName = getFullIndexName(indexNameSuffix);\n  if (state.indexes[indexName]) {\n    return Promise.resolve(state.indexes[indexName]);\n  }\n  return Algolia.getClient().then(function (client) {\n    state.indexes[indexName] = client.initIndex(indexName);\n    return state.indexes[indexName];\n  });\n}\nexport function getFullIndexName(indexNameSuffix) {\n  // this token will be replaced by Azure DevOps when deploying code to one of environments\n\n  // const indexNameEnvVar = 'qa_vd_en';\n\n  // // if the variable is set in process.env - use it, otherwise, fallback to string replaceable one\n  // let indexNamePrefix = indexNameEnvVar ? indexNameEnvVar : 'dotuat93';\n\n  // if (indexNamePrefix.startsWith('#')) {\n  //   console.error(\n  //     'The Algolia index name is neither defined as environment variable nor embedded via CI in js. Falling back to default: dotprod'\n  //   );\n  // }\n\n  // // let indexNamePrefix = 'dotqa';\n\n  // // but when running in styleguide or locally from Sitecore, the token won't be replaced\n  // // so we need to replace it with 'dotsite' which is used for development\n  // indexNamePrefix = indexNamePrefix.startsWith('#') ? 'dotprod' : indexNamePrefix;\n\n  // const indexName = indexNamePrefix + indexNameSuffix;\n\n  // debugger\n  var wind = window;\n  var prefix = wind.prefix;\n  var fullTextSearchIndex = get(window, 'fullTextSearchIndex') || '';\n  if (process.env.STORYBOOK_MODE) {\n    fullTextSearchIndex = 'int_fulltext_leisure_en';\n  }\n  var result = prefix ? prefix + indexNameSuffix : indexNameSuffix;\n  if (!result) {\n    if (fullTextSearchIndex) {\n      result = fullTextSearchIndex;\n    }\n  }\n  return result;\n}\nfunction getFiltersFromCheckboxes(filtersObject, filterNameToOmit) {\n  return Object.keys(filtersObject).reduce(function (filters, key) {\n    if (key === filterNameToOmit) return filters;\n    var filterPiece = [];\n    // eslint-disable-next-line array-callback-return\n    filtersObject[key].map(function (filterItem) {\n      filterPiece.push(\"\".concat(key, \":\").concat(filterItem));\n    });\n    filters.push(filterPiece);\n    return filters;\n  }, []);\n}\nfunction getFilters() {\n  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var filters = Object.values(data);\n  return filters.reduce(function (filters, item) {\n    if (item.targetItem) {\n      var filter = item.targetItem;\n      filters.push(\"\".concat(filter.taxonomyType.value, \":\").concat(filter.name));\n    }\n    if (item.targetItems) {\n      var filtersArray = item.targetItems;\n      // const filterPiece: string[] = [];\n      filtersArray.forEach(function (filterItem) {\n        filters.push(\"\".concat(filterItem.taxonomyType.value, \":\").concat(filterItem.name));\n      });\n      // filters.push(filterPiece);\n    }\n    return filters;\n  }, []);\n}"],"sourceRoot":""}