diff --git a/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.css b/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.css
index 14207893bd9..29d36ca4d32 100644
--- a/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.css
+++ b/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.css
@@ -37,4 +37,8 @@
.citation__tooltip {
color: rgb(26, 27, 30);
cursor: default;
-}
\ No newline at end of file
+}
+
+.citation__title--active {
+ color: var(--lwc-brandAccessible, #0176d3);
+}
diff --git a/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.html b/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.html
index 7ccfd12fd40..2bc8a2baf17 100644
--- a/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.html
+++ b/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.html
@@ -12,11 +12,8 @@
onmouseleave={handleCitationMouseLeave}
onclick={handleClick}
>
-
- {citationTitle}
-
+
+ {citationTitle}
diff --git a/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.js b/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.js
index eb2122bab80..ad649bc5a32 100644
--- a/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.js
+++ b/packages/quantic/force-app/main/default/lwc/quanticCitation/quanticCitation.js
@@ -54,6 +54,12 @@ export default class QuanticCitation extends NavigationMixin(LightningElement) {
* @default false
*/
@api disableCitationAnchoring = false;
+ /**
+ * The variant of the citation.
+ * @api
+ * @type {string} "default" || "active"
+ */
+ @api variant = 'default';
/** @type {Object} */
timeout;
@@ -247,4 +253,10 @@ export default class QuanticCitation extends NavigationMixin(LightningElement) {
? this.salesforceRecordUrl
: (this.clickUri ?? this.citation?.uri);
}
+
+ get citationTitleClasses() {
+ return this.variant === 'active'
+ ? 'citation__title citation__title--active slds-m-left_x-small slds-truncate slds-has-flexi-truncate'
+ : 'citation__title slds-m-left_x-small slds-truncate slds-has-flexi-truncate';
+ }
}
diff --git a/packages/quantic/force-app/main/default/lwc/quanticGeneratedAnswer/templates/generatedAnswer.html b/packages/quantic/force-app/main/default/lwc/quanticGeneratedAnswer/templates/generatedAnswer.html
index 695d55c95a2..53f0b8c961b 100644
--- a/packages/quantic/force-app/main/default/lwc/quanticGeneratedAnswer/templates/generatedAnswer.html
+++ b/packages/quantic/force-app/main/default/lwc/quanticGeneratedAnswer/templates/generatedAnswer.html
@@ -66,7 +66,9 @@
citations={citations}
citation-hover-handler={handleCitationHover}
disable-citation-anchoring={disableCitationAnchoring}
- >
+ >
+
+
diff --git a/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.html b/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.html
index b132d3fbd79..3d2cc11ec4f 100644
--- a/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.html
+++ b/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.html
@@ -5,14 +5,19 @@
>
-
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.js b/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.js
index 6a7035e1e60..956294f867b 100644
--- a/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.js
+++ b/packages/quantic/force-app/main/default/lwc/quanticSourceCitations/quanticSourceCitations.js
@@ -56,6 +56,11 @@ export default class QuanticSourceCitations extends LightningElement {
renderedCallback() {
initializeWithHeadless(this, this.engineId, this.initialize);
+
+ // Push citation data to slotted custom components
+ if (this.isInitialized) {
+ this._pushDataToCustomSlots();
+ }
}
initialize = (engine) => {
@@ -64,6 +69,43 @@ export default class QuanticSourceCitations extends LightningElement {
this.isInitialized = true;
};
+ /**
+ * Pushes citation data to custom slotted components
+ * @private
+ */
+ _pushDataToCustomSlots() {
+ const slots = this.template.querySelectorAll('slot[name="citation-component"]');
+ if (!slots || slots.length === 0) return;
+
+ slots.forEach((slotEl, index) => {
+ // @ts-ignore
+ const assigned = slotEl.assignedElements({flatten: true});
+
+ // If nothing assigned, fallback is showing - don't push to it
+ if (assigned.length === 0) {
+ return; // Using fallback content
+ }
+
+ // Get the corresponding citation for this slot
+ const citationData = this.indexedCitations[index];
+ if (!citationData) return;
+
+ // Push data to each assigned element
+ assigned.forEach((el) => {
+ // Set the public API properties directly
+ if ('citation' in el) {
+ el.citation = citationData.data;
+ }
+ if ('interactiveCitation' in el) {
+ el.interactiveCitation = citationData.interactiveCitation;
+ }
+ if ('engineId' in el) {
+ el.engineId = this.engineId;
+ }
+ });
+ });
+ }
+
/**
* Returns the indexed citations.
* @returns {Object}
@@ -97,4 +139,4 @@ export default class QuanticSourceCitations extends LightningElement {
get shouldDisplayCitations() {
return this.isInitialized && !!this.citations?.length;
}
-}
+}
\ No newline at end of file