@epam/ai-dial-conversation-stages 1.3.0-dev.141 → 1.3.0-dev.147

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsedGroup.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsedGroup/CollapsedGroup.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAMxE,gJAAgJ;AAChJ,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAuNlD,CAAC"}
1
+ {"version":3,"file":"CollapsedGroup.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsedGroup/CollapsedGroup.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAMxE,gJAAgJ;AAChJ,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA0NlD,CAAC"}
@@ -17,6 +17,8 @@ export interface StageItemProps {
17
17
  onAttachmentClick?: (attachment: DisplayAttachment) => void;
18
18
  /** Host-owned URL resolvers applied when mapping this stage's attachments. See {@link StagesPanelProps.attachmentDisplayResolvers}. */
19
19
  attachmentDisplayResolvers?: StagesPanelProps['attachmentDisplayResolvers'];
20
+ /** Host-owned renderer for `<cit>` elements in this stage's content. See {@link StagesPanelProps.renderCitation}. */
21
+ renderCitation?: StagesPanelProps['renderCitation'];
20
22
  /** Nested list of this stage's child stages, rendered after its own markdown and attachments. Makes the row expandable on its own. */
21
23
  childList?: ReactNode;
22
24
  /** Controlled expanded state of the disclosure; uncontrolled (initially collapsed) when omitted. The body mounts only while expanded. */
@@ -1 +1 @@
1
- {"version":3,"file":"StageItem.d.ts","sourceRoot":"","sources":["../../../src/components/StageItem/StageItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAC;AAKtE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAOnC,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,kHAAkH;IAClH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,uIAAuI;IACvI,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;IAC5E,sIAAsI;IACtI,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yIAAyI;IACzI,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAyCD,8FAA8F;AAC9F,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAyJxC,CAAC"}
1
+ {"version":3,"file":"StageItem.d.ts","sourceRoot":"","sources":["../../../src/components/StageItem/StageItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EAAE,EAAE,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAC;AAKtE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAOnC,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,kHAAkH;IAClH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,uIAAuI;IACvI,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;IAC5E,qHAAqH;IACrH,cAAc,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACpD,sIAAsI;IACtI,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yIAAyI;IACzI,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAyCD,8FAA8F;AAC9F,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA2JxC,CAAC"}
@@ -15,6 +15,8 @@ interface StageLevelProps {
15
15
  onAttachmentClick?: StagesPanelProps['onAttachmentClick'];
16
16
  /** Host-owned URL resolvers for stage attachment tiles. See {@link StagesPanelProps.attachmentDisplayResolvers}. */
17
17
  attachmentDisplayResolvers?: StagesPanelProps['attachmentDisplayResolvers'];
18
+ /** Host-owned renderer for `<cit>` elements in stage content. See {@link StagesPanelProps.renderCitation}. */
19
+ renderCitation?: StagesPanelProps['renderCitation'];
18
20
  }
19
21
  /** Props for {@link StageList}. */
20
22
  export interface StageListProps extends StageLevelProps {
@@ -1 +1 @@
1
- {"version":3,"file":"StageList.d.ts","sourceRoot":"","sources":["../../../src/components/StageList/StageList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAO3B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAUnC,+DAA+D;AAC/D,UAAU,eAAe;IACvB,iFAAiF;IACjF,WAAW,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,SAAS,EAAE,cAAc,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,oHAAoH;IACpH,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;CAC7E;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,mDAAmD;IACnD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6KD,mGAAmG;AACnG,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoBxC,CAAC"}
1
+ {"version":3,"file":"StageList.d.ts","sourceRoot":"","sources":["../../../src/components/StageList/StageList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAO3B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAUnC,+DAA+D;AAC/D,UAAU,eAAe;IACvB,iFAAiF;IACjF,WAAW,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,SAAS,EAAE,cAAc,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,oHAAoH;IACpH,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;IAC5E,8GAA8G;IAC9G,cAAc,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CACrD;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,mDAAmD;IACnD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkLD,mGAAmG;AACnG,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoBxC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { StageTypography } from '../../models/stages-props';
2
+ import { StageCitationRenderer, StageTypography } from '../../models/stages-props';
3
3
  /** Props for the {@link StageMarkdownContent} markdown renderer used in stage content areas. */
4
4
  interface Props {
5
5
  /** Raw markdown string to render. */
@@ -14,6 +14,8 @@ interface Props {
14
14
  tableScrollRegionAriaLabel?: string;
15
15
  /** Accessible label for a block formula's scrollable region. Defaults to `'Scrollable formula'`. */
16
16
  mathScrollRegionAriaLabel?: string;
17
+ /** Renders `<cit data-id="…">` elements; without it they render as literal text. */
18
+ renderCitation?: StageCitationRenderer;
17
19
  }
18
20
  /** Renders stage content as formatted markdown, styled via CSS custom properties. */
19
21
  export declare const StageMarkdownContent: FC<Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"StageMarkdownContent.d.ts","sourceRoot":"","sources":["../../../src/components/StageMarkdownContent/StageMarkdownContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,EAAwB,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,gGAAgG;AAChG,UAAU,KAAK;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oGAAoG;IACpG,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CAwG1C,CAAC"}
1
+ {"version":3,"file":"StageMarkdownContent.d.ts","sourceRoot":"","sources":["../../../src/components/StageMarkdownContent/StageMarkdownContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAMnC,gGAAgG;AAChG,UAAU,KAAK;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oGAAoG;IACpG,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oFAAoF;IACpF,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,KAAK,CA2H1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StagesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/StagesPanel/StagesPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,yCAAyC;AACzC,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,8FAA8F;IAC9F,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAuDpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAG5C,CAAC"}
1
+ {"version":3,"file":"StagesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/StagesPanel/StagesPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,yCAAyC;AACzC,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,8FAA8F;IAC9F,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAyDpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAG5C,CAAC"}
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { CollapsedGroup } from './components/CollapsedGroup/CollapsedGroup';
2
2
  export { StagesPanel } from './components/StagesPanel/StagesPanel';
3
3
  export type { CollapsedGroupColors, CollapsedGroupLabels, CollapsedGroupProps, CollapsedGroupStyles, CollapsedGroupTypography, } from './models/collapsed-group';
4
- export type { StagesPanelColors, StagesPanelLabels, StagesPanelProps, StagesPanelStyles, StageTypography, } from './models/stages-props';
4
+ export type { StageCitationRenderer, StagesPanelColors, StagesPanelLabels, StagesPanelProps, StagesPanelStyles, StageTypography, } from './models/stages-props';
5
5
  export { CONVERSATION_STAGES_CLASS } from './constants/public-class-names';
6
6
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC"}
package/index.js CHANGED
@@ -512,38 +512,47 @@ var ve = {
512
512
  copiedLabel: a,
513
513
  hideDownload: !0
514
514
  });
515
- }, it = me(({ content: e, typography: t, copyAriaLabel: n = "Copy", copiedLabel: r, tableScrollRegionAriaLabel: a, mathScrollRegionAriaLabel: o }) => {
516
- let s = "mb-1.5 last:mb-0", l = c(t?.headingClassName ?? "dial-small-semi-text", X.stageContent, s);
515
+ }, it = me(({ content: e, typography: t, copyAriaLabel: n = "Copy", copiedLabel: r, tableScrollRegionAriaLabel: a, mathScrollRegionAriaLabel: o, renderCitation: s }) => {
516
+ let l = "mb-1.5 last:mb-0", u = c(t?.headingClassName ?? "dial-small-semi-text", X.stageContent, l), d = K(() => ({
517
+ code: ({ children: e, className: i }) => i?.includes("language-") ? /* @__PURE__ */ J(rt, {
518
+ codeClassName: i,
519
+ blockClassName: t?.codeBlockClassName,
520
+ copyAriaLabel: n,
521
+ copiedLabel: r,
522
+ children: e
523
+ }) : /* @__PURE__ */ J("code", {
524
+ className: c("px-1 py-0.5", t?.codeClassName ?? "dial-tiny-text rounded-md", X.codeInline),
525
+ children: e
526
+ }),
527
+ ...s != null && { cit: (e) => s(e["data-id"], e.children) }
528
+ }), [
529
+ t?.codeClassName,
530
+ t?.codeBlockClassName,
531
+ n,
532
+ r,
533
+ s
534
+ ]);
517
535
  return /* @__PURE__ */ J(i, {
518
536
  content: e,
519
537
  tableScrollRegionAriaLabel: a,
520
538
  mathScrollRegionAriaLabel: o,
521
539
  classNames: {
522
- h1: l,
523
- h2: l,
524
- h3: l,
525
- h4: l,
526
- h5: l,
527
- h6: l,
540
+ h1: u,
541
+ h2: u,
542
+ h3: u,
543
+ h4: u,
544
+ h5: u,
545
+ h6: u,
528
546
  p: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent, "mb-1.5"),
529
- ul: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent, s),
530
- ol: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent, s),
547
+ ul: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent, l),
548
+ ol: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent, l),
531
549
  strong: c(t?.strongClassName ?? t?.contentClassName ?? "dial-tiny-text", X.stageContent),
532
550
  codeInline: X.codeInline,
533
- blockquote: c(t?.contentClassName ?? "dial-tiny-text", X.blockquote, s),
551
+ blockquote: c(t?.contentClassName ?? "dial-tiny-text", X.blockquote, l),
534
552
  link: c(t?.contentClassName ?? "dial-tiny-text", X.stageContent),
535
553
  tableCell: c(t?.contentClassName ?? "dial-tiny-text", X.tableCell)
536
554
  },
537
- components: { code: ({ children: e, className: i }) => i?.includes("language-") ? /* @__PURE__ */ J(rt, {
538
- codeClassName: i,
539
- blockClassName: t?.codeBlockClassName,
540
- copyAriaLabel: n,
541
- copiedLabel: r,
542
- children: e
543
- }) : /* @__PURE__ */ J("code", {
544
- className: c("px-1 py-0.5", t?.codeClassName ?? "dial-tiny-text rounded-md", X.codeInline),
545
- children: e
546
- }) }
555
+ components: d
547
556
  });
548
557
  }), at = ({ attachments: e, clickLabel: t, onAttachmentClick: n }) => {
549
558
  let r = W((t) => {
@@ -562,66 +571,67 @@ var ve = {
562
571
  })
563
572
  }, e.id))
564
573
  });
565
- }, ot = ({ stage: e, isLive: t, typography: n, labels: r, nameOverride: i, onAttachmentClick: a, attachmentDisplayResolvers: s, childList: l, isExpanded: u, onToggle: f }) => {
566
- let [p, m] = q(!1), h = u ?? p, _ = W((e) => {
567
- u === void 0 && m(e), f?.(e);
568
- }, [u, f]), { copyAriaLabel: v = "Copy stage content", codeBlockCopiedLabel: y, tableScrollRegionAriaLabel: b, mathScrollRegionAriaLabel: x, runningAriaLabel: S, failedAriaLabel: C, attachmentClickLabel: w = "Preview search result" } = r ?? {}, T = K(() => nt(e.attachments, s), [e.attachments, s]), { name: E, durationLabel: D } = we(e.name), O = i ?? E, k = !i && Te(E), A = e.status === o.Failed, j = !!e.content || !!e.attachments?.length, M = j || l != null, N = /* @__PURE__ */ Y(_e, { children: [
574
+ }, ot = ({ stage: e, isLive: t, typography: n, labels: r, nameOverride: i, onAttachmentClick: a, attachmentDisplayResolvers: s, renderCitation: l, childList: u, isExpanded: f, onToggle: p }) => {
575
+ let [m, h] = q(!1), _ = f ?? m, v = W((e) => {
576
+ f === void 0 && h(e), p?.(e);
577
+ }, [f, p]), { copyAriaLabel: y = "Copy stage content", codeBlockCopiedLabel: b, tableScrollRegionAriaLabel: x, mathScrollRegionAriaLabel: S, runningAriaLabel: C, failedAriaLabel: w, attachmentClickLabel: T = "Preview search result" } = r ?? {}, E = K(() => nt(e.attachments, s), [e.attachments, s]), { name: D, durationLabel: O } = we(e.name), k = i ?? D, A = !i && Te(D), j = e.status === o.Failed, M = !!e.content || !!e.attachments?.length, N = M || u != null, P = /* @__PURE__ */ Y(_e, { children: [
569
578
  /* @__PURE__ */ J("span", {
570
579
  className: "flex flex-none items-center",
571
580
  children: /* @__PURE__ */ J(Pe, {
572
581
  status: e.status,
573
582
  isLive: t,
574
- runningLabel: S,
575
- failedLabel: C
583
+ runningLabel: C,
584
+ failedLabel: w
576
585
  })
577
586
  }),
578
587
  /* @__PURE__ */ J("span", {
579
- className: c("max-w-[22rem] min-w-0 truncate", n?.fontClassName ?? "dial-small-text", X.stageName, A && X.stageNameFailed, k && X.monoName),
580
- children: /* @__PURE__ */ J(g, { text: O || e.status || "" })
588
+ className: c("max-w-[22rem] min-w-0 truncate", n?.fontClassName ?? "dial-small-text", X.stageName, j && X.stageNameFailed, A && X.monoName),
589
+ children: /* @__PURE__ */ J(g, { text: k || e.status || "" })
581
590
  }),
582
591
  e.tag && /* @__PURE__ */ J("span", {
583
592
  className: c("flex-none", n?.tagClassName ?? "dial-tiny-lead-text", X.tag),
584
593
  children: e.tag
585
594
  }),
586
- D && /* @__PURE__ */ J("span", {
595
+ O && /* @__PURE__ */ J("span", {
587
596
  className: c("flex-none", n?.countFontClassName ?? "dial-tiny-text", X.duration),
588
- children: D
597
+ children: O
589
598
  })
590
599
  ] });
591
- return M ? /* @__PURE__ */ Y(d, {
592
- expanded: h,
593
- onToggle: _,
600
+ return N ? /* @__PURE__ */ Y(d, {
601
+ expanded: _,
602
+ onToggle: v,
594
603
  title: /* @__PURE__ */ J("span", {
595
604
  className: "flex min-w-0 items-center gap-2",
596
- children: N
605
+ children: P
597
606
  }),
598
607
  className: je,
599
608
  headerClassName: c(Me, X.row, X.stageHeader),
600
609
  contentClassName: c("-mt-1 flex min-w-0 flex-col gap-3 px-0 py-1", X.stageRegion),
601
- children: [h && j && /* @__PURE__ */ Y("div", {
610
+ children: [_ && M && /* @__PURE__ */ Y("div", {
602
611
  className: "flex min-w-0 flex-col gap-3 ps-8",
603
612
  children: [e.content && /* @__PURE__ */ J("div", {
604
613
  className: "max-h-[300px] min-w-0 overflow-y-auto",
605
614
  children: /* @__PURE__ */ J(it, {
606
615
  content: e.content,
607
616
  typography: n,
608
- copyAriaLabel: v,
609
- copiedLabel: y,
610
- tableScrollRegionAriaLabel: b,
611
- mathScrollRegionAriaLabel: x
617
+ copyAriaLabel: y,
618
+ copiedLabel: b,
619
+ tableScrollRegionAriaLabel: x,
620
+ mathScrollRegionAriaLabel: S,
621
+ renderCitation: l
612
622
  })
613
- }), T.length > 0 && /* @__PURE__ */ J(at, {
614
- attachments: T,
615
- clickLabel: w,
623
+ }), E.length > 0 && /* @__PURE__ */ J(at, {
624
+ attachments: E,
625
+ clickLabel: T,
616
626
  onAttachmentClick: a
617
627
  })]
618
- }), h && l]
628
+ }), _ && u]
619
629
  }) : /* @__PURE__ */ J("div", {
620
630
  className: c("flex w-full items-center gap-2 px-2 py-1.5", X.row),
621
- children: N
631
+ children: P
622
632
  });
623
- }, st = (e) => e <= 3 ? "ps-4" : "ps-0", ct = (e) => e <= 3 ? "ps-6" : "ps-0", lt = ({ node: e, depth: t, nameOverride: n, isStreaming: r, expansion: i, typography: a, labels: o, onAttachmentClick: s, attachmentDisplayResolvers: c }) => {
624
- let l = ke(e.stage.index), u = t + 1;
633
+ }, st = (e) => e <= 3 ? "ps-4" : "ps-0", ct = (e) => e <= 3 ? "ps-6" : "ps-0", lt = ({ node: e, depth: t, nameOverride: n, isStreaming: r, expansion: i, typography: a, labels: o, onAttachmentClick: s, attachmentDisplayResolvers: c, renderCitation: l }) => {
634
+ let u = ke(e.stage.index), d = t + 1;
625
635
  return /* @__PURE__ */ J(ot, {
626
636
  stage: e.stage,
627
637
  nameOverride: n,
@@ -630,68 +640,71 @@ var ve = {
630
640
  labels: o,
631
641
  onAttachmentClick: s,
632
642
  attachmentDisplayResolvers: c,
633
- isExpanded: i.isExpanded(l),
634
- onToggle: (e) => i.onToggle(l, e),
643
+ renderCitation: l,
644
+ isExpanded: i.isExpanded(u),
645
+ onToggle: (e) => i.onToggle(u, e),
635
646
  childList: e.children.length > 0 ? /* @__PURE__ */ J(dt, {
636
647
  nodes: e.children,
637
- depth: u,
638
- className: st(u),
648
+ depth: d,
649
+ className: st(d),
639
650
  isStreaming: r,
640
651
  expansion: i,
641
652
  typography: a,
642
653
  labels: o,
643
654
  onAttachmentClick: s,
644
- attachmentDisplayResolvers: c
655
+ attachmentDisplayResolvers: c,
656
+ renderCitation: l
645
657
  }) : void 0
646
658
  });
647
- }, ut = ({ row: e, depth: t, isStreaming: n, expansion: r, typography: i, labels: a, onAttachmentClick: s, attachmentDisplayResolvers: l }) => {
648
- let { runningAriaLabel: u, failedAriaLabel: f, attemptLabel: p = (e) => `Attempt ${e}` } = a ?? {}, m = e.attempts ?? [], h = m.some((e) => e.stage.status == null), _ = m.some((e) => e.stage.status === o.Failed), v = o.Completed;
649
- h ? v = null : _ && (v = o.Failed);
650
- let y = Ae(e.key), b = r.isExpanded(y), x = t + 1, S = /* @__PURE__ */ Y("span", {
659
+ }, ut = ({ row: e, depth: t, isStreaming: n, expansion: r, typography: i, labels: a, onAttachmentClick: s, attachmentDisplayResolvers: l, renderCitation: u }) => {
660
+ let { runningAriaLabel: f, failedAriaLabel: p, attemptLabel: m = (e) => `Attempt ${e}` } = a ?? {}, h = e.attempts ?? [], _ = h.some((e) => e.stage.status == null), v = h.some((e) => e.stage.status === o.Failed), y = o.Completed;
661
+ _ ? y = null : v && (y = o.Failed);
662
+ let b = Ae(e.key), x = r.isExpanded(b), S = t + 1, C = /* @__PURE__ */ Y("span", {
651
663
  className: "flex min-w-0 items-center gap-2",
652
664
  children: [
653
665
  /* @__PURE__ */ J("span", {
654
666
  className: "flex flex-none items-center",
655
667
  children: /* @__PURE__ */ J(Pe, {
656
- status: v,
657
- isLive: n && h,
658
- runningLabel: u,
659
- failedLabel: f
668
+ status: y,
669
+ isLive: n && _,
670
+ runningLabel: f,
671
+ failedLabel: p
660
672
  })
661
673
  }),
662
674
  /* @__PURE__ */ J("span", {
663
- className: c("max-w-[22rem] min-w-0 truncate", i?.fontClassName ?? "dial-small-text", X.stageName, _ && X.stageNameFailed),
675
+ className: c("max-w-[22rem] min-w-0 truncate", i?.fontClassName ?? "dial-small-text", X.stageName, v && X.stageNameFailed),
664
676
  children: /* @__PURE__ */ J(g, { text: e.name })
665
677
  }),
666
678
  /* @__PURE__ */ Y("span", {
667
679
  className: c("flex-none", i?.countFontClassName ?? "dial-tiny-text", X.count),
668
- children: ["×", m.length]
680
+ children: ["×", h.length]
669
681
  })
670
682
  ]
671
683
  });
672
684
  return /* @__PURE__ */ J(d, {
673
- title: S,
674
- expanded: b,
675
- onToggle: (e) => r.onToggle(y, e),
685
+ title: C,
686
+ expanded: x,
687
+ onToggle: (e) => r.onToggle(b, e),
676
688
  className: je,
677
689
  headerClassName: c(Me, X.collapseButton, X.row, X.stageHeader),
678
- contentClassName: c("-mt-2 min-w-0 px-0", ct(x), X.stageRegion),
690
+ contentClassName: c("-mt-2 min-w-0 px-0", ct(S), X.stageRegion),
679
691
  children: /* @__PURE__ */ J("ul", {
680
692
  role: "list",
681
693
  className: "flex min-w-0 flex-col gap-0.5",
682
- children: b && m.map((e, t) => /* @__PURE__ */ J("li", {
694
+ children: x && h.map((e, t) => /* @__PURE__ */ J("li", {
683
695
  role: "listitem",
684
696
  className: "min-w-0",
685
697
  children: /* @__PURE__ */ J(lt, {
686
698
  node: e,
687
- depth: x,
688
- nameOverride: p(t + 1),
699
+ depth: S,
700
+ nameOverride: m(t + 1),
689
701
  isStreaming: n,
690
702
  expansion: r,
691
703
  typography: i,
692
704
  labels: a,
693
705
  onAttachmentClick: s,
694
- attachmentDisplayResolvers: l
706
+ attachmentDisplayResolvers: l,
707
+ renderCitation: u
695
708
  })
696
709
  }, e.stage.index))
697
710
  })
@@ -712,37 +725,38 @@ var ve = {
712
725
  ...r
713
726
  })
714
727
  }, e.key))
715
- }), ft = ({ stages: e, isStreaming: t, className: n, styles: r, labels: i, onAttachmentClick: a, attachmentDisplayResolvers: o, expansion: l }) => {
716
- let { colors: u, typography: d } = r ?? {}, f = s({
717
- "--cs-text": u?.text,
718
- "--cs-row-hover": u?.rowHoverColor,
719
- "--cs-button-bg": u?.collapsedButtonBg,
720
- "--cs-stage-text": u?.stageTextColor,
721
- "--cs-failed-text": u?.failedColor,
722
- "--cs-tag-text": u?.tagTextColor,
723
- "--cs-count-text": u?.countTextColor,
724
- "--cs-duration-text": u?.durationTextColor,
725
- "--cs-icon-secondary": u?.iconSecondaryColor,
726
- "--cs-icon-completed": u?.iconCompletedColor,
727
- "--cs-icon-error": u?.iconErrorColor,
728
- "--cs-code-bg": u?.codeBg,
729
- "--cs-code-border": u?.codeBorderColor,
730
- "--cs-code-text": u?.codeTextColor,
731
- "--cs-border": u?.borderColor
732
- }), p = K(() => Oe(e), [e]);
728
+ }), ft = ({ stages: e, isStreaming: t, className: n, styles: r, labels: i, onAttachmentClick: a, attachmentDisplayResolvers: o, renderCitation: l, expansion: u }) => {
729
+ let { colors: d, typography: f } = r ?? {}, p = s({
730
+ "--cs-text": d?.text,
731
+ "--cs-row-hover": d?.rowHoverColor,
732
+ "--cs-button-bg": d?.collapsedButtonBg,
733
+ "--cs-stage-text": d?.stageTextColor,
734
+ "--cs-failed-text": d?.failedColor,
735
+ "--cs-tag-text": d?.tagTextColor,
736
+ "--cs-count-text": d?.countTextColor,
737
+ "--cs-duration-text": d?.durationTextColor,
738
+ "--cs-icon-secondary": d?.iconSecondaryColor,
739
+ "--cs-icon-completed": d?.iconCompletedColor,
740
+ "--cs-icon-error": d?.iconErrorColor,
741
+ "--cs-code-bg": d?.codeBg,
742
+ "--cs-code-border": d?.codeBorderColor,
743
+ "--cs-code-text": d?.codeTextColor,
744
+ "--cs-border": d?.borderColor
745
+ }), m = K(() => Oe(e), [e]);
733
746
  return /* @__PURE__ */ J("div", {
734
- style: f,
747
+ style: p,
735
748
  className: c("w-full min-w-0", X.panel, n, ve.panel),
736
749
  children: /* @__PURE__ */ J(dt, {
737
- nodes: p,
750
+ nodes: m,
738
751
  depth: 0,
739
752
  className: "w-full ps-5",
740
753
  isStreaming: t,
741
- expansion: l,
742
- typography: d,
754
+ expansion: u,
755
+ typography: f,
743
756
  labels: i,
744
757
  onAttachmentClick: a,
745
- attachmentDisplayResolvers: o
758
+ attachmentDisplayResolvers: o,
759
+ renderCitation: l
746
760
  })
747
761
  });
748
762
  }, pt = (e) => {
@@ -758,68 +772,69 @@ var ve = {
758
772
  doneIcon: "_doneIcon_16fae_36",
759
773
  failedText: "_failedText_16fae_40",
760
774
  liveName: "_liveName_16fae_44"
761
- }, mt = ({ stages: e, isStreaming: t, labels: n, className: r, styles: i, onAttachmentClick: a, attachmentDisplayResolvers: l }) => {
762
- let { executedLabel: u = "Executed", stepsLabel: m = () => "steps", failedCountLabel: h = (e) => `${e} failed`, runningAriaLabel: _ = "Running", copyAriaLabel: v, codeBlockCopiedLabel: y, tableScrollRegionAriaLabel: b, mathScrollRegionAriaLabel: S, failedAriaLabel: C, attemptLabel: T, attachmentClickLabel: E } = n ?? {}, [D, O] = q(t), k = ye(), { reset: A } = k, j = e.length > 1;
775
+ }, mt = ({ stages: e, isStreaming: t, labels: n, className: r, styles: i, onAttachmentClick: a, attachmentDisplayResolvers: l, renderCitation: u }) => {
776
+ let { executedLabel: m = "Executed", stepsLabel: h = () => "steps", failedCountLabel: _ = (e) => `${e} failed`, runningAriaLabel: v = "Running", copyAriaLabel: y, codeBlockCopiedLabel: b, tableScrollRegionAriaLabel: S, mathScrollRegionAriaLabel: C, failedAriaLabel: T, attemptLabel: E, attachmentClickLabel: D } = n ?? {}, [O, k] = q(t), A = ye(), { reset: j } = A, M = e.length > 1;
763
777
  G(() => {
764
- j && !D && A();
778
+ M && !O && j();
765
779
  }, [
766
- j,
767
- D,
768
- A
780
+ M,
781
+ O,
782
+ j
769
783
  ]);
770
- let M = ge(t);
784
+ let N = ge(t);
771
785
  G(() => {
772
- M.current && !t && O(!1), M.current = t;
786
+ N.current && !t && k(!1), N.current = t;
773
787
  }, [t]);
774
- let { colors: N, panel: P } = i ?? {}, F = i?.typography ?? { fontClassName: "dial-small-text" }, I = s({
775
- "--cs-cg-label": N?.labelColor,
776
- "--cs-cg-label-hover": N?.labelHoverColor,
777
- "--cs-cg-done": N?.doneColor,
778
- "--cs-cg-failed": N?.failedColor,
779
- "--cs-text": P?.text,
780
- "--cs-row-hover": P?.rowHoverColor,
781
- "--cs-button-bg": P?.collapsedButtonBg,
782
- "--cs-stage-text": P?.stageTextColor,
783
- "--cs-failed-text": P?.failedColor,
784
- "--cs-tag-text": P?.tagTextColor,
785
- "--cs-count-text": P?.countTextColor,
786
- "--cs-duration-text": P?.durationTextColor,
787
- "--cs-icon-secondary": P?.iconSecondaryColor,
788
- "--cs-icon-completed": P?.iconCompletedColor,
789
- "--cs-icon-error": P?.iconErrorColor,
790
- "--cs-code-bg": P?.codeBg,
791
- "--cs-code-border": P?.codeBorderColor,
792
- "--cs-code-text": P?.codeTextColor,
793
- "--cs-border": P?.borderColor
788
+ let { colors: P, panel: F } = i ?? {}, I = i?.typography ?? { fontClassName: "dial-small-text" }, L = s({
789
+ "--cs-cg-label": P?.labelColor,
790
+ "--cs-cg-label-hover": P?.labelHoverColor,
791
+ "--cs-cg-done": P?.doneColor,
792
+ "--cs-cg-failed": P?.failedColor,
793
+ "--cs-text": F?.text,
794
+ "--cs-row-hover": F?.rowHoverColor,
795
+ "--cs-button-bg": F?.collapsedButtonBg,
796
+ "--cs-stage-text": F?.stageTextColor,
797
+ "--cs-failed-text": F?.failedColor,
798
+ "--cs-tag-text": F?.tagTextColor,
799
+ "--cs-count-text": F?.countTextColor,
800
+ "--cs-duration-text": F?.durationTextColor,
801
+ "--cs-icon-secondary": F?.iconSecondaryColor,
802
+ "--cs-icon-completed": F?.iconCompletedColor,
803
+ "--cs-icon-error": F?.iconErrorColor,
804
+ "--cs-code-bg": F?.codeBg,
805
+ "--cs-code-border": F?.codeBorderColor,
806
+ "--cs-code-text": F?.codeTextColor,
807
+ "--cs-border": F?.borderColor
794
808
  });
795
809
  if (e.length === 0) return null;
796
- let L = {
797
- copyAriaLabel: v,
798
- codeBlockCopiedLabel: y,
799
- tableScrollRegionAriaLabel: b,
800
- mathScrollRegionAriaLabel: S,
801
- runningAriaLabel: _,
802
- failedAriaLabel: C,
803
- attemptLabel: T,
804
- attachmentClickLabel: E
810
+ let R = {
811
+ copyAriaLabel: y,
812
+ codeBlockCopiedLabel: b,
813
+ tableScrollRegionAriaLabel: S,
814
+ mathScrollRegionAriaLabel: C,
815
+ runningAriaLabel: v,
816
+ failedAriaLabel: T,
817
+ attemptLabel: E,
818
+ attachmentClickLabel: D
805
819
  };
806
820
  if (e.length === 1) return /* @__PURE__ */ J(ft, {
807
821
  stages: e,
808
822
  isStreaming: t,
809
- expansion: k,
823
+ expansion: A,
810
824
  className: r,
811
825
  styles: {
812
- colors: P,
826
+ colors: F,
813
827
  typography: i?.typography
814
828
  },
815
- labels: L,
829
+ labels: R,
816
830
  onAttachmentClick: a,
817
- attachmentDisplayResolvers: l
831
+ attachmentDisplayResolvers: l,
832
+ renderCitation: u
818
833
  });
819
- let R = e.some((e) => e.status === o.Failed), z;
834
+ let z = e.some((e) => e.status === o.Failed), B;
820
835
  if (t) {
821
836
  let t = we((Ee(e) ?? e[e.length - 1]).name).name;
822
- z = /* @__PURE__ */ Y("span", {
837
+ B = /* @__PURE__ */ Y("span", {
823
838
  role: "status",
824
839
  "aria-live": "polite",
825
840
  className: "flex min-w-0 items-center gap-2",
@@ -827,32 +842,32 @@ var ve = {
827
842
  className: "flex flex-none items-center",
828
843
  children: /* @__PURE__ */ J(x, {
829
844
  size: 14,
830
- ariaLabel: _
845
+ ariaLabel: v
831
846
  })
832
847
  }), t && /* @__PURE__ */ J("span", {
833
- className: c("max-w-[22rem] min-w-0 truncate", F.fontClassName, $.liveName),
848
+ className: c("max-w-[22rem] min-w-0 truncate", I.fontClassName, $.liveName),
834
849
  children: /* @__PURE__ */ J(g, { text: t })
835
850
  })]
836
851
  });
837
- } else if (R) {
852
+ } else if (z) {
838
853
  let t = e.filter((e) => e.status === o.Failed).length;
839
- z = /* @__PURE__ */ Y("span", {
854
+ B = /* @__PURE__ */ Y("span", {
840
855
  className: "inline-flex items-center gap-1",
841
856
  children: [/* @__PURE__ */ Y("span", {
842
- className: c(F.fontClassName, $.executedLabel),
857
+ className: c(I.fontClassName, $.executedLabel),
843
858
  children: [
844
- u,
859
+ m,
845
860
  " ",
846
861
  e.length,
847
862
  " ",
848
- m(e.length)
863
+ h(e.length)
849
864
  ]
850
865
  }), /* @__PURE__ */ J("span", {
851
- className: c(F.fontClassName, $.failedText),
852
- children: h(t)
866
+ className: c(I.fontClassName, $.failedText),
867
+ children: _(t)
853
868
  })]
854
869
  });
855
- } else z = /* @__PURE__ */ Y("span", {
870
+ } else B = /* @__PURE__ */ Y("span", {
856
871
  className: "inline-flex items-center gap-1",
857
872
  children: [/* @__PURE__ */ J(w, {
858
873
  size: f.SM,
@@ -860,38 +875,39 @@ var ve = {
860
875
  "aria-hidden": !0,
861
876
  stroke: p
862
877
  }), /* @__PURE__ */ Y("span", {
863
- className: c(F.fontClassName, $.executedLabel),
878
+ className: c(I.fontClassName, $.executedLabel),
864
879
  children: [
865
- u,
880
+ m,
866
881
  " ",
867
882
  e.length,
868
883
  " ",
869
- m(e.length)
884
+ h(e.length)
870
885
  ]
871
886
  })]
872
887
  });
873
888
  return /* @__PURE__ */ J("div", {
874
- style: I,
889
+ style: L,
875
890
  className: c("flex w-full flex-col gap-1", r, ve.group),
876
891
  children: /* @__PURE__ */ J(d, {
877
- title: z,
878
- expanded: D,
879
- onToggle: O,
892
+ title: B,
893
+ expanded: O,
894
+ onToggle: k,
880
895
  className: "overflow-visible py-0",
881
896
  headerClassName: c("justify-start gap-1 rounded-none px-0", $.toggleButton, ve.groupToggle),
882
897
  contentClassName: c("-mt-2 px-0", $.groupRegion),
883
- children: D && /* @__PURE__ */ J(ft, {
898
+ children: O && /* @__PURE__ */ J(ft, {
884
899
  stages: e,
885
900
  isStreaming: t,
886
- expansion: k,
901
+ expansion: A,
887
902
  styles: {
888
- colors: P,
903
+ colors: F,
889
904
  typography: i?.typography
890
905
  },
891
- labels: L,
906
+ labels: R,
892
907
  className: "pt-1",
893
908
  onAttachmentClick: a,
894
- attachmentDisplayResolvers: l
909
+ attachmentDisplayResolvers: l,
910
+ renderCitation: u
895
911
  })
896
912
  })
897
913
  });
@@ -1,5 +1,5 @@
1
1
  import { AttachmentDisplayResolvers, DisplayAttachment, Stage } from '@epam/ai-dial-chat-shared';
2
- import { StagesPanelColors } from './stages-props';
2
+ import { StageCitationRenderer, StagesPanelColors } from './stages-props';
3
3
  /** Color overrides for the `CollapsedGroup` component applied as CSS custom properties. */
4
4
  export interface CollapsedGroupColors {
5
5
  /** Color of the toggle button label and icon. */
@@ -66,5 +66,7 @@ export interface CollapsedGroupProps {
66
66
  onAttachmentClick?: (attachment: DisplayAttachment) => void;
67
67
  /** Host-owned URL resolvers for stage attachment tiles. Forwarded unchanged to the inner `StagesPanel`. */
68
68
  attachmentDisplayResolvers?: AttachmentDisplayResolvers;
69
+ /** Host-owned renderer for `<cit data-id="…">` elements in stage content. Forwarded unchanged to the inner `StagesPanel`. */
70
+ renderCitation?: StageCitationRenderer;
69
71
  }
70
72
  //# sourceMappingURL=collapsed-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapsed-group.d.ts","sourceRoot":"","sources":["../../src/models/collapsed-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACnC,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kGAAkG;IAClG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wHAAwH;IACxH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kIAAkI;IAClI,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mHAAmH;IACnH,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,sHAAsH;IACtH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,8FAA8F;IAC9F,WAAW,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,2GAA2G;IAC3G,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CACzD"}
1
+ {"version":3,"file":"collapsed-group.d.ts","sourceRoot":"","sources":["../../src/models/collapsed-group.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACnC,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iHAAiH;IACjH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kGAAkG;IAClG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wHAAwH;IACxH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,kIAAkI;IAClI,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mHAAmH;IACnH,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,sHAAsH;IACtH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,8FAA8F;IAC9F,WAAW,EAAE,OAAO,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,2GAA2G;IAC3G,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,6HAA6H;IAC7H,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC"}
@@ -1,4 +1,7 @@
1
1
  import { AttachmentDisplayResolvers, DisplayAttachment, Stage } from '@epam/ai-dial-chat-shared';
2
+ import { ReactNode } from 'react';
3
+ /** Renders a `<cit data-id="…">` element found in stage content, given its `data-id` value and children. */
4
+ export type StageCitationRenderer = (dataId: string | undefined, children: ReactNode) => ReactNode;
2
5
  /** Typography class overrides for stage name and expanded content elements in `StagesPanel`. */
3
6
  export interface StageTypography {
4
7
  /** CSS utility class applied to the stage/step name. Defaults to `'dial-small-text'`. */
@@ -93,5 +96,7 @@ export interface StagesPanelProps {
93
96
  onAttachmentClick?: (attachment: DisplayAttachment) => void;
94
97
  /** Host-owned URL resolvers applied when mapping stage attachments; without them an image tile previews its raw `url`. */
95
98
  attachmentDisplayResolvers?: AttachmentDisplayResolvers;
99
+ /** Host-owned renderer for `<cit data-id="…">` elements in stage content; without it they render as literal text. */
100
+ renderCitation?: StageCitationRenderer;
96
101
  }
97
102
  //# sourceMappingURL=stages-props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stages-props.d.ts","sourceRoot":"","sources":["../../src/models/stages-props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stages-props.d.ts","sourceRoot":"","sources":["../../src/models/stages-props.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-conversation-stages",
3
3
  "description": "Panel for displaying agent processing stages during LLM response streaming",
4
- "version": "1.3.0-dev.141",
4
+ "version": "1.3.0-dev.147",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@tabler/icons-react": "^3.44.0",
21
- "@epam/ai-dial-attachment-input": "1.3.0-dev.141"
21
+ "@epam/ai-dial-attachment-input": "1.3.0-dev.147"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": "^19.2.8",
25
- "@epam/ai-dial-chat-shared": "1.3.0-dev.141",
25
+ "@epam/ai-dial-chat-shared": "1.3.0-dev.147",
26
26
  "@epam/ai-dial-ui-kit": "^0.16.0-dev.22"
27
27
  },
28
28
  "repository": {