@servicetitan/assist-ui
Version:
ServiceTitan Assist UI Components
13 lines • 1.37 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Flex, Icon, Text } from '@servicetitan/anvil2';
import { core } from '@servicetitan/anvil2/token';
import IconTitanIntelligence from '@servicetitan/anvil2/assets/icons/st/titan_intelligence.svg';
import { Loader } from '../loader';
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
import { ErrorMessage } from './error-message';
import * as styles from './message.module.less';
export const MarkdownMessage = ({ error, message, classes, assistant, svgIcon, onRetry, }) => {
return (_jsxs(Flex, { direction: "column", className: classes, children: [_jsxs(Flex, { children: [_jsx("span", { className: "m-inline-end-1", style: { color: core.semantic.ForegroundColorPrimary.value }, children: _jsx(Icon, { svg: svgIcon || IconTitanIntelligence, size: "large", inherit: true }) }), _jsx(Text, { inline: true, children: _jsx("b", { children: assistant ? assistant : 'Assist' }) })] }), _jsxs(Flex, { direction: "column", children: [message && !error && (_jsx("div", { className: styles.markdownContent, children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], children: message }) })), error && _jsx(ErrorMessage, { error: error, message: message, onRetry: onRetry }), !message && !error && _jsx(Loader, {})] })] }));
};
//# sourceMappingURL=markdown-message.js.map