{"version":3,"sources":["./src/ui/ErrorReport/ErrorReport.ts","./sass/_ErrorReport.scss"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yBAA8B;AAC9B,4CAA6E;AAC7E,6CAAqD;AACrD,sCAA2C;AAG3C,uCAA0C;AAC1C,iDAAgE;AAChE,mCAA0C;AAC1C,wDAAkG;AAClG,yCAA8C;AAE9C,gDAA4D;AAC5D,8CAAwD;AAMxD;;;;;GAKG;AACH;IAAiC,+BAAS;IA2BxC;;;;;;OAMG;IACH,qBAAmB,OAAoB,EAAS,OAA6B,EAAE,QAA6B;QAA5G,YACE,kBAAM,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,SAmBzC;QApBkB,aAAO,GAAP,OAAO,CAAa;QAAS,aAAO,GAAP,OAAO,CAAsB;QAE3E,KAAI,CAAC,OAAO,GAAG,mCAAgB,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACpF,KAAI,CAAC,SAAS,GAAG,QAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC1E,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAI,KAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAClC,KAAI,CAAC,OAAO,GAAG,QAAE,CAAC,KAAK,EAAE;gBACvB,SAAS,EAAE,4BAA4B;aACxC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACxC;QACD,KAAI,CAAC,cAAc,GAAG,QAAE,CAAC,KAAK,EAAE;YAC9B,SAAS,EAAE,oCAAoC;SAChD,CAAC,CAAC;QAEH,QAAE,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAExB,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAW,CAAC,QAAQ,EAAE,cAAM,YAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,CAAC,CAAC;QAC3E,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAW,CAAC,UAAU,EAAE,UAAC,IAA0B,IAAK,YAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;;IAC/G,CAAC;IAED;;;OAGG;IACI,0BAAI,GAAX;QACE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kDAAwB,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kDAAwB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,2BAAK,GAAZ;QACE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kDAAwB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACnG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kDAAwB,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9G,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,2BAAK,GAAZ;QACE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kDAAwB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,cAAc,CAAC,cAAc,CAAmB,kDAAwB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAEO,6CAAuB,GAA/B;QACE,IAAM,YAAY,GAAG,QAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAExE,IAAI,KAAU,CAAC;QACf,IAAI,YAAY,EAAE;YAChB,KAAK,GAAG,QAAE,CAAC,YAAY,CAAC,CAAC;SAC1B;aAAM;YACL,KAAK,GAAG,QAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAClC;QAED,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,YAAY,EAAE;YACjB,YAAY,GAAG,QAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC5B;QAED,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAG,QAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC7B;QAED,OAAO;YACL,KAAK;YACL,EAAE,EAAE,QAAE,CAAC,YAAY,CAAC;YACpB,EAAE,EAAE,QAAE,CAAC,aAAa,CAAC;SACtB,CAAC;IACJ,CAAC;IAEO,mCAAa,GAArB,UAAsB,SAAkB,EAAE,cAAuB;QAC/D,IAAM,UAAU,GAAG;YACjB,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,WAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAC,CAAC,WAAW,CAAC;YAC7C,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,WAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAC,CAAC,iBAAiB,CAAC;SAC9D,CAAC;QAEI,uCAA2C,EAAzC,UAAE,EAAE,UAAE,CAAoC;QAClD,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,QAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3B,QAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC5B;IACH,CAAC;IAEO,mCAAa,GAArB;QAAA,iBAgBC;QAfC,IAAM,QAAQ,GAAG,QAAE,CACjB,MAAM,EACN;YACE,SAAS,EAAE,6BAA6B;SACzC,EACD,WAAC,CAAC,QAAQ,CAAC,CACZ,CAAC;QAEF,IAAI,mCAAgB,EAAE;aACnB,WAAW,CAAC,QAAQ,CAAC;aACrB,gBAAgB,CAAC,cAAM,YAAI,CAAC,IAAI,EAAE,EAAX,CAAW,CAAC;aACnC,SAAS,CAAC,WAAC,CAAC,QAAQ,CAAC,CAAC;aACtB,KAAK,EAAE,CAAC;QAEX,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAEO,gCAAU,GAAlB;QAAA,iBAgBC;QAfC,IAAM,KAAK,GAAG,QAAE,CACd,MAAM,EACN;YACE,SAAS,EAAE,0BAA0B;SACtC,EACD,WAAC,CAAC,OAAO,CAAC,CACX,CAAC;QAEF,IAAI,mCAAgB,EAAE;aACnB,WAAW,CAAC,KAAK,CAAC;aAClB,gBAAgB,CAAC,cAAM,YAAI,CAAC,KAAK,EAAE,EAAZ,CAAY,CAAC;aACpC,SAAS,CAAC,WAAC,CAAC,OAAO,CAAC,CAAC;aACrB,KAAK,EAAE,CAAC;QAEX,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAEO,gCAAU,GAAlB;QAAA,iBAgBC;QAfC,IAAM,KAAK,GAAG,QAAE,CACd,MAAM,EACN;YACE,SAAS,EAAE,0BAA0B;SACtC,EACD,WAAC,CAAC,OAAO,CAAC,CACX,CAAC;QAEF,IAAI,mCAAgB,EAAE;aACnB,WAAW,CAAC,KAAK,CAAC;aAClB,gBAAgB,CAAC,cAAM,YAAI,CAAC,KAAK,EAAE,EAAZ,CAAY,CAAC;aACpC,SAAS,CAAC,WAAC,CAAC,OAAO,CAAC,CAAC;aACrB,KAAK,EAAE,CAAC;QAEX,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAEO,oCAAc,GAAtB;QACE,QAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClB,uCAA2C,EAAzC,UAAE,EAAE,UAAE,CAAoC;QAClD,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAEO,sCAAgB,GAAxB,UAAyB,IAA0B;QAAnD,iBAiEC;QAhEC,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,EAAE;YAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC;SACjF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,WAAC,CAAC,mBAAmB,CAAC,CAAC;SAC9C;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,IAAiC,IAAI,CAAC,KAAM,CAAC,uBAAuB,EAAE;YACpE,OAAO;SACR;QAED,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,KAAK,sBAAsB;gBACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,0BAA0B,CAAC,gCAAgC,CAAC,CAAC;gBAClE,IAAI,CAAC,aAAa,CAAC,WAAC,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,WAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC3E,MAAM;YAER,KAAK,uBAAuB;gBAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,0BAA0B,CAAC,+BAA+B,CAAC,CAAC;gBACjE,IAAI,CAAC,aAAa,CAAC,WAAC,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,WAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC9E,MAAM;YAER,KAAK,sCAAsC;gBACzC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,0BAA0B,CAAC,gCAAgC,CAAC,CAAC;gBAClE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBACzE,MAAM;YAER,KAAK,+BAA+B;gBAClC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,0BAA0B,CAAC,iCAAiC,CAAC,CAAC;gBACnE,IAAI,CAAC,aAAa,CAAC,WAAC,CAAC,wBAAwB,CAAC,EAAE,WAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC3E,MAAM;YAER;gBACE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAM,UAAQ,GAAG,QAAE,CACjB,MAAM,EACN;gBACE,SAAS,EAAE,8BAA8B;aAC1C,EACD,WAAC,CAAC,UAAU,CAAC,CACd,CAAC;YAEF,UAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;gBACnB,UAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,UAAQ,CAAC,EAAE,CAAC,CAAC;SAC1C;QAED,QAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,oCAAc,GAAtB,UAAuB,IAAoB;QACzC,IAAM,SAAS,GAAG,QAAE,CAAC,KAAK,EAAE;YAC1B,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,QAAE,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAM,SAAS,GAAG,QAAE,CAClB,KAAK,EACL;YACE,SAAS,EAAE,wBAAwB;SACpC,EACD,WAAC,CAAC,oBAAoB,CAAC,CACxB,CAAC;QACF,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvC,OAAO,SAAS,CAAC,EAAE,CAAC;IACtB,CAAC;IAEO,yCAAmB,GAA3B;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACtE,IAAI,UAAU,EAAE;YACd,QAAE,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;SACzB;QACD,IAAM,cAAc,GAAG,QAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC9E,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,gDAA0B,GAAlC,UAAmC,QAAmD;QAAnD,sEAAmD;QACpF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,IAAM,IAAI,GAAG,QAAE,CAAC,GAAG,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,8BAA8B;SAC1C,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,WAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAhTM,cAAE,GAAG,aAAa,CAAC;IAEnB,oBAAQ,GAAG;QAChB,8BAAc,CAAC;YACb,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF;;;OAGG;IACI,mBAAO,GAAwB;QACpC;;;;WAIG;QACH,iBAAiB,EAAE,mCAAgB,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC/E,CAAC;IA8RJ,kBAAC;CAAA,CAlTgC,qBAAS,GAkTzC;AAlTY,kCAAW;AAoTxB,+BAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;;;;;;;;AC7UxD,yC","file":"ErrorReport__d2b01b0f173a0c131e66.js","sourcesContent":["import 'styling/_ErrorReport';\nimport { IQueryErrorEventArgs, QueryEvents } from '../../events/QueryEvents';\nimport { exportGlobally } from '../../GlobalExports';\nimport { Assert } from '../../misc/Assert';\nimport { IEndpointError } from '../../rest/EndpointError';\nimport { MissingAuthenticationError } from '../../rest/MissingAuthenticationError';\nimport { l } from '../../strings/Strings';\nimport { AccessibleButton } from '../../utils/AccessibleButton';\nimport { $$, Dom } from '../../utils/Dom';\nimport { analyticsActionCauseList, IAnalyticsNoMeta } from '../Analytics/AnalyticsActionListMeta';\nimport { Component } from '../Base/Component';\nimport { IComponentBindings } from '../Base/ComponentBindings';\nimport { ComponentOptions } from '../Base/ComponentOptions';\nimport { Initialization } from '../Base/Initialization';\n\nexport interface IErrorReportOptions {\n  showDetailedError: boolean;\n}\n\n/**\n * The ErrorReport component takes care of handling fatal error when doing a query on the index / Search API.\n *\n * For example, the ErrorReport component displays a message when the service responds with a 401 or 503 error. This\n * component also renders a small text area with the JSON content of the error response, for debugging purposes.\n */\nexport class ErrorReport extends Component {\n  static ID = 'ErrorReport';\n\n  static doExport = () => {\n    exportGlobally({\n      ErrorReport: ErrorReport\n    });\n  };\n\n  /**\n   * The options for the component\n   * @componentOptions\n   */\n  static options: IErrorReportOptions = {\n    /**\n     * Specifies whether to display a detailed error message as a JSON in a text content area.\n     *\n     * Default value is `true`.\n     */\n    showDetailedError: ComponentOptions.buildBooleanOption({ defaultValue: true })\n  };\n  private organizationId;\n  private message: Dom;\n  private container: Dom;\n  private helpSuggestion: Dom;\n  private closePopup: () => void;\n\n  /**\n   * Creates a new ErrorReport component.\n   * @param element The HTMLElement on which to instantiate the component.\n   * @param options The options for the ErrorReport 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   */\n  constructor(public element: HTMLElement, public options?: IErrorReportOptions, bindings?: IComponentBindings) {\n    super(element, ErrorReport.ID, bindings);\n    this.options = ComponentOptions.initComponentOptions(element, ErrorReport, options);\n    this.container = $$('div', { className: 'coveo-error-report-container' });\n    this.element.appendChild(this.container.el);\n\n    if (this.options.showDetailedError) {\n      this.message = $$('div', {\n        className: 'coveo-error-report-message'\n      });\n      this.container.append(this.message.el);\n    }\n    this.helpSuggestion = $$('div', {\n      className: 'coveo-error-report-help-suggestion'\n    });\n\n    $$(this.element).hide();\n\n    this.bind.onRootElement(QueryEvents.newQuery, () => this.handleNewQuery());\n    this.bind.onRootElement(QueryEvents.queryError, (data: IQueryErrorEventArgs) => this.handleQueryError(data));\n  }\n\n  /**\n   * Performs the \"back\" action in the browser.\n   * Also logs an `errorBack` event in the usage analytics.\n   */\n  public back(): void {\n    this.usageAnalytics.logCustomEvent<IAnalyticsNoMeta>(analyticsActionCauseList.errorBack, {}, this.root);\n    this.usageAnalytics.logSearchEvent<IAnalyticsNoMeta>(analyticsActionCauseList.errorBack, {});\n    history.back();\n  }\n\n  /**\n   * Resets the current state of the query and triggers a new query.\n   * Also logs an `errorClearQuery` event in the usage analytics.\n   */\n  public reset(): void {\n    this.queryStateModel.reset();\n    this.usageAnalytics.logSearchEvent<IAnalyticsNoMeta>(analyticsActionCauseList.errorClearQuery, {});\n    this.usageAnalytics.logCustomEvent<IAnalyticsNoMeta>(analyticsActionCauseList.errorClearQuery, {}, this.root);\n    this.queryController.executeQuery();\n  }\n\n  /**\n   * Retries the same query, in case of a temporary service error.\n   * Also logs an `errorRetry` event in the usage analytics.\n   */\n  public retry(): void {\n    this.usageAnalytics.logSearchEvent<IAnalyticsNoMeta>(analyticsActionCauseList.errorRetry, {});\n    this.usageAnalytics.logCustomEvent<IAnalyticsNoMeta>(analyticsActionCauseList.errorRetry, {}, this.root);\n    this.queryController.executeQuery();\n  }\n\n  private buildOrGetTitleElements() {\n    const titleElement = $$(this.element).find('.coveo-error-report-title');\n\n    let title: Dom;\n    if (titleElement) {\n      title = $$(titleElement);\n    } else {\n      title = $$('div', { className: 'coveo-error-report-title' });\n      this.container.prepend(title.el);\n    }\n\n    let firstHeading = title.find('h1');\n\n    if (!firstHeading) {\n      firstHeading = $$('h1').el;\n      title.append(firstHeading);\n    }\n\n    let secondHeading = title.find('h2');\n    if (!secondHeading) {\n      secondHeading = $$('h2').el;\n      title.append(secondHeading);\n    }\n\n    return {\n      title,\n      h1: $$(firstHeading),\n      h2: $$(secondHeading)\n    };\n  }\n\n  private setErrorTitle(errorName?: string, helpSuggestion?: string): void {\n    const errorTitle = {\n      h1: errorName ? l(errorName) : l('OopsError'),\n      h2: helpSuggestion ? l(helpSuggestion) : l('ProblemPersists')\n    };\n\n    const { h1, h2 } = this.buildOrGetTitleElements();\n    if (h1 && h2) {\n      $$(h1).text(errorTitle.h1);\n      $$(h2).text(errorTitle.h2);\n    }\n  }\n\n  private buildPrevious(): HTMLElement {\n    const previous = $$(\n      'span',\n      {\n        className: 'coveo-error-report-previous'\n      },\n      l('GoBack')\n    );\n\n    new AccessibleButton()\n      .withElement(previous)\n      .withSelectAction(() => this.back())\n      .withLabel(l('GoBack'))\n      .build();\n\n    return previous.el;\n  }\n\n  private buildReset(): HTMLElement {\n    const reset = $$(\n      'span',\n      {\n        className: 'coveo-error-report-clear'\n      },\n      l('Reset')\n    );\n\n    new AccessibleButton()\n      .withElement(reset)\n      .withSelectAction(() => this.reset())\n      .withLabel(l('Reset'))\n      .build();\n\n    return reset.el;\n  }\n\n  private buildRetry(): HTMLElement {\n    const retry = $$(\n      'span',\n      {\n        className: 'coveo-error-report-retry'\n      },\n      l('Retry')\n    );\n\n    new AccessibleButton()\n      .withElement(retry)\n      .withSelectAction(() => this.retry())\n      .withLabel(l('Retry'))\n      .build();\n\n    return retry.el;\n  }\n\n  private handleNewQuery(): void {\n    $$(this.element).hide();\n    const { h1, h2 } = this.buildOrGetTitleElements();\n    h1.remove();\n    h2.remove();\n    if (this.closePopup != null) {\n      this.closePopup();\n    }\n  }\n\n  private handleQueryError(data: IQueryErrorEventArgs): void {\n    Assert.exists(data);\n    Assert.exists(data.error);\n\n    if (data.endpoint.options.queryStringArguments.organizationId) {\n      this.organizationId = data.endpoint.options.queryStringArguments.organizationId;\n    } else {\n      this.organizationId = l('CoveoOrganization');\n    }\n\n    // Do not display the panel if the error is for missing authentication. The\n    // appropriate authentication provider should take care of redirecting.\n    if ((<MissingAuthenticationError>data.error).isMissingAuthentication) {\n      return;\n    }\n\n    switch (data.error.name) {\n      case 'NoEndpointsException':\n        this.options.showDetailedError = false;\n        this.buildEndpointErrorElements('https://docs.coveo.com/en/331/');\n        this.setErrorTitle(l('NoEndpoints', this.organizationId), l('AddSources'));\n        break;\n\n      case 'InvalidTokenException':\n        this.options.showDetailedError = false;\n        this.buildEndpointErrorElements('https://docs.coveo.com/en/56/');\n        this.setErrorTitle(l('CannotAccess', this.organizationId), l('InvalidToken'));\n        break;\n\n      case 'GroupByAndFacetBothExistingException':\n        this.options.showDetailedError = false;\n        this.buildEndpointErrorElements('https://docs.coveo.com/en/2917');\n        this.setErrorTitle(undefined, l('GroupByAndFacetRequestsCannotCoexist'));\n        break;\n\n      case 'OrganizationIsPausedException':\n        this.options.showDetailedError = false;\n        this.buildEndpointErrorElements('https://docs.coveo.com/l6af0467');\n        this.setErrorTitle(l('OrganizationWillResume'), l('OrganizationIsPaused'));\n        break;\n\n      default:\n        this.buildOptionsElement();\n        this.setErrorTitle();\n    }\n\n    if (this.options.showDetailedError) {\n      this.message.empty();\n      const moreInfo = $$(\n        'span',\n        {\n          className: 'coveo-error-report-more-info'\n        },\n        l('MoreInfo')\n      );\n\n      moreInfo.on('click', () => {\n        moreInfo.empty();\n        this.message.el.appendChild(this.buildErrorInfo(data.error));\n      });\n\n      this.message.el.appendChild(moreInfo.el);\n    }\n\n    $$(this.element).show();\n  }\n\n  private buildErrorInfo(data: IEndpointError): HTMLElement {\n    const errorInfo = $$('div', {\n      className: 'coveo-error-info'\n    });\n\n    let textArea = $$('textarea', undefined, JSON.stringify(data, null, 2));\n    errorInfo.el.appendChild(textArea.el);\n\n    const infoLabel = $$(\n      'div',\n      {\n        className: 'coveo-error-info-label'\n      },\n      l('CopyPasteToSupport')\n    );\n    errorInfo.el.appendChild(infoLabel.el);\n\n    return errorInfo.el;\n  }\n\n  private buildOptionsElement() {\n    const oldOptions = this.container.find('.coveo-error-report-options');\n    if (oldOptions) {\n      $$(oldOptions).remove();\n    }\n    const optionsElement = $$('div', { className: 'coveo-error-report-options' });\n    optionsElement.el.appendChild(this.buildPrevious());\n    optionsElement.el.appendChild(this.buildReset());\n    optionsElement.el.appendChild(this.buildRetry());\n    this.container.append(optionsElement.el);\n  }\n\n  private buildEndpointErrorElements(helpLink: string = 'https://docs.coveo.com/en/331/') {\n    this.helpSuggestion.empty();\n\n    const link = $$('a', {\n      href: helpLink,\n      className: 'coveo-error-report-help-link'\n    });\n\n    link.setHtml(l('CoveoOnlineHelp'));\n    this.helpSuggestion.append(link.el);\n    this.container.el.insertBefore(this.helpSuggestion.el, this.message.el);\n  }\n}\n\nInitialization.registerAutoCreateComponent(ErrorReport);\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/ErrorReport/ErrorReport.ts","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./sass/_ErrorReport.scss\n// module id = 608\n// module chunks = 73 88"],"sourceRoot":""}