@coveo/quantic 3.27.1-pre.f83bd005a5 → 3.28.0-pre.1bf3dad955
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.
- package/docs/out/quantic-docs.json +9 -0
- package/force-app/main/default/classes/IInsightTokenProvider.cls +10 -0
- package/force-app/main/default/classes/IInsightTokenProvider.cls-meta.xml +5 -0
- package/force-app/main/default/classes/InsightController.cls +6 -2
- package/force-app/main/default/lwc/quanticCaseClassification/quanticCaseClassification.css +4 -20
- package/force-app/main/default/lwc/quanticCaseClassification/quanticCaseClassification.html +79 -21
- package/force-app/main/default/lwc/quanticCaseClassification/quanticCaseClassification.js +1 -1
- package/force-app/main/default/lwc/quanticDocumentSuggestion/quanticDocumentSuggestion.css +1 -7
- package/force-app/main/default/lwc/quanticDocumentSuggestion/quanticDocumentSuggestion.html +2 -2
- package/force-app/main/default/lwc/quanticInsightInterface/quanticInsightInterface.js +8 -1
- package/force-app/main/default/lwc/quanticPager/quanticPager.html +9 -1
- package/force-app/main/default/lwc/quanticResultQuickview/quanticResultQuickview.css +1 -1
- package/force-app/main/default/lwc/quanticResultQuickview/quanticResultQuickview.html +1 -1
- package/force-app/main/default/lwc/quanticTabBar/quanticTabBar.css +1 -5
- package/force-app/main/default/lwc/quanticTabBar/quanticTabBar.html +2 -2
- package/force-app/main/default/lwc/quanticTooltip/quanticTooltip.css +6 -14
- package/force-app/main/default/lwc/quanticTooltip/quanticTooltip.js +2 -2
- package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +8 -8
- package/force-app/main/default/staticresources/coveoheadless/definitions/api/analytics/analytics-relay-client.d.ts +20 -4
- package/force-app/main/default/staticresources/coveoheadless/definitions/app/navigator-context-provider.d.ts +2 -1
- package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-meta.d.ts +2 -0
- package/force-app/main/default/staticresources/coveoheadless/definitions/test/mock-relay.d.ts +2 -0
- package/force-app/main/default/staticresources/coveoheadless/headless.js +10 -10
- package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +9 -9
- package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +7 -7
- package/package.json +3 -3
|
@@ -4917,6 +4917,15 @@
|
|
|
4917
4917
|
"required": true,
|
|
4918
4918
|
"defaultValue": "",
|
|
4919
4919
|
"type": "string"
|
|
4920
|
+
},
|
|
4921
|
+
{
|
|
4922
|
+
"name": "recordId",
|
|
4923
|
+
"attribute": "record-id",
|
|
4924
|
+
"access": "@api",
|
|
4925
|
+
"description": "<p>The ID of the record used to retrieve the user ID of its creator.\nThis is required to assign the correct privileges for enabling the User Actions feature.</p>",
|
|
4926
|
+
"required": true,
|
|
4927
|
+
"defaultValue": "",
|
|
4928
|
+
"type": "string"
|
|
4920
4929
|
}
|
|
4921
4930
|
]
|
|
4922
4931
|
},
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
global interface IInsightTokenProvider {
|
|
2
|
+
/**
|
|
3
|
+
* Get the configuration object (serialized) for the initialization of Coveo Headless.
|
|
4
|
+
* @param {String} recordId – The record ID used to fetch user context or privileges for token generation.
|
|
5
|
+
* @return {String} A serialized object containing the following keys:
|
|
6
|
+
* - `accessToken`: a search token (see https://docs.coveo.com/en/56/build-a-search-ui/search-token-authentication).
|
|
7
|
+
* - `organizationId`: the ID of the organization to query (see https://docs.coveo.com/en/148/manage-an-organization/retrieve-the-organization-id).
|
|
8
|
+
*/
|
|
9
|
+
String getHeadlessConfiguration(String recordId);
|
|
10
|
+
}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* Simple Apex Controller to fetch data for Headless initialization specific to the Insight use case.
|
|
3
3
|
*/
|
|
4
4
|
global with sharing class InsightController {
|
|
5
|
+
public static String getHeadlessConfiguration() {
|
|
6
|
+
return getHeadlessConfiguration('');
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
/**
|
|
6
10
|
* Get the configuration object (serialized) for the initialization of Coveo Headless through a class implementing `ITokenProvider`.
|
|
7
11
|
* @return {String} A serialized object containing the following keys:
|
|
@@ -9,10 +13,10 @@ global with sharing class InsightController {
|
|
|
9
13
|
* - `organizationId`: the ID of the organization to query (see https://docs.coveo.com/en/148/manage-an-organization/retrieve-the-organization-id).
|
|
10
14
|
*/
|
|
11
15
|
@AuraEnabled(cacheable=true)
|
|
12
|
-
public static String getHeadlessConfiguration() {
|
|
16
|
+
public static String getHeadlessConfiguration(String recordId) {
|
|
13
17
|
/**
|
|
14
18
|
* e.g. To switch to the Insight Token Provider, you simply need to replace the following line by:
|
|
15
|
-
* `return InsightTokenProvider.getHeadlessConfiguration();`
|
|
19
|
+
* `return InsightTokenProvider.getHeadlessConfiguration(recordId);`
|
|
16
20
|
*/
|
|
17
21
|
return SampleTokenProvider.getHeadlessConfiguration();
|
|
18
22
|
}
|
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
lightning-icon {
|
|
2
2
|
--slds-c-icon-color-foreground-default: var(--slds-g-color-brand-base-100, white);
|
|
3
3
|
}
|
|
4
|
-
.
|
|
4
|
+
.case-classification-visual-picker__figure {
|
|
5
5
|
width: 9.6rem;
|
|
6
6
|
height: 2rem;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
.slds-form-element {
|
|
10
|
-
display: flex;
|
|
11
|
-
flex-direction: column;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
9
|
.loading-holder {
|
|
15
10
|
width: 9.6rem;
|
|
16
11
|
height: 2rem;
|
|
17
12
|
}
|
|
18
13
|
|
|
19
|
-
.
|
|
14
|
+
.text-color-inherit {
|
|
20
15
|
color: unset;
|
|
21
16
|
}
|
|
22
17
|
|
|
23
|
-
.row {
|
|
24
|
-
display: flex;
|
|
25
|
-
flex-wrap: wrap;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
18
|
.visual-picker__hidden {
|
|
29
19
|
animation: hideAnimation 0.3s ease-in-out forwards;
|
|
30
20
|
}
|
|
@@ -37,14 +27,8 @@ lightning-icon {
|
|
|
37
27
|
}
|
|
38
28
|
}
|
|
39
29
|
|
|
40
|
-
.slds-visual-picker input:checked ~ label .
|
|
30
|
+
.slds-visual-picker input:checked ~ label .visual-picker__figure:after {
|
|
41
31
|
border-right-color: var(--lwc-colorBorderRowSelectedHover, rgb(27, 150, 255));
|
|
42
32
|
border-top-color: var(--lwc-colorBorderRowSelectedHover, rgb(27, 150, 255));
|
|
43
33
|
border-radius: 4px;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.content-center {
|
|
47
|
-
display: flex;
|
|
48
|
-
justify-content: center;
|
|
49
|
-
align-items: center;
|
|
50
|
-
}
|
|
34
|
+
}
|
|
@@ -1,31 +1,58 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<template lwc:if={hasInitializationError}>
|
|
3
|
-
<c-quantic-component-error
|
|
3
|
+
<c-quantic-component-error
|
|
4
|
+
component-name={template.host.localName}
|
|
5
|
+
message={initializationErrorMessage}
|
|
6
|
+
>
|
|
4
7
|
</c-quantic-component-error>
|
|
5
8
|
</template>
|
|
6
9
|
<template lwc:else>
|
|
7
10
|
<fieldset class={formClass}>
|
|
8
|
-
<legend
|
|
11
|
+
<legend
|
|
12
|
+
data-testid="case-classification-label"
|
|
13
|
+
class="slds-form-element__legend slds-form-element__label slds-text-heading_small text-color-inherit"
|
|
14
|
+
>
|
|
9
15
|
{label}
|
|
10
16
|
</legend>
|
|
11
17
|
<template if:true={loading}>
|
|
12
18
|
<div class="loading-holder slds-is-relative slds-var-m-top_x-small">
|
|
13
|
-
<lightning-spinner
|
|
19
|
+
<lightning-spinner
|
|
20
|
+
alternative-text={labels.loading}
|
|
21
|
+
size="small"
|
|
22
|
+
></lightning-spinner>
|
|
14
23
|
</div>
|
|
15
24
|
</template>
|
|
16
25
|
<template if:false={loading}>
|
|
17
|
-
<div
|
|
18
|
-
|
|
26
|
+
<div
|
|
27
|
+
class="slds-form-element__control"
|
|
28
|
+
aria-describedby="case-classification-error-message"
|
|
29
|
+
>
|
|
30
|
+
<div class="slds-grid slds-wrap">
|
|
19
31
|
<template if:false={hideSuggestions}>
|
|
20
32
|
<template for:each={suggestions} for:item="suggestion">
|
|
21
|
-
<div
|
|
22
|
-
|
|
23
|
-
|
|
33
|
+
<div
|
|
34
|
+
key={suggestion.value}
|
|
35
|
+
data-testid="case-classification-suggestion"
|
|
36
|
+
class="case-classification-suggestion slds-visual-picker slds-scrollable_none slds-visual-picker_medium slds-m-left_none slds-var-m-right_medium slds-var-m-top_x-small"
|
|
37
|
+
>
|
|
38
|
+
<input
|
|
39
|
+
type="checkbox"
|
|
40
|
+
checked={suggestion.checked}
|
|
41
|
+
data-suggestion-id={suggestion.id}
|
|
42
|
+
onchange={handleSelectSuggestion}
|
|
43
|
+
id={suggestion.value}
|
|
44
|
+
value={suggestion.value}
|
|
45
|
+
name="options"
|
|
46
|
+
/>
|
|
24
47
|
<label for={suggestion.value} title={suggestion.value}>
|
|
25
|
-
<span
|
|
48
|
+
<span
|
|
49
|
+
class="slds-visual-picker__figure case-classification-visual-picker__figure slds-visual-picker__text slds-var-p-horizontal_medium slds-grid slds-grid_align-center slds-grid_vertical-align-center"
|
|
50
|
+
>
|
|
26
51
|
<span class="slds-truncate">{suggestion.value}</span>
|
|
27
52
|
</span>
|
|
28
|
-
<span
|
|
53
|
+
<span
|
|
54
|
+
class="slds-icon_container slds-visual-picker__text-check"
|
|
55
|
+
>
|
|
29
56
|
<lightning-icon size="xx-small" icon-name="utility:check">
|
|
30
57
|
</lightning-icon>
|
|
31
58
|
</span>
|
|
@@ -35,25 +62,52 @@
|
|
|
35
62
|
</template>
|
|
36
63
|
<template if:true={isMoreOptionsVisible}>
|
|
37
64
|
<template if:false={isSelectVisible}>
|
|
38
|
-
<lightning-button
|
|
39
|
-
|
|
65
|
+
<lightning-button
|
|
66
|
+
data-testid="show-select-input-button"
|
|
67
|
+
class="slds-var-m-top_x-small"
|
|
68
|
+
variant="base"
|
|
69
|
+
label={selectPlaceholder}
|
|
70
|
+
title={selectPlaceholder}
|
|
71
|
+
onclick={showSelect}
|
|
72
|
+
>
|
|
40
73
|
</lightning-button>
|
|
41
74
|
</template>
|
|
42
75
|
<template if:true={isSelectVisible}>
|
|
43
|
-
<lightning-combobox
|
|
44
|
-
|
|
76
|
+
<lightning-combobox
|
|
77
|
+
data-testid="case-classification-all-options-combobox"
|
|
78
|
+
class="slds-var-m-top_x-small"
|
|
79
|
+
value={value}
|
|
80
|
+
variant="label-hidden"
|
|
81
|
+
placeholder={selectPlaceholder}
|
|
82
|
+
options={options}
|
|
83
|
+
onchange={handleSelectChange}
|
|
84
|
+
></lightning-combobox>
|
|
45
85
|
</template>
|
|
46
86
|
</template>
|
|
47
87
|
<template if:false={isMoreOptionsVisible}>
|
|
48
88
|
<template for:each={filteredOptions} for:item="option">
|
|
49
|
-
<div
|
|
50
|
-
|
|
51
|
-
|
|
89
|
+
<div
|
|
90
|
+
key={option.value}
|
|
91
|
+
data-testid="case-classification-option"
|
|
92
|
+
class="case-classification-option slds-visual-picker slds-scrollable_none slds-visual-picker_medium slds-m-left_none slds-var-m-right_medium slds-var-m-top_x-small"
|
|
93
|
+
>
|
|
94
|
+
<input
|
|
95
|
+
type="checkbox"
|
|
96
|
+
checked={option.checked}
|
|
97
|
+
onchange={handleSelectSuggestion}
|
|
98
|
+
id={option.value}
|
|
99
|
+
value={option.value}
|
|
100
|
+
name="options"
|
|
101
|
+
/>
|
|
52
102
|
<label for={option.value} title={option.value}>
|
|
53
|
-
<span
|
|
103
|
+
<span
|
|
104
|
+
class="slds-visual-picker__figure case-classification-visual-picker__figure slds-visual-picker__text slds-var-p-horizontal_medium slds-grid slds-grid_align-center slds-grid_vertical-align-center"
|
|
105
|
+
>
|
|
54
106
|
<span class="slds-truncate">{option.value}</span>
|
|
55
107
|
</span>
|
|
56
|
-
<span
|
|
108
|
+
<span
|
|
109
|
+
class="slds-icon_container slds-visual-picker__text-check"
|
|
110
|
+
>
|
|
57
111
|
<lightning-icon size="xx-small" icon-name="utility:check">
|
|
58
112
|
</lightning-icon>
|
|
59
113
|
</span>
|
|
@@ -64,11 +118,15 @@
|
|
|
64
118
|
</div>
|
|
65
119
|
</div>
|
|
66
120
|
<template if:true={hasError}>
|
|
67
|
-
<div
|
|
121
|
+
<div
|
|
122
|
+
data-testid="case-classification-error-message"
|
|
123
|
+
class="slds-form-element__help"
|
|
124
|
+
id="case-classification-error-message"
|
|
125
|
+
>
|
|
68
126
|
{errorMessage}
|
|
69
127
|
</div>
|
|
70
128
|
</template>
|
|
71
129
|
</template>
|
|
72
130
|
</fieldset>
|
|
73
131
|
</template>
|
|
74
|
-
</template>
|
|
132
|
+
</template>
|
|
@@ -319,7 +319,7 @@ export default class QuanticCaseClassification extends LightningElement {
|
|
|
319
319
|
* @returns {string}
|
|
320
320
|
*/
|
|
321
321
|
get formClass() {
|
|
322
|
-
return `slds-form-element ${this.hasError ? 'slds-has-error' : ''}`;
|
|
322
|
+
return `slds-form-element slds-grid slds-grid_vertical ${this.hasError ? 'slds-has-error' : ''}`;
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
/**
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
</template>
|
|
12
12
|
<template if:false={loading}>
|
|
13
13
|
<template if:true={hasSuggestions}>
|
|
14
|
-
<div class="slds-card">
|
|
14
|
+
<div class="slds-card card-border">
|
|
15
15
|
<lightning-accordion active-section-name={openedDocuments} allow-multiple-sections-open
|
|
16
16
|
class="slds-p-vertical_xx-small">
|
|
17
17
|
<template iterator:it={suggestions}>
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
slds-var-p-vertical_x-small
|
|
27
27
|
">
|
|
28
28
|
<p class="excerpt">{it.value.excerpt}</p>
|
|
29
|
-
<div class="
|
|
29
|
+
<div class="slds-grid slds-grid_align-spread slds-grid_vertical-align-center slds-var-p-top_medium">
|
|
30
30
|
<template lwc:if={quickviewIsVisible}>
|
|
31
31
|
<c-quantic-result-quickview engine-id={engineId}
|
|
32
32
|
preview-button-icon="utility:new_window" preview-button-label={labels.readMore}
|
|
@@ -35,6 +35,13 @@ export default class QuanticInsightInterface extends LightningElement {
|
|
|
35
35
|
* @type {string}
|
|
36
36
|
*/
|
|
37
37
|
@api insightId;
|
|
38
|
+
/**
|
|
39
|
+
* The ID of the record used to retrieve the user ID of its creator.
|
|
40
|
+
* This is required to assign the correct privileges for enabling the User Actions feature.
|
|
41
|
+
* @api
|
|
42
|
+
* @type {string}
|
|
43
|
+
*/
|
|
44
|
+
@api recordId = '';
|
|
38
45
|
|
|
39
46
|
/** @type {InsightEngineOptions} */
|
|
40
47
|
engineOptions;
|
|
@@ -69,7 +76,7 @@ export default class QuanticInsightInterface extends LightningElement {
|
|
|
69
76
|
loadDependencies(this, HeadlessBundleNames.insight)
|
|
70
77
|
.then(() => {
|
|
71
78
|
if (!getHeadlessBindings(this.engineId)?.engine) {
|
|
72
|
-
getHeadlessConfiguration()
|
|
79
|
+
getHeadlessConfiguration({recordId: this.recordId})
|
|
73
80
|
.then((data) => {
|
|
74
81
|
if (data) {
|
|
75
82
|
const {organizationId, accessToken, ...rest} = JSON.parse(data);
|
|
@@ -14,10 +14,17 @@
|
|
|
14
14
|
class="slds-m-left_x-small"
|
|
15
15
|
onclick={previous}
|
|
16
16
|
aria-label={labels.previousPage}
|
|
17
|
+
data-testid="previous-button"
|
|
17
18
|
></lightning-button>
|
|
18
19
|
|
|
19
20
|
<template for:each={currentPagesObjects} for:item="page">
|
|
20
|
-
<c-quantic-number-button
|
|
21
|
+
<c-quantic-number-button
|
|
22
|
+
key={page.number}
|
|
23
|
+
number={page.number}
|
|
24
|
+
selected={page.selected}
|
|
25
|
+
onquantic__select={goto}
|
|
26
|
+
aria-label-value={page.ariaLabelValue}
|
|
27
|
+
></c-quantic-number-button>
|
|
21
28
|
</template>
|
|
22
29
|
|
|
23
30
|
<lightning-button
|
|
@@ -28,6 +35,7 @@
|
|
|
28
35
|
class="slds-m-left_x-small"
|
|
29
36
|
onclick={next}
|
|
30
37
|
aria-label={labels.nextPage}
|
|
38
|
+
data-testid="next-button"
|
|
31
39
|
></lightning-button>
|
|
32
40
|
</lightning-button-group>
|
|
33
41
|
</template>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
result={result} content-url={contentURL}
|
|
48
48
|
onquantic__loadingstatechange={handleLoadingStateChange}></c-quantic-quickview-content>
|
|
49
49
|
<template if:false={isLoading}>
|
|
50
|
-
<footer onclick={stopPropagation} class="slds-modal__footer slds-p-top_none slds-p-bottom_none">
|
|
50
|
+
<footer onclick={stopPropagation} class="slds-modal__footer quickview-modal__footer slds-p-top_none slds-p-bottom_none">
|
|
51
51
|
<slot name="footer"></slot>
|
|
52
52
|
</footer>
|
|
53
53
|
</template>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class={tabBarContainerClasses}>
|
|
3
3
|
<div
|
|
4
|
-
class="tab-bar_list-container slds-tabs_default slds-tabs_default__nav slds-is-relative"
|
|
4
|
+
class="tab-bar_list-container slds-grid slds-tabs_default slds-tabs_default__nav slds-is-relative"
|
|
5
5
|
>
|
|
6
6
|
<slot></slot>
|
|
7
7
|
<div
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<div class={dropdownClasses} data-testid="tab-bar_dropdown-container">
|
|
14
14
|
<button
|
|
15
15
|
data-testid="tab-bar_more-button"
|
|
16
|
-
class="slds-button slds-var-p-horizontal_small"
|
|
16
|
+
class="slds-button slds-var-p-horizontal_small tab-bar__more-button"
|
|
17
17
|
aria-haspopup="true"
|
|
18
18
|
onclick={toggleDropdown}
|
|
19
19
|
name={labels.more}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
left: 50%;
|
|
9
9
|
transition: transform 0s linear 0s, opacity 0.1s linear 0s, visibility 0.1s linear 0s;
|
|
10
10
|
z-index: 40;
|
|
11
|
+
width: max-content;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
.tooltip__content--positioned-above {
|
|
@@ -24,11 +25,6 @@
|
|
|
24
25
|
opacity: 1;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
.tooltip__content--light,
|
|
28
|
-
.slds-popover_tooltip {
|
|
29
|
-
width: max-content;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
28
|
.tooltip__arrow {
|
|
33
29
|
left: 50%;
|
|
34
30
|
transform: translate(-50%, -100%);
|
|
@@ -65,18 +61,14 @@
|
|
|
65
61
|
width: fit-content;
|
|
66
62
|
}
|
|
67
63
|
|
|
68
|
-
.
|
|
69
|
-
.
|
|
70
|
-
.slds-nubbin_bottom:before,
|
|
71
|
-
.slds-nubbin--bottom:before {
|
|
64
|
+
.tooltip__nubbin--bottom:before,
|
|
65
|
+
.tooltip__nubbin--bottom:after {
|
|
72
66
|
clip-path: polygon(100% 0, 0% 100%, 100% 100%);
|
|
73
67
|
border: solid 0.5px rgba(0, 0, 0, 0.16);
|
|
74
68
|
}
|
|
75
69
|
|
|
76
|
-
.
|
|
77
|
-
.
|
|
78
|
-
.slds-nubbin_top:before,
|
|
79
|
-
.slds-nubbin--top:before {
|
|
70
|
+
.tooltip__nubbin--top:before,
|
|
71
|
+
.tooltip__nubbin--top:after {
|
|
80
72
|
clip-path: polygon(100% 0, 0 0, 0 100%);
|
|
81
73
|
border: solid 0.5px rgba(0, 0, 0, 0.16);
|
|
82
|
-
}
|
|
74
|
+
}
|
|
@@ -139,8 +139,8 @@ export default class QuanticTooltip extends LightningElement {
|
|
|
139
139
|
get tooltipArrowCSSClass() {
|
|
140
140
|
return `tooltip__arrow slds-fall-into-ground slds-is-absolute ${
|
|
141
141
|
this.displayTooltipAboveTarget
|
|
142
|
-
? 'tooltip__arrow--positioned-above slds-nubbin_bottom'
|
|
143
|
-
: 'tooltip__arrow--positioned-below slds-nubbin_top'
|
|
142
|
+
? 'tooltip__arrow--positioned-above slds-nubbin_bottom tooltip__nubbin--bottom'
|
|
143
|
+
: 'tooltip__arrow--positioned-below slds-nubbin_top tooltip__nubbin--top'
|
|
144
144
|
} ${this.lightTheme ? 'tooltip__arrow--light' : 'tooltip__arrow--dark'} ${
|
|
145
145
|
this.isVisible ? 'tooltip__content--visible' : ''
|
|
146
146
|
}`;
|