@razorpay/blade 12.90.0 → 12.91.0

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 (21) hide show
  1. package/build/lib/web/development/_virtual/cloneDeep.js +1 -1
  2. package/build/lib/web/development/_virtual/cloneDeep3.js +1 -1
  3. package/build/lib/web/development/components/ChatMessage/ChatMessage.web.js +10 -2
  4. package/build/lib/web/development/components/ChatMessage/ChatMessage.web.js.map +1 -1
  5. package/build/lib/web/development/components/ChatMessage/DefaultMessageBubble.web.js +26 -7
  6. package/build/lib/web/development/components/ChatMessage/DefaultMessageBubble.web.js.map +1 -1
  7. package/build/lib/web/development/components/ChatMessage/ReasoningTraces.web.js +378 -0
  8. package/build/lib/web/development/components/ChatMessage/ReasoningTraces.web.js.map +1 -0
  9. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
  10. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
  11. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
  12. package/build/lib/web/development/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
  13. package/build/lib/web/production/components/ChatMessage/ChatMessage.web.js +10 -2
  14. package/build/lib/web/production/components/ChatMessage/ChatMessage.web.js.map +1 -1
  15. package/build/lib/web/production/components/ChatMessage/DefaultMessageBubble.web.js +26 -7
  16. package/build/lib/web/production/components/ChatMessage/DefaultMessageBubble.web.js.map +1 -1
  17. package/build/lib/web/production/components/ChatMessage/ReasoningTraces.web.js +378 -0
  18. package/build/lib/web/production/components/ChatMessage/ReasoningTraces.web.js.map +1 -0
  19. package/build/types/components/index.d.ts +41 -0
  20. package/build/types/components/index.native.d.ts +41 -0
  21. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import '../node_modules/es-toolkit/dist/object/cloneDeep.js';
1
+ import '../node_modules/es-toolkit/dist/compat/object/cloneDeep.js';
2
2
  //# sourceMappingURL=cloneDeep.js.map
@@ -1,2 +1,2 @@
1
- import '../node_modules/es-toolkit/dist/compat/object/cloneDeep.js';
1
+ import '../node_modules/es-toolkit/dist/object/cloneDeep.js';
2
2
  //# sourceMappingURL=cloneDeep3.js.map
@@ -23,7 +23,7 @@ import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeA
23
23
  import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
24
24
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
25
25
 
26
- var _excluded = ["messageType", "senderType", "isLoading", "validationState", "errorText", "onClick", "footerActions", "children", "leading", "loadingText", "wordBreak", "maxWidth", "thumbnails", "onThumbnailClick"];
26
+ var _excluded = ["messageType", "senderType", "isLoading", "validationState", "errorText", "onClick", "footerActions", "children", "leading", "loadingText", "wordBreak", "maxWidth", "thumbnails", "onThumbnailClick", "reasoningTraces", "reasoningStatus", "reasoningTitle", "reasoningActiveStepIndex"];
27
27
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
28
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
29
  var ButtonResetCss = {
@@ -58,6 +58,10 @@ var _ChatMessage = function _ChatMessage(_ref, ref) {
58
58
  maxWidth = _ref.maxWidth,
59
59
  thumbnails = _ref.thumbnails,
60
60
  onThumbnailClick = _ref.onThumbnailClick,
61
+ reasoningTraces = _ref.reasoningTraces,
62
+ reasoningStatus = _ref.reasoningStatus,
63
+ reasoningTitle = _ref.reasoningTitle,
64
+ reasoningActiveStepIndex = _ref.reasoningActiveStepIndex,
61
65
  props = _objectWithoutProperties(_ref, _excluded);
62
66
  // Keep deprecated prop "used" to avoid lint errors while preserving compatibility.
63
67
  void messageType;
@@ -88,7 +92,11 @@ var _ChatMessage = function _ChatMessage(_ref, ref) {
88
92
  leading: leading,
89
93
  isLoading: isLoading,
90
94
  footerActions: footerActions,
91
- isChildText: shouldWrapInText
95
+ isChildText: shouldWrapInText,
96
+ reasoningTraces: reasoningTraces,
97
+ reasoningStatus: reasoningStatus,
98
+ reasoningTitle: reasoningTitle,
99
+ reasoningActiveStepIndex: reasoningActiveStepIndex
92
100
  });
93
101
  var imagePreviewAlignment = senderType === 'self' ? 'flex-end' : 'flex-start';
94
102
  return /*#__PURE__*/jsxs(BaseBox, {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.web.js","sources":["../../../../../../src/components/ChatMessage/ChatMessage.web.tsx"],"sourcesContent":["import React from 'react';\nimport { SelfMessageBubble } from './SelfMessageBubble.web';\nimport { DefaultMessageBubble } from './DefaultMessageBubble.web';\nimport type { ChatMessageProps } from './types';\nimport { ThumbnailPreview } from './ThumbnailPreview.web';\nimport { RollingText } from '~components/RollingText';\nimport { Text } from '~components/Typography';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getStringFromReactText } from '~utils/getStringChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\n\nconst ButtonResetCss = {\n background: 'none',\n border: 'none',\n padding: undefined,\n cursor: 'pointer',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left' as const,\n outline: 'inherit',\n appearance: 'none',\n backgroundColor: 'inherit',\n};\n\nconst _ChatMessage: React.ForwardRefRenderFunction<BladeElementRef, ChatMessageProps> = (\n {\n messageType = 'default',\n senderType = 'self',\n isLoading = false,\n validationState = 'none',\n errorText,\n onClick,\n footerActions,\n children,\n leading,\n loadingText,\n wordBreak = 'break-word',\n maxWidth,\n thumbnails,\n onThumbnailClick,\n ...props\n }: ChatMessageProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n // Keep deprecated prop \"used\" to avoid lint errors while preserving compatibility.\n void messageType;\n\n // since we can pass both string and Card component as children, we need to check if children is string or Card component\n // if children is string or array of string, we need to wrap it in Text component otherwise we will pass children as it is\n const shouldWrapInText =\n typeof children === 'string' ||\n (Array.isArray(children) && children.every((child) => typeof child === 'string')) ||\n isLoading;\n\n const loadingContent =\n isLoading && Array.isArray(loadingText) ? <RollingText texts={loadingText} /> : loadingText;\n\n const finalChildren = shouldWrapInText ? (\n <Text\n color={\n isLoading\n ? Array.isArray(loadingText)\n ? 'feedback.text.positive.intense'\n : 'surface.text.gray.muted'\n : 'surface.text.gray.normal'\n }\n weight=\"regular\"\n variant=\"body\"\n size=\"medium\"\n wordBreak={wordBreak}\n >\n {isLoading ? loadingContent : getStringFromReactText(children as string | string[])}\n </Text>\n ) : (\n (children as React.ReactElement)\n );\n\n const messageBubble =\n senderType === 'self' ? (\n <SelfMessageBubble\n validationState={validationState}\n errorText={errorText}\n children={finalChildren}\n isChildText={shouldWrapInText}\n />\n ) : (\n <DefaultMessageBubble\n children={finalChildren}\n leading={leading}\n isLoading={isLoading}\n footerActions={footerActions}\n isChildText={shouldWrapInText}\n />\n );\n\n const imagePreviewAlignment = senderType === 'self' ? 'flex-end' : 'flex-start';\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {thumbnails && thumbnails.length > 0 ? (\n <BaseBox alignSelf={imagePreviewAlignment}>\n <ThumbnailPreview thumbnails={thumbnails} onThumbnailClick={onThumbnailClick} />\n </BaseBox>\n ) : null}\n <BaseBox\n onClick={onClick}\n {...(onClick ? { ...ButtonResetCss } : {})}\n {...metaAttribute({ name: MetaConstants.ChatMessage, testID: props.testID })}\n {...makeAnalyticsAttribute(props)}\n {...getStyledProps(props)}\n maxWidth={maxWidth}\n ref={ref as never}\n as={onClick ? 'button' : undefined}\n >\n {messageBubble}\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst ChatMessage = assignWithoutSideEffects(React.forwardRef(_ChatMessage), {\n displayName: 'ChatMessage',\n componentId: MetaConstants.ChatMessage,\n});\nexport { ChatMessage };\n"],"names":["ButtonResetCss","background","border","padding","undefined","cursor","color","font","textAlign","outline","appearance","backgroundColor","_ChatMessage","_ref","ref","_ref$messageType","messageType","_ref$senderType","senderType","_ref$isLoading","isLoading","_ref$validationState","validationState","errorText","onClick","footerActions","children","leading","loadingText","_ref$wordBreak","wordBreak","maxWidth","thumbnails","onThumbnailClick","props","_objectWithoutProperties","_excluded","shouldWrapInText","Array","isArray","every","child","loadingContent","_jsx","RollingText","texts","finalChildren","Text","weight","variant","size","getStringFromReactText","messageBubble","SelfMessageBubble","isChildText","DefaultMessageBubble","imagePreviewAlignment","_jsxs","BaseBox","display","flexDirection","gap","length","alignSelf","ThumbnailPreview","_objectSpread","metaAttribute","name","MetaConstants","ChatMessage","testID","makeAnalyticsAttribute","getStyledProps","as","assignWithoutSideEffects","React","forwardRef","displayName","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessage.web.js","sources":["../../../../../../src/components/ChatMessage/ChatMessage.web.tsx"],"sourcesContent":["import React from 'react';\nimport { SelfMessageBubble } from './SelfMessageBubble.web';\nimport { DefaultMessageBubble } from './DefaultMessageBubble.web';\nimport type { ChatMessageProps } from './types';\nimport { ThumbnailPreview } from './ThumbnailPreview.web';\nimport { RollingText } from '~components/RollingText';\nimport { Text } from '~components/Typography';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getStringFromReactText } from '~utils/getStringChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\n\nconst ButtonResetCss = {\n background: 'none',\n border: 'none',\n padding: undefined,\n cursor: 'pointer',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left' as const,\n outline: 'inherit',\n appearance: 'none',\n backgroundColor: 'inherit',\n};\n\nconst _ChatMessage: React.ForwardRefRenderFunction<BladeElementRef, ChatMessageProps> = (\n {\n messageType = 'default',\n senderType = 'self',\n isLoading = false,\n validationState = 'none',\n errorText,\n onClick,\n footerActions,\n children,\n leading,\n loadingText,\n wordBreak = 'break-word',\n maxWidth,\n thumbnails,\n onThumbnailClick,\n reasoningTraces,\n reasoningStatus,\n reasoningTitle,\n reasoningActiveStepIndex,\n ...props\n }: ChatMessageProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n // Keep deprecated prop \"used\" to avoid lint errors while preserving compatibility.\n void messageType;\n\n // since we can pass both string and Card component as children, we need to check if children is string or Card component\n // if children is string or array of string, we need to wrap it in Text component otherwise we will pass children as it is\n const shouldWrapInText =\n typeof children === 'string' ||\n (Array.isArray(children) && children.every((child) => typeof child === 'string')) ||\n isLoading;\n\n const loadingContent =\n isLoading && Array.isArray(loadingText) ? <RollingText texts={loadingText} /> : loadingText;\n\n const finalChildren = shouldWrapInText ? (\n <Text\n color={\n isLoading\n ? Array.isArray(loadingText)\n ? 'feedback.text.positive.intense'\n : 'surface.text.gray.muted'\n : 'surface.text.gray.normal'\n }\n weight=\"regular\"\n variant=\"body\"\n size=\"medium\"\n wordBreak={wordBreak}\n >\n {isLoading ? loadingContent : getStringFromReactText(children as string | string[])}\n </Text>\n ) : (\n (children as React.ReactElement)\n );\n\n const messageBubble =\n senderType === 'self' ? (\n <SelfMessageBubble\n validationState={validationState}\n errorText={errorText}\n children={finalChildren}\n isChildText={shouldWrapInText}\n />\n ) : (\n <DefaultMessageBubble\n children={finalChildren}\n leading={leading}\n isLoading={isLoading}\n footerActions={footerActions}\n isChildText={shouldWrapInText}\n reasoningTraces={reasoningTraces}\n reasoningStatus={reasoningStatus}\n reasoningTitle={reasoningTitle}\n reasoningActiveStepIndex={reasoningActiveStepIndex}\n />\n );\n\n const imagePreviewAlignment = senderType === 'self' ? 'flex-end' : 'flex-start';\n\n return (\n <BaseBox display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {thumbnails && thumbnails.length > 0 ? (\n <BaseBox alignSelf={imagePreviewAlignment}>\n <ThumbnailPreview thumbnails={thumbnails} onThumbnailClick={onThumbnailClick} />\n </BaseBox>\n ) : null}\n <BaseBox\n onClick={onClick}\n {...(onClick ? { ...ButtonResetCss } : {})}\n {...metaAttribute({ name: MetaConstants.ChatMessage, testID: props.testID })}\n {...makeAnalyticsAttribute(props)}\n {...getStyledProps(props)}\n maxWidth={maxWidth}\n ref={ref as never}\n as={onClick ? 'button' : undefined}\n >\n {messageBubble}\n </BaseBox>\n </BaseBox>\n );\n};\n\nconst ChatMessage = assignWithoutSideEffects(React.forwardRef(_ChatMessage), {\n displayName: 'ChatMessage',\n componentId: MetaConstants.ChatMessage,\n});\nexport { ChatMessage };\n"],"names":["ButtonResetCss","background","border","padding","undefined","cursor","color","font","textAlign","outline","appearance","backgroundColor","_ChatMessage","_ref","ref","_ref$messageType","messageType","_ref$senderType","senderType","_ref$isLoading","isLoading","_ref$validationState","validationState","errorText","onClick","footerActions","children","leading","loadingText","_ref$wordBreak","wordBreak","maxWidth","thumbnails","onThumbnailClick","reasoningTraces","reasoningStatus","reasoningTitle","reasoningActiveStepIndex","props","_objectWithoutProperties","_excluded","shouldWrapInText","Array","isArray","every","child","loadingContent","_jsx","RollingText","texts","finalChildren","Text","weight","variant","size","getStringFromReactText","messageBubble","SelfMessageBubble","isChildText","DefaultMessageBubble","imagePreviewAlignment","_jsxs","BaseBox","display","flexDirection","gap","length","alignSelf","ThumbnailPreview","_objectSpread","metaAttribute","name","MetaConstants","ChatMessage","testID","makeAnalyticsAttribute","getStyledProps","as","assignWithoutSideEffects","React","forwardRef","displayName","componentId"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import 'react';
2
2
  import Rotate from './Rotate.web.js';
3
+ import { ReasoningTraces } from './ReasoningTraces.web.js';
3
4
  import '../Box/BaseBox/index.js';
4
5
  import { jsx, jsxs } from 'react/jsx-runtime';
5
6
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
@@ -9,24 +10,42 @@ var DefaultMessageBubble = function DefaultMessageBubble(_ref) {
9
10
  leading = _ref.leading,
10
11
  isLoading = _ref.isLoading,
11
12
  footerActions = _ref.footerActions,
12
- isChildText = _ref.isChildText;
13
+ isChildText = _ref.isChildText,
14
+ reasoningTraces = _ref.reasoningTraces,
15
+ reasoningStatus = _ref.reasoningStatus,
16
+ reasoningTitle = _ref.reasoningTitle,
17
+ reasoningActiveStepIndex = _ref.reasoningActiveStepIndex;
18
+ var hasReasoningTraces = reasoningTraces && reasoningTraces.length > 0;
13
19
  return /*#__PURE__*/jsx(BaseBox, {
14
20
  children: /*#__PURE__*/jsxs(BaseBox, {
15
21
  display: "grid",
16
22
  gridTemplateColumns: "auto 1fr",
17
- gridTemplateRows: "auto auto",
18
23
  columnGap: "spacing.4",
24
+ alignItems: "start",
19
25
  children: [/*#__PURE__*/jsx(BaseBox, {
20
- padding: "spacing.2",
26
+ padding: "spacing.1",
21
27
  children: /*#__PURE__*/jsx(Rotate, {
22
28
  animate: isLoading,
23
29
  children: leading
24
30
  })
25
- }), /*#__PURE__*/jsx(BaseBox, {
31
+ }), /*#__PURE__*/jsxs(BaseBox, {
26
32
  display: "flex",
27
- alignItems: "center",
28
- paddingY: isChildText ? 'spacing.2' : 'spacing.0',
29
- children: children
33
+ flexDirection: "column",
34
+ children: [hasReasoningTraces && reasoningStatus === 'loading' && isLoading && /*#__PURE__*/jsx(BaseBox, {
35
+ paddingY: isChildText ? 'spacing.2' : 'spacing.0',
36
+ children: children
37
+ }), hasReasoningTraces && /*#__PURE__*/jsx(ReasoningTraces, {
38
+ traces: reasoningTraces,
39
+ status: reasoningStatus,
40
+ title: reasoningTitle,
41
+ activeStepIndex: reasoningActiveStepIndex
42
+ }), hasReasoningTraces && reasoningStatus === 'complete' && !isLoading && children && /*#__PURE__*/jsx(BaseBox, {
43
+ paddingY: isChildText ? 'spacing.2' : 'spacing.0',
44
+ children: children
45
+ }), !hasReasoningTraces && children && /*#__PURE__*/jsx(BaseBox, {
46
+ paddingY: isChildText ? 'spacing.2' : 'spacing.0',
47
+ children: children
48
+ })]
30
49
  }), /*#__PURE__*/jsx(BaseBox, {
31
50
  gridColumn: "2",
32
51
  children: footerActions
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultMessageBubble.web.js","sources":["../../../../../../src/components/ChatMessage/DefaultMessageBubble.web.tsx"],"sourcesContent":["import React from 'react';\nimport Rotate from './Rotate.web';\nimport type { CommonChatMessageProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\n\nconst DefaultMessageBubble = ({\n children,\n leading,\n isLoading,\n footerActions,\n isChildText,\n}: Pick<CommonChatMessageProps, 'children' | 'leading' | 'isLoading' | 'footerActions'> & {\n isChildText: boolean;\n}): React.ReactElement => {\n return (\n <BaseBox>\n <BaseBox\n display=\"grid\"\n gridTemplateColumns=\"auto 1fr\"\n gridTemplateRows=\"auto auto\"\n columnGap=\"spacing.4\"\n >\n <BaseBox padding=\"spacing.2\">\n <Rotate animate={isLoading}>{leading as React.ReactElement}</Rotate>\n </BaseBox>\n\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n paddingY={isChildText ? 'spacing.2' : 'spacing.0'}\n >\n {children}\n </BaseBox>\n\n <BaseBox gridColumn=\"2\">{footerActions}</BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { DefaultMessageBubble };\n"],"names":["DefaultMessageBubble","_ref","children","leading","isLoading","footerActions","isChildText","_jsx","BaseBox","_jsxs","display","gridTemplateColumns","gridTemplateRows","columnGap","padding","Rotate","animate","alignItems","paddingY","gridColumn"],"mappings":";;;;;;AAKA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAQA;AAAA,EAAA,IAPxBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,WAAW,GAAAL,IAAA,CAAXK,WAAW,CAAA;EAIX,oBACEC,GAAA,CAACC,OAAO,EAAA;IAAAN,QAAA,eACNO,IAAA,CAACD,OAAO,EAAA;AACNE,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,mBAAmB,EAAC,UAAU;AAC9BC,MAAAA,gBAAgB,EAAC,WAAW;AAC5BC,MAAAA,SAAS,EAAC,WAAW;MAAAX,QAAA,EAAA,cAErBK,GAAA,CAACC,OAAO,EAAA;AAACM,QAAAA,OAAO,EAAC,WAAW;QAAAZ,QAAA,eAC1BK,GAAA,CAACQ,MAAM,EAAA;AAACC,UAAAA,OAAO,EAAEZ,SAAU;AAAAF,UAAAA,QAAA,EAAEC,OAAAA;SAAsC,CAAA;AAAC,OAC7D,CAAC,eAEVI,GAAA,CAACC,OAAO,EAAA;AACNE,QAAAA,OAAO,EAAC,MAAM;AACdO,QAAAA,UAAU,EAAC,QAAQ;AACnBC,QAAAA,QAAQ,EAAEZ,WAAW,GAAG,WAAW,GAAG,WAAY;AAAAJ,QAAAA,QAAA,EAEjDA,QAAAA;AAAQ,OACF,CAAC,eAEVK,GAAA,CAACC,OAAO,EAAA;AAACW,QAAAA,UAAU,EAAC,GAAG;AAAAjB,QAAAA,QAAA,EAAEG,aAAAA;AAAa,OAAU,CAAC,CAAA;KAC1C,CAAA;AAAC,GACH,CAAC,CAAA;AAEd;;;;"}
1
+ {"version":3,"file":"DefaultMessageBubble.web.js","sources":["../../../../../../src/components/ChatMessage/DefaultMessageBubble.web.tsx"],"sourcesContent":["import React from 'react';\nimport Rotate from './Rotate.web';\nimport { ReasoningTraces } from './ReasoningTraces.web';\nimport type { CommonChatMessageProps } from './types';\nimport BaseBox from '~components/Box/BaseBox';\n\nconst DefaultMessageBubble = ({\n children,\n leading,\n isLoading,\n footerActions,\n isChildText,\n reasoningTraces,\n reasoningStatus,\n reasoningTitle,\n reasoningActiveStepIndex,\n}: Pick<\n CommonChatMessageProps,\n | 'children'\n | 'leading'\n | 'isLoading'\n | 'footerActions'\n | 'reasoningTraces'\n | 'reasoningStatus'\n | 'reasoningTitle'\n | 'reasoningActiveStepIndex'\n> & {\n isChildText: boolean;\n}): React.ReactElement => {\n const hasReasoningTraces = reasoningTraces && reasoningTraces.length > 0;\n\n return (\n <BaseBox>\n <BaseBox\n display=\"grid\"\n gridTemplateColumns=\"auto 1fr\"\n columnGap=\"spacing.4\"\n alignItems=\"start\"\n >\n {/* Icon aligns with message content */}\n <BaseBox padding=\"spacing.1\">\n <Rotate animate={isLoading}>{leading as React.ReactElement}</Rotate>\n </BaseBox>\n\n {/* Column 2: Main message content + ReasoningTraces */}\n <BaseBox display=\"flex\" flexDirection=\"column\">\n {/* While loading: show loadingText above traces (only if reasoning is still loading) */}\n {hasReasoningTraces && reasoningStatus === 'loading' && isLoading && (\n <BaseBox paddingY={isChildText ? 'spacing.2' : 'spacing.0'}>{children}</BaseBox>\n )}\n\n {/* ReasoningTraces: shown while loading or when complete */}\n {hasReasoningTraces && (\n <ReasoningTraces\n traces={reasoningTraces}\n status={reasoningStatus}\n title={reasoningTitle}\n activeStepIndex={reasoningActiveStepIndex}\n />\n )}\n\n {/* When complete: show final content below reasoning (only if not loading) */}\n {hasReasoningTraces && reasoningStatus === 'complete' && !isLoading && children && (\n <BaseBox paddingY={isChildText ? 'spacing.2' : 'spacing.0'}>{children}</BaseBox>\n )}\n\n {/* No reasoning traces: show content normally */}\n {!hasReasoningTraces && children && (\n <BaseBox paddingY={isChildText ? 'spacing.2' : 'spacing.0'}>{children}</BaseBox>\n )}\n </BaseBox>\n\n <BaseBox gridColumn=\"2\">{footerActions}</BaseBox>\n </BaseBox>\n </BaseBox>\n );\n};\n\nexport { DefaultMessageBubble };\n"],"names":["DefaultMessageBubble","_ref","children","leading","isLoading","footerActions","isChildText","reasoningTraces","reasoningStatus","reasoningTitle","reasoningActiveStepIndex","hasReasoningTraces","length","_jsx","BaseBox","_jsxs","display","gridTemplateColumns","columnGap","alignItems","padding","Rotate","animate","flexDirection","paddingY","ReasoningTraces","traces","status","title","activeStepIndex","gridColumn"],"mappings":";;;;;;;AAMA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAsBA;AAAA,EAAA,IArBxBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,eAAe,GAAAN,IAAA,CAAfM,eAAe;IACfC,eAAe,GAAAP,IAAA,CAAfO,eAAe;IACfC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;IACdC,wBAAwB,GAAAT,IAAA,CAAxBS,wBAAwB,CAAA;EAcxB,IAAMC,kBAAkB,GAAGJ,eAAe,IAAIA,eAAe,CAACK,MAAM,GAAG,CAAC,CAAA;EAExE,oBACEC,GAAA,CAACC,OAAO,EAAA;IAAAZ,QAAA,eACNa,IAAA,CAACD,OAAO,EAAA;AACNE,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,mBAAmB,EAAC,UAAU;AAC9BC,MAAAA,SAAS,EAAC,WAAW;AACrBC,MAAAA,UAAU,EAAC,OAAO;MAAAjB,QAAA,EAAA,cAGlBW,GAAA,CAACC,OAAO,EAAA;AAACM,QAAAA,OAAO,EAAC,WAAW;QAAAlB,QAAA,eAC1BW,GAAA,CAACQ,MAAM,EAAA;AAACC,UAAAA,OAAO,EAAElB,SAAU;AAAAF,UAAAA,QAAA,EAAEC,OAAAA;SAAsC,CAAA;AAAC,OAC7D,CAAC,eAGVY,IAAA,CAACD,OAAO,EAAA;AAACE,QAAAA,OAAO,EAAC,MAAM;AAACO,QAAAA,aAAa,EAAC,QAAQ;QAAArB,QAAA,EAAA,CAE3CS,kBAAkB,IAAIH,eAAe,KAAK,SAAS,IAAIJ,SAAS,iBAC/DS,GAAA,CAACC,OAAO,EAAA;AAACU,UAAAA,QAAQ,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAAAJ,UAAAA,QAAA,EAAEA,QAAAA;AAAQ,SAAU,CAChF,EAGAS,kBAAkB,iBACjBE,GAAA,CAACY,eAAe,EAAA;AACdC,UAAAA,MAAM,EAAEnB,eAAgB;AACxBoB,UAAAA,MAAM,EAAEnB,eAAgB;AACxBoB,UAAAA,KAAK,EAAEnB,cAAe;AACtBoB,UAAAA,eAAe,EAAEnB,wBAAAA;AAAyB,SAC3C,CACF,EAGAC,kBAAkB,IAAIH,eAAe,KAAK,UAAU,IAAI,CAACJ,SAAS,IAAIF,QAAQ,iBAC7EW,GAAA,CAACC,OAAO,EAAA;AAACU,UAAAA,QAAQ,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAAAJ,UAAAA,QAAA,EAAEA,QAAAA;SAAkB,CAChF,EAGA,CAACS,kBAAkB,IAAIT,QAAQ,iBAC9BW,GAAA,CAACC,OAAO,EAAA;AAACU,UAAAA,QAAQ,EAAElB,WAAW,GAAG,WAAW,GAAG,WAAY;AAAAJ,UAAAA,QAAA,EAAEA,QAAAA;AAAQ,SAAU,CAChF,CAAA;AAAA,OACM,CAAC,eAEVW,GAAA,CAACC,OAAO,EAAA;AAACgB,QAAAA,UAAU,EAAC,GAAG;AAAA5B,QAAAA,QAAA,EAAEG,aAAAA;AAAa,OAAU,CAAC,CAAA;KAC1C,CAAA;AAAC,GACH,CAAC,CAAA;AAEd;;;;"}
@@ -0,0 +1,378 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
+ import { useState, useEffect } from 'react';
5
+ import { m, AnimatePresence } from 'framer-motion';
6
+ import Rotate from './Rotate.web.js';
7
+ import '../BladeProvider/index.js';
8
+ import { msToSeconds } from '../../utils/msToSeconds.js';
9
+ import { cssBezierToArray } from '../../utils/cssBezierToArray.js';
10
+ import '../../utils/index.js';
11
+ import '../Icons/index.js';
12
+ import '../Typography/index.js';
13
+ import '../Box/BaseBox/index.js';
14
+ import { Collapsible } from '../Collapsible/Collapsible.js';
15
+ import { CollapsibleBody } from '../Collapsible/CollapsibleBody.js';
16
+ import '../Icons/_Svg/index.js';
17
+ import '../Icons/useIconProps/index.js';
18
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
19
+ import useIconProps from '../Icons/useIconProps/useIconProps.js';
20
+ import Svg from '../Icons/_Svg/Svg/Svg.web.js';
21
+ import Path from '../Icons/_Svg/Path/Path.web.js';
22
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
23
+ import useTheme from '../BladeProvider/useTheme.js';
24
+ import { castWebType } from '../../utils/platform/castUtils.js';
25
+ import { Text } from '../Typography/Text/Text.js';
26
+ import ChevronUpIcon from '../Icons/ChevronUpIcon/ChevronUpIcon.js';
27
+ import ChevronDownIcon from '../Icons/ChevronDownIcon/ChevronDownIcon.js';
28
+
29
+ var _excluded = ["size", "color"];
30
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
+ var SparkleIcon = function SparkleIcon(_ref) {
33
+ var size = _ref.size,
34
+ color = _ref.color,
35
+ styledProps = _objectWithoutProperties(_ref, _excluded);
36
+ var _useIconProps = useIconProps({
37
+ size: size,
38
+ color: color
39
+ }),
40
+ height = _useIconProps.height,
41
+ width = _useIconProps.width;
42
+ return /*#__PURE__*/jsx(Svg, _objectSpread(_objectSpread({}, styledProps), {}, {
43
+ width: width,
44
+ height: height,
45
+ viewBox: "0 0 9 9",
46
+ fill: "none",
47
+ children: /*#__PURE__*/jsx(Path, {
48
+ d: "M4.7169 8.67519C4.62025 8.93638 4.25084 8.93638 4.15419 8.67519L3.13296 5.91537C3.10258 5.83326 3.03784 5.76851 2.95572 5.73813L0.195898 4.7169C-0.0652872 4.62025 -0.0652871 4.25084 0.195899 4.15419L2.95572 3.13296C3.03784 3.10258 3.10258 3.03784 3.13297 2.95572L4.15419 0.1959C4.25084 -0.0652861 4.62026 -0.0652861 4.7169 0.195899L5.73813 2.95572C5.76851 3.03784 5.83326 3.10258 5.91537 3.13297L8.6752 4.15419C8.93638 4.25084 8.93638 4.62026 8.6752 4.7169L5.91537 5.73813C5.83326 5.76851 5.76851 5.83326 5.73813 5.91537L4.7169 8.67519Z",
49
+ fill: "#009E5C"
50
+ })
51
+ }));
52
+ };
53
+
54
+ // Spinning sparkle for the active step row (smaller)
55
+ var ActiveStepIcon = function ActiveStepIcon() {
56
+ return /*#__PURE__*/jsx(Rotate, {
57
+ animate: true,
58
+ children: /*#__PURE__*/jsx(SparkleIcon, {
59
+ size: "xsmall",
60
+ color: "feedback.icon.positive.intense"
61
+ })
62
+ });
63
+ };
64
+ var StepDot = function StepDot(_ref2) {
65
+ var status = _ref2.status;
66
+ return /*#__PURE__*/jsx(BaseBox, {
67
+ style: {
68
+ opacity: status === 'pending' ? 0.3 : 1
69
+ },
70
+ width: "6px",
71
+ height: "6px",
72
+ borderRadius: "max",
73
+ backgroundColor: status === 'completed' ? 'surface.icon.onSea.onSubtle' : 'surface.icon.gray.muted',
74
+ flexShrink: 0
75
+ });
76
+ };
77
+
78
+ // Connector color follows the step above it: green after completed, gray otherwise
79
+ var StepConnector = function StepConnector(_ref3) {
80
+ var fromStatus = _ref3.fromStatus;
81
+ return /*#__PURE__*/jsx(BaseBox, {
82
+ style: {
83
+ flex: 1,
84
+ minHeight: '6px'
85
+ },
86
+ width: "1px",
87
+ backgroundColor: fromStatus === 'completed' ? 'surface.icon.onSea.onSubtle' : 'surface.border.gray.muted'
88
+ });
89
+ };
90
+ var ShimmerOverlay = function ShimmerOverlay(_ref4) {
91
+ var children = _ref4.children,
92
+ isActive = _ref4.isActive;
93
+ var _useTheme = useTheme(),
94
+ theme = _useTheme.theme;
95
+ var shimmerColor = theme.colors.surface.text.staticWhite.muted;
96
+ var shimmerDuration = msToSeconds(theme.motion.duration['2xgentle']);
97
+ var shimmerDelay = msToSeconds(theme.motion.delay.gentle);
98
+ var shimmerEase = cssBezierToArray(castWebType(theme.motion.easing.standard));
99
+ return /*#__PURE__*/jsxs(BaseBox, {
100
+ position: "relative",
101
+ overflow: "hidden",
102
+ children: [children, isActive && /*#__PURE__*/jsx(m.span, {
103
+ "aria-hidden": true,
104
+ style: {
105
+ position: 'absolute',
106
+ inset: 0,
107
+ background: "linear-gradient(90deg, transparent 0%, ".concat(shimmerColor, " 50%, transparent 100%)"),
108
+ pointerEvents: 'none'
109
+ },
110
+ initial: {
111
+ x: '-100%'
112
+ },
113
+ animate: {
114
+ x: '100%'
115
+ },
116
+ transition: {
117
+ duration: shimmerDuration,
118
+ ease: shimmerEase,
119
+ repeat: Infinity,
120
+ repeatDelay: shimmerDelay
121
+ }
122
+ })]
123
+ });
124
+ };
125
+ var TraceRow = function TraceRow(_ref5) {
126
+ var text = _ref5.text,
127
+ isLast = _ref5.isLast,
128
+ stepStatus = _ref5.stepStatus;
129
+ return /*#__PURE__*/jsxs(BaseBox, {
130
+ display: "flex",
131
+ flexDirection: "row",
132
+ alignItems: "stretch",
133
+ children: [/*#__PURE__*/jsxs(BaseBox, {
134
+ display: "flex",
135
+ flexDirection: "column",
136
+ alignItems: "center",
137
+ flexShrink: 0,
138
+ width: "16px",
139
+ marginRight: "spacing.3",
140
+ children: [/*#__PURE__*/jsx(BaseBox, {
141
+ display: "flex",
142
+ alignItems: "center",
143
+ justifyContent: "center",
144
+ height: "17px",
145
+ flexShrink: 0,
146
+ children: stepStatus === 'active' ? /*#__PURE__*/jsx(ActiveStepIcon, {}) : /*#__PURE__*/jsx(StepDot, {
147
+ status: stepStatus
148
+ })
149
+ }), !isLast && /*#__PURE__*/jsx(StepConnector, {
150
+ fromStatus: stepStatus
151
+ })]
152
+ }), /*#__PURE__*/jsx(BaseBox, {
153
+ paddingBottom: isLast ? 'spacing.0' : 'spacing.2',
154
+ style: stepStatus === 'pending' ? {
155
+ opacity: 0.5
156
+ } : undefined,
157
+ children: /*#__PURE__*/jsx(ShimmerOverlay, {
158
+ isActive: stepStatus === 'active',
159
+ children: /*#__PURE__*/jsx(Text, {
160
+ color: stepStatus === 'active' ? 'surface.text.onSea.onSubtle' : 'surface.text.gray.muted',
161
+ size: "small",
162
+ weight: "regular",
163
+ children: text
164
+ })
165
+ })
166
+ })]
167
+ });
168
+ };
169
+ var ReasoningTraces = function ReasoningTraces(_ref6) {
170
+ var traces = _ref6.traces,
171
+ _ref6$status = _ref6.status,
172
+ status = _ref6$status === void 0 ? 'loading' : _ref6$status,
173
+ _ref6$title = _ref6.title,
174
+ title = _ref6$title === void 0 ? 'Explored' : _ref6$title,
175
+ activeStepIndex = _ref6.activeStepIndex;
176
+ // Upfront mode: all steps are known; activeStepIndex controls which is active
177
+ var isUpfrontMode = activeStepIndex !== undefined;
178
+
179
+ // Start collapsed in upfront mode so the open animation plays on mount
180
+ var _useState = useState(!isUpfrontMode),
181
+ _useState2 = _slicedToArray(_useState, 2),
182
+ isExpanded = _useState2[0],
183
+ setIsExpanded = _useState2[1];
184
+ var _useTheme2 = useTheme(),
185
+ theme = _useTheme2.theme;
186
+ var isLoading = status === 'loading';
187
+ var rowTransition = {
188
+ duration: msToSeconds(theme.motion.duration.moderate),
189
+ ease: cssBezierToArray(castWebType(theme.motion.easing.entrance))
190
+ };
191
+ var slideTransition = {
192
+ duration: msToSeconds(theme.motion.duration.xmoderate),
193
+ ease: cssBezierToArray(castWebType(theme.motion.easing.emphasized))
194
+ };
195
+
196
+ // Reset to expanded when status changes back to loading (for replay scenarios)
197
+ useEffect(function () {
198
+ if (status === 'loading') {
199
+ setIsExpanded(true);
200
+ }
201
+ }, [status]);
202
+
203
+ // Auto-collapse once all steps complete
204
+ useEffect(function () {
205
+ if (status === 'complete') {
206
+ var timer = setTimeout(function () {
207
+ return setIsExpanded(false);
208
+ }, 600);
209
+ return function () {
210
+ return clearTimeout(timer);
211
+ };
212
+ }
213
+ return undefined;
214
+ }, [status]);
215
+ var handleExpandChange = function handleExpandChange(_ref7) {
216
+ var next = _ref7.isExpanded;
217
+ setIsExpanded(next);
218
+ };
219
+ var getStepStatus = function getStepStatus(index) {
220
+ if (status === 'complete') return 'completed';
221
+ if (isUpfrontMode) {
222
+ if (index < activeStepIndex) return 'completed';
223
+ if (index === activeStepIndex) return 'active';
224
+ return 'pending';
225
+ }
226
+ // Streaming mode: last trace is active, all before are completed
227
+ return index < traces.length - 1 ? 'completed' : 'active';
228
+ };
229
+ var getTraceLabel = function getTraceLabel(trace, stepStatus) {
230
+ return stepStatus === 'completed' && trace.completedLabel ? trace.completedLabel : trace.label;
231
+ };
232
+ return /*#__PURE__*/jsxs(BaseBox, {
233
+ marginTop: "spacing.2",
234
+ marginBottom: "spacing.3",
235
+ children: [status === 'complete' && /*#__PURE__*/jsxs(BaseBox, {
236
+ as: "button",
237
+ display: "flex",
238
+ flexDirection: "row",
239
+ alignItems: "center",
240
+ gap: "spacing.2",
241
+ onClick: function onClick() {
242
+ return setIsExpanded(function (prev) {
243
+ return !prev;
244
+ });
245
+ },
246
+ cursor: "pointer",
247
+ style: {
248
+ background: 'none',
249
+ border: 'none'
250
+ },
251
+ padding: "spacing.0",
252
+ textAlign: "left",
253
+ marginBottom: "spacing.3",
254
+ children: [/*#__PURE__*/jsx(Text, {
255
+ color: "surface.text.gray.muted",
256
+ weight: "regular",
257
+ variant: "body",
258
+ size: "medium",
259
+ children: title
260
+ }), /*#__PURE__*/jsx(BaseBox, {
261
+ display: "flex",
262
+ alignItems: "center",
263
+ children: isExpanded ? /*#__PURE__*/jsx(ChevronUpIcon, {
264
+ size: "small",
265
+ color: "surface.icon.gray.muted"
266
+ }) : /*#__PURE__*/jsx(ChevronDownIcon, {
267
+ size: "small",
268
+ color: "surface.icon.gray.muted"
269
+ })
270
+ })]
271
+ }), /*#__PURE__*/jsx(Collapsible, {
272
+ isExpanded: isExpanded,
273
+ onExpandChange: handleExpandChange,
274
+ _shouldApplyWidthRestrictions: false,
275
+ children: /*#__PURE__*/jsx(CollapsibleBody, {
276
+ _hasMargin: false,
277
+ children: /*#__PURE__*/jsx(BaseBox, {
278
+ paddingTop: "spacing.2",
279
+ children: isUpfrontMode || !isLoading ?
280
+ // Upfront mode OR complete: render all traces with computed step status
281
+ traces.map(function (trace, index) {
282
+ var stepStatus = getStepStatus(index);
283
+ return /*#__PURE__*/jsx(TraceRow, {
284
+ text: getTraceLabel(trace, stepStatus),
285
+ isLast: index === traces.length - 1,
286
+ stepStatus: stepStatus
287
+ }, index);
288
+ }) :
289
+ /*#__PURE__*/
290
+ // Streaming mode (loading, steps added one by one):
291
+ // completed rows + active RollingText row
292
+ jsxs(Fragment, {
293
+ children: [traces.slice(0, -1).map(function (trace, index) {
294
+ // The last completed row just transitioned from the active position —
295
+ // it was already visible, so skip the entry animation for it.
296
+ var isJustCompleted = index === traces.length - 2;
297
+ return /*#__PURE__*/jsx(m.div, {
298
+ initial: isJustCompleted ? false : {
299
+ opacity: 0,
300
+ y: 8
301
+ },
302
+ animate: {
303
+ opacity: 1,
304
+ y: 0
305
+ },
306
+ transition: rowTransition,
307
+ children: /*#__PURE__*/jsx(TraceRow, {
308
+ text: getTraceLabel(trace, 'completed'),
309
+ isLast: false,
310
+ stepStatus: "completed"
311
+ })
312
+ }, trace.label);
313
+ }), traces.length > 0 && /*#__PURE__*/jsx(m.div, {
314
+ initial: {
315
+ opacity: 0,
316
+ y: 8
317
+ },
318
+ animate: {
319
+ opacity: 1,
320
+ y: 0
321
+ },
322
+ transition: rowTransition,
323
+ children: /*#__PURE__*/jsxs(BaseBox, {
324
+ display: "flex",
325
+ flexDirection: "row",
326
+ alignItems: "center",
327
+ gap: "spacing.3",
328
+ children: [/*#__PURE__*/jsx(BaseBox, {
329
+ display: "flex",
330
+ alignItems: "center",
331
+ justifyContent: "center",
332
+ flexShrink: 0,
333
+ width: "16px",
334
+ children: /*#__PURE__*/jsx(ActiveStepIcon, {})
335
+ }), /*#__PURE__*/jsx(BaseBox, {
336
+ position: "relative",
337
+ overflow: "hidden",
338
+ children: /*#__PURE__*/jsx(AnimatePresence, {
339
+ mode: "popLayout",
340
+ initial: false,
341
+ children: /*#__PURE__*/jsx(m.div, {
342
+ initial: {
343
+ y: 12,
344
+ opacity: 0
345
+ },
346
+ animate: {
347
+ y: 0,
348
+ opacity: 1
349
+ },
350
+ exit: {
351
+ y: -12,
352
+ opacity: 0,
353
+ position: 'absolute'
354
+ },
355
+ transition: slideTransition,
356
+ children: /*#__PURE__*/jsx(ShimmerOverlay, {
357
+ isActive: true,
358
+ children: /*#__PURE__*/jsx(Text, {
359
+ color: "surface.text.onSea.onSubtle",
360
+ size: "small",
361
+ weight: "regular",
362
+ children: getTraceLabel(traces[traces.length - 1], 'active')
363
+ })
364
+ })
365
+ }, traces.length)
366
+ })
367
+ })]
368
+ })
369
+ }, "active-row")]
370
+ })
371
+ })
372
+ })
373
+ })]
374
+ });
375
+ };
376
+
377
+ export { ReasoningTraces };
378
+ //# sourceMappingURL=ReasoningTraces.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReasoningTraces.web.js","sources":["../../../../../../src/components/ChatMessage/ReasoningTraces.web.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { AnimatePresence, m } from 'framer-motion';\nimport type { ReasoningTrace, ReasoningTracesProps } from './types';\nimport Rotate from './Rotate';\nimport { useTheme } from '~components/BladeProvider';\nimport { msToSeconds } from '~utils/msToSeconds';\nimport { cssBezierToArray } from '~utils/cssBezierToArray';\nimport { castWebType } from '~utils';\nimport type { IconComponent } from '~components/Icons';\nimport { ChevronDownIcon, ChevronUpIcon } from '~components/Icons';\nimport { Text } from '~components/Typography';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Collapsible } from '~components/Collapsible/Collapsible';\nimport { CollapsibleBody } from '~components/Collapsible/CollapsibleBody';\nimport { Svg, Path } from '~components/Icons/_Svg';\nimport useIconProps from '~components/Icons/useIconProps';\n\n// Custom 4-pointed star matching the Figma design\nconst SparkleIcon: IconComponent = ({ size, color, ...styledProps }) => {\n const { height, width } = useIconProps({ size, color });\n return (\n <Svg {...styledProps} width={width} height={height} viewBox=\"0 0 9 9\" fill=\"none\">\n <Path\n d=\"M4.7169 8.67519C4.62025 8.93638 4.25084 8.93638 4.15419 8.67519L3.13296 5.91537C3.10258 5.83326 3.03784 5.76851 2.95572 5.73813L0.195898 4.7169C-0.0652872 4.62025 -0.0652871 4.25084 0.195899 4.15419L2.95572 3.13296C3.03784 3.10258 3.10258 3.03784 3.13297 2.95572L4.15419 0.1959C4.25084 -0.0652861 4.62026 -0.0652861 4.7169 0.195899L5.73813 2.95572C5.76851 3.03784 5.83326 3.10258 5.91537 3.13297L8.6752 4.15419C8.93638 4.25084 8.93638 4.62026 8.6752 4.7169L5.91537 5.73813C5.83326 5.76851 5.76851 5.83326 5.73813 5.91537L4.7169 8.67519Z\"\n fill=\"#009E5C\"\n />\n </Svg>\n );\n};\n\n// Spinning sparkle for the active step row (smaller)\nconst ActiveStepIcon = (): React.ReactElement => {\n return (\n <Rotate animate={true}>\n <SparkleIcon size=\"xsmall\" color=\"feedback.icon.positive.intense\" />\n </Rotate>\n );\n};\n\ntype StepStatus = 'completed' | 'active' | 'pending';\n\nconst StepDot = ({ status }: { status: StepStatus }): React.ReactElement => (\n <BaseBox\n style={{ opacity: status === 'pending' ? 0.3 : 1 }}\n width=\"6px\"\n height=\"6px\"\n borderRadius=\"max\"\n backgroundColor={\n status === 'completed' ? 'surface.icon.onSea.onSubtle' : 'surface.icon.gray.muted'\n }\n flexShrink={0}\n />\n);\n\n// Connector color follows the step above it: green after completed, gray otherwise\nconst StepConnector = ({ fromStatus }: { fromStatus: StepStatus }): React.ReactElement => (\n <BaseBox\n style={{ flex: 1, minHeight: '6px' }}\n width=\"1px\"\n backgroundColor={\n fromStatus === 'completed' ? 'surface.icon.onSea.onSubtle' : 'surface.border.gray.muted'\n }\n />\n);\n\nconst ShimmerOverlay = ({\n children,\n isActive,\n}: {\n children: React.ReactNode;\n isActive: boolean;\n}): React.ReactElement => {\n const { theme } = useTheme();\n\n const shimmerColor = theme.colors.surface.text.staticWhite.muted;\n const shimmerDuration = msToSeconds(theme.motion.duration['2xgentle']);\n const shimmerDelay = msToSeconds(theme.motion.delay.gentle);\n const shimmerEase = cssBezierToArray(castWebType(theme.motion.easing.standard));\n return (\n <BaseBox position=\"relative\" overflow=\"hidden\">\n {children}\n {isActive && (\n <m.span\n aria-hidden\n style={{\n position: 'absolute',\n inset: 0,\n background: `linear-gradient(90deg, transparent 0%, ${shimmerColor} 50%, transparent 100%)`,\n pointerEvents: 'none',\n }}\n initial={{ x: '-100%' }}\n animate={{ x: '100%' }}\n transition={{\n duration: shimmerDuration,\n ease: shimmerEase,\n repeat: Infinity,\n repeatDelay: shimmerDelay,\n }}\n />\n )}\n </BaseBox>\n );\n};\n\nconst TraceRow = ({\n text,\n isLast,\n stepStatus,\n}: {\n text: string;\n isLast: boolean;\n stepStatus: StepStatus;\n}): React.ReactElement => (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"stretch\">\n {/* Left column: icon + connector */}\n <BaseBox\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n flexShrink={0}\n width=\"16px\"\n marginRight=\"spacing.3\"\n >\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n height=\"17px\"\n flexShrink={0}\n >\n {stepStatus === 'active' ? <ActiveStepIcon /> : <StepDot status={stepStatus} />}\n </BaseBox>\n {!isLast && <StepConnector fromStatus={stepStatus} />}\n </BaseBox>\n\n {/* Text */}\n <BaseBox\n paddingBottom={isLast ? 'spacing.0' : 'spacing.2'}\n style={stepStatus === 'pending' ? { opacity: 0.5 } : undefined}\n >\n <ShimmerOverlay isActive={stepStatus === 'active'}>\n <Text\n color={\n stepStatus === 'active' ? 'surface.text.onSea.onSubtle' : 'surface.text.gray.muted'\n }\n size=\"small\"\n weight=\"regular\"\n >\n {text}\n </Text>\n </ShimmerOverlay>\n </BaseBox>\n </BaseBox>\n);\n\nconst ReasoningTraces = ({\n traces,\n status = 'loading',\n title = 'Explored',\n activeStepIndex,\n}: ReasoningTracesProps): React.ReactElement => {\n // Upfront mode: all steps are known; activeStepIndex controls which is active\n const isUpfrontMode = activeStepIndex !== undefined;\n\n // Start collapsed in upfront mode so the open animation plays on mount\n const [isExpanded, setIsExpanded] = useState(!isUpfrontMode);\n const { theme } = useTheme();\n const isLoading = status === 'loading';\n const rowTransition = {\n duration: msToSeconds(theme.motion.duration.moderate),\n ease: cssBezierToArray(castWebType(theme.motion.easing.entrance)),\n };\n const slideTransition = {\n duration: msToSeconds(theme.motion.duration.xmoderate),\n ease: cssBezierToArray(castWebType(theme.motion.easing.emphasized)),\n };\n\n // Reset to expanded when status changes back to loading (for replay scenarios)\n useEffect(() => {\n if (status === 'loading') {\n setIsExpanded(true);\n }\n }, [status]);\n\n // Auto-collapse once all steps complete\n useEffect(() => {\n if (status === 'complete') {\n const timer = setTimeout(() => setIsExpanded(false), 600);\n return () => clearTimeout(timer);\n }\n return undefined;\n }, [status]);\n\n const handleExpandChange = ({ isExpanded: next }: { isExpanded: boolean }): void => {\n setIsExpanded(next);\n };\n\n const getStepStatus = (index: number): StepStatus => {\n if (status === 'complete') return 'completed';\n if (isUpfrontMode) {\n if (index < activeStepIndex) return 'completed';\n if (index === activeStepIndex) return 'active';\n return 'pending';\n }\n // Streaming mode: last trace is active, all before are completed\n return index < traces.length - 1 ? 'completed' : 'active';\n };\n\n const getTraceLabel = (trace: ReasoningTrace, stepStatus: StepStatus): string => {\n return stepStatus === 'completed' && trace.completedLabel ? trace.completedLabel : trace.label;\n };\n\n return (\n <BaseBox marginTop=\"spacing.2\" marginBottom=\"spacing.3\">\n {/* Show header only when complete */}\n {status === 'complete' && (\n <BaseBox\n as=\"button\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n gap=\"spacing.2\"\n onClick={() => setIsExpanded((prev) => !prev)}\n cursor=\"pointer\"\n style={{ background: 'none', border: 'none' }}\n padding=\"spacing.0\"\n textAlign=\"left\"\n marginBottom=\"spacing.3\"\n >\n <Text color=\"surface.text.gray.muted\" weight=\"regular\" variant=\"body\" size=\"medium\">\n {title}\n </Text>\n\n <BaseBox display=\"flex\" alignItems=\"center\">\n {isExpanded ? (\n <ChevronUpIcon size=\"small\" color=\"surface.icon.gray.muted\" />\n ) : (\n <ChevronDownIcon size=\"small\" color=\"surface.icon.gray.muted\" />\n )}\n </BaseBox>\n </BaseBox>\n )}\n\n {/* ── Body (animated via Blade Collapsible) ── */}\n <Collapsible\n isExpanded={isExpanded}\n onExpandChange={handleExpandChange}\n _shouldApplyWidthRestrictions={false}\n >\n <CollapsibleBody _hasMargin={false}>\n <BaseBox paddingTop=\"spacing.2\">\n {isUpfrontMode || !isLoading ? (\n // Upfront mode OR complete: render all traces with computed step status\n traces.map((trace, index) => {\n const stepStatus = getStepStatus(index);\n return (\n <TraceRow\n key={index}\n text={getTraceLabel(trace, stepStatus)}\n isLast={index === traces.length - 1}\n stepStatus={stepStatus}\n />\n );\n })\n ) : (\n // Streaming mode (loading, steps added one by one):\n // completed rows + active RollingText row\n <>\n {traces.slice(0, -1).map((trace, index) => {\n // The last completed row just transitioned from the active position —\n // it was already visible, so skip the entry animation for it.\n const isJustCompleted = index === traces.length - 2;\n return (\n <m.div\n key={trace.label}\n initial={isJustCompleted ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n transition={rowTransition}\n >\n <TraceRow\n text={getTraceLabel(trace, 'completed')}\n isLast={false}\n stepStatus=\"completed\"\n />\n </m.div>\n );\n })}\n\n {traces.length > 0 && (\n <m.div\n key=\"active-row\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n transition={rowTransition}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\" gap=\"spacing.3\">\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink={0}\n width=\"16px\"\n >\n <ActiveStepIcon />\n </BaseBox>\n <BaseBox position=\"relative\" overflow=\"hidden\">\n <AnimatePresence mode=\"popLayout\" initial={false}>\n <m.div\n key={traces.length}\n initial={{ y: 12, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n exit={{ y: -12, opacity: 0, position: 'absolute' }}\n transition={slideTransition}\n >\n <ShimmerOverlay isActive>\n <Text\n color=\"surface.text.onSea.onSubtle\"\n size=\"small\"\n weight=\"regular\"\n >\n {getTraceLabel(traces[traces.length - 1], 'active')}\n </Text>\n </ShimmerOverlay>\n </m.div>\n </AnimatePresence>\n </BaseBox>\n </BaseBox>\n </m.div>\n )}\n </>\n )}\n </BaseBox>\n </CollapsibleBody>\n </Collapsible>\n </BaseBox>\n );\n};\n\nexport { ReasoningTraces };\n"],"names":["SparkleIcon","_ref","size","color","styledProps","_objectWithoutProperties","_excluded","_useIconProps","useIconProps","height","width","_jsx","Svg","_objectSpread","viewBox","fill","children","Path","d","ActiveStepIcon","Rotate","animate","StepDot","_ref2","status","BaseBox","style","opacity","borderRadius","backgroundColor","flexShrink","StepConnector","_ref3","fromStatus","flex","minHeight","ShimmerOverlay","_ref4","isActive","_useTheme","useTheme","theme","shimmerColor","colors","surface","text","staticWhite","muted","shimmerDuration","msToSeconds","motion","duration","shimmerDelay","delay","gentle","shimmerEase","cssBezierToArray","castWebType","easing","standard","_jsxs","position","overflow","m","span","inset","background","concat","pointerEvents","initial","x","transition","ease","repeat","Infinity","repeatDelay","TraceRow","_ref5","isLast","stepStatus","display","flexDirection","alignItems","marginRight","justifyContent","paddingBottom","undefined","Text","weight","ReasoningTraces","_ref6","traces","_ref6$status","_ref6$title","title","activeStepIndex","isUpfrontMode","_useState","useState","_useState2","_slicedToArray","isExpanded","setIsExpanded","_useTheme2","isLoading","rowTransition","moderate","entrance","slideTransition","xmoderate","emphasized","useEffect","timer","setTimeout","clearTimeout","handleExpandChange","_ref7","next","getStepStatus","index","length","getTraceLabel","trace","completedLabel","label","marginTop","marginBottom","as","gap","onClick","prev","cursor","border","padding","textAlign","variant","ChevronUpIcon","ChevronDownIcon","Collapsible","onExpandChange","_shouldApplyWidthRestrictions","CollapsibleBody","_hasMargin","paddingTop","map","_Fragment","slice","isJustCompleted","div","y","AnimatePresence","mode","exit"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from '../../../../../_virtual/_commonjsHelpers.js';
2
- import { __exports as cloneDeep$1 } from '../../../../../_virtual/cloneDeep4.js';
2
+ import { __exports as cloneDeep$1 } from '../../../../../_virtual/cloneDeep2.js';
3
3
  import '../../../../../_virtual/cloneDeepWith.js';
4
4
  import { __exports as cloneDeepWith } from '../../../../../_virtual/cloneDeepWith2.js';
5
5