{"version":3,"file":"AiProposalCard.mjs","names":["React","UdpFluentButton","UdpText","UdpIcon","AiChatItem","AiProposalConfig","styles","AiProposalCardProps","item","proposalConfig","contextKey","contextMismatchText","proposalContextKey","canUndo","onApply","onDismiss","onUndo","AiProposalCard","t0","$","_c","proposal","status","proposalStatus","contextChanged","undefined","t1","renderDetails","text","details","map","_temp","t2","mismatch","t3","body","t4","t5","applied","t6","t7","t8","footer","t9","card","line","i","detail","icon","detailText"],"sources":["../../src/aiAssistant/AiProposalCard.tsx"],"sourcesContent":["import React from 'react';\nimport { UdpFluentButton, UdpText } from '@univerus/udp-react-stencil-component-library';\nimport { UdpIcon } from '../UI/fluent-web-components/UdpIcon';\nimport type { AiChatItem, AiProposalConfig } from './types';\nimport styles from './AiProposalCard.module.css';\n\ninterface AiProposalCardProps {\n  item: AiChatItem;\n  proposalConfig: AiProposalConfig;\n  /** Current contextKey — mismatched pending proposals are blocked */\n  contextKey?: string;\n  /** Message shown when the proposal's context no longer matches */\n  contextMismatchText?: (proposalContextKey: string) => string;\n  /** Whether this item has an undo function available */\n  canUndo: boolean;\n  onApply: (item: AiChatItem) => void;\n  onDismiss: (item: AiChatItem) => void;\n  onUndo: (item: AiChatItem) => void;\n}\n\nexport const AiProposalCard = ({\n  item,\n  proposalConfig,\n  contextKey,\n  contextMismatchText,\n  canUndo,\n  onApply,\n  onDismiss,\n  onUndo,\n}: AiProposalCardProps) => {\n  const proposal = item.proposal;\n  const status = item.proposalStatus ?? 'pending';\n  const contextChanged =\n    item.proposalContextKey !== undefined &&\n    contextKey !== undefined &&\n    item.proposalContextKey !== contextKey;\n\n  return (\n    <div className={styles.card}>\n      <div className={styles.body}>\n        {proposalConfig.renderDetails ? (\n          proposalConfig.renderDetails(proposal)\n        ) : (\n          <>\n            <UdpText variant=\"body1\">{proposal.text}</UdpText>\n            <div className={styles.details}>\n              {proposal.details.map((line, i) => (\n                <div key={i} className={styles.detail}>\n                  {line.icon && <UdpIcon name={line.icon} size=\"xs\" />}\n                  <span className={styles.detailText}>{line.text}</span>\n                </div>\n              ))}\n            </div>\n          </>\n        )}\n        {contextChanged && status === 'pending' && (\n          <UdpText variant=\"caption1\" className={styles.mismatch}>\n            {contextMismatchText?.(item.proposalContextKey) ??\n              'The context has changed, so this can no longer be applied.'}\n          </UdpText>\n        )}\n      </div>\n      <div className={styles.footer}>\n        {status === 'pending' && (\n          <>\n            <UdpFluentButton\n              appearance=\"primary\"\n              size=\"small\"\n              disabled={contextChanged}\n              onClick={() => onApply(item)}\n            >\n              Apply\n            </UdpFluentButton>\n            <UdpFluentButton appearance=\"subtle\" size=\"small\" onClick={() => onDismiss(item)}>\n              Dismiss\n            </UdpFluentButton>\n          </>\n        )}\n        {status === 'applied' && (\n          <>\n            <UdpText variant=\"caption1\" className={styles.applied}>\n              Applied\n            </UdpText>\n            {canUndo && (\n              <UdpFluentButton appearance=\"subtle\" size=\"small\" onClick={() => onUndo(item)}>\n                Undo\n              </UdpFluentButton>\n            )}\n          </>\n        )}\n        {status === 'dismissed' && <UdpText variant=\"caption1\">Dismissed</UdpText>}\n        {status === 'undone' && <UdpText variant=\"caption1\">Undone</UdpText>}\n      </div>\n    </div>\n  );\n};\n"],"mappings":"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"}