{"version":3,"sources":["webpack://CoveoForSitecore/webpack/universalModuleDefinition","webpack://CoveoForSitecore/webpack/bootstrap","webpack://CoveoForSitecore/external \"Coveo\"","webpack://CoveoForSitecore/./src/events/ContextEvents.ts","webpack://CoveoForSitecore/./src/utils/HTMLUtils.ts","webpack://CoveoForSitecore/./src/base/Prebinding.ts","webpack://CoveoForSitecore/./src/base/Context.ts","webpack://CoveoForSitecore/./src/events/ExpressionEvents.ts","webpack://CoveoForSitecore/./src/ui/context/CoveoForSitecoreContext.ts","webpack://CoveoForSitecore/./src/handlers/LegacyFieldTypeResolver.ts","webpack://CoveoForSitecore/./src/base/Initialization.ts","webpack://CoveoForSitecore/./src/resolvers/components/SearchInterfaceComponentInitializer.ts","webpack://CoveoForSitecore/./src/base/initialization/SitecoreExperienceEditor.ts","webpack://CoveoForSitecore/./src/utils/SearchInterfaceProvider.ts","webpack://CoveoForSitecore/./src/base/initialization/ElementWithContextInitializer.ts","webpack://CoveoForSitecore/./src/EventsModules.ts","webpack://CoveoForSitecore/./src/BaseModules.ts","webpack://CoveoForSitecore/./src/base/initialization/ContextInitializer.ts","webpack://CoveoForSitecore/./src/handlers/CoveoFieldsHandler.ts","webpack://CoveoForSitecore/./src/handlers/SourceSpecificFieldResolver.ts","webpack://CoveoForSitecore/./src/handlers/CoveoLabelsHandler.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/PrebindResolver.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/PrebindHelpers.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/AnalyticsEnabled.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/CoveoForSitecoreAnalyticsEndpoint.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/CurrentMaximumAge.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/CurrentPageName.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/FieldTranslator.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/IsAnonymous.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/MainSearchInterfaceSelector.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/SortCriteria.ts","webpack://CoveoForSitecore/./src/resolvers/sortCriteria/SortCriteriaResolver.ts","webpack://CoveoForSitecore/./src/resolvers/prebinding/prebindHelpers/UnfoldDictionaryToAttributes.ts","webpack://CoveoForSitecore/./src/base/SearchEndpoint.ts","webpack://CoveoForSitecore/./src/base/initialization/ExternalComponentInitializer.ts","webpack://CoveoForSitecore/./src/base/initialization/SearchboxInitializer.ts","webpack://CoveoForSitecore/./src/base/initialization/SearchInterfaceInitializer.ts","webpack://CoveoForSitecore/./src/LazyEntry.ts","webpack://CoveoForSitecore/./src/utils/SitecorePublicPathUtils.ts","webpack://CoveoForSitecore/./src/ui/analytics/LazyCoveoForSitecoreAnalytics.ts","webpack://CoveoForSitecore/./src/ui/analytics/LazyCoveoForSitecoreConfigureSearchHub.ts","webpack://CoveoForSitecore/./src/ui/analytics/LazySendAnalyticsToSitecore.ts","webpack://CoveoForSitecore/./src/ui/analytics/LazyValidateAnalyticsIncluded.ts","webpack://CoveoForSitecore/./src/ui/context/LazyCoveoForSitecoreBindWithUserContext.ts","webpack://CoveoForSitecore/./src/ui/scopes/LazyCoveoForSitecoreExpressions.ts","webpack://CoveoForSitecore/./src/ui/scopes/LazyCoveoForSitecoreSyntax.ts","webpack://CoveoForSitecore/./src/ui/scopes/LazyCoveoForSitecoreRankingExpression.ts","webpack://CoveoForSitecore/./src/ui/scopes/LazyCoveoForSitecoreExternalContent.ts","webpack://CoveoForSitecore/./src/ui/scopes/LazyCoveoForSitecoreFilterExpression.ts","webpack://CoveoForSitecore/./src/ui/scopes/LazyCoveoForSitecoreLocalExpression.ts","webpack://CoveoForSitecore/./src/ui/distance/LazyGoogleApiPositionProvider.ts","webpack://CoveoForSitecore/./src/ui/distance/LazyNavigatorPositionProvider.ts","webpack://CoveoForSitecore/./src/ui/distance/LazyStaticPositionProvider.ts"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__0__","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","installedModules","1","__webpack_require__","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","2","3","4","5","6","7","8","9","10","11","12","13","14","15","jsonpScriptSrc","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","error","Error","request","undefined","setTimeout","head","appendChild","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","oldJsonpFunction","slice","s","SitecoreContextEvents","onSitecoreContextInitialization","removeAllIDAttributes","element","removeAttribute","children","querySelectorAll","item","nodeListToArray","elements","array","cloneElementSafelyForAccessibility","cloneNode","PrebindResolver_1","Prebinding","registerPrebindHelper","helperName","handler","this","processor","getHelper","applyPrebindingOnElement","rootElement","hasNotAppliedPrebind","applyToElement","applyPrebindingOnChildren","_this","map","filter","forEach","PrebindResolver","ContextInitializer_1","CoveoForSitecoreContext_1","coveo_search_ui_1","Context","configureContext","contextElement","options","ComponentOptions","initComponentOptions","CoveoForSitecoreContext","initializeWithContextOptions","contextOptions","contextInitializer","ContextInitializer","fieldsHandler","createFieldsHandler","externalFields","scExternalFields","sourceSpecificFields","scSourceSpecificFields","preferSourceSpecificFields","scPreferSourceSpecificFields","prefix","scFieldPrefix","suffix","scFieldSuffix","labels","createLabelsHandler","scLabels","sourceName","scIndexSourceName","initializePrebinding","context","initializeUnderscoreFieldsHelpers","initializeUnderscoreLabelsHelpers","initializeUnderscoreContextHelpers","initializeContextElement","fields","SitecoreExpressionEvents","onBuildingSitecoreExternalContent","onBuildingLocalSitecoreInstanceExpression","ContextEvents_1","_super","bindings","ID","onRootElement","InitializationEvents","afterComponentsInitialization","QueryEvents","doneBuildingQuery","__extends","args","hasDefaultPipelineNameSet","queryBuilderUsesDefaultPipeline","queryBuilder","pipeline","scDefaultPipelineName","contextArgs","sitecoreItemId","scItemId","sitecoreItemUri","scItemUri","sitecorePageName","scPageName","shouldHaveAnalyticsComponent","scShouldHaveAnalyticsComponent","analyticsEnabled","scAnalyticsEnabled","indexSourceName","currentLanguage","scCurrentLanguage","languageFieldName","scLanguageFieldName","latestVersionFieldName","scLatestVersionFieldName","isInExperienceEditor","scIsInExperienceEditor","sitecorePageFullPath","scPageNameFullPath","siteName","scSiteName","trigger","buildStringOption","scRestEndpointUri","buildJsonOption","buildBooleanOption","scIsUserAnonymous","scMaximumAge","buildNumberOption","Component","Initialization","registerAutoCreateComponent","LegacyFieldTypeResolver","parseExternalFields","externalField","fieldName","toLowerCase","shouldEscape","isExternalFieldConfig","shouldEscapeFirstCharacter","shouldEscapeSpecialCharacters","field","shouldDecorate","some","isExternalField","obj","ExternalComponentInitializer_1","SearchboxInitializer_1","SearchInterfaceInitializer_1","ElementWithContextInitializer_1","initSearchInterface","searchInterfaceElement","searchInterfaceInitializer","initExternalComponentsSection","externalComponentInitializer","initializeExternalComponentSection","SearchInterfaceInitializer","searchboxInitializer","SearchboxInitializer","ExternalComponentInitializer","initializeSearchInterfaceForExperienceEditor","initializeExperienceEditorHooksForSearchInterface","initSearchboxIfStandalone","searchBoxElement","searchPageUri","initContextOnElement","ElementWithContextInitializer","initializeContextWithinElement","initExternalComponentsSectionForExperienceEditor","initializeExperienceEditorHooksForExternalComponentsSection","Prebinding_1","HTMLUtils_1","SearchInterfaceComponentInitializer","loadComponentsForSearchInterface","searchInterface","newComponent","automaticallyCreateComponentsInside","getBindings","initResult","then","removeAllPlaceholdersWithinElement","queryController","executeQuery","ignoreWarningSearchEvent","tryUnloadComponentsForSearchInterface","getElementsByClassName","facet","facetComponent","detachComponent","removeAllChildren","tab","tabComponent","removePlaceholders","classList","remove","contains","removeFacetsPlaceholders","firstChild","removeChild","loadComponentsWithSearchInterfaceInitialization","componentsContainer","Coveo","externalComponents","initializer","getInitializerInstance","SitecoreExperienceEditor","isAfterFrameLoadedOverriden","isAfterPersonalizationChangedOverriden","isBeforeUnloadingChromeOverriden","onAfterFrameLoadedCallbacks","onAfterPersonalizationChanged","onBeforeUnloadingChrome","registerOnLoadRenderingFromUrl","onAfterFrameLoadedCallback","tryOverrideSitecoreLoadRenderingFromUrl","registerBeforeUnloadingChrome","onBeforeUnloadingChromeCallback","tryOverrideOnUnloadingChrome","registerOnAfterPersonalizationChanged","tryOverrideSitecoreChromeTypesRenderingChangeCondition","isInBackgroundRendering","location","search","indexOf","isInBackgroundRenderingParameterName","getComponentFromLoadRenderingFromUrlCallbackData","callbackData","getElementById","opening","id","nextElementSibling","overrideSitecoreLoadRenderingFromUrl","originalLoad","Sitecore","PageModes","ChromeTypes","Placeholder","insertRendering","frameLoadedCallback","callback","overrideSitecoreChromeChangeCondition","originalChangeCondition","Rendering","changeCondition","sender","preserveCacheUpdating","changedElement","chrome","apply","arguments","overrideSitecoreChromeTypesRenderingChangeCondition","elementToProcessWhenFinished","originalStartActivation","_startActivation","originalEndActivation","_endActivation","markersAndElements","fieldId","isDifferentFirstLoadMarker","getValidMarker","reason","nodeType","Node","TEXT_NODE","registerShowDebugInformationCallback","debugModeEnabled","debugInfoElements","add","ChromeManager","resetChromes","staticInstance","getExperienceEditorInstance","SearchInterfacesProvider","getSearchInterfacesInPage","componentsIds","searchInterfacesSelector","getSearchInterfacesSelectorFromComponentIds","searchInterfaces","componentIds","componentId","computeSelectorForType","join","Context_1","ExpressionEvents_1","SearchEndpoint_1","SearchEndpoint","CoveoFieldsHandler_1","SourceSpecificFieldResolver_1","CoveoLabelsHandler_1","PrebindHelpers_1","LegacyFieldTypeResolver_1","fieldTypeResolver","SourceSpecificFieldResolver","CoveoFieldsHandler","CoveoLabelsHandler","PrebindHelpers","getAllPrebindHelpers","helper","getPrebind","TemplateHelpers","registerTemplateHelper","raw","toCoveo","labelKey","translate","resolver","isValidFieldName","lowerCaseFieldName","fieldWithoutDelimiter","stripCoveoFieldDelimiter","translatedFieldWithoutDelimiter","translateFieldName","startsWithAt","addCoveoFieldDelimiter","fieldNameWithDelimiter","coveoFieldDelimiter","isCoveoFieldName","strippedFieldName","isDecorated","regexString","RegExp","test","substr","replaceSpecialCharacters","replaceFirstCharacter","characters","split","firstCharacter","unshift","escapeSpecialCharacter","replaceSpecialCharacter","character","match","nonSpecialCharacters","charCodeAt","nonSpecialCharactersString","validFirstCharacters","prebindAppliedValue","helpers","warn","hasHelper","dataset","attributes","getPrebindingAttributesForElement","applyPrebindToElement","exception","getAllPrebindingAttributesNames","methodName","attribute","lowerCaseFirstCharacter","removePrebindPrefix","attributeValue","method","keys","stringStartsWithPrebindingString","filterAndWarnNonExistingHelperName","lastIndexOf","prebindString","hasHelperWithName","attributeName","substring","charAt","prebind","AnalyticsEnabled_1","CoveoForSitecoreAnalyticsEndpoint_1","CurrentMaximumAge_1","CurrentPageName_1","FieldTranslator_1","IsAnonymous_1","MainSearchInterfaceSelector_1","SortCriteria_1","UnfoldDictionaryToAttributes_1","AnalyticsEnabledPrebind","CoveoForSitecoreAnalyticsEndpointPrebind","CurrentMaximumAge","CurrentPageNamePrebind","FieldTranslatorPrebind","IsAnonymousPrebind","MainSearchInterfaceSelectorPrebind","SortCriteriaPrebind","UnfoldDictionaryToAttributesPrebind","currentValue","toString","pageName","isAnonymous","resolvers","ResolveIfSelector","ResolveIfSearchInterfaceIdInPage","ResolveParentSearchInterfaceId","UseMainSearchInterfaceSelectorAsIs","mainSearchInterfaceId","getFirstValidResolver","getValue","message","canResolve","isMainSearchInterfaceDefined","isIdSelectorValid","selector","querySelector","foundId","tryFindParentSearchInterfaceFromElement","parentSearchInterface","findParentWithClass","SearchInterface","className","parent","parentElement","isStartingWithSelectorCharacter","SortCriteriaResolver_1","criteriaResolver","SortCriteriaResolver","sortCriteriaRawValue","sortCriteria","JSON","parse","sortType","sortDirection","direction","toggleDirection","resolveRelevancyCriteria","resolveDateCriteria","sortField","resolveFieldCriteria","fieldCriteria","enableToggle","getFieldCriteria","getFieldWithDirection","getInvertedDirection","rawDictionary","parsedDictionary","translatedField","dataKey","toUpperCase","configureSitecoreEndpoint","endpoints","createNewEndpoint","restUri","restEndpointUri","queryStringArguments","itemUri","SearchInterfaceComponentInitializer_1","SitecoreExperienceEditor_1","SearchInterfaceProvider_1","experienceEditor","searchInterfaceComponentInitializer","searchInterfacesProvider","externalComponentsSection","findSearchInterfaceForSection","getAllSearchInterfaceIds","getAllSearchInterfaceIdsInPage","getSearchInterfaceId","component","searchInterfaceId","searchboxElement","waitForSearchInterfacesInitialization","searchboxElementIsNotInitialized","initSearchbox","Searchbox","getAllSearchInterfacesAfterComponentInitialization","$$","waitForSearchInterfaceInitialization","on","Initialization_1","init","searchInterfaceComponent","SitecorePublicPathUtils_1","SitecorePublicPathUtils","getDynamicPublicPath","lazyCoveoForSitecoreAnalytics","lazyCoveoForSitecoreConfigureSearchHub","lazyCoveoSendAnalyticsToSitecore","lazyValidateAnalyticsIncluded","lazyCoveoForSitecoreBindWithUserContext","lazyCoveoForSitecoreExpressions","lazyCoveoForSitecoreSyntax","lazyCoveoForSitecoreRankingExpression","lazyCoveoForSitecoreExternalContent","lazyCoveoForSitecoreFilterExpression","lazyCoveoForSitecoreLocalExpression","lazyCoveoGoogleApiPositionProvider","lazyCoveoNavigatorPositionProvider","lazyCoveoStaticPositionProvider","__export","getCoveoScript","scriptElements","el","isScript","Logger","getCurrentScript","is","PublicPathUtils","LazyInitialization","registerLazyComponent","loaded","catch","buildErrorCallback"],"mappings":"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","file":"CoveoForSitecore.Lazy.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"Coveo\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"Coveo\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CoveoForSitecore\"] = factory(require(\"Coveo\"));\n\telse\n\t\troot[\"CoveoForSitecore\"] = factory(root[\"Coveo\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__) {\nreturn "," \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\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(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};\n\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\t1: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + ({\"2\":\"CoveoForSitecoreAnalytics\",\"3\":\"CoveoForSitecoreBindWithUserContext\",\"4\":\"CoveoForSitecoreConfigureSearchHub\",\"5\":\"CoveoForSitecoreExpressions\",\"6\":\"CoveoForSitecoreExternalContent\",\"7\":\"CoveoForSitecoreFilterExpression\",\"8\":\"CoveoForSitecoreLocalExpression\",\"9\":\"CoveoForSitecoreRankingExpression\",\"10\":\"CoveoForSitecoreSyntax\",\"11\":\"GoogleApiPositionProvider\",\"12\":\"NavigatorPositionProvider\",\"13\":\"SendAnalyticsToSitecore\",\"14\":\"StaticPositionProvider\",\"15\":\"ValidateAnalyticsIncluded\"}[chunkId]||chunkId) + \".min.js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpCoveoForSitecore\"] = window[\"webpackJsonpCoveoForSitecore\"] || [];\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// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 62);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","export interface ISitecoreContextInitializationEventArgs {\r\n sitecoreItemId: string;\r\n sitecoreItemUri: string;\r\n sitecorePageName: string;\r\n shouldHaveAnalyticsComponent: boolean;\r\n analyticsEnabled: boolean;\r\n indexSourceName: string;\r\n currentLanguage: string;\r\n languageFieldName: string;\r\n latestVersionFieldName: string;\r\n isInExperienceEditor: boolean;\r\n sitecorePageFullPath: string;\r\n siteName: string;\r\n}\r\n\r\nexport class SitecoreContextEvents {\r\n public static onSitecoreContextInitialization = \"onSitecoreContextInitialization\";\r\n}\r\n","export function nodeListToArray(elements: HTMLCollectionOf | NodeListOf): HTMLElement[] {\r\n const array: HTMLElement[] = [];\r\n for (var i = 0, length = elements.length; i < length; i++) {\r\n array.push(elements.item(i) as HTMLElement);\r\n }\r\n return array;\r\n}\r\n\r\nexport function cloneElementSafelyForAccessibility(element: HTMLElement): HTMLElement {\r\n const clone = element.cloneNode(true) as HTMLElement;\r\n return removeAllIDAttributes(clone);\r\n}\r\n\r\nexport function removeAllIDAttributes(element: HTMLElement): HTMLElement {\r\n element.removeAttribute(\"id\");\r\n const children = element.querySelectorAll(\"*[id]\");\r\n const length = children.length;\r\n for (let i = 0; i < length; i++) {\r\n children.item(i).removeAttribute(\"id\");\r\n }\r\n return element;\r\n}\r\n","import { IPrebindResolver, PrebindResolver, IPrebindHandler } from \"../resolvers/prebinding/PrebindResolver\";\r\n\r\nexport class Prebinding {\r\n private static processor: IPrebindResolver = new PrebindResolver();\r\n\r\n static registerPrebindHelper(helperName: string, handler: IPrebindHandler): void {\r\n this.processor.registerPrebindHelper(helperName, handler);\r\n }\r\n\r\n static getHelper(helperName: string): IPrebindHandler {\r\n return this.processor.getHelper(helperName);\r\n }\r\n\r\n static applyPrebindingOnElement(rootElement: HTMLElement): void {\r\n if (this.processor.hasNotAppliedPrebind(rootElement)) {\r\n this.processor.applyToElement(rootElement);\r\n }\r\n }\r\n\r\n static applyPrebindingOnChildren(rootElement: HTMLElement): void {\r\n this.nodeListToArray(rootElement.querySelectorAll(\"*\"))\r\n .map(element => element as HTMLElement)\r\n .filter(element => this.processor.hasNotAppliedPrebind(element))\r\n .forEach(element => this.processor.applyToElement(element));\r\n }\r\n\r\n private static nodeListToArray(elements: NodeListOf): TElementType[] {\r\n const array: TElementType[] = [];\r\n for (var i = 0, length = elements.length; i < length; i++) {\r\n array.push(elements[i]);\r\n }\r\n return array;\r\n }\r\n}\r\n","import { ICoveoFieldHandler } from \"../handlers/CoveoFieldsHandler\";\r\nimport { ICoveoLabelsHandler } from \"../handlers/CoveoLabelsHandler\";\r\nimport { ContextInitializer } from \"./initialization/ContextInitializer\";\r\nimport { CoveoForSitecoreContext, ICoveoForSitecoreContextOptions } from \"../ui/context/CoveoForSitecoreContext\";\r\nimport { ComponentOptions } from \"coveo-search-ui\";\r\n\r\nexport interface IOnContextConfiguredHandler {\r\n handle(contextElement: HTMLElement): void;\r\n}\r\n\r\nexport class Context {\r\n public static fields: ICoveoFieldHandler;\r\n public static labels: ICoveoLabelsHandler;\r\n\r\n public static element: HTMLElement;\r\n\r\n static configureContext(contextElement: HTMLElement): void {\r\n if (typeof (contextElement) === \"undefined\" || contextElement === null) {\r\n throw Error(\"You must execute `configureContext` with an HTML element.\");\r\n }\r\n\r\n const options: ICoveoForSitecoreContextOptions = ComponentOptions.initComponentOptions(contextElement, CoveoForSitecoreContext);\r\n this.initializeWithContextOptions(contextElement, options);\r\n }\r\n\r\n private static initializeWithContextOptions(contextElement: HTMLElement, contextOptions: ICoveoForSitecoreContextOptions): void {\r\n const contextInitializer = new ContextInitializer();\r\n const fieldsHandler = contextInitializer.createFieldsHandler({\r\n externalFields: contextOptions.scExternalFields,\r\n sourceSpecificFields: contextOptions.scSourceSpecificFields,\r\n preferSourceSpecificFields: contextOptions.scPreferSourceSpecificFields,\r\n prefix: contextOptions.scFieldPrefix,\r\n suffix: contextOptions.scFieldSuffix\r\n });\r\n const labels: ICoveoLabelsHandler = contextInitializer.createLabelsHandler({\r\n labels: contextOptions.scLabels\r\n });\r\n const sourceName = contextOptions.scIndexSourceName;\r\n\r\n contextInitializer.initializePrebinding({\r\n fieldsHandler: fieldsHandler,\r\n context: contextOptions\r\n });\r\n contextInitializer.initializeUnderscoreFieldsHelpers(fieldsHandler);\r\n contextInitializer.initializeUnderscoreLabelsHelpers(labels);\r\n contextInitializer.initializeUnderscoreContextHelpers(sourceName);\r\n contextInitializer.initializeContextElement(contextElement);\r\n\r\n this.fields = fieldsHandler;\r\n this.labels = labels;\r\n this.element = contextElement;\r\n }\r\n}\r\n","import {\r\n ExpressionBuilder\r\n} from \"coveo-search-ui\";\r\n\r\nexport interface IBuildingExternalContentEventArgs {\r\n sources: string[];\r\n collections: string[];\r\n}\r\n\r\nexport interface IBuildingLocalSitecoreInstanceExpressionEventArgs {\r\n expression: ExpressionBuilder;\r\n}\r\n\r\nexport class SitecoreExpressionEvents {\r\n public static onBuildingSitecoreExternalContent = \"onBuildingSitecoreExternalContent\";\r\n public static onBuildingLocalSitecoreInstanceExpression = \"onBuildingLocalSitecoreInstanceExpression\";\r\n}\r\n","import {\r\n Component,\r\n ComponentOptions,\r\n IComponentBindings,\r\n InitializationEvents,\r\n QueryEvents,\r\n QueryBuilder,\r\n IDoneBuildingQueryEventArgs,\r\n Initialization,\r\n IStringMap\r\n} from \"coveo-search-ui\";\r\n\r\nimport { ISitecoreContextInitializationEventArgs, SitecoreContextEvents } from \"../../events/ContextEvents\";\r\nimport { IExternalFieldConfig as ILegacyExternalFieldConfig } from \"../../handlers/CoveoFieldsHandler\";\r\nimport { IExternalFieldConfig, ISourceSpecificFieldConfig } from \"../../handlers/IFieldTypeResolver\";\r\n\r\nexport interface ICoveoForSitecoreContextOptions {\r\n scItemId: string;\r\n scItemUri: string;\r\n scLatestVersionFieldName: string;\r\n scLanguageFieldName: string;\r\n scCurrentLanguage: string;\r\n scRestEndpointUri: string;\r\n scLabels: IStringMap;\r\n scPageName: string;\r\n scDefaultPipelineName: string;\r\n scShouldHaveAnalyticsComponent: boolean;\r\n scAnalyticsEnabled: boolean;\r\n scIsUserAnonymous: boolean;\r\n scFieldPrefix: string;\r\n scFieldSuffix: string;\r\n scExternalFields: IExternalFieldConfig[] | ILegacyExternalFieldConfig[];\r\n scSourceSpecificFields: ISourceSpecificFieldConfig[];\r\n scPreferSourceSpecificFields: boolean;\r\n scIndexSourceName: string;\r\n scIsInExperienceEditor: boolean;\r\n scMaximumAge: number;\r\n scPageNameFullPath: string;\r\n scSiteName: string;\r\n}\r\n\r\nexport class CoveoForSitecoreContext extends Component {\r\n static ID = \"ForSitecoreContext\";\r\n\r\n static options: ICoveoForSitecoreContextOptions = {\r\n scItemId: ComponentOptions.buildStringOption(),\r\n scItemUri: ComponentOptions.buildStringOption(),\r\n scLanguageFieldName: ComponentOptions.buildStringOption(),\r\n scLatestVersionFieldName: ComponentOptions.buildStringOption(),\r\n scCurrentLanguage: ComponentOptions.buildStringOption(),\r\n scRestEndpointUri: ComponentOptions.buildStringOption(),\r\n scLabels: ComponentOptions.buildJsonOption(),\r\n scPageName: ComponentOptions.buildStringOption(),\r\n scDefaultPipelineName: ComponentOptions.buildStringOption(),\r\n scShouldHaveAnalyticsComponent: ComponentOptions.buildBooleanOption(),\r\n scAnalyticsEnabled: ComponentOptions.buildBooleanOption(),\r\n scIsUserAnonymous: ComponentOptions.buildBooleanOption(),\r\n scFieldPrefix: ComponentOptions.buildStringOption(),\r\n scFieldSuffix: ComponentOptions.buildStringOption(),\r\n scExternalFields: ComponentOptions.buildJsonOption(),\r\n scSourceSpecificFields: ComponentOptions.buildJsonOption(),\r\n scPreferSourceSpecificFields: ComponentOptions.buildBooleanOption(),\r\n scIndexSourceName: ComponentOptions.buildStringOption(),\r\n scIsInExperienceEditor: ComponentOptions.buildBooleanOption(),\r\n scMaximumAge: ComponentOptions.buildNumberOption(),\r\n scPageNameFullPath: ComponentOptions.buildStringOption(),\r\n scSiteName: ComponentOptions.buildStringOption()\r\n };\r\n\r\n constructor(public element: HTMLElement, public options: ICoveoForSitecoreContextOptions, public bindings: IComponentBindings) {\r\n super(element, CoveoForSitecoreContext.ID, bindings);\r\n\r\n this.options = ComponentOptions.initComponentOptions(element, CoveoForSitecoreContext, options);\r\n this.bind.onRootElement(InitializationEvents.afterComponentsInitialization, this.afterComponentsInitialization);\r\n this.bind.onRootElement(QueryEvents.doneBuildingQuery, this.doneBuildingQuery);\r\n }\r\n\r\n private doneBuildingQuery(args: IDoneBuildingQueryEventArgs): void {\r\n if (this.hasDefaultPipelineNameSet() && this.queryBuilderUsesDefaultPipeline(args.queryBuilder)) {\r\n args.queryBuilder.pipeline = this.options.scDefaultPipelineName;\r\n }\r\n }\r\n\r\n private hasDefaultPipelineNameSet(): boolean {\r\n return this.options.scDefaultPipelineName !== \"\";\r\n }\r\n\r\n private queryBuilderUsesDefaultPipeline(queryBuilder: QueryBuilder): boolean {\r\n return typeof (queryBuilder.pipeline) === \"undefined\";\r\n }\r\n\r\n private afterComponentsInitialization(): void {\r\n const contextArgs: ISitecoreContextInitializationEventArgs = {\r\n sitecoreItemId: this.options.scItemId,\r\n sitecoreItemUri: this.options.scItemUri,\r\n sitecorePageName: this.options.scPageName,\r\n shouldHaveAnalyticsComponent: this.options.scShouldHaveAnalyticsComponent,\r\n analyticsEnabled: this.options.scAnalyticsEnabled,\r\n indexSourceName: this.options.scIndexSourceName,\r\n currentLanguage: this.options.scCurrentLanguage,\r\n languageFieldName: this.options.scLanguageFieldName,\r\n latestVersionFieldName: this.options.scLatestVersionFieldName,\r\n isInExperienceEditor: this.options.scIsInExperienceEditor,\r\n sitecorePageFullPath: this.options.scPageNameFullPath,\r\n siteName: this.options.scSiteName\r\n };\r\n this.bind.trigger(this.element, SitecoreContextEvents.onSitecoreContextInitialization, contextArgs);\r\n }\r\n}\r\n\r\nInitialization.registerAutoCreateComponent(CoveoForSitecoreContext);\r\n","import { IExternalFieldConfig } from \"./CoveoFieldsHandler\";\r\nimport { IFieldTypeResolver } from \"./IFieldTypeResolver\";\r\n\r\nexport class LegacyFieldTypeResolver implements IFieldTypeResolver {\r\n private readonly externalFields: IExternalFieldConfig[];\r\n\r\n constructor(externalFields: IExternalFieldConfig[]) {\r\n this.externalFields = this.parseExternalFields(externalFields);\r\n }\r\n\r\n private parseExternalFields(externalFields: Array): IExternalFieldConfig[] {\r\n return externalFields.map(externalField => {\r\n if (typeof (externalField) === \"string\") {\r\n return {\r\n \"fieldName\": (externalField as string).toLowerCase(),\r\n \"shouldEscape\": false\r\n };\r\n } else if (this.isExternalFieldConfig(externalField)) {\r\n return {\r\n \"fieldName\": externalField.fieldName.toLowerCase(),\r\n \"shouldEscape\": externalField.shouldEscape\r\n };\r\n } else {\r\n console.error(`Invalid external field '${externalField}'.`);\r\n }\r\n });\r\n }\r\n\r\n public shouldEscapeFirstCharacter(fieldName: string): boolean {\r\n return false;\r\n }\r\n\r\n public shouldEscapeSpecialCharacters(fieldName: string): boolean {\r\n const fields = this.externalFields.filter(field => field.fieldName.toLowerCase() === fieldName.toLowerCase());\r\n\r\n return fields.length > 0 ? fields[0].shouldEscape : true;\r\n }\r\n\r\n public shouldDecorate(fieldName: string): boolean {\r\n return !this.externalFields.some(field => field.fieldName.toLowerCase() === fieldName.toLowerCase());\r\n }\r\n\r\n public isExternalField(fieldName: string): boolean {\r\n return this.externalFields.some(field => field.fieldName.toLowerCase() === fieldName.toLowerCase());\r\n }\r\n\r\n private isExternalFieldConfig(obj: any): boolean {\r\n return typeof (obj) !== \"undefined\" &&\r\n typeof (obj.fieldName) !== \"undefined\" &&\r\n typeof (obj.shouldEscape) !== \"undefined\";\r\n }\r\n}\r\n","import { ExternalComponentInitializer } from \"./initialization/ExternalComponentInitializer\";\r\nimport { SearchboxInitializer } from \"./initialization/SearchboxInitializer\";\r\nimport { SearchInterfaceInitializer } from \"./initialization/SearchInterfaceInitializer\";\r\nimport { ElementWithContextInitializer } from \"./initialization/ElementWithContextInitializer\";\r\n\r\nexport const searchInterfaceInitializer = new SearchInterfaceInitializer();\r\nexport const searchboxInitializer = new SearchboxInitializer();\r\nexport const externalComponentInitializer = new ExternalComponentInitializer();\r\n\r\nexport function initSearchInterface(searchInterfaceElement: HTMLElement): Promise<{ elem: HTMLElement }> {\r\n return searchInterfaceInitializer.initSearchInterface(searchInterfaceElement);\r\n}\r\n\r\nexport function initializeSearchInterfaceForExperienceEditor(searchInterfaceElement: HTMLElement): Promise<{ elem: HTMLElement }> {\r\n searchInterfaceInitializer.initializeExperienceEditorHooksForSearchInterface(searchInterfaceElement);\r\n return initSearchInterface(searchInterfaceElement);\r\n}\r\n\r\nexport function initSearchboxIfStandalone(searchBoxElement: HTMLElement, searchPageUri: string, options?: any): Promise {\r\n return searchboxInitializer.initSearchboxIfStandalone(searchBoxElement, searchPageUri, options);\r\n}\r\n\r\nexport function initContextOnElement(element: HTMLElement): void {\r\n ElementWithContextInitializer.initializeContextWithinElement(element);\r\n}\r\n\r\nexport function initExternalComponentsSection(element: HTMLElement): void {\r\n externalComponentInitializer.initializeExternalComponentSection(element);\r\n}\r\n\r\nexport function initExternalComponentsSectionForExperienceEditor(element: HTMLElement): void {\r\n externalComponentInitializer.initializeExperienceEditorHooksForExternalComponentsSection(element);\r\n initExternalComponentsSection(element);\r\n}\r\n","import { Prebinding } from \"../../base/Prebinding\";\r\nimport { nodeListToArray } from \"../../utils/HTMLUtils\";\r\n\r\nimport {\r\n Initialization,\r\n SearchInterface,\r\n get,\r\n Facet,\r\n Tab\r\n} from \"coveo-search-ui\";\r\n\r\nconst duringInitializationClass = \"coveo-during-initialization\";\r\n\r\nexport class SearchInterfaceComponentInitializer implements ISearchInterfaceComponentInitializer {\r\n public loadComponentsForSearchInterface(searchInterface: SearchInterface, newComponent: HTMLElement): Promise {\r\n Prebinding.applyPrebindingOnElement(newComponent);\r\n Prebinding.applyPrebindingOnChildren(newComponent);\r\n const result = Initialization.automaticallyCreateComponentsInside(newComponent, {\r\n bindings: searchInterface.getBindings(),\r\n options: {}\r\n });\r\n return result.initResult.then(() => {\r\n this.removeAllPlaceholdersWithinElement(newComponent);\r\n searchInterface.queryController.executeQuery({\r\n ignoreWarningSearchEvent: true\r\n });\r\n });\r\n }\r\n\r\n public tryUnloadComponentsForSearchInterface(searchInterface: SearchInterface, newComponent: HTMLElement): void {\r\n const facets = nodeListToArray(newComponent.getElementsByClassName(\"CoveoFacet\"));\r\n facets.forEach(facet => {\r\n const facetComponent: Facet = get(facet, \"CoveoFacet\") as Facet;\r\n if (facetComponent) {\r\n searchInterface.detachComponent(\"Facet\", facetComponent);\r\n }\r\n this.removeAllChildren(facet);\r\n });\r\n\r\n const tabs = nodeListToArray(newComponent.getElementsByClassName(\"CoveoTab\"));\r\n tabs.forEach(tab => {\r\n const tabComponent: Tab = get(tab, \"CoveoTab\") as Tab;\r\n if (tabComponent) {\r\n searchInterface.detachComponent(\"Tab\", tabComponent);\r\n }\r\n this.removeAllChildren(tab)\r\n });\r\n }\r\n\r\n private removeAllPlaceholdersWithinElement(element: HTMLElement): void {\r\n const elementsWithInitializationClass = nodeListToArray(element.getElementsByClassName(duringInitializationClass));\r\n elementsWithInitializationClass.forEach(element => this.removePlaceholders(element));\r\n }\r\n\r\n private removePlaceholders(element: HTMLElement): void {\r\n element.classList.remove(duringInitializationClass);\r\n\r\n if (element.classList.contains(\"CoveoFacet\")) {\r\n this.removeFacetsPlaceholders(element);\r\n }\r\n }\r\n private removeFacetsPlaceholders(element: HTMLElement): void {\r\n element.classList.remove(\"coveo-with-placeholder\");\r\n\r\n // Since a Facet reinserts DOM as children when initializing, we have to remove all its children,\r\n // else new content will be appended each time the facet is initialized.\r\n this.removeAllChildren(element);\r\n }\r\n\r\n private removeAllChildren(element: HTMLElement): void {\r\n while (element.firstChild) {\r\n element.removeChild(element.firstChild);\r\n }\r\n }\r\n\r\n public loadComponentsWithSearchInterfaceInitialization(searchInterfaceElement: HTMLElement, componentsContainer: HTMLElement): void {\r\n Prebinding.applyPrebindingOnElement(componentsContainer);\r\n Prebinding.applyPrebindingOnChildren(componentsContainer);\r\n Coveo.options(searchInterfaceElement, {\r\n \"externalComponents\": [componentsContainer]\r\n });\r\n }\r\n}\r\n\r\nexport interface ISearchInterfaceComponentInitializer {\r\n loadComponentsWithSearchInterfaceInitialization(searchInterfaceElement: HTMLElement, element: HTMLElement): void;\r\n loadComponentsForSearchInterface(searchInterface: SearchInterface, newComponent: HTMLElement): Promise;\r\n tryUnloadComponentsForSearchInterface(searchInterface: SearchInterface, newComponent: HTMLElement): void\r\n}\r\n\r\nconst initializer = new SearchInterfaceComponentInitializer();\r\nexport function getInitializerInstance(): ISearchInterfaceComponentInitializer {\r\n return initializer;\r\n}\r\n","import { nodeListToArray } from \"../../utils/HTMLUtils\";\r\n\r\ndeclare const Sitecore: any;\r\n\r\nexport interface IRenderingElement {\r\n opening: Array;\r\n}\r\n\r\nexport type IAfterFrameLoadedCallback = (callbackData: IRenderingElement) => void;\r\nexport type IAfterPersonalizationChangedCallback = (element: HTMLElement) => void;\r\nexport type IBeforeUnloadingChromeCallback = (element: HTMLElement) => void;\r\n\r\nexport class SitecoreExperienceEditor implements ISitecoreExperienceEditor {\r\n public static isInBackgroundRenderingParameterName = \"sc_phk\";\r\n\r\n private isAfterFrameLoadedOverriden = false;\r\n private isAfterPersonalizationChangedOverriden = false;\r\n private isBeforeUnloadingChromeOverriden = false;\r\n\r\n private onAfterFrameLoadedCallbacks: IAfterFrameLoadedCallback[] = [];\r\n private onAfterPersonalizationChanged: IAfterPersonalizationChangedCallback[] = [];\r\n private onBeforeUnloadingChrome: IBeforeUnloadingChromeCallback[] = [];\r\n\r\n public registerOnLoadRenderingFromUrl(onAfterFrameLoadedCallback: (callbackData: IRenderingElement) => void): void {\r\n this.tryOverrideSitecoreLoadRenderingFromUrl();\r\n this.onAfterFrameLoadedCallbacks.push(onAfterFrameLoadedCallback);\r\n }\r\n\r\n public registerBeforeUnloadingChrome(onBeforeUnloadingChromeCallback: IBeforeUnloadingChromeCallback): void {\r\n this.tryOverrideOnUnloadingChrome();\r\n this.onBeforeUnloadingChrome.push(onBeforeUnloadingChromeCallback);\r\n }\r\n\r\n public registerOnAfterPersonalizationChanged(onAfterPersonalizationChanged: IAfterPersonalizationChangedCallback): void {\r\n this.tryOverrideSitecoreChromeTypesRenderingChangeCondition();\r\n this.onAfterPersonalizationChanged.push(onAfterPersonalizationChanged);\r\n }\r\n\r\n public isInBackgroundRendering(): boolean {\r\n return window.location.search.indexOf(SitecoreExperienceEditor.isInBackgroundRenderingParameterName) !== -1;\r\n }\r\n\r\n public getComponentFromLoadRenderingFromUrlCallbackData(callbackData: IRenderingElement): HTMLElement {\r\n var chromeRendering = document.getElementById(callbackData.opening[0].id);\r\n return chromeRendering.nextElementSibling as HTMLElement;\r\n }\r\n\r\n private tryOverrideSitecoreLoadRenderingFromUrl(): void {\r\n if (!this.isAfterFrameLoadedOverriden && typeof (Sitecore) !== \"undefined\") {\r\n this.overrideSitecoreLoadRenderingFromUrl();\r\n }\r\n }\r\n\r\n private overrideSitecoreLoadRenderingFromUrl(): void {\r\n const originalLoad = Sitecore.PageModes.ChromeTypes.Placeholder.prototype.insertRendering;\r\n const onAfterFrameLoadedCallback = (callbackData: IRenderingElement) => {\r\n this.onAfterFrameLoadedCallbacks.forEach(callback => callback(callbackData));\r\n };\r\n Sitecore.PageModes.ChromeTypes.Placeholder.prototype.insertRendering = function (frameLoadedCallback: IRenderingElement): void {\r\n originalLoad.call(this, frameLoadedCallback);\r\n onAfterFrameLoadedCallback(frameLoadedCallback);\r\n };\r\n this.isAfterFrameLoadedOverriden = true;\r\n }\r\n\r\n private tryOverrideOnUnloadingChrome(): void {\r\n if (!this.isBeforeUnloadingChromeOverriden && typeof (Sitecore) !== \"undefined\") {\r\n this.overrideSitecoreChromeChangeCondition();\r\n this.isBeforeUnloadingChromeOverriden = true;\r\n }\r\n }\r\n\r\n private overrideSitecoreChromeChangeCondition(): void {\r\n const originalChangeCondition: Function = Sitecore.PageModes.ChromeTypes.Rendering.prototype.changeCondition;\r\n const onBeforeChangeCondition = (changedElement: HTMLElement) => {\r\n this.onBeforeUnloadingChrome.forEach(callback => callback(changedElement));\r\n };\r\n Sitecore.PageModes.ChromeTypes.Rendering.prototype.changeCondition = function (id, sender, preserveCacheUpdating): void {\r\n onBeforeChangeCondition(this.chrome.element[0]);\r\n originalChangeCondition.apply(this, arguments);\r\n };\r\n }\r\n\r\n private tryOverrideSitecoreChromeTypesRenderingChangeCondition(): void {\r\n if (!this.isAfterPersonalizationChangedOverriden && typeof (Sitecore) !== \"undefined\") {\r\n this.overrideSitecoreChromeTypesRenderingChangeCondition();\r\n }\r\n }\r\n\r\n private overrideSitecoreChromeTypesRenderingChangeCondition(): void {\r\n const originalStartActivation: Function = Sitecore.PageModes.ChromeTypes.Rendering.prototype._startActivation;\r\n const originalEndActivation: Function = Sitecore.PageModes.ChromeTypes.Rendering.prototype._endActivation;\r\n let elementToProcessWhenFinished: HTMLElement;\r\n const onAfterPersonalizationChanged = (changedElement: HTMLElement) => {\r\n this.onAfterPersonalizationChanged.forEach(callback => callback(changedElement));\r\n };\r\n const getValidMarker = (markersAndElements: HTMLElement[]): HTMLElement => {\r\n return this.isDifferentFirstLoadMarker(markersAndElements) ? markersAndElements[2] : markersAndElements[1];\r\n };\r\n Sitecore.PageModes.ChromeTypes.Rendering.prototype._startActivation = function (markersAndElements: HTMLElement[], fieldId?: string): void {\r\n elementToProcessWhenFinished = getValidMarker(markersAndElements);\r\n originalStartActivation.apply(this, arguments);\r\n };\r\n Sitecore.PageModes.ChromeTypes.Rendering.prototype._endActivation = function (reason: string): void {\r\n originalEndActivation.apply(this, arguments);\r\n if (elementToProcessWhenFinished) {\r\n onAfterPersonalizationChanged(elementToProcessWhenFinished);\r\n }\r\n };\r\n this.isAfterPersonalizationChangedOverriden = true;\r\n }\r\n\r\n // In Sitecore 8.0, for some reason, there are two additionnal text nodes *only on the first load*.\r\n // The cached version does not have those.\r\n private isDifferentFirstLoadMarker(markersAndElements: HTMLElement[]): boolean {\r\n return markersAndElements[1].nodeType === Node.TEXT_NODE;\r\n };\r\n\r\n public registerShowDebugInformationCallback(): void {\r\n if (!window[\"scCoveoShowDebugInformation\"]) {\r\n window[\"scCoveoShowDebugInformation\"] = (debugModeEnabled: boolean) => {\r\n const debugInfoElements = nodeListToArray(document.getElementsByClassName(\"coveo-debug-information\"));\r\n if (debugModeEnabled) {\r\n debugInfoElements.forEach(element => element.classList.remove(\"coveo-debug-hidden\"));\r\n } else {\r\n debugInfoElements.forEach(element => element.classList.add(\"coveo-debug-hidden\"));\r\n }\r\n // Chromes are not updated correctly until an event refreshes them. This forces the update.\r\n Sitecore.PageModes.ChromeManager.resetChromes();\r\n };\r\n }\r\n }\r\n}\r\n\r\nexport interface ISitecoreExperienceEditor {\r\n registerOnLoadRenderingFromUrl(onAfterFrameLoadedCallback: (callbackData: IRenderingElement) => void): void;\r\n registerBeforeUnloadingChrome(onBeforeUnloadingChromeCallback: IBeforeUnloadingChromeCallback): void;\r\n registerOnAfterPersonalizationChanged(onAfterPersonalizationChanged: IAfterPersonalizationChangedCallback): void;\r\n isInBackgroundRendering(): boolean;\r\n getComponentFromLoadRenderingFromUrlCallbackData(callbackData: IRenderingElement): HTMLElement;\r\n registerShowDebugInformationCallback(): void;\r\n}\r\n\r\nconst staticInstance = new SitecoreExperienceEditor();\r\n\r\nexport function getExperienceEditorInstance(): ISitecoreExperienceEditor {\r\n return staticInstance;\r\n}\r\n","import {\r\n Component\r\n} from \"coveo-search-ui\";\r\n\r\nimport { nodeListToArray } from \"./HTMLUtils\";\r\n\r\nexport class SearchInterfacesProvider {\r\n getSearchInterfacesInPage(componentsIds: string[]): HTMLElement[] {\r\n const searchInterfacesSelector = this.getSearchInterfacesSelectorFromComponentIds(componentsIds);\r\n const searchInterfaces = document.querySelectorAll(searchInterfacesSelector);\r\n return nodeListToArray(searchInterfaces);\r\n }\r\n\r\n private getSearchInterfacesSelectorFromComponentIds(componentIds: string[]): string {\r\n return componentIds.map(componentId => Component.computeSelectorForType(componentId))\r\n .join(\", \");\r\n }\r\n}\r\n","import { Prebinding } from \"../Prebinding\";\r\nimport { Context } from \"../Context\";\r\nimport { cloneElementSafelyForAccessibility } from \"../../utils/HTMLUtils\";\r\n\r\nexport class ElementWithContextInitializer {\r\n public static initializeContextWithinElement(element: HTMLElement): void {\r\n if (!!Context.element) {\r\n element.appendChild(cloneElementSafelyForAccessibility(Context.element));\r\n }\r\n Prebinding.applyPrebindingOnElement(element);\r\n Prebinding.applyPrebindingOnChildren(element);\r\n }\r\n}\r\n","export { SitecoreContextEvents } from \"./events/ContextEvents\";\r\nexport { SitecoreExpressionEvents } from \"./events/ExpressionEvents\";\r\n","export { Context } from \"./base/Context\";\r\nexport { Prebinding } from \"./base/Prebinding\";\r\nexport { SearchEndpoint } from \"./base/SearchEndpoint\";","import {\r\n ICoveoFieldHandler,\r\n IExternalFieldConfig as ILegacyExternalFieldConfig,\r\n CoveoFieldsHandler\r\n} from \"../../handlers/CoveoFieldsHandler\";\r\nimport {\r\n IFieldTypeResolver,\r\n ISourceSpecificFieldConfig,\r\n IExternalFieldConfig\r\n} from \"../../handlers/IFieldTypeResolver\";\r\nimport { SourceSpecificFieldResolver } from \"../../handlers/SourceSpecificFieldResolver\";\r\nimport { ICoveoLabelsHandler, ILabelsDictionary, CoveoLabelsHandler } from \"../../handlers/CoveoLabelsHandler\";\r\nimport { Prebinding } from \"../Prebinding\";\r\nimport { IPrebindHelperInitializationArgs } from \"../../resolvers/prebinding/PrebindHelper\";\r\nimport { PrebindHelpers } from \"../../resolvers/prebinding/PrebindHelpers\";\r\n\r\nimport {\r\n TemplateHelpers\r\n} from \"coveo-search-ui\";\r\nimport { LegacyFieldTypeResolver } from \"../../handlers/LegacyFieldTypeResolver\";\r\n\r\nexport interface ICoveoFieldsHandlerOptions {\r\n externalFields: ILegacyExternalFieldConfig[] | IExternalFieldConfig[];\r\n sourceSpecificFields: ISourceSpecificFieldConfig[];\r\n preferSourceSpecificFields: boolean;\r\n prefix: string;\r\n suffix: string;\r\n}\r\n\r\nexport interface ICoveoLabelsHandlerOptions {\r\n labels: ILabelsDictionary;\r\n}\r\n\r\nexport class ContextInitializer {\r\n public createFieldsHandler(options: ICoveoFieldsHandlerOptions): ICoveoFieldHandler {\r\n const externalFields: ILegacyExternalFieldConfig[] | IExternalFieldConfig[] = options.externalFields || [];\r\n const sourceSpecificFields: ISourceSpecificFieldConfig[] = options.sourceSpecificFields || [];\r\n\r\n const fieldTypeResolver: IFieldTypeResolver = options.preferSourceSpecificFields\r\n ? new LegacyFieldTypeResolver(externalFields as ILegacyExternalFieldConfig[])\r\n : new SourceSpecificFieldResolver(sourceSpecificFields, externalFields);\r\n\r\n return new CoveoFieldsHandler(fieldTypeResolver, options.prefix, options.suffix);\r\n }\r\n\r\n public createLabelsHandler(options: ICoveoLabelsHandlerOptions): ICoveoLabelsHandler {\r\n const labels: ILabelsDictionary = options.labels || {};\r\n return new CoveoLabelsHandler(labels);\r\n }\r\n\r\n public initializePrebinding(args: IPrebindHelperInitializationArgs): void {\r\n PrebindHelpers.getAllPrebindHelpers().forEach(helper => {\r\n Prebinding.registerPrebindHelper(helper.name, helper.getPrebind(args));\r\n });\r\n }\r\n\r\n public initializeUnderscoreFieldsHelpers(fieldsHandler: ICoveoFieldHandler): void {\r\n TemplateHelpers.registerTemplateHelper(\"coveoFieldValue\", function (fieldName: string): string {\r\n return this.raw[fieldsHandler.toCoveo(fieldName)];\r\n });\r\n TemplateHelpers.registerTemplateHelper(\"coveoFieldName\", function (fieldName: string): string {\r\n return fieldsHandler.toCoveo(fieldName);\r\n });\r\n }\r\n\r\n public initializeUnderscoreLabelsHelpers(labels: ICoveoLabelsHandler): void {\r\n TemplateHelpers.registerTemplateHelper(\"translateLabel\", function (labelKey: string): string {\r\n return labels.translate(labelKey);\r\n });\r\n }\r\n\r\n public initializeUnderscoreContextHelpers(sourceName: string): void {\r\n TemplateHelpers.registerTemplateHelper(\"currentSourceName\", function (): string {\r\n return sourceName;\r\n });\r\n }\r\n\r\n public initializeContextElement(contextElement: HTMLElement): void {\r\n Prebinding.applyPrebindingOnElement(contextElement);\r\n }\r\n}\r\n","import { IFieldTypeResolver } from \"./IFieldTypeResolver\";\r\nimport { LegacyFieldTypeResolver } from \"./LegacyFieldTypeResolver\";\r\n\r\nexport interface ICoveoFieldHandler {\r\n isCoveoFieldName(fieldName: string): boolean;\r\n toCoveo(fieldName: string): string;\r\n addCoveoFieldDelimiter(fieldName: string): string;\r\n}\r\n\r\nexport interface IExternalFieldConfig {\r\n fieldName: string;\r\n shouldEscape: boolean;\r\n}\r\n\r\nexport class CoveoFieldsHandler implements ICoveoFieldHandler {\r\n // 'z' and 'x' are also considered as special characters because\r\n // they are used in the escaping logic. So we have to remove them\r\n // from the regular expression pattern.\r\n private static readonly nonSpecialCharactersString = \"[a-wyA-WY0-9]\";\r\n private static readonly nonSpecialCharacters = new RegExp(CoveoFieldsHandler.nonSpecialCharactersString);\r\n private static readonly coveoFieldDelimiter = \"@\";\r\n\r\n private readonly resolver: IFieldTypeResolver;\r\n\r\n constructor(resolver: IFieldTypeResolver, prefix: string, suffix: string);\r\n /**\r\n * @deprecated. Use the `constructor(IFieldTypeResolver, string, string)` constructor instead.\r\n */\r\n constructor(resolver: IExternalFieldConfig[], prefix: string, suffix: string);\r\n constructor(resolver: IExternalFieldConfig[] | IFieldTypeResolver, private prefix: string, private suffix: string) {\r\n if ((resolver).shouldDecorate !== undefined) {\r\n this.resolver = resolver as IFieldTypeResolver;\r\n } else {\r\n // Handle legacy constructor case.\r\n this.resolver = new LegacyFieldTypeResolver(resolver as IExternalFieldConfig[]);\r\n }\r\n }\r\n\r\n public toCoveo(fieldName: string): string {\r\n if (this.isValidFieldName(fieldName)) {\r\n const lowerCaseFieldName = fieldName.toLowerCase();\r\n const fieldWithoutDelimiter = this.stripCoveoFieldDelimiter(lowerCaseFieldName);\r\n const translatedFieldWithoutDelimiter = this.translateFieldName(fieldWithoutDelimiter);\r\n return this.startsWithAt(fieldName) ? this.addCoveoFieldDelimiter(translatedFieldWithoutDelimiter) : translatedFieldWithoutDelimiter;\r\n } else {\r\n console.error(`Could not translate the '${fieldName}' field to a Coveo field. Returning as is.`);\r\n return fieldName;\r\n }\r\n }\r\n\r\n public addCoveoFieldDelimiter(fieldName: string): string {\r\n let fieldNameWithDelimiter = fieldName;\r\n if (!this.startsWithAt(fieldName)) {\r\n fieldNameWithDelimiter = `${CoveoFieldsHandler.coveoFieldDelimiter}${fieldName}`.toLowerCase();\r\n }\r\n return fieldNameWithDelimiter;\r\n }\r\n\r\n public isCoveoFieldName(fieldName: string): boolean {\r\n const strippedFieldName = this.stripCoveoFieldDelimiter(fieldName);\r\n return this.resolver.isExternalField(strippedFieldName) || this.isDecorated(strippedFieldName);\r\n }\r\n\r\n private isDecorated(fieldName: string): boolean {\r\n const regexString = this.prefix + \"[\\\\w]+\" + this.suffix;\r\n const coveoFieldNameRegex = new RegExp(regexString);\r\n return coveoFieldNameRegex.test(fieldName);\r\n }\r\n\r\n private isValidFieldName(fieldName: string): boolean {\r\n return typeof (fieldName) !== \"undefined\" && fieldName !== \"\";\r\n }\r\n\r\n private startsWithAt(fieldName: string): boolean {\r\n return fieldName[0] === CoveoFieldsHandler.coveoFieldDelimiter;\r\n }\r\n\r\n private stripCoveoFieldDelimiter(fieldName: string): string {\r\n let field = fieldName;\r\n if (this.startsWithAt(fieldName)) {\r\n field = field.substr(1);\r\n }\r\n return field;\r\n }\r\n\r\n private translateFieldName(fieldName: string): string {\r\n let field = fieldName;\r\n\r\n if (this.resolver.shouldEscapeSpecialCharacters(fieldName)) {\r\n field = this.replaceSpecialCharacters(field);\r\n }\r\n if (this.resolver.shouldDecorate(fieldName)) {\r\n field = this.prefix + field + this.suffix;\r\n }\r\n if (this.resolver.shouldEscapeFirstCharacter(field)) {\r\n field = this.replaceFirstCharacter(field);\r\n }\r\n\r\n return field;\r\n }\r\n\r\n private replaceFirstCharacter(fieldName: string): string {\r\n const characters = fieldName.split(\"\");\r\n const firstCharacter = characters.shift();\r\n characters.unshift(this.escapeSpecialCharacter(firstCharacter));\r\n return characters.join(\"\");\r\n }\r\n\r\n private replaceSpecialCharacters(fieldName: string): string {\r\n return fieldName.split(\"\")\r\n .map(this.replaceSpecialCharacter.bind(this))\r\n .join(\"\");\r\n }\r\n\r\n private replaceSpecialCharacter(character: string): string {\r\n if (character.match(CoveoFieldsHandler.nonSpecialCharacters)) {\r\n return character;\r\n } else {\r\n return this.escapeSpecialCharacter(character);\r\n }\r\n }\r\n\r\n private escapeSpecialCharacter(character: string): string {\r\n return `z${character.charCodeAt(0)}x`;\r\n }\r\n}\r\n","import {\r\n IFieldTypeResolver,\r\n IExternalFieldConfig,\r\n ISourceSpecificFieldConfig\r\n } from \"./IFieldTypeResolver\";\r\n\r\nexport class SourceSpecificFieldResolver implements IFieldTypeResolver {\r\n private static readonly validFirstCharacters = new RegExp(\"[a-zA-Z_]\");\r\n\r\n constructor(private sourceSpecificFields: ISourceSpecificFieldConfig[], private externalFields: IExternalFieldConfig[]) {}\r\n\r\n public shouldEscapeFirstCharacter(fieldName: string): boolean {\r\n return !fieldName[0].match(SourceSpecificFieldResolver.validFirstCharacters);\r\n }\r\n\r\n public shouldEscapeSpecialCharacters(fieldName: string): boolean {\r\n return !this.externalFields.some(field => field.fieldName.toLowerCase() === fieldName.toLowerCase());\r\n }\r\n\r\n public shouldDecorate(fieldName: string): boolean {\r\n return this.sourceSpecificFields.some(field => field.fieldName.toLowerCase() === fieldName.toLowerCase());\r\n }\r\n\r\n public isExternalField(fieldName: string): boolean {\r\n return this.externalFields.some(field => field.fieldName.toLowerCase() === fieldName.toLowerCase());\r\n }\r\n}\r\n","export interface ICoveoLabelsHandler {\r\n translate(key: string): string;\r\n}\r\n\r\nexport interface ILabelsDictionary {\r\n [key: string]: string;\r\n}\r\n\r\nexport class CoveoLabelsHandler implements ICoveoLabelsHandler {\r\n constructor(private labels: ILabelsDictionary) {\r\n }\r\n\r\n public translate(key: string): string {\r\n return this.labels[key] || key;\r\n }\r\n}\r\n","export interface IPrebindHandler {\r\n (value: string, element: HTMLElement): string;\r\n}\r\n\r\nexport interface IPrebindAttribute {\r\n attribute: string;\r\n attributeValue: any;\r\n method: IPrebindHandler;\r\n}\r\n\r\nexport interface IPrebindResolver {\r\n registerPrebindHelper(helperName: string, handler: IPrebindHandler): void;\r\n hasHelper(helperName: string): boolean;\r\n getHelper(helperName: string): IPrebindHandler;\r\n applyToElement(element: HTMLElement): void;\r\n hasNotAppliedPrebind(element: HTMLElement): boolean;\r\n}\r\n\r\nexport class PrebindResolver implements IPrebindResolver {\r\n public static prebindString = \"prebind\";\r\n private prebindAppliedValue = \"appliedPrebind\";\r\n private helpers: { [helperName: string]: IPrebindHandler } = {};\r\n\r\n public registerPrebindHelper(helperName: string, handler: IPrebindHandler): void {\r\n if (typeof (helperName) !== \"string\" || helperName === \"\") {\r\n throw \"You must define a name for the prebind helper.\";\r\n }\r\n if (typeof (handler) === \"undefined\" || handler === null) {\r\n throw \"You must define a handler for the prebind helper.\";\r\n }\r\n if (this.helpers.hasOwnProperty(helperName)) {\r\n console.warn(`A prebind handler already exists for '${helperName}'. It will be ignored`);\r\n return;\r\n }\r\n this.helpers[helperName] = handler;\r\n }\r\n\r\n public hasHelper(helperName: string): boolean {\r\n return this.helpers.hasOwnProperty(helperName);\r\n }\r\n\r\n public getHelper(helperName: string): IPrebindHandler {\r\n if (!this.hasHelper(helperName)) {\r\n throw `'${helperName}' has no registered helper.`;\r\n }\r\n return this.helpers[helperName];\r\n }\r\n\r\n public hasNotAppliedPrebind(element: HTMLElement): boolean {\r\n return element.dataset[this.prebindAppliedValue] !== \"true\";\r\n }\r\n\r\n public applyToElement(element: HTMLElement): void {\r\n try {\r\n const attributes = this.getPrebindingAttributesForElement(element);\r\n if (attributes.length > 0) {\r\n element.dataset[this.prebindAppliedValue] = \"true\";\r\n }\r\n attributes.forEach(attributes => this.applyPrebindToElement(attributes, element));\r\n } catch (exception) {\r\n console.warn(\"(CoveoForSitecore) prebinding failed on element.\", element, exception);\r\n }\r\n }\r\n\r\n private getPrebindingAttributesForElement(element: HTMLElement): IPrebindAttribute[] {\r\n return this.getAllPrebindingAttributesNames(element).map(key => {\r\n const methodName = element.dataset[key];\r\n const attribute = this.lowerCaseFirstCharacter(this.removePrebindPrefix(key));\r\n return {\r\n attribute: attribute,\r\n attributeValue: element.dataset[attribute] || \"\",\r\n method: this.getHelper(methodName)\r\n };\r\n });\r\n }\r\n\r\n private getAllPrebindingAttributesNames(element: HTMLElement): string[] {\r\n return Object.keys(element.dataset)\r\n .filter(key => this.stringStartsWithPrebindingString(key))\r\n .filter(key => {\r\n const helperName = element.dataset[key];\r\n return this.filterAndWarnNonExistingHelperName(helperName, element);\r\n });\r\n }\r\n\r\n private stringStartsWithPrebindingString(value: string): boolean {\r\n return value.lastIndexOf(PrebindResolver.prebindString) === 0;\r\n }\r\n\r\n private filterAndWarnNonExistingHelperName(helperName: string, element: HTMLElement): boolean {\r\n const hasHelperWithName: boolean = this.hasHelper(helperName);\r\n\r\n if (!hasHelperWithName) {\r\n console.warn(`(CoveoForSitecore) an unregistered prebinding '${helperName}' was set on the element. Register this method using Prebinding.registerPrebindHelper(\"${helperName}\", handler).`, element);\r\n }\r\n\r\n return hasHelperWithName;\r\n }\r\n\r\n private removePrebindPrefix(attributeName: string): string {\r\n return attributeName.substring(PrebindResolver.prebindString.length);\r\n }\r\n\r\n private lowerCaseFirstCharacter(value: string): string {\r\n return value.charAt(0).toLowerCase() + value.slice(1);\r\n }\r\n\r\n private applyPrebindToElement(prebind: IPrebindAttribute, element: HTMLElement): void {\r\n element.dataset[prebind.attribute] = prebind.method(prebind.attributeValue, element);\r\n }\r\n}\r\n","import { IPrebindHelper } from \"./PrebindHelper\";\r\n\r\nimport { AnalyticsEnabledPrebind } from \"./prebindHelpers/AnalyticsEnabled\";\r\nimport { CoveoForSitecoreAnalyticsEndpointPrebind } from \"./prebindHelpers/CoveoForSitecoreAnalyticsEndpoint\";\r\nimport { CurrentMaximumAge } from \"./prebindHelpers/CurrentMaximumAge\";\r\nimport { CurrentPageNamePrebind } from \"./prebindHelpers/CurrentPageName\";\r\nimport { FieldTranslatorPrebind } from \"./prebindHelpers/FieldTranslator\";\r\nimport { IsAnonymousPrebind } from \"./prebindHelpers/IsAnonymous\";\r\nimport { MainSearchInterfaceSelectorPrebind } from \"./prebindHelpers/MainSearchInterfaceSelector\";\r\nimport { SortCriteriaPrebind } from \"./prebindHelpers/SortCriteria\";\r\nimport { UnfoldDictionaryToAttributesPrebind } from \"./prebindHelpers/UnfoldDictionaryToAttributes\";\r\n\r\nexport class PrebindHelpers {\r\n public static getAllPrebindHelpers(): IPrebindHelper[] {\r\n return [\r\n new AnalyticsEnabledPrebind(),\r\n new CoveoForSitecoreAnalyticsEndpointPrebind(),\r\n new CurrentMaximumAge(),\r\n new CurrentPageNamePrebind(),\r\n new FieldTranslatorPrebind(),\r\n new IsAnonymousPrebind(),\r\n new MainSearchInterfaceSelectorPrebind(),\r\n new SortCriteriaPrebind(),\r\n new UnfoldDictionaryToAttributesPrebind(),\r\n ];\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class AnalyticsEnabledPrebind implements IPrebindHelper {\r\n public name: string = \"analyticsEnabled\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (currentValue: string, element: HTMLElement) => {\r\n return args.context.scAnalyticsEnabled ? \"true\" : \"false\";\r\n };\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class CoveoForSitecoreAnalyticsEndpointPrebind implements IPrebindHelper {\r\n public name: string = \"coveoForSitecoreAnalyticsEndpoint\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (currentValue: string, element: HTMLElement) => {\r\n return currentValue || `${args.context.scRestEndpointUri}/coveoanalytics`;\r\n };\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class CurrentMaximumAge implements IPrebindHelper {\r\n public name: string = \"currentMaximumAge\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (value: string, element: HTMLElement) => {\r\n return value || args.context.scMaximumAge.toString();\r\n };\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class CurrentPageNamePrebind implements IPrebindHelper {\r\n public name: string = \"currentPageName\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (pageName: string, element: HTMLElement) => {\r\n return pageName || args.context.scPageName;\r\n };\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class FieldTranslatorPrebind implements IPrebindHelper {\r\n public name: string = \"fieldTranslator\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (name: string, element: HTMLElement) => {\r\n return args.fieldsHandler.toCoveo(name);\r\n };\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class IsAnonymousPrebind implements IPrebindHelper {\r\n public name: string = \"isAnonymous\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (isAnonymous: string, element: HTMLElement) => {\r\n return args.context.scIsUserAnonymous ? \"true\" : \"false\";\r\n };\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nimport { SearchInterface } from \"coveo-search-ui\";\r\n\r\ninterface ISearchInterfaceValueResolver {\r\n canResolve(mainSearchInterfaceId: string, element: HTMLElement): boolean;\r\n getValue(mainSearchInterfaceId: string, element: HTMLElement): string;\r\n}\r\n\r\nexport class MainSearchInterfaceSelectorPrebind implements IPrebindHelper {\r\n public name: string = \"mainSearchInterfaceSelector\";\r\n\r\n private resolvers: ISearchInterfaceValueResolver[] = [\r\n new ResolveIfSelector(),\r\n new ResolveIfSearchInterfaceIdInPage(),\r\n new ResolveParentSearchInterfaceId(),\r\n new UseMainSearchInterfaceSelectorAsIs()\r\n ];\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (mainSearchInterfaceId: string, element: HTMLElement) => {\r\n const resolver: ISearchInterfaceValueResolver = this.getFirstValidResolver(mainSearchInterfaceId, element);\r\n\r\n return resolver.getValue(mainSearchInterfaceId, element);\r\n };\r\n }\r\n\r\n private getFirstValidResolver(mainSearchInterfaceId: string, element: HTMLElement): ISearchInterfaceValueResolver {\r\n let resolver: ISearchInterfaceValueResolver;\r\n\r\n do {\r\n if (this.resolvers.length === 0) {\r\n const message = \"Could not resolve the search interface element using the current resolver. Ensure that a valid value is set.\";\r\n console.error(message, {\r\n mainSearchInterfaceId: mainSearchInterfaceId,\r\n element: element\r\n });\r\n throw message;\r\n }\r\n resolver = this.resolvers.shift();\r\n } while (!resolver.canResolve(mainSearchInterfaceId, element));\r\n\r\n return resolver;\r\n }\r\n}\r\n\r\nclass ResolveIfSearchInterfaceIdInPage implements ISearchInterfaceValueResolver {\r\n canResolve(mainSearchInterfaceId: string): boolean {\r\n return this.isMainSearchInterfaceDefined(mainSearchInterfaceId) &&\r\n this.isIdSelectorValid(`#${mainSearchInterfaceId}`);\r\n }\r\n\r\n getValue(mainSearchInterfaceId: string): string {\r\n return `#${mainSearchInterfaceId}`;\r\n }\r\n\r\n private isMainSearchInterfaceDefined(mainSearchInterfaceId: string): boolean {\r\n return !!mainSearchInterfaceId;\r\n }\r\n\r\n private isIdSelectorValid(selector: string): boolean {\r\n return document.querySelector(selector) !== null;\r\n }\r\n}\r\n\r\nclass ResolveParentSearchInterfaceId implements ISearchInterfaceValueResolver {\r\n private foundId: string;\r\n\r\n canResolve(mainSearchInterfaceId: string, element: HTMLElement): boolean {\r\n return this.getValue(mainSearchInterfaceId, element) !== null;\r\n }\r\n\r\n getValue(mainSearchInterfaceId: string, element: HTMLElement): string {\r\n if (typeof (this.foundId) === \"undefined\") {\r\n this.foundId = this.tryFindParentSearchInterfaceFromElement(element);\r\n }\r\n\r\n return this.foundId;\r\n }\r\n\r\n private tryFindParentSearchInterfaceFromElement(element: HTMLElement): string {\r\n const parentSearchInterface = this.findParentWithClass(element, `Coveo${SearchInterface.ID}`);\r\n\r\n return !!parentSearchInterface ? `#${parentSearchInterface.id}` : null;\r\n }\r\n\r\n private findParentWithClass(element: HTMLElement, className: string): HTMLElement {\r\n let parent = element.parentElement;\r\n while ((parent = parent.parentElement) && !parent.classList.contains(className)) { }\r\n return parent;\r\n }\r\n}\r\n\r\nclass ResolveIfSelector implements ISearchInterfaceValueResolver {\r\n canResolve(mainSearchInterfaceId: string, element: HTMLElement): boolean {\r\n return !!mainSearchInterfaceId &&\r\n this.isStartingWithSelectorCharacter(mainSearchInterfaceId);\r\n }\r\n\r\n getValue(mainSearchInterfaceId: string, element: HTMLElement): string {\r\n return mainSearchInterfaceId;\r\n }\r\n\r\n private isStartingWithSelectorCharacter(mainSearchInterfaceId: string): boolean {\r\n const firstCharacter = mainSearchInterfaceId[0];\r\n\r\n return [\".\", \"#\"].indexOf(firstCharacter) !== -1;\r\n }\r\n}\r\n\r\n\r\nclass UseMainSearchInterfaceSelectorAsIs implements ISearchInterfaceValueResolver {\r\n canResolve(mainSearchInterfaceId: string, element: HTMLElement): boolean {\r\n return true;\r\n }\r\n\r\n getValue(mainSearchInterfaceId: string, element: HTMLElement): string {\r\n return mainSearchInterfaceId;\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\nimport { ISortDirection, SortCriteriaResolver } from \"../../sortCriteria/SortCriteriaResolver\";\r\n\r\nexport class SortCriteriaPrebind implements IPrebindHelper {\r\n public name: string = \"sortCriteriaResolver\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n const criteriaResolver = new SortCriteriaResolver(args.fieldsHandler);\r\n return (sortCriteriaRawValue: string, element: HTMLElement) => {\r\n const sortCriteria = JSON.parse(sortCriteriaRawValue);\r\n if (Object.keys(sortCriteria).length === 0) {\r\n return null;\r\n }\r\n const sortType = (sortCriteria.type || \"relevancy\").toLowerCase();\r\n const sortDirection = (sortCriteria.direction || \"ascending\").toLowerCase() as ISortDirection;\r\n const toggleDirection = (element.dataset[\"scEnableDirectionToggle\"] || \"false\").toLowerCase() === \"true\";\r\n if (sortType === \"relevancy\") {\r\n return criteriaResolver.resolveRelevancyCriteria();\r\n } else if (sortType === \"date\") {\r\n return criteriaResolver.resolveDateCriteria(sortDirection, toggleDirection);\r\n } else {\r\n const sortField = sortCriteria.field;\r\n return criteriaResolver.resolveFieldCriteria(sortField, sortDirection, toggleDirection);\r\n }\r\n };\r\n }\r\n}\r\n","import { ICoveoFieldHandler } from \"../../handlers/CoveoFieldsHandler\";\r\n\r\nexport type ISortDirection = \"ascending\" | \"descending\";\r\n\r\nexport class SortCriteriaResolver {\r\n constructor(private fieldsHandler: ICoveoFieldHandler) {\r\n }\r\n\r\n resolveFieldCriteria(fieldCriteria: string, sortDirection: ISortDirection, enableToggle: boolean): string {\r\n const field = fieldCriteria.charAt(0) !== \"@\" ? `@${fieldCriteria}` : fieldCriteria;\r\n return this.getFieldCriteria(this.fieldsHandler.toCoveo(field), sortDirection, enableToggle);\r\n }\r\n\r\n resolveDateCriteria(sortDirection: ISortDirection, enableToggle: boolean): string {\r\n return this.getFieldCriteria(\"date\", sortDirection, enableToggle);\r\n }\r\n\r\n resolveRelevancyCriteria(): string {\r\n return \"relevancy\";\r\n }\r\n\r\n private getFieldCriteria(fieldCriteria: string, sortDirection: ISortDirection, enableToggle: boolean): string {\r\n if (enableToggle) {\r\n return `${this.getFieldWithDirection(fieldCriteria, sortDirection)}, ${this.getFieldWithDirection(fieldCriteria, this.getInvertedDirection(sortDirection))}`;\r\n } else {\r\n return this.getFieldWithDirection(fieldCriteria, sortDirection);\r\n }\r\n }\r\n\r\n private getFieldWithDirection(fieldCriteria: string, sortDirection: ISortDirection): string {\r\n return `${fieldCriteria} ${sortDirection}`;\r\n }\r\n\r\n private getInvertedDirection(sortDirection: ISortDirection): ISortDirection {\r\n return sortDirection === \"descending\" ? \"ascending\" : \"descending\";\r\n }\r\n}\r\n","import { IPrebindHelper, IPrebindHelperInitializationArgs } from \"../PrebindHelper\";\r\nimport { IPrebindHandler } from \"../PrebindResolver\";\r\n\r\nexport class UnfoldDictionaryToAttributesPrebind implements IPrebindHelper {\r\n public name: string = \"unfoldDictionaryToAttributesPrebind\";\r\n\r\n public getPrebind(args: IPrebindHelperInitializationArgs): IPrebindHandler {\r\n return (rawDictionary: string, element: HTMLElement) => {\r\n const parsedDictionary = JSON.parse(rawDictionary);\r\n Object.keys(parsedDictionary).forEach(key => {\r\n const translatedField = args.fieldsHandler.toCoveo(key);\r\n const dataKey = \"field\" + translatedField.charAt(0).toUpperCase() + translatedField.slice(1);\r\n element.dataset[dataKey] = parsedDictionary[key];\r\n });\r\n return rawDictionary;\r\n };\r\n }\r\n}\r\n","import { SearchEndpoint as CoveoSearchEndpoint } from \"coveo-search-ui\";\r\n\r\nexport interface ICoveoForSitecoreEndpointOptions {\r\n restEndpointUri?: string;\r\n itemUri: string;\r\n siteName: string;\r\n}\r\n\r\nexport class SearchEndpoint {\r\n static configureSitecoreEndpoint(options: ICoveoForSitecoreEndpointOptions): void {\r\n if (typeof (options) === \"undefined\") {\r\n throw Error(\"You must define endpoint options when calling 'configureSitecoreEndpoint'.\");\r\n }\r\n CoveoSearchEndpoint.endpoints[\"default\"] = SearchEndpoint.createNewEndpoint(options);\r\n }\r\n\r\n private static createNewEndpoint(options: ICoveoForSitecoreEndpointOptions): CoveoSearchEndpoint {\r\n return new CoveoSearchEndpoint({\r\n restUri: options.restEndpointUri || \"/coveo/rest\",\r\n queryStringArguments: {\r\n \"sitecoreItemUri\": options.itemUri,\r\n \"siteName\": options.siteName\r\n }\r\n });\r\n }\r\n}\r\n","import { ISearchInterfaceComponentInitializer, getInitializerInstance } from \"../../resolvers/components/SearchInterfaceComponentInitializer\";\r\nimport { ISitecoreExperienceEditor, getExperienceEditorInstance } from \"./SitecoreExperienceEditor\";\r\nimport { SearchInterfacesProvider } from \"../../utils/SearchInterfaceProvider\";\r\n\r\nimport {\r\n SearchInterface,\r\n get as getCoveoComponent\r\n} from \"coveo-search-ui\";\r\n\r\n\r\nexport class ExternalComponentInitializer {\r\n private searchInterfacesProvider = new SearchInterfacesProvider();\r\n\r\n constructor(private experienceEditor: ISitecoreExperienceEditor = getExperienceEditorInstance(), private searchInterfaceComponentInitializer: ISearchInterfaceComponentInitializer = getInitializerInstance()) {\r\n }\r\n\r\n public initializeExternalComponentSection(externalComponentsSection: HTMLElement): void {\r\n const searchInterface = this.findSearchInterfaceForSection(externalComponentsSection);\r\n if (!!searchInterface) {\r\n this.searchInterfaceComponentInitializer.loadComponentsWithSearchInterfaceInitialization(searchInterface, externalComponentsSection);\r\n } else {\r\n const getAllSearchInterfaceIds = this.getAllSearchInterfaceIdsInPage();\r\n if (getAllSearchInterfaceIds.length > 0) {\r\n console.error(`Could not find the search interface element with the following ID: ${this.getSearchInterfaceId(externalComponentsSection)}. The following IDs were found: ${getAllSearchInterfaceIds.join(\",\")}.`, externalComponentsSection);\r\n }\r\n }\r\n }\r\n\r\n public initializeExperienceEditorHooksForExternalComponentsSection(externalComponentsSection: HTMLElement): void {\r\n const searchInterface = this.findSearchInterfaceForSection(externalComponentsSection);\r\n if (!!searchInterface) {\r\n this.experienceEditor.registerOnLoadRenderingFromUrl(callbackData => {\r\n const component = this.experienceEditor.getComponentFromLoadRenderingFromUrlCallbackData(callbackData);\r\n\r\n if (externalComponentsSection.contains(component)) {\r\n this.searchInterfaceComponentInitializer.loadComponentsForSearchInterface(getCoveoComponent(searchInterface, SearchInterface) as SearchInterface, component);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private findSearchInterfaceForSection(externalComponentsSection: HTMLElement): HTMLElement {\r\n const searchInterfaceId = this.getSearchInterfaceId(externalComponentsSection);\r\n const searchInterfaceElement = document.getElementById(searchInterfaceId);\r\n if (!!searchInterfaceElement) {\r\n return searchInterfaceElement;\r\n }\r\n }\r\n\r\n private getSearchInterfaceId(externalComponentsSection: HTMLElement): string {\r\n return externalComponentsSection.dataset.searchInterfaceId;\r\n }\r\n\r\n private getAllSearchInterfaceIdsInPage(): string[] {\r\n return this.searchInterfacesProvider\r\n .getSearchInterfacesInPage([\"SearchInterface\"])\r\n .map(element => element.id)\r\n .filter(id => !!id);\r\n }\r\n}\r\n","import { SearchInterfacesProvider } from \"../../utils/SearchInterfaceProvider\";\r\nimport { ElementWithContextInitializer } from \"./ElementWithContextInitializer\";\r\n\r\nimport {\r\n $$,\r\n Dom,\r\n get as getCoveoComponents,\r\n initSearchbox,\r\n InitializationEvents\r\n} from \"coveo-search-ui\";\r\n\r\nexport class SearchboxInitializer {\r\n private searchInterfacesProvider = new SearchInterfacesProvider();\r\n\r\n initSearchboxIfStandalone(searchboxElement: HTMLElement, searchPageUri?: string, options?: any): Promise {\r\n const searchInterfaces = this.searchInterfacesProvider.getSearchInterfacesInPage([\"Recommendation\", \"SearchInterface\"]);\r\n return this.waitForSearchInterfacesInitialization(searchInterfaces).then(() => {\r\n if (this.searchboxElementIsNotInitialized(searchboxElement)) {\r\n if (!!searchPageUri) {\r\n ElementWithContextInitializer.initializeContextWithinElement(searchboxElement.parentElement);\r\n // coveo-search-ui doesn't like an initSearchbox directly on the searchbox.\r\n initSearchbox(searchboxElement.parentElement, searchPageUri, options);\r\n } else {\r\n console.warn(`The search box is not included in any search interface and the \"searchPageUri\" parameters is not specified. Consider using a Global Searchbox instead.`, searchboxElement);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private searchboxElementIsNotInitialized(searchBoxElement: HTMLElement): boolean {\r\n return typeof (getCoveoComponents(searchBoxElement, Coveo.Searchbox)) === \"undefined\";\r\n }\r\n\r\n private waitForSearchInterfacesInitialization(searchInterfaces: HTMLElement[]): Promise {\r\n return Promise.all(this.getAllSearchInterfacesAfterComponentInitialization(searchInterfaces))\r\n .then(() => { });\r\n }\r\n\r\n private getAllSearchInterfacesAfterComponentInitialization(searchInterfaces: HTMLElement[]): Promise[] {\r\n return searchInterfaces.map(searchInterface => $$(searchInterface))\r\n .map(searchInterface => this.waitForSearchInterfaceInitialization(searchInterface));\r\n }\r\n\r\n private waitForSearchInterfaceInitialization(searchInterface: Dom): Promise {\r\n return new Promise((resolve, reject) => {\r\n searchInterface.on(InitializationEvents.afterComponentsInitialization, () => resolve());\r\n });\r\n }\r\n}\r\n","import { initContextOnElement } from \"../Initialization\";\r\nimport { ISearchInterfaceComponentInitializer, getInitializerInstance } from \"../../resolvers/components/SearchInterfaceComponentInitializer\";\r\nimport { ISitecoreExperienceEditor, getExperienceEditorInstance } from \"./SitecoreExperienceEditor\";\r\n\r\nimport {\r\n SearchInterface,\r\n init\r\n} from \"coveo-search-ui\";\r\n\r\nexport class SearchInterfaceInitializer {\r\n constructor(private experienceEditor: ISitecoreExperienceEditor = getExperienceEditorInstance(), private searchInterfaceComponentInitializer: ISearchInterfaceComponentInitializer = getInitializerInstance()) { }\r\n\r\n public initSearchInterface(searchInterface: HTMLElement): Promise<{ elem: HTMLElement }> {\r\n if (!this.experienceEditor.isInBackgroundRendering()) {\r\n this.experienceEditor.registerShowDebugInformationCallback();\r\n initContextOnElement(searchInterface);\r\n return init(searchInterface);\r\n }\r\n }\r\n\r\n public initializeExperienceEditorHooksForSearchInterface(searchInterface: HTMLElement): void {\r\n this.experienceEditor.registerOnLoadRenderingFromUrl(callbackData => {\r\n const component = this.experienceEditor.getComponentFromLoadRenderingFromUrlCallbackData(callbackData);\r\n\r\n // Since multiple search interfaces can register event handlers, this ensures that the component is initializing for the correct search interface.\r\n if (searchInterface.contains(component)) {\r\n const searchInterfaceComponent = Coveo.get(searchInterface, Coveo.SearchInterface) as SearchInterface;\r\n this.searchInterfaceComponentInitializer.loadComponentsForSearchInterface(searchInterfaceComponent, component);\r\n }\r\n });\r\n\r\n this.experienceEditor.registerOnAfterPersonalizationChanged(element => {\r\n if (searchInterface.contains(element)) {\r\n const searchInterfaceComponent = Coveo.get(searchInterface, Coveo.SearchInterface) as SearchInterface;\r\n this.searchInterfaceComponentInitializer.loadComponentsForSearchInterface(searchInterfaceComponent, element);\r\n }\r\n });\r\n\r\n this.experienceEditor.registerBeforeUnloadingChrome(element => {\r\n if (searchInterface.contains(element)) {\r\n const searchInterfaceComponent = Coveo.get(searchInterface, Coveo.SearchInterface) as SearchInterface;\r\n this.searchInterfaceComponentInitializer.tryUnloadComponentsForSearchInterface(searchInterfaceComponent, element);\r\n }\r\n });\r\n }\r\n}\r\n\r\n","import { SitecorePublicPathUtils } from \"./utils/SitecorePublicPathUtils\";\r\n__webpack_public_path__ = SitecorePublicPathUtils.getDynamicPublicPath();\r\n\r\nexport { CoveoForSitecoreContext } from \"./ui/context/CoveoForSitecoreContext\";\r\n\r\nimport { lazyCoveoForSitecoreAnalytics } from \"./ui/analytics/LazyCoveoForSitecoreAnalytics\";\r\nlazyCoveoForSitecoreAnalytics();\r\nimport { lazyCoveoForSitecoreConfigureSearchHub } from \"./ui/analytics/LazyCoveoForSitecoreConfigureSearchHub\";\r\nlazyCoveoForSitecoreConfigureSearchHub();\r\nimport { lazyCoveoSendAnalyticsToSitecore } from \"./ui/analytics/LazySendAnalyticsToSitecore\";\r\nlazyCoveoSendAnalyticsToSitecore();\r\nimport { lazyValidateAnalyticsIncluded } from \"./ui/analytics/LazyValidateAnalyticsIncluded\";\r\nlazyValidateAnalyticsIncluded();\r\n\r\nimport { lazyCoveoForSitecoreBindWithUserContext } from \"./ui/context/LazyCoveoForSitecoreBindWithUserContext\";\r\nlazyCoveoForSitecoreBindWithUserContext();\r\n\r\nimport { lazyCoveoForSitecoreExpressions } from \"./ui/scopes/LazyCoveoForSitecoreExpressions\";\r\nlazyCoveoForSitecoreExpressions();\r\nimport { lazyCoveoForSitecoreSyntax } from \"./ui/scopes/LazyCoveoForSitecoreSyntax\";\r\nlazyCoveoForSitecoreSyntax();\r\nimport { lazyCoveoForSitecoreRankingExpression } from \"./ui/scopes/LazyCoveoForSitecoreRankingExpression\";\r\nlazyCoveoForSitecoreRankingExpression();\r\nimport { lazyCoveoForSitecoreExternalContent } from \"./ui/scopes/LazyCoveoForSitecoreExternalContent\";\r\nlazyCoveoForSitecoreExternalContent();\r\nimport { lazyCoveoForSitecoreFilterExpression } from \"./ui/scopes/LazyCoveoForSitecoreFilterExpression\";\r\nlazyCoveoForSitecoreFilterExpression();\r\nimport { lazyCoveoForSitecoreLocalExpression } from \"./ui/scopes/LazyCoveoForSitecoreLocalExpression\";\r\nlazyCoveoForSitecoreLocalExpression();\r\n\r\nimport { lazyCoveoGoogleApiPositionProvider } from \"./ui/distance/LazyGoogleApiPositionProvider\";\r\nlazyCoveoGoogleApiPositionProvider();\r\nimport { lazyCoveoNavigatorPositionProvider } from \"./ui/distance/LazyNavigatorPositionProvider\";\r\nlazyCoveoNavigatorPositionProvider();\r\nimport { lazyCoveoStaticPositionProvider } from \"./ui/distance/LazyStaticPositionProvider\";\r\nlazyCoveoStaticPositionProvider();\r\n\r\nexport * from \"./EventsModules\";\r\nexport * from \"./BaseModules\";\r\n\r\nexport * from \"./base/Initialization\";\r\n","import {\r\n PublicPathUtils,\r\n $$,\r\n Logger\r\n} from \"coveo-search-ui\";\r\nimport { nodeListToArray } from \"./HTMLUtils\";\r\n\r\n/**\r\n * Copied from: https://github.com/coveo/search-ui/blob/master/src/utils/PublicPathUtils.ts\r\n * The only modified part is `getCoveoScript()` which references the .coveo-for-sitecore-script instead of coveo-script.\r\n */\r\nexport class SitecorePublicPathUtils extends PublicPathUtils {\r\n // Overrides the coveo-search-ui implementation to check for our script.\r\n public static getCoveoScript() {\r\n const scriptElements = nodeListToArray(document.querySelectorAll('.coveo-for-sitecore-script')).filter(el => this.isScript(el));\r\n if (scriptElements.length !== 0) {\r\n return scriptElements[0];\r\n } else {\r\n // Message is strongly inspired by the one in the coveo-search-ui.\r\n new Logger(this)\r\n .warn(`You should add the class coveo-for-sitecore-script on the script tag that includes the Coveo for Sitecore script. Not doing so may cause the framework to not be able to auto-detect the path to load the lazy chunks in certain environments.\r\n More details here https://docs.coveo.com/en/295/javascript-search-framework/lazy-versus-eager-component-loading#fixing-code-chunks-loading-path-issues`);\r\n // Returning a value so that the original `getDynamicPublicPath` does not warn a second time.\r\n return this.getCurrentScript();\r\n }\r\n }\r\n\r\n private static isScript(el: Element): el is HTMLScriptElement {\r\n return el && $$(el).is('script');\r\n }\r\n}","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreAnalytics(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreAnalytics\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreAnalytics\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreAnalytics.ts\")[\"CoveoForSitecoreAnalytics\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreAnalytics\", resolve), \"CoveoForSitecoreAnalytics\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreConfigureSearchHub(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreConfigureSearchHub\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreConfigureSearchHub\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreConfigureSearchHub.ts\")[\"CoveoForSitecoreConfigureSearchHub\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreConfigureSearchHub\", resolve), \"CoveoForSitecoreConfigureSearchHub\");\r\n });\r\n });\r\n}\r\n","import {\r\n LazyInitialization,\r\n IComponentDefinition\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoSendAnalyticsToSitecore(): void {\r\n LazyInitialization.registerLazyComponent(\"SendAnalyticsToSitecore\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./SendAnalyticsToSitecore\"], () => {\r\n const loaded = require(\"./SendAnalyticsToSitecore.ts\")[\"SendAnalyticsToSitecore\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"SendAnalyticsToSitecore\", resolve), \"SendAnalyticsToSitecore\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyValidateAnalyticsIncluded(): void {\r\n LazyInitialization.registerLazyComponent(\"ValidateAnalyticsIncluded\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./ValidateAnalyticsIncluded\"], () => {\r\n const loaded = require(\"./ValidateAnalyticsIncluded.ts\")[\"ValidateAnalyticsIncluded\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"ValidateAnalyticsIncluded\", resolve), \"ValidateAnalyticsIncluded\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreBindWithUserContext(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreBindWithUserContext\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreBindWithUserContext\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreBindWithUserContext.ts\")[\"CoveoForSitecoreBindWithUserContext\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreBindWithUserContext\", resolve), \"CoveoForSitecoreBindWithUserContext\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreExpressions(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreExpressions\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreExpressions\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreExpressions.ts\")[\"CoveoForSitecoreExpressions\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreExpressions\", resolve), \"CoveoForSitecoreExpressions\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreSyntax(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreSyntax\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreSyntax\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreSyntax.ts\")[\"CoveoForSitecoreSyntax\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreSyntax\", resolve), \"CoveoForSitecoreSyntax\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreRankingExpression(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreRankingExpression\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreRankingExpression\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreRankingExpression.ts\")[\"CoveoForSitecoreRankingExpression\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreRankingExpression\", resolve), \"CoveoForSitecoreRankingExpression\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreExternalContent(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreExternalContent\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreExternalContent\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreExternalContent.ts\")[\"CoveoForSitecoreExternalContent\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreExternalContent\", resolve), \"CoveoForSitecoreExternalContent\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreFilterExpression(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreFilterExpression\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreFilterExpression\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreFilterExpression.ts\")[\"CoveoForSitecoreFilterExpression\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreFilterExpression\", resolve), \"CoveoForSitecoreFilterExpression\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoForSitecoreLocalExpression(): void {\r\n LazyInitialization.registerLazyComponent(\"ForSitecoreLocalExpression\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./CoveoForSitecoreLocalExpression\"], () => {\r\n const loaded = require(\"./CoveoForSitecoreLocalExpression.ts\")[\"CoveoForSitecoreLocalExpression\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"CoveoForSitecoreLocalExpression\", resolve), \"CoveoForSitecoreLocalExpression\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoGoogleApiPositionProvider(): void {\r\n LazyInitialization.registerLazyComponent(\"GoogleApiPositionProvider\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./GoogleApiPositionProvider\"], () => {\r\n const loaded = require(\"./GoogleApiPositionProvider.ts\")[\"GoogleApiPositionProvider\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"GoogleApiPositionProvider\", resolve), \"GoogleApiPositionProvider\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoNavigatorPositionProvider(): void {\r\n LazyInitialization.registerLazyComponent(\"NavigatorPositionProvider\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./NavigatorPositionProvider\"], () => {\r\n const loaded = require(\"./NavigatorPositionProvider.ts\")[\"NavigatorPositionProvider\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"NavigatorPositionProvider\", resolve), \"NavigatorPositionProvider\");\r\n });\r\n });\r\n}\r\n","import {\r\n IComponentDefinition,\r\n LazyInitialization\r\n} from \"coveo-search-ui\";\r\n\r\nexport function lazyCoveoStaticPositionProvider(): void {\r\n LazyInitialization.registerLazyComponent(\"StaticPositionProvider\", () => {\r\n return new Promise((resolve, reject) => {\r\n require.ensure([\"./StaticPositionProvider\"], () => {\r\n const loaded = require(\"./StaticPositionProvider.ts\")[\"StaticPositionProvider\"];\r\n resolve(loaded);\r\n }, LazyInitialization.buildErrorCallback(\"StaticPositionProvider\", resolve), \"StaticPositionProvider\");\r\n });\r\n });\r\n}\r\n"],"sourceRoot":""}