{"version":3,"sources":["Recommendation.min__ff92a1d47dbcec2611e1.js","./src/ui/ResponsiveComponents/ResponsiveComponentsUtils.ts","./src/ui/Recommendation/Recommendation.ts","./src/events/QuickviewEvents.ts","./src/ui/Templates/DefaultRecommendationTemplate.ts","./src/ui/ResponsiveComponents/ResponsiveRecommendation.ts","./src/ui/ResponsiveComponents/ResponsiveDropdown/RecommendationDropdownContent.ts","./src/ui/Recommendation/RecommendationQuery.ts"],"names":["webpackJsonpCoveo__temporary","130","module","exports","__webpack_require__","Object","defineProperty","value","shouldDrawFacetSlider","root","facetSliderElement","ResponsiveDropdownContent","isTargetInsideOpenedDropdown","this","isSmallFacetActivated","isSmallTabsActivated","hasClass","smallTabsClassName","smallFacetClassName","isSmallRecommendationActivated","smallRecommendationClassName","activateSmallTabs","addClass","deactivateSmallTabs","removeClass","activateSmallFacet","deactivateSmallFacet","activateSmallRecommendation","deactivateSmallRecommendation","ResponsiveComponentsUtils","200","__extends","extendStatics","setPrototypeOf","__proto__","Array","d","b","p","hasOwnProperty","__","constructor","prototype","create","element","options","analyticsOptions","_window","ComponentOptions","initComponentOptions","Recommendation","style","display","id","generateDefaultId","preventEventPropagation","mainSearchInterface","bindToMainSearchInterface","$$","on","QueryEvents","buildingQuery","e","args","handleRecommendationBuildingQuery","querySuccess","handleRecommendationQuerySuccess","noResults","handleRecommendationNoResults","queryError","handleRecommendationQueryError","ensureCurrentPageViewExistsInStore","ResponsiveRecommendation","init","_this","get","queryController","historyStore","enumerable","configurable","getId","enable","show","disable","hide","historyElement","name","document","location","toString","time","JSON","stringify","Date","title","_","escape","addElement","bindComponentOptionsModelToMainSearchInterface","bindQueryEventsToMainSearchInterface","searchInterfaceComponent","SearchInterface","alreadyInitialized","onceInitialized","mainSearchInterfaceOptionsModel","getBindings","componentOptionsModel","setMultiple","getAttributes","getEventName","MODEL_EVENTS","ALL","InitializationEvents","afterComponentsInitialization","mainInterfaceQuery","mainQuerySearchUID","results","searchUid","mainQueryPipeline","pipeline","length","usageAnalytics","logSearchEvent","analyticsActionCauseList","recommendation","executeQuery","closeModalBox","data","disabled","modifyQueryForRecommendation","addRecommendationInfoInQuery","hideIfNoResults","totalCount","Utils","copyObjectAttributes","queryBuilder","optionsToUse","isEmpty","userContext","addContext","preventEventPropagationOn","OmniboxEvents","ResultListEvents","SettingsEvents","PreferencesPanelEvents","AnalyticsEvents","BreadcrumbEvents","QuickviewEvents","getAllModelEvents","eventType","eventName","event","stopPropagation","events","queryStateModel","each","values","Model","eventTypes","QUERY_STATE_ATTRIBUTES","attribute","NEXT_ID","logger","warn","ID","doExport","exportGlobally","DefaultRecommendationTemplate","RecommendationQuery","RecommendationAnalyticsClient","buildSelectorOption","buildJsonOption","buildStringOption","buildListOption","defaultValue","sendActionsHistory","buildBooleanOption","deprecated","autoTriggerQuery","postProcessing","enableResponsiveMode","responsiveBreakpoint","buildNumberOption","dropdownHeaderLabel","buildLocalizedStringOption","localizedString","l","228","quickviewLoaded","openQuickview","471","_super","apply","arguments","instantiateToString","object","instantiateToElement","Promise","resolve","reject","div","createElement","innerHTML","Template","651","coveoRoot","responsiveDropdown","recommendationRoot","getRecommendationRoot","breakpoint","defineResponsiveBreakpoint","searchInterface","Component","el","dropdown","buildDropdown","registerOnOpenHandler","registerQueryEvents","handleResizeEvent","component","Logger","findParentRootOfRecommendationComponent","find","ResponsiveComponentsManager","register","extend","initializationEventRoot","info","parents","computeCssClassName","needSmallMode","changeToSmallMode","changeToLargeMode","isOpened","dropdownContent","positionDropdown","needDropdownWrapper","isWidthSmallerThanBreakpoint","width","responsiveComponents","getResponsiveMode","close","header","DROPDOWN_HEADER_WRAPPER_CSS_CLASS","append","dropdownHeader","disableFacetPreservePosition","Defer","defer","enableFacetPreservePosition","cleanUp","buildDropdownContent","buildDropdownHeader","ResponsiveDropdown","disablePopupBackground","dropdownHeaderElement","content","text","appendChild","ResponsiveDropdownHeader","dropdownContentElement","recommendationColumn","RecommendationDropdownContent","isNullOrUndefined","RESPONSIVE_BREAKPOINT","getFacetSliders","facetSliders","findAll","computeSelectorForType","forEach","facetSlider","push","getFacets","facets","facetElement","facet","preservePosition","drawFacetSliderGraphs","drawDelayedGraphData","recommendationInstance","handleRecommnendationQuerySucess","DROPDOWN_CONTAINER_CSS_CLASS_NAME","652","componentName","cssClassName","DEFAULT_CSS_CLASS_NAME","dropdownContentWrapper","prepend","window","getComputedStyle","maxHeight","OPENED_DROPDOWN_CSS_CLASS_NAME","hideDropdown","653","654","bindings","tagName","toLowerCase","decodeHTMLEntities","isUndefined","bind","onRootElement","handleBuildingQuery","advancedExpression","add","Initialization","registerAutoCreateComponent","655"],"mappings":"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","file":"Recommendation.min__ff92a1d47dbcec2611e1.js","sourcesContent":["webpackJsonpCoveo__temporary([22],{\n\n/***/ 130:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ResponsiveDropdownContent_1 = __webpack_require__(93);\nvar ResponsiveComponentsUtils = /** @class */ (function () {\n function ResponsiveComponentsUtils() {\n }\n ResponsiveComponentsUtils.shouldDrawFacetSlider = function (root, facetSliderElement) {\n return ResponsiveDropdownContent_1.ResponsiveDropdownContent.isTargetInsideOpenedDropdown(facetSliderElement) || !this.isSmallFacetActivated(root);\n };\n ResponsiveComponentsUtils.isSmallTabsActivated = function (root) {\n return root.hasClass(this.smallTabsClassName);\n };\n ResponsiveComponentsUtils.isSmallFacetActivated = function (root) {\n return root.hasClass(this.smallFacetClassName);\n };\n ResponsiveComponentsUtils.isSmallRecommendationActivated = function (root) {\n return root.hasClass(this.smallRecommendationClassName);\n };\n ResponsiveComponentsUtils.activateSmallTabs = function (root) {\n root.addClass(this.smallTabsClassName);\n };\n ResponsiveComponentsUtils.deactivateSmallTabs = function (root) {\n root.removeClass(this.smallTabsClassName);\n };\n ResponsiveComponentsUtils.activateSmallFacet = function (root) {\n root.addClass(this.smallFacetClassName);\n };\n ResponsiveComponentsUtils.deactivateSmallFacet = function (root) {\n root.removeClass(this.smallFacetClassName);\n };\n ResponsiveComponentsUtils.activateSmallRecommendation = function (root) {\n root.addClass(this.smallRecommendationClassName);\n };\n ResponsiveComponentsUtils.deactivateSmallRecommendation = function (root) {\n root.removeClass(this.smallRecommendationClassName);\n };\n ResponsiveComponentsUtils.smallTabsClassName = 'coveo-small-tabs';\n ResponsiveComponentsUtils.smallFacetClassName = 'coveo-small-facets';\n ResponsiveComponentsUtils.smallRecommendationClassName = 'coveo-small-recommendation';\n return ResponsiveComponentsUtils;\n}());\nexports.ResponsiveComponentsUtils = ResponsiveComponentsUtils;\n\n\n/***/ }),\n\n/***/ 200:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SearchInterface_1 = __webpack_require__(19);\nvar ComponentOptions_1 = __webpack_require__(8);\nvar QueryEvents_1 = __webpack_require__(11);\nvar OmniboxEvents_1 = __webpack_require__(34);\nvar ResultListEvents_1 = __webpack_require__(29);\nvar SettingsEvents_1 = __webpack_require__(56);\nvar PreferencesPanelEvents_1 = __webpack_require__(100);\nvar AnalyticsEvents_1 = __webpack_require__(58);\nvar AnalyticsActionListMeta_1 = __webpack_require__(10);\nvar BreadcrumbEvents_1 = __webpack_require__(35);\nvar QuickviewEvents_1 = __webpack_require__(228);\nvar QueryStateModel_1 = __webpack_require__(13);\nvar Model_1 = __webpack_require__(18);\nvar Utils_1 = __webpack_require__(4);\nvar Dom_1 = __webpack_require__(1);\nvar ResponsiveRecommendation_1 = __webpack_require__(651);\nvar RegisteredNamedMethods_1 = __webpack_require__(30);\nvar InitializationEvents_1 = __webpack_require__(17);\nvar _ = __webpack_require__(0);\nvar GlobalExports_1 = __webpack_require__(3);\nvar DefaultRecommendationTemplate_1 = __webpack_require__(471);\nvar RecommendationQuery_1 = __webpack_require__(654);\nvar RecommendationAnalyticsClient_1 = __webpack_require__(210);\n__webpack_require__(655);\nvar Strings_1 = __webpack_require__(6);\n/**\n * The Recommendation component is a {@link SearchInterface} that displays recommendations typically based on user\n * history.\n *\n * This component usually listens to the main SearchInterface. When the main SearchInterface generates a query, the\n * Recommendation component generates another query to get the recommendations at the same time.\n *\n * To get history-based recommendations, you will likely want to include the `pageview` script in your page (see\n * [coveo.analytics.js](https://github.com/coveo/coveo.analytics.js)). However, including this script is not mandatory.\n * For instance, you could use the Recommendation component without the Coveo Machine Learning service to create a\n * simple \"recommended people\" interface.\n *\n * It is possible to include this component inside another SearchInterface, but it is also possible to instantiate it as\n * a \"standalone\" search interface, without even instantiating a main SearchInterface component. In any case, a\n * Recommendation component always acts as a full-fledged search interface. Therefore, you can include any component\n * inside the Recommendation component (Searchbox, Facet, Sort, etc.), just as you would inside the main SearchInterface\n * component.\n *\n * @availablesince [July 2016 Release (v1.667.24)](https://docs.coveo.com/en/309/#july-2016-release-v166724)\n */\nvar Recommendation = /** @class */ (function (_super) {\n __extends(Recommendation, _super);\n /**\n * Creates a new Recommendation component.\n * @param element The HTMLElement on which to instantiate the component.\n * @param options The options for the Recommendation component.\n * @param bindings The bindings that the component requires to function normally. If not set, these will be\n * automatically resolved (with a slower execution time)\n * @param _window\n */\n function Recommendation(element, options, analyticsOptions, _window) {\n if (options === void 0) { options = {}; }\n if (analyticsOptions === void 0) { analyticsOptions = {}; }\n if (_window === void 0) { _window = window; }\n var _this = _super.call(this, element, ComponentOptions_1.ComponentOptions.initComponentOptions(element, Recommendation, options), analyticsOptions, _window) || this;\n _this.element = element;\n _this.options = options;\n _this.analyticsOptions = analyticsOptions;\n _this.element.style.display = '';\n if (!_this.options.id) {\n _this.generateDefaultId();\n }\n // This is done to allow the component to be included in another search interface without triggering the parent events.\n _this.preventEventPropagation();\n if (_this.options.mainSearchInterface) {\n _this.bindToMainSearchInterface();\n }\n Dom_1.$$(_this.element).on(QueryEvents_1.QueryEvents.buildingQuery, function (e, args) {\n return _this.handleRecommendationBuildingQuery(args);\n });\n Dom_1.$$(_this.element).on(QueryEvents_1.QueryEvents.querySuccess, function (e, args) { return _this.handleRecommendationQuerySuccess(args); });\n Dom_1.$$(_this.element).on(QueryEvents_1.QueryEvents.noResults, function (e, args) { return _this.handleRecommendationNoResults(); });\n Dom_1.$$(_this.element).on(QueryEvents_1.QueryEvents.queryError, function (e, args) { return _this.handleRecommendationQueryError(); });\n if (!_this.options.mainSearchInterface) {\n // When the recommendation component is \"standalone\", we add additional safeguard against bad config.\n _this.ensureCurrentPageViewExistsInStore();\n }\n ResponsiveRecommendation_1.ResponsiveRecommendation.init(_this.root, _this, options);\n return _this;\n }\n Object.defineProperty(Recommendation.prototype, \"historyStore\", {\n get: function () {\n return this.queryController.historyStore;\n },\n enumerable: true,\n configurable: true\n });\n Recommendation.prototype.getId = function () {\n return this.options.id;\n };\n Recommendation.prototype.enable = function () {\n _super.prototype.enable.call(this);\n this.show();\n };\n Recommendation.prototype.disable = function () {\n _super.prototype.disable.call(this);\n this.hide();\n };\n Recommendation.prototype.hide = function () {\n Dom_1.$$(this.element).addClass('coveo-hidden');\n };\n Recommendation.prototype.show = function () {\n Dom_1.$$(this.element).removeClass('coveo-hidden');\n };\n Recommendation.prototype.ensureCurrentPageViewExistsInStore = function () {\n // It's not 100% sure that the element will actually be added in the store.\n // It's possible that an external script configured by the end user to log the page view already did that.\n // So we *could* end up with duplicate values in the store :\n // We rely on the fact that the coveo.analytics lib has defensive code against consecutive page view that are identical.\n // This is mainly done if the recommendation component is being initialized before the page view could be logged correctly by the coveo.analytics externa lib.\n var historyElement = {\n name: 'PageView',\n value: document.location.toString(),\n time: JSON.stringify(new Date()),\n title: _.escape(document.title)\n };\n this.historyStore.addElement(historyElement);\n };\n Recommendation.prototype.bindToMainSearchInterface = function () {\n this.bindComponentOptionsModelToMainSearchInterface();\n this.bindQueryEventsToMainSearchInterface();\n };\n Recommendation.prototype.bindComponentOptionsModelToMainSearchInterface = function () {\n var _this = this;\n // Try to fetch the componentOptions from the main search interface.\n // Since we do not know which interface is init first (recommendation or full search interface)\n // add a mechanism that waits for the full search interface to be correctly initialized\n // then, set the needed values on the component options model.\n var searchInterfaceComponent = RegisteredNamedMethods_1.get(this.options.mainSearchInterface, SearchInterface_1.SearchInterface);\n var alreadyInitialized = searchInterfaceComponent != null;\n var onceInitialized = function () {\n var mainSearchInterfaceOptionsModel = searchInterfaceComponent.getBindings().componentOptionsModel;\n _this.componentOptionsModel.setMultiple(mainSearchInterfaceOptionsModel.getAttributes());\n Dom_1.$$(_this.options.mainSearchInterface).on(_this.componentOptionsModel.getEventName(Model_1.MODEL_EVENTS.ALL), function () {\n _this.componentOptionsModel.setMultiple(mainSearchInterfaceOptionsModel.getAttributes());\n });\n };\n if (alreadyInitialized) {\n onceInitialized();\n }\n else {\n Dom_1.$$(this.options.mainSearchInterface).on(InitializationEvents_1.InitializationEvents.afterComponentsInitialization, function () {\n searchInterfaceComponent = RegisteredNamedMethods_1.get(_this.options.mainSearchInterface, SearchInterface_1.SearchInterface);\n onceInitialized();\n });\n }\n };\n Recommendation.prototype.bindQueryEventsToMainSearchInterface = function () {\n var _this = this;\n // Whenever a query sucessfully returns on the full search interface, refresh the recommendation component.\n Dom_1.$$(this.options.mainSearchInterface).on(QueryEvents_1.QueryEvents.querySuccess, function (e, args) {\n _this.mainInterfaceQuery = args;\n _this.mainQuerySearchUID = args.results.searchUid;\n _this.mainQueryPipeline = args.results.pipeline;\n if (args.results.results.length != 0) {\n _this.usageAnalytics.logSearchEvent(AnalyticsActionListMeta_1.analyticsActionCauseList.recommendation, {});\n _this.queryController.executeQuery({\n closeModalBox: false\n });\n }\n });\n Dom_1.$$(this.options.mainSearchInterface).on(QueryEvents_1.QueryEvents.queryError, function () { return _this.hide(); });\n Dom_1.$$(this.options.mainSearchInterface).on(QueryEvents_1.QueryEvents.noResults, function () { return _this.hide(); });\n };\n Recommendation.prototype.handleRecommendationBuildingQuery = function (data) {\n if (!this.disabled) {\n this.modifyQueryForRecommendation(data);\n this.addRecommendationInfoInQuery(data);\n }\n };\n Recommendation.prototype.handleRecommendationQuerySuccess = function (data) {\n if (!this.disabled) {\n if (this.options.hideIfNoResults) {\n if (data.results.totalCount === 0) {\n this.hide();\n }\n else {\n this.show();\n }\n }\n }\n };\n Recommendation.prototype.handleRecommendationNoResults = function () {\n if (!this.disabled) {\n if (this.options.hideIfNoResults) {\n this.hide();\n }\n }\n };\n Recommendation.prototype.handleRecommendationQueryError = function () {\n if (!this.disabled) {\n this.hide();\n }\n };\n Recommendation.prototype.modifyQueryForRecommendation = function (data) {\n if (this.mainInterfaceQuery) {\n Utils_1.Utils.copyObjectAttributes(data.queryBuilder, this.mainInterfaceQuery.queryBuilder, this.options.optionsToUse);\n }\n };\n Recommendation.prototype.addRecommendationInfoInQuery = function (data) {\n if (!_.isEmpty(this.options.userContext)) {\n data.queryBuilder.addContext(this.options.userContext);\n }\n data.queryBuilder.recommendation = this.options.id;\n };\n Recommendation.prototype.preventEventPropagation = function () {\n this.preventEventPropagationOn(QueryEvents_1.QueryEvents);\n this.preventEventPropagationOn(OmniboxEvents_1.OmniboxEvents);\n this.preventEventPropagationOn(ResultListEvents_1.ResultListEvents);\n this.preventEventPropagationOn(SettingsEvents_1.SettingsEvents);\n this.preventEventPropagationOn(PreferencesPanelEvents_1.PreferencesPanelEvents);\n this.preventEventPropagationOn(AnalyticsEvents_1.AnalyticsEvents);\n this.preventEventPropagationOn(BreadcrumbEvents_1.BreadcrumbEvents);\n this.preventEventPropagationOn(QuickviewEvents_1.QuickviewEvents);\n this.preventEventPropagationOn(InitializationEvents_1.InitializationEvents);\n this.preventEventPropagationOn(this.getAllModelEvents());\n };\n Recommendation.prototype.preventEventPropagationOn = function (eventType, eventName) {\n if (eventName === void 0) { eventName = function (event) {\n return event;\n }; }\n for (var event_1 in eventType) {\n Dom_1.$$(this.root).on(eventName(event_1), function (e) { return e.stopPropagation(); });\n }\n };\n Recommendation.prototype.getAllModelEvents = function () {\n var _this = this;\n var events = {};\n var queryStateModel = this.getBindings().queryStateModel;\n _.each(_.values(Model_1.Model.eventTypes), function (event) {\n var eventName = queryStateModel.getEventName(event);\n events[eventName] = eventName;\n _.each(_.values(QueryStateModel_1.QUERY_STATE_ATTRIBUTES), function (attribute) {\n var eventName = _this.queryStateModel.getEventName(event + attribute);\n events[eventName] = eventName;\n });\n });\n return events;\n };\n Recommendation.prototype.generateDefaultId = function () {\n var id = 'Recommendation';\n if (Recommendation.NEXT_ID !== 1) {\n this.logger.warn('Generating another recommendation default id', 'Consider configuring a human friendly / meaningful id for this interface');\n id = id + '_' + Recommendation.NEXT_ID;\n }\n Recommendation.NEXT_ID++;\n this.options.id = id;\n };\n Recommendation.ID = 'Recommendation';\n Recommendation.NEXT_ID = 1;\n Recommendation.doExport = function () {\n GlobalExports_1.exportGlobally({\n Recommendation: Recommendation,\n DefaultRecommendationTemplate: DefaultRecommendationTemplate_1.DefaultRecommendationTemplate,\n RecommendationQuery: RecommendationQuery_1.RecommendationQuery,\n RecommendationAnalyticsClient: RecommendationAnalyticsClient_1.RecommendationAnalyticsClient\n });\n };\n /**\n * The options for the recommendation component\n * @componentOptions\n */\n Recommendation.options = {\n /**\n * Specifies the main {@link SearchInterface} to listen to.\n */\n mainSearchInterface: ComponentOptions_1.ComponentOptions.buildSelectorOption(),\n /**\n * Specifies the user context to send to Coveo usage analytics.\n * The component sends this information with the query alongside the user history to get the recommendations.\n */\n userContext: ComponentOptions_1.ComponentOptions.buildJsonOption(),\n /**\n * Specifies the ID of the interface.\n * The usage analytics use the interface ID to know which recommendation interface was selected.\n *\n * Default value is `Recommendation` for the first one and `Recommendation_{number}`, where {number} depends on the\n * number of Recommendation interfaces with default IDs in the page for the others.\n */\n id: ComponentOptions_1.ComponentOptions.buildStringOption(),\n /**\n * Specifies which options from the main {@link QueryBuilder} to use in the triggered query.\n *\n * Possible values are:\n * - `expression`\n * - `advancedExpression`\n * - `constantExpression`\n * - `disjunctionExpression`\n *\n * **Example:**\n *\n * Adding the expression (`q`) and the advanced expression (`aq`) parts of the main query in the triggered query:\n *\n * `data-options-to-use=\"expression,advancedExpression\"`\n *\n * Default value is `expression`.\n */\n optionsToUse: ComponentOptions_1.ComponentOptions.buildListOption({\n defaultValue: ['expression']\n }),\n /**\n * Specifies whether to send the actions history along with the triggered query.\n *\n * Setting this option to `false` makes it impossible for this component to get Coveo Machine Learning\n * recommendations.\n *\n * However, setting this option to `false` can be useful to display side results in a search page.\n *\n * Default value is `true`.\n *\n * @deprecated This option is now deprecated. The correct way to control this behavior is to configure an appropriate machine learning model in the administration interface (Recommendation, Relevance tuning, Query suggestions).\n */\n sendActionsHistory: ComponentOptions_1.ComponentOptions.buildBooleanOption({\n defaultValue: true,\n deprecated: 'This option is now deprecated. The correct way to control this behaviour is to configure an appropriate machine learning model in the administration interface (Recommendation, Relevance tuning, Query suggestions)'\n }),\n /**\n * Specifies whether to hide the Recommendations component if no result or recommendation is available.\n *\n * Default value is `true`.\n */\n hideIfNoResults: ComponentOptions_1.ComponentOptions.buildBooleanOption({ defaultValue: true }),\n autoTriggerQuery: ComponentOptions_1.ComponentOptions.buildBooleanOption({\n postProcessing: function (value, options) {\n if (options.mainSearchInterface) {\n return false;\n }\n return value;\n }\n }),\n /**\n * Specifies whether to enable *responsive mode* for Recommendation components. Setting this options to `false` on\n * any Recommendation component in a search interface disables responsive mode for all other Recommendation\n * components in the search interface.\n *\n * Responsive mode displays all Recommendation components under a single dropdown button whenever the width of the\n * HTML element which the search interface is bound to reaches or falls behind a certain threshold (see\n * {@link Recommendation.options.responsiveBreakpoint}).\n *\n * See also {@link Recommendation.options.dropdownHeaderLabel}.\n *\n * Default value is `true`.\n */\n enableResponsiveMode: ComponentOptions_1.ComponentOptions.buildBooleanOption({ defaultValue: true }),\n /**\n * If {@link Recommendation.options.enableResponsiveMode} is `true` for all Recommendation components, specifies the\n * width threshold (in pixels) of the search interface at which Recommendation components go in responsive mode.\n *\n * Recommendation components go in responsive mode when the width of the search interface is equal to or lower than\n * this value.\n *\n * The `search interface` corresponds to the HTML element with the class `CoveoSearchInterface`.\n *\n * If more than one Recommendation component in the search interface specifies a value for this option, then the\n * framework uses the last occurrence of the option.\n *\n * Default value is `1000`.\n */\n responsiveBreakpoint: ComponentOptions_1.ComponentOptions.buildNumberOption({ defaultValue: 1000 }),\n /**\n * If {@link Recommendation.options.enableResponsiveMode} is `true` for all Recommendation components, specifies the\n * label of the dropdown button that allows to display the Recommendation components when in responsive mode.\n *\n * If more than one Recommendation component in the search interface specifies a value for this option, then the\n * framework uses the first occurrence of the option.\n *\n * Default value is `Recommendations`.\n */\n dropdownHeaderLabel: ComponentOptions_1.ComponentOptions.buildLocalizedStringOption({\n localizedString: function () { return Strings_1.l('Recommendations'); }\n })\n };\n return Recommendation;\n}(SearchInterface_1.SearchInterface));\nexports.Recommendation = Recommendation;\n// We do not register the Recommendation component since it is done with .coveo('initRecommendation')\n\n\n/***/ }),\n\n/***/ 228:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * The `QuickviewEvents` static class contains the string definitions of all events that strongly relate to the\n * [`Quickview`]{@link Quickview} component.\n */\nvar QuickviewEvents = /** @class */ (function () {\n function QuickviewEvents() {\n }\n /**\n * Triggered by the [`QuickviewDocument`]{@link QuickviewDocument} component when the content to display in the\n * quickview modal window has just finished downloading.\n *\n * The [`Quickview`]{@link Quickview} component listens to this event to know when to remove its loading animation.\n *\n * All `quickviewLoaded` event handlers receive a [`QuickviewLoadedEventArgs`]{@link IQuickviewLoadedEventArgs} object\n * as an argument.\n *\n * @type {string} The string value is `quickviewLoaded`.\n */\n QuickviewEvents.quickviewLoaded = 'quickviewLoaded';\n /**\n * Triggered by the [`QuickviewDocument`]{@link QuickviewDocument} component when the end user has just clicked the\n * **Quickview** button/link to open the quickview modal window.\n *\n * This event allows external code to modify the terms to highlight before the content of the quickview modal window\n * is rendered.\n *\n * All `openQuickview` event handlers receive an\n * [`OpenQuickviewEventArgs`]{@link ResultListEvents.IOpenQuickviewEventArgs} object as an argument.\n *\n * @type {string} The string value is `openQuickview`.\n */\n QuickviewEvents.openQuickview = 'openQuickview';\n return QuickviewEvents;\n}());\nexports.QuickviewEvents = QuickviewEvents;\n\n\n/***/ }),\n\n/***/ 471:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Template_1 = __webpack_require__(27);\nvar DefaultRecommendationTemplate = /** @class */ (function (_super) {\n __extends(DefaultRecommendationTemplate, _super);\n function DefaultRecommendationTemplate() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DefaultRecommendationTemplate.prototype.instantiateToString = function (object) {\n var template = \"