@coveo/atomic 3.34.0-pre.9b1e6d5dc1 → 3.34.0-pre.b8c7c6d694

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +0 -2
  4. package/dist/atomic/components/_index.js +0 -1
  5. package/dist/atomic/components/analytics-config.js +1 -1
  6. package/dist/atomic/components/atomic-insight-search-box.js +29 -2
  7. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  8. package/dist/atomic/components/atomic-ipx-result-link.js +3 -3
  9. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  10. package/dist/atomic/components/atomic-result-link.js +3 -3
  11. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  12. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  13. package/dist/atomic/components/atomic-search-box.js +6 -12
  14. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  15. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  16. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  17. package/dist/atomic/components/attributes-slot.js +3 -8
  18. package/dist/atomic/components/attributes-slot.js.map +1 -1
  19. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +3 -6
  20. package/dist/atomic/components/components/common/item-link/attributes-slot.js +3 -8
  21. package/dist/atomic/components/components/common/suggestions/query-suggestions.js +1 -2
  22. package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +107 -0
  23. package/dist/atomic/components/components/search/index.js +1 -0
  24. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  25. package/dist/atomic/components/generated-answer-common.js +3 -2
  26. package/dist/atomic/components/generated-answer-common.js.map +1 -1
  27. package/dist/atomic/components/global/environment.js +1 -1
  28. package/dist/atomic/components/index.js.map +1 -1
  29. package/dist/atomic/components/slot-utils.js +23 -6
  30. package/dist/atomic/components/slot-utils.js.map +1 -1
  31. package/dist/atomic/components/utils/slot-utils.js +22 -5
  32. package/dist/atomic/p-1891bbcf.js +2 -0
  33. package/dist/atomic/p-1891bbcf.js.map +1 -0
  34. package/dist/atomic/{p-6d52fad7.js → p-20cbcfb9.js} +2 -2
  35. package/dist/atomic/p-20cbcfb9.js.map +1 -0
  36. package/dist/atomic/{p-def0218c.js → p-2a240b53.js} +2 -2
  37. package/dist/atomic/{p-0aec5665.entry.js → p-2e4628bb.entry.js} +2 -2
  38. package/dist/atomic/p-2e4628bb.entry.js.map +1 -0
  39. package/dist/atomic/{p-f55bda96.entry.js → p-363efefa.entry.js} +2 -2
  40. package/dist/atomic/{p-644f71e2.entry.js → p-4601eb93.entry.js} +2 -2
  41. package/dist/atomic/p-4601eb93.entry.js.map +1 -0
  42. package/dist/atomic/{p-06349e36.entry.js → p-475124d2.entry.js} +2 -2
  43. package/dist/atomic/p-475124d2.entry.js.map +1 -0
  44. package/dist/atomic/{p-b2f5f6cb.entry.js → p-47ab6c9f.entry.js} +2 -2
  45. package/dist/atomic/{p-2925bd87.entry.js → p-59b15bd6.entry.js} +2 -2
  46. package/dist/atomic/{p-88af4470.entry.js → p-5a710350.entry.js} +2 -2
  47. package/dist/atomic/p-5d71a211.entry.js +2 -0
  48. package/dist/atomic/p-5d71a211.entry.js.map +1 -0
  49. package/dist/atomic/{p-548d6a74.entry.js → p-7e87124d.entry.js} +2 -2
  50. package/dist/atomic/p-b309aadd.js +2 -0
  51. package/dist/atomic/p-b309aadd.js.map +1 -0
  52. package/dist/atomic/{p-e01d5fdd.entry.js → p-c25f1437.entry.js} +2 -2
  53. package/dist/atomic/{p-20764605.entry.js → p-ca3dc59b.entry.js} +2 -2
  54. package/dist/atomic/{p-55211c25.entry.js → p-cafa4083.entry.js} +2 -2
  55. package/dist/atomic/{p-4701feae.entry.js → p-cb3fd0f4.entry.js} +2 -2
  56. package/dist/atomic/{p-f11c8293.entry.js → p-ce5b896e.entry.js} +2 -2
  57. package/dist/atomic/p-f2bab68d.entry.js +2 -0
  58. package/dist/atomic/p-f2bab68d.entry.js.map +1 -0
  59. package/dist/atomic/{p-7f977dca.entry.js → p-f76b7ac3.entry.js} +2 -2
  60. package/dist/cjs/_loader.cjs.js +1 -1
  61. package/dist/cjs/{analytics-config-006dbe59.js → analytics-config-f2ef4006.js} +2 -2
  62. package/dist/cjs/{analytics-config-006dbe59.js.map → analytics-config-f2ef4006.js.map} +1 -1
  63. package/dist/cjs/atomic-generated-answer.cjs.entry.js +2 -2
  64. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -2
  65. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  66. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +30 -4
  67. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  68. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +2 -2
  69. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +2 -2
  70. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -4
  71. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  72. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  73. package/dist/cjs/atomic-result-link.cjs.entry.js +4 -4
  74. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  75. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  76. package/dist/cjs/{atomic-search-box-query-suggestions_2.cjs.entry.js → atomic-search-box-recent-queries.cjs.entry.js} +5 -68
  77. package/dist/cjs/atomic-search-box-recent-queries.cjs.entry.js.map +1 -0
  78. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -5
  79. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  80. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  81. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +2 -2
  82. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +2 -2
  83. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  84. package/dist/cjs/atomic.cjs.js +1 -1
  85. package/dist/cjs/{attributes-slot-afccc1fd.js → attributes-slot-4e7d7a75.js} +4 -9
  86. package/dist/cjs/attributes-slot-4e7d7a75.js.map +1 -0
  87. package/dist/cjs/{generated-answer-common-57443e50.js → generated-answer-common-3c400311.js} +4 -3
  88. package/dist/cjs/generated-answer-common-3c400311.js.map +1 -0
  89. package/dist/cjs/index-757bc886.js +2 -2
  90. package/dist/cjs/slot-utils-a30cb814.js +40 -0
  91. package/dist/cjs/slot-utils-a30cb814.js.map +1 -0
  92. package/dist/cjs/version.cjs.js +1 -1
  93. package/dist/esm/_loader.js +1 -1
  94. package/dist/esm/{analytics-config-efb8a50f.js → analytics-config-d3ba4e1e.js} +2 -2
  95. package/dist/esm/{analytics-config-efb8a50f.js.map → analytics-config-d3ba4e1e.js.map} +1 -1
  96. package/dist/esm/atomic-generated-answer.entry.js +2 -2
  97. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -2
  98. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  99. package/dist/esm/atomic-insight-search-box.entry.js +29 -3
  100. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  101. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +2 -2
  102. package/dist/esm/atomic-insight-smart-snippet.entry.js +2 -2
  103. package/dist/esm/atomic-ipx-result-link.entry.js +4 -4
  104. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  105. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  106. package/dist/esm/atomic-result-link.entry.js +4 -4
  107. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  108. package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
  109. package/dist/esm/{atomic-search-box-query-suggestions_2.entry.js → atomic-search-box-recent-queries.entry.js} +8 -70
  110. package/dist/esm/atomic-search-box-recent-queries.entry.js.map +1 -0
  111. package/dist/esm/atomic-search-box.entry.js +5 -5
  112. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  113. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  114. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +2 -2
  115. package/dist/esm/atomic-smart-snippet.entry.js +2 -2
  116. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  117. package/dist/esm/atomic.js +1 -1
  118. package/dist/esm/{attributes-slot-7bf61dda.js → attributes-slot-cb60f29b.js} +4 -9
  119. package/dist/esm/attributes-slot-cb60f29b.js.map +1 -0
  120. package/dist/esm/{generated-answer-common-8b06a33d.js → generated-answer-common-9d0c5ada.js} +4 -3
  121. package/dist/esm/generated-answer-common-9d0c5ada.js.map +1 -0
  122. package/dist/esm/index-3f35faca.js +2 -2
  123. package/dist/esm/slot-utils-dcf4fc27.js +37 -0
  124. package/dist/esm/slot-utils-dcf4fc27.js.map +1 -0
  125. package/dist/esm/version.js +1 -1
  126. package/dist/types/components/search/{search-box-suggestions/atomic-search-box-query-suggestions → atomic-search-box-query-suggestions}/atomic-search-box-query-suggestions.d.ts +16 -7
  127. package/dist/types/components/search/index.d.ts +1 -0
  128. package/dist/types/components.d.ts +0 -49
  129. package/dist/types/utils/slot-utils.d.ts +2 -2
  130. package/docs/atomic-docs.json +3 -102
  131. package/package.json +1 -1
  132. package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +0 -11
  133. package/dist/atomic/components/atomic-search-box-query-suggestions.js +0 -8
  134. package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +0 -1
  135. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +0 -89
  136. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +0 -1
  137. package/dist/atomic/components/stencil-query-suggestions.js +0 -33
  138. package/dist/atomic/components/stencil-query-suggestions.js.map +0 -1
  139. package/dist/atomic/p-06349e36.entry.js.map +0 -1
  140. package/dist/atomic/p-0aec5665.entry.js.map +0 -1
  141. package/dist/atomic/p-644f71e2.entry.js.map +0 -1
  142. package/dist/atomic/p-6d52fad7.js.map +0 -1
  143. package/dist/atomic/p-a1522fe5.entry.js +0 -2
  144. package/dist/atomic/p-a1522fe5.entry.js.map +0 -1
  145. package/dist/atomic/p-a62f2bf9.js +0 -2
  146. package/dist/atomic/p-a62f2bf9.js.map +0 -1
  147. package/dist/atomic/p-af93b44c.js +0 -2
  148. package/dist/atomic/p-af93b44c.js.map +0 -1
  149. package/dist/atomic/p-df4397ab.entry.js +0 -2
  150. package/dist/atomic/p-df4397ab.entry.js.map +0 -1
  151. package/dist/atomic/p-e7ca5aea.js +0 -2
  152. package/dist/atomic/p-e7ca5aea.js.map +0 -1
  153. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +0 -1
  154. package/dist/cjs/attributes-slot-afccc1fd.js.map +0 -1
  155. package/dist/cjs/generated-answer-common-57443e50.js.map +0 -1
  156. package/dist/cjs/slot-utils-086dacac.js +0 -23
  157. package/dist/cjs/slot-utils-086dacac.js.map +0 -1
  158. package/dist/cjs/stencil-query-suggestions-03268ecc.js +0 -38
  159. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
  160. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +0 -1
  161. package/dist/esm/attributes-slot-7bf61dda.js.map +0 -1
  162. package/dist/esm/generated-answer-common-8b06a33d.js.map +0 -1
  163. package/dist/esm/slot-utils-3a3874a2.js +0 -20
  164. package/dist/esm/slot-utils-3a3874a2.js.map +0 -1
  165. package/dist/esm/stencil-query-suggestions-5d6a46d7.js +0 -33
  166. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
  167. /package/dist/atomic/{p-def0218c.js.map → p-2a240b53.js.map} +0 -0
  168. /package/dist/atomic/{p-f55bda96.entry.js.map → p-363efefa.entry.js.map} +0 -0
  169. /package/dist/atomic/{p-b2f5f6cb.entry.js.map → p-47ab6c9f.entry.js.map} +0 -0
  170. /package/dist/atomic/{p-2925bd87.entry.js.map → p-59b15bd6.entry.js.map} +0 -0
  171. /package/dist/atomic/{p-88af4470.entry.js.map → p-5a710350.entry.js.map} +0 -0
  172. /package/dist/atomic/{p-548d6a74.entry.js.map → p-7e87124d.entry.js.map} +0 -0
  173. /package/dist/atomic/{p-e01d5fdd.entry.js.map → p-c25f1437.entry.js.map} +0 -0
  174. /package/dist/atomic/{p-20764605.entry.js.map → p-ca3dc59b.entry.js.map} +0 -0
  175. /package/dist/atomic/{p-55211c25.entry.js.map → p-cafa4083.entry.js.map} +0 -0
  176. /package/dist/atomic/{p-4701feae.entry.js.map → p-cb3fd0f4.entry.js.map} +0 -0
  177. /package/dist/atomic/{p-f11c8293.entry.js.map → p-ce5b896e.entry.js.map} +0 -0
  178. /package/dist/atomic/{p-7f977dca.entry.js.map → p-f76b7ac3.entry.js.map} +0 -0
@@ -0,0 +1,107 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { loadQuerySuggestActions, } from '@coveo/headless';
8
+ import { html, LitElement, nothing } from 'lit';
9
+ import { customElement, property, state } from 'lit/decorators.js';
10
+ import { getPartialSearchBoxSuggestionElement, renderQuerySuggestion, } from "../../common/suggestions/query-suggestions";
11
+ import { dispatchSearchBoxSuggestionsEvent } from "../../common/suggestions/suggestions-events";
12
+ import { errorGuard } from "../../../decorators/error-guard";
13
+ const SearchIcon = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m6.4 0c3.5 0 6.4 2.9 6.4 6.4 0 1.4-.4 2.7-1.2 3.7l4 4c.4.4.4 1 .1 1.5l-.1.1c-.2.2-.5.3-.8.3s-.6-.1-.8-.3l-4-4c-1 .7-2.3 1.2-3.7 1.2-3.4-.1-6.3-3-6.3-6.5s2.9-6.4 6.4-6.4zm0 2.1c-2.3 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3z\"/></svg>";
14
+ /**
15
+ * The `atomic-search-box-query-suggestions` component can be added as a child of an `atomic-search-box` component, allowing for the configuration of query suggestion behavior.
16
+ */
17
+ let AtomicSearchBoxQuerySuggestions = class AtomicSearchBoxQuerySuggestions extends LitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ /**
21
+ * The maximum number of suggestions that will be displayed if the user has typed something into the input field.
22
+ */
23
+ this.maxWithQuery = 3;
24
+ }
25
+ connectedCallback() {
26
+ super.connectedCallback();
27
+ try {
28
+ dispatchSearchBoxSuggestionsEvent((bindings) => {
29
+ this.bindings = bindings;
30
+ return this.initialize();
31
+ }, this, ['atomic-search-box']);
32
+ }
33
+ catch (error) {
34
+ this.error = error;
35
+ }
36
+ }
37
+ initialize() {
38
+ const engine = this.bindings.engine;
39
+ const { registerQuerySuggest, fetchQuerySuggestions } = loadQuerySuggestActions(engine);
40
+ const numberOfQueries = this.bindings.numberOfQueries;
41
+ const maxWithQuery = this.maxWithQuery;
42
+ if (numberOfQueries < maxWithQuery) {
43
+ const logger = this.bindings.engine.logger;
44
+ logger.warn(`Query suggestions configuration mismatch: atomic-search-box has number-of-queries="${numberOfQueries}" but atomic-search-box-query-suggestions has max-with-query="${maxWithQuery}". ` +
45
+ `This may cause inconsistent behavior where the search box requests ${numberOfQueries} suggestions but the component tries to display up to ${maxWithQuery}. ` +
46
+ `Consider updating max-with-query to ${numberOfQueries} or increasing number-of-queries to ${maxWithQuery}.`);
47
+ }
48
+ engine.dispatch(registerQuerySuggest({
49
+ id: this.bindings.id,
50
+ count: this.bindings.numberOfQueries,
51
+ }));
52
+ return {
53
+ position: Array.from(this.parentNode.children).indexOf(this),
54
+ onInput: () => engine.dispatch(fetchQuerySuggestions({
55
+ id: this.bindings.id,
56
+ })),
57
+ renderItems: () => this.renderItems(),
58
+ };
59
+ }
60
+ renderItems() {
61
+ const hasQuery = this.bindings.searchBoxController.state.value !== '';
62
+ const max = hasQuery ? this.maxWithQuery : this.maxWithoutQuery;
63
+ return this.bindings.searchBoxController.state.suggestions
64
+ .slice(0, max)
65
+ .map((suggestion) => this.renderItem(suggestion));
66
+ }
67
+ renderItem(suggestion) {
68
+ const partialItem = getPartialSearchBoxSuggestionElement(suggestion, this.bindings.i18n);
69
+ const icon = this.icon ? this.icon : SearchIcon;
70
+ const hasQuery = this.bindings.searchBoxController.state.value !== '';
71
+ const hasMultipleKindOfSuggestions = this.bindings.getSuggestions().length > 1;
72
+ return {
73
+ ...partialItem,
74
+ content: renderQuerySuggestion({
75
+ icon,
76
+ hasQuery,
77
+ suggestion,
78
+ hasMultipleKindOfSuggestions,
79
+ }),
80
+ onSelect: () => {
81
+ this.bindings.searchBoxController.selectSuggestion(suggestion.rawValue);
82
+ },
83
+ };
84
+ }
85
+ render() {
86
+ return html `${nothing}`;
87
+ }
88
+ };
89
+ __decorate([
90
+ state()
91
+ ], AtomicSearchBoxQuerySuggestions.prototype, "error", void 0);
92
+ __decorate([
93
+ property()
94
+ ], AtomicSearchBoxQuerySuggestions.prototype, "icon", void 0);
95
+ __decorate([
96
+ property({ type: Number, attribute: 'max-with-query', reflect: true })
97
+ ], AtomicSearchBoxQuerySuggestions.prototype, "maxWithQuery", void 0);
98
+ __decorate([
99
+ property({ type: Number, attribute: 'max-without-query', reflect: true })
100
+ ], AtomicSearchBoxQuerySuggestions.prototype, "maxWithoutQuery", void 0);
101
+ __decorate([
102
+ errorGuard()
103
+ ], AtomicSearchBoxQuerySuggestions.prototype, "render", null);
104
+ AtomicSearchBoxQuerySuggestions = __decorate([
105
+ customElement('atomic-search-box-query-suggestions')
106
+ ], AtomicSearchBoxQuerySuggestions);
107
+ export { AtomicSearchBoxQuerySuggestions };
@@ -2,5 +2,6 @@
2
2
  export { AtomicPager } from './atomic-pager/atomic-pager.js';
3
3
  export { AtomicQuerySummary } from './atomic-query-summary/atomic-query-summary.js';
4
4
  export { AtomicResultsPerPage } from './atomic-results-per-page/atomic-results-per-page.js';
5
+ export { AtomicSearchBoxQuerySuggestions } from './atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js';
5
6
  export { AtomicSearchInterface } from './atomic-search-interface/atomic-search-interface.js';
6
7
  export { AtomicSearchLayout } from './atomic-search-layout/atomic-search-layout.js';
@@ -3,6 +3,7 @@ export default {
3
3
  'atomic-pager': async () => await import('./atomic-pager/atomic-pager.js'),
4
4
  'atomic-query-summary': async () => await import('./atomic-query-summary/atomic-query-summary.js'),
5
5
  'atomic-results-per-page': async () => await import('./atomic-results-per-page/atomic-results-per-page.js'),
6
+ 'atomic-search-box-query-suggestions': async () => await import('./atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js'),
6
7
  'atomic-search-interface': async () => await import('./atomic-search-interface/atomic-search-interface.js'),
7
8
  'atomic-search-layout': async () => await import('./atomic-search-layout/atomic-search-layout.js'),
8
9
  };
@@ -1,6 +1,6 @@
1
1
  import { h } from '@stencil/core/internal/client';
2
2
  import { a as SafeStorage, S as StorageItems } from './local-storage-utils.js';
3
- import { a as getNamedSlotContent } from './slot-utils.js';
3
+ import { a as getNamedSlotFromHost } from './slot-utils.js';
4
4
  import { H as Heading } from './stencil-heading.js';
5
5
  import { B as Button } from './stencil-button.js';
6
6
  import { D as DOMPurify } from './purify.js';
@@ -2746,7 +2746,8 @@ class GeneratedAnswerCommon {
2746
2746
  : this.props.getBindings().i18n.t('generated-answer-copied');
2747
2747
  }
2748
2748
  get hasCustomNoAnswerMessage() {
2749
- return getNamedSlotContent(this.props.host, 'no-answer-message').length > 0;
2749
+ const slot = getNamedSlotFromHost(this.props.host, 'no-answer-message');
2750
+ return !!slot;
2750
2751
  }
2751
2752
  async copyToClipboard(answer) {
2752
2753
  try {