@mastra/playground-ui 48.0.0 → 48.1.0-alpha.1

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 (133) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/Composer.css +2 -2
  3. package/dist/{code-C5KVVzOZ.js → code-Cj09LVys.js} +2 -2
  4. package/dist/{code-C5KVVzOZ.js.map → code-Cj09LVys.js.map} +1 -1
  5. package/dist/{code-B3WONxnA.cjs → code-FZwLnf_f.cjs} +2 -2
  6. package/dist/{code-B3WONxnA.cjs.map → code-FZwLnf_f.cjs.map} +1 -1
  7. package/dist/code-block-Dn0K3DkE.cjs +88 -0
  8. package/dist/code-block-Dn0K3DkE.cjs.map +1 -0
  9. package/dist/code-block-DqKXZajq.js +86 -0
  10. package/dist/code-block-DqKXZajq.js.map +1 -0
  11. package/dist/components/Code.cjs.js +1 -1
  12. package/dist/components/Code.es.js +1 -1
  13. package/dist/components/CodeBlock.cjs.js +3 -83
  14. package/dist/components/CodeBlock.cjs.js.map +1 -1
  15. package/dist/components/CodeBlock.es.js +1 -85
  16. package/dist/components/CodeBlock.es.js.map +1 -1
  17. package/dist/components/CodeEditor.cjs.js +2 -2
  18. package/dist/components/CodeEditor.es.js +2 -2
  19. package/dist/components/CopyButton.cjs.js +1 -1
  20. package/dist/components/CopyButton.es.js +1 -1
  21. package/dist/components/DataCodeSection.cjs.js +1 -1
  22. package/dist/components/DataCodeSection.es.js +1 -1
  23. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  24. package/dist/components/DataDetailsPanel.es.js +1 -1
  25. package/dist/components/DataPanel.cjs.js +1 -1
  26. package/dist/components/DataPanel.es.js +1 -1
  27. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  28. package/dist/components/MarkdownRenderer.es.js +1 -1
  29. package/dist/components/SideDialog.cjs.js +1 -1
  30. package/dist/components/SideDialog.es.js +1 -1
  31. package/dist/components/Truncate.cjs.js +1 -1
  32. package/dist/components/Truncate.es.js +1 -1
  33. package/dist/components/ai/plan.cjs.js +2 -2
  34. package/dist/components/ai/plan.cjs.js.map +1 -1
  35. package/dist/components/ai/plan.es.js +2 -2
  36. package/dist/components/ai/plan.es.js.map +1 -1
  37. package/dist/components/ai/task-list.cjs.js +44 -18
  38. package/dist/components/ai/task-list.cjs.js.map +1 -1
  39. package/dist/components/ai/task-list.es.js +47 -21
  40. package/dist/components/ai/task-list.es.js.map +1 -1
  41. package/dist/{copy-button-B1GWIQ-x.js → copy-button-BLGUkVE8.js} +4 -2
  42. package/dist/copy-button-BLGUkVE8.js.map +1 -0
  43. package/dist/{copy-button-DwZ3c7D4.cjs → copy-button-BfawWA4t.cjs} +4 -2
  44. package/dist/copy-button-BfawWA4t.cjs.map +1 -0
  45. package/dist/{data-code-section-PJM5l3aS.js → data-code-section-DHbytoQ2.js} +2 -2
  46. package/dist/{data-code-section-PJM5l3aS.js.map → data-code-section-DHbytoQ2.js.map} +1 -1
  47. package/dist/{data-code-section-BjmFgJpC.cjs → data-code-section-bqvIovEN.cjs} +2 -2
  48. package/dist/{data-code-section-BjmFgJpC.cjs.map → data-code-section-bqvIovEN.cjs.map} +1 -1
  49. package/dist/{data-panel-BQqPr6ew.js → data-panel-BX_78wCj.js} +2 -2
  50. package/dist/{data-panel-BQqPr6ew.js.map → data-panel-BX_78wCj.js.map} +1 -1
  51. package/dist/{data-panel-C85h9XvH.cjs → data-panel-DT6LgTVX.cjs} +2 -2
  52. package/dist/{data-panel-C85h9XvH.cjs.map → data-panel-DT6LgTVX.cjs.map} +1 -1
  53. package/dist/domains/logs/components/log-details-view.cjs.js +1 -1
  54. package/dist/domains/logs/components/log-details-view.es.js +1 -1
  55. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  56. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  57. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +1 -1
  58. package/dist/domains/traces/components/trace-data-panel-view.es.js +1 -1
  59. package/dist/ee/signals/entity-learning-api.cjs.js +8 -2
  60. package/dist/ee/signals/entity-learning-api.cjs.js.map +1 -1
  61. package/dist/ee/signals/entity-learning-api.es.js +8 -3
  62. package/dist/ee/signals/entity-learning-api.es.js.map +1 -1
  63. package/dist/ee/signals/hooks/use-noise-examples.cjs.js +5 -3
  64. package/dist/ee/signals/hooks/use-noise-examples.cjs.js.map +1 -1
  65. package/dist/ee/signals/hooks/use-noise-examples.es.js +6 -4
  66. package/dist/ee/signals/hooks/use-noise-examples.es.js.map +1 -1
  67. package/dist/ee/signals/hooks/use-theme-examples.cjs.js +6 -3
  68. package/dist/ee/signals/hooks/use-theme-examples.cjs.js.map +1 -1
  69. package/dist/ee/signals/hooks/use-theme-examples.es.js +7 -4
  70. package/dist/ee/signals/hooks/use-theme-examples.es.js.map +1 -1
  71. package/dist/ee/signals/hooks/use-theme-paths.cjs.js +2 -2
  72. package/dist/ee/signals/hooks/use-theme-paths.cjs.js.map +1 -1
  73. package/dist/ee/signals/hooks/use-theme-paths.es.js +3 -3
  74. package/dist/ee/signals/hooks/use-theme-paths.es.js.map +1 -1
  75. package/dist/ee/signals/lifeline-row.cjs.js +1 -1
  76. package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
  77. package/dist/ee/signals/lifeline-row.es.js +1 -1
  78. package/dist/ee/signals/lifeline-row.es.js.map +1 -1
  79. package/dist/ee/signals/noise-detail-panel.cjs.js +18 -5
  80. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  81. package/dist/ee/signals/noise-detail-panel.es.js +18 -5
  82. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  83. package/dist/ee/signals/sankey-signals.cjs.js +50 -34
  84. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  85. package/dist/ee/signals/sankey-signals.es.js +52 -36
  86. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  87. package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
  88. package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
  89. package/dist/ee/signals/signal-delta-column.es.js +1 -1
  90. package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
  91. package/dist/ee/signals/theme-detail-panel.cjs.js +11 -4
  92. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  93. package/dist/ee/signals/theme-detail-panel.es.js +11 -4
  94. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  95. package/dist/ee/signals/theme-drilldown-data.cjs.js +41 -13
  96. package/dist/ee/signals/theme-drilldown-data.cjs.js.map +1 -1
  97. package/dist/ee/signals/theme-drilldown-data.es.js +40 -14
  98. package/dist/ee/signals/theme-drilldown-data.es.js.map +1 -1
  99. package/dist/ee/signals/theme-filter-banner.cjs.js +53 -28
  100. package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
  101. package/dist/ee/signals/theme-filter-banner.es.js +53 -28
  102. package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
  103. package/dist/{highlight-C2uRVhiA.cjs → highlight-CEt2vhD8.cjs} +20 -3
  104. package/dist/highlight-CEt2vhD8.cjs.map +1 -0
  105. package/dist/{highlight-Dis62bkj.js → highlight-CSJjjoqh.js} +20 -3
  106. package/dist/highlight-CSJjjoqh.js.map +1 -0
  107. package/dist/markdown-renderer-D1vSFfp9.cjs +86 -0
  108. package/dist/markdown-renderer-D1vSFfp9.cjs.map +1 -0
  109. package/dist/markdown-renderer-DmYYQHxu.js +84 -0
  110. package/dist/markdown-renderer-DmYYQHxu.js.map +1 -0
  111. package/dist/markdown-renderer.css +182 -0
  112. package/dist/src/ds/components/CopyButton/copy-button.d.ts +2 -1
  113. package/dist/src/ds/components/MarkdownRenderer/markdown-renderer.d.ts +9 -5
  114. package/dist/src/ds/components/ai/task-list/task-list.d.ts +4 -2
  115. package/dist/src/ds/components/ai/task-list/task-list.stories.d.ts +2 -0
  116. package/dist/src/ee/signals/entity-learning-api.d.ts +4 -2
  117. package/dist/src/ee/signals/hooks/use-noise-examples.d.ts +2 -1
  118. package/dist/src/ee/signals/hooks/use-theme-examples.d.ts +2 -1
  119. package/dist/src/ee/signals/hooks/use-theme-paths.d.ts +1 -1
  120. package/dist/src/ee/signals/noise-detail-panel.d.ts +4 -1
  121. package/dist/src/ee/signals/theme-detail-panel.d.ts +5 -3
  122. package/dist/src/ee/signals/theme-drilldown-data.d.ts +17 -4
  123. package/dist/src/ee/signals/theme-filter-banner.d.ts +5 -3
  124. package/dist/style.css +5 -98
  125. package/package.json +7 -7
  126. package/dist/copy-button-B1GWIQ-x.js.map +0 -1
  127. package/dist/copy-button-DwZ3c7D4.cjs.map +0 -1
  128. package/dist/highlight-C2uRVhiA.cjs.map +0 -1
  129. package/dist/highlight-Dis62bkj.js.map +0 -1
  130. package/dist/markdown-renderer-DszxuuNM.js +0 -117
  131. package/dist/markdown-renderer-DszxuuNM.js.map +0 -1
  132. package/dist/markdown-renderer-g8xNLOc0.cjs +0 -119
  133. package/dist/markdown-renderer-g8xNLOc0.cjs.map +0 -1
@@ -1,117 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import Markdown from 'react-markdown';
3
- import remarkGfm from 'remark-gfm';
4
- import { C as Code } from './code-C5KVVzOZ.js';
5
- import { C as CopyButton } from './copy-button-B1GWIQ-x.js';
6
- import { c as cn } from './cn-BakJzhuv.js';
7
-
8
- function MarkdownRenderer({ children, externalLinkTarget = "tab" }) {
9
- const processedText = children.replace(/\\n/g, "\n");
10
- const components = externalLinkTarget === "window" ? WINDOW_COMPONENTS : COMPONENTS;
11
- return /* @__PURE__ */ jsx(Markdown, { remarkPlugins: [remarkGfm], components, className: "space-y-3", children: processedText });
12
- }
13
- const CodeBlock = ({ children, className, language, ...restProps }) => {
14
- const code = typeof children === "string" ? children : childrenTakeAllStringContents(children);
15
- const preClass = cn(
16
- "[scrollbar-width:none] overflow-x-scroll rounded-md border bg-surface1/50 p-4 font-mono text-sm",
17
- className
18
- );
19
- return /* @__PURE__ */ jsxs("div", { className: "group/code relative mb-4", children: [
20
- /* @__PURE__ */ jsx(Code, { code, lang: language, className: preClass, ...restProps }),
21
- /* @__PURE__ */ jsx("div", { className: "invisible absolute top-2 right-2 flex gap-1 rounded-lg p-1 opacity-0 transition-all duration-200 group-hover/code:visible group-hover/code:opacity-100", children: /* @__PURE__ */ jsx(CopyButton, { content: code, copyMessage: "Copied code to clipboard" }) })
22
- ] });
23
- };
24
- function childrenTakeAllStringContents(element) {
25
- if (typeof element === "string") {
26
- return element;
27
- }
28
- if (element?.props?.children) {
29
- let children = element.props.children;
30
- if (Array.isArray(children)) {
31
- return children.map((child) => childrenTakeAllStringContents(child)).join("");
32
- } else {
33
- return childrenTakeAllStringContents(children);
34
- }
35
- }
36
- return "";
37
- }
38
- const POPUP_WINDOW_FEATURES = "popup=yes,width=720,height=800,resizable=yes,scrollbars=yes";
39
- const createMarkdownLink = (externalLinkTarget) => ({ children, href, onClick, ...props }) => {
40
- const isExternal = /^https?:\/\//i.test(href ?? "");
41
- const handleClick = (event) => {
42
- onClick?.(event);
43
- if (event.defaultPrevented || !isExternal || externalLinkTarget !== "window" || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
44
- return;
45
- }
46
- const popup = window.open(href, "_blank", POPUP_WINDOW_FEATURES);
47
- if (!popup) return;
48
- popup.opener = null;
49
- event.preventDefault();
50
- };
51
- return /* @__PURE__ */ jsx(
52
- "a",
53
- {
54
- className: "underline underline-offset-2",
55
- href,
56
- ...props,
57
- target: isExternal ? "_blank" : void 0,
58
- rel: isExternal ? "noopener noreferrer" : void 0,
59
- onClick: handleClick,
60
- children
61
- }
62
- );
63
- };
64
- const COMPONENTS = {
65
- h1: ({ children, ...props }) => /* @__PURE__ */ jsx("h1", { className: "text-2xl font-semibold", ...props, children }),
66
- h2: ({ children, ...props }) => /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold", ...props, children }),
67
- h3: ({ children, ...props }) => /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", ...props, children }),
68
- h4: ({ children, ...props }) => /* @__PURE__ */ jsx("h4", { className: "text-base font-semibold", ...props, children }),
69
- h5: ({ children, ...props }) => /* @__PURE__ */ jsx("h5", { className: "font-medium", ...props, children }),
70
- strong: ({ children, ...props }) => /* @__PURE__ */ jsx("strong", { className: "font-semibold", ...props, children }),
71
- a: createMarkdownLink("tab"),
72
- blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx("blockquote", { className: "border-neutral6 border-l-2 pl-4", ...props, children }),
73
- code: ({ children, className, ...rest }) => {
74
- const match = /language-(\w+)/.exec(className || "");
75
- return match ? /* @__PURE__ */ jsx(CodeBlock, { className, language: match[1], ...rest, children }) : /* @__PURE__ */ jsx(
76
- "code",
77
- {
78
- className: cn(
79
- "font-mono [:not(pre)>&]:rounded-md [:not(pre)>&]:bg-surface1/50 [:not(pre)>&]:px-1 [:not(pre)>&]:py-0.5"
80
- ),
81
- ...rest,
82
- children
83
- }
84
- );
85
- },
86
- pre: ({ children }) => children,
87
- ol: ({ children, ...props }) => /* @__PURE__ */ jsx("ol", { className: "list-decimal space-y-2 pl-6", ...props, children }),
88
- ul: ({ children, ...props }) => /* @__PURE__ */ jsx("ul", { className: "list-disc space-y-2 pl-6", ...props, children }),
89
- li: ({ children, ...props }) => /* @__PURE__ */ jsx("li", { className: "my-1.5", ...props, children }),
90
- table: ({ children, ...props }) => /* @__PURE__ */ jsx("table", { className: "border-neutral6/20 w-full border-collapse overflow-y-auto rounded-md border", ...props, children }),
91
- th: ({ children, ...props }) => /* @__PURE__ */ jsx(
92
- "th",
93
- {
94
- className: "border-neutral6/20 border px-4 py-2 text-left font-bold [[align=center]]:text-center [[align=right]]:text-right",
95
- ...props,
96
- children
97
- }
98
- ),
99
- td: ({ children, ...props }) => /* @__PURE__ */ jsx(
100
- "td",
101
- {
102
- className: "border-neutral6/20 border px-4 py-2 text-left [[align=center]]:text-center [[align=right]]:text-right",
103
- ...props,
104
- children
105
- }
106
- ),
107
- tr: ({ children, ...props }) => /* @__PURE__ */ jsx("tr", { className: "even:bg-surface4 m-0 border-t p-0", ...props, children }),
108
- p: ({ children, ...props }) => /* @__PURE__ */ jsx("p", { className: "leading-relaxed whitespace-pre-wrap", ...props, children }),
109
- hr: ({ ...props }) => /* @__PURE__ */ jsx("hr", { className: "border-neutral6/20", ...props })
110
- };
111
- const WINDOW_COMPONENTS = {
112
- ...COMPONENTS,
113
- a: createMarkdownLink("window")
114
- };
115
-
116
- export { MarkdownRenderer as M };
117
- //# sourceMappingURL=markdown-renderer-DszxuuNM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-renderer-DszxuuNM.js","sources":["../src/ds/components/MarkdownRenderer/markdown-renderer.tsx"],"sourcesContent":["import React from 'react';\nimport Markdown from 'react-markdown';\nimport type { Components } from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\n\nimport { Code } from '@/ds/components/Code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { cn } from '@/lib/utils';\n\nexport type MarkdownExternalLinkTarget = 'tab' | 'window';\n\nexport type MarkdownRendererProps = {\n children: string;\n externalLinkTarget?: MarkdownExternalLinkTarget;\n};\n\nexport function MarkdownRenderer({ children, externalLinkTarget = 'tab' }: MarkdownRendererProps) {\n const processedText = children.replace(/\\\\n/g, '\\n');\n const components = externalLinkTarget === 'window' ? WINDOW_COMPONENTS : COMPONENTS;\n\n return (\n <Markdown remarkPlugins={[remarkGfm]} components={components} className=\"space-y-3\">\n {processedText}\n </Markdown>\n );\n}\n\ninterface CodeBlockProps extends React.HTMLAttributes<HTMLPreElement> {\n children: React.ReactNode;\n className?: string;\n language: string;\n}\n\nconst CodeBlock = ({ children, className, language, ...restProps }: CodeBlockProps) => {\n const code = typeof children === 'string' ? children : childrenTakeAllStringContents(children);\n\n const preClass = cn(\n '[scrollbar-width:none] overflow-x-scroll rounded-md border bg-surface1/50 p-4 font-mono text-sm',\n className,\n );\n\n return (\n <div className=\"group/code relative mb-4\">\n <Code code={code} lang={language} className={preClass} {...restProps} />\n\n <div className=\"invisible absolute top-2 right-2 flex gap-1 rounded-lg p-1 opacity-0 transition-all duration-200 group-hover/code:visible group-hover/code:opacity-100\">\n <CopyButton content={code} copyMessage=\"Copied code to clipboard\" />\n </div>\n </div>\n );\n};\n\nfunction childrenTakeAllStringContents(element: any): string {\n if (typeof element === 'string') {\n return element;\n }\n\n if (element?.props?.children) {\n let children = element.props.children;\n\n if (Array.isArray(children)) {\n return children.map(child => childrenTakeAllStringContents(child)).join('');\n } else {\n return childrenTakeAllStringContents(children);\n }\n }\n\n return '';\n}\n\nconst POPUP_WINDOW_FEATURES = 'popup=yes,width=720,height=800,resizable=yes,scrollbars=yes';\n\nconst createMarkdownLink =\n (externalLinkTarget: MarkdownExternalLinkTarget): NonNullable<Components['a']> =>\n ({ children, href, onClick, ...props }) => {\n const isExternal = /^https?:\\/\\//i.test(href ?? '');\n const handleClick: React.MouseEventHandler<HTMLAnchorElement> = event => {\n onClick?.(event);\n if (\n event.defaultPrevented ||\n !isExternal ||\n externalLinkTarget !== 'window' ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n ) {\n return;\n }\n\n const popup = window.open(href, '_blank', POPUP_WINDOW_FEATURES);\n if (!popup) return;\n\n popup.opener = null;\n event.preventDefault();\n };\n\n return (\n <a\n className=\"underline underline-offset-2\"\n href={href}\n {...props}\n target={isExternal ? '_blank' : undefined}\n rel={isExternal ? 'noopener noreferrer' : undefined}\n onClick={handleClick}\n >\n {children}\n </a>\n );\n };\n\n// Create component wrappers with className\nconst COMPONENTS: Components = {\n h1: ({ children, ...props }) => (\n <h1 className=\"text-2xl font-semibold\" {...props}>\n {children}\n </h1>\n ),\n h2: ({ children, ...props }) => (\n <h2 className=\"text-xl font-semibold\" {...props}>\n {children}\n </h2>\n ),\n h3: ({ children, ...props }) => (\n <h3 className=\"text-lg font-semibold\" {...props}>\n {children}\n </h3>\n ),\n h4: ({ children, ...props }) => (\n <h4 className=\"text-base font-semibold\" {...props}>\n {children}\n </h4>\n ),\n h5: ({ children, ...props }) => (\n <h5 className=\"font-medium\" {...props}>\n {children}\n </h5>\n ),\n strong: ({ children, ...props }) => (\n <strong className=\"font-semibold\" {...props}>\n {children}\n </strong>\n ),\n a: createMarkdownLink('tab'),\n blockquote: ({ children, ...props }) => (\n <blockquote className=\"border-neutral6 border-l-2 pl-4\" {...props}>\n {children}\n </blockquote>\n ),\n code: ({ children, className, ...rest }: any) => {\n const match = /language-(\\w+)/.exec(className || '');\n return match ? (\n <CodeBlock className={className} language={match[1]} {...rest}>\n {children}\n </CodeBlock>\n ) : (\n <code\n className={cn(\n 'font-mono [:not(pre)>&]:rounded-md [:not(pre)>&]:bg-surface1/50 [:not(pre)>&]:px-1 [:not(pre)>&]:py-0.5',\n )}\n {...rest}\n >\n {children}\n </code>\n );\n },\n pre: ({ children }: any) => children,\n ol: ({ children, ...props }) => (\n <ol className=\"list-decimal space-y-2 pl-6\" {...props}>\n {children}\n </ol>\n ),\n ul: ({ children, ...props }) => (\n <ul className=\"list-disc space-y-2 pl-6\" {...props}>\n {children}\n </ul>\n ),\n li: ({ children, ...props }) => (\n <li className=\"my-1.5\" {...props}>\n {children}\n </li>\n ),\n table: ({ children, ...props }) => (\n <table className=\"border-neutral6/20 w-full border-collapse overflow-y-auto rounded-md border\" {...props}>\n {children}\n </table>\n ),\n th: ({ children, ...props }) => (\n <th\n className=\"border-neutral6/20 border px-4 py-2 text-left font-bold [[align=center]]:text-center [[align=right]]:text-right\"\n {...props}\n >\n {children}\n </th>\n ),\n td: ({ children, ...props }) => (\n <td\n className=\"border-neutral6/20 border px-4 py-2 text-left [[align=center]]:text-center [[align=right]]:text-right\"\n {...props}\n >\n {children}\n </td>\n ),\n tr: ({ children, ...props }) => (\n <tr className=\"even:bg-surface4 m-0 border-t p-0\" {...props}>\n {children}\n </tr>\n ),\n p: ({ children, ...props }) => (\n <p className=\"leading-relaxed whitespace-pre-wrap\" {...props}>\n {children}\n </p>\n ),\n hr: ({ ...props }) => <hr className=\"border-neutral6/20\" {...props} />,\n};\n\nconst WINDOW_COMPONENTS: Components = {\n ...COMPONENTS,\n a: createMarkdownLink('window'),\n};\n\nexport default MarkdownRenderer;\n"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- 'use strict';
2
-
3
- const jsxRuntime = require('react/jsx-runtime');
4
- const Markdown = require('react-markdown');
5
- const remarkGfm = require('remark-gfm');
6
- const code = require('./code-B3WONxnA.cjs');
7
- const copyButton = require('./copy-button-DwZ3c7D4.cjs');
8
- const utils_cn = require('./cn-vA5sWo9W.cjs');
9
-
10
- function MarkdownRenderer({ children, externalLinkTarget = "tab" }) {
11
- const processedText = children.replace(/\\n/g, "\n");
12
- const components = externalLinkTarget === "window" ? WINDOW_COMPONENTS : COMPONENTS;
13
- return /* @__PURE__ */ jsxRuntime.jsx(Markdown, { remarkPlugins: [remarkGfm], components, className: "space-y-3", children: processedText });
14
- }
15
- const CodeBlock = ({ children, className, language, ...restProps }) => {
16
- const code$1 = typeof children === "string" ? children : childrenTakeAllStringContents(children);
17
- const preClass = utils_cn.cn(
18
- "[scrollbar-width:none] overflow-x-scroll rounded-md border bg-surface1/50 p-4 font-mono text-sm",
19
- className
20
- );
21
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group/code relative mb-4", children: [
22
- /* @__PURE__ */ jsxRuntime.jsx(code.Code, { code: code$1, lang: language, className: preClass, ...restProps }),
23
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "invisible absolute top-2 right-2 flex gap-1 rounded-lg p-1 opacity-0 transition-all duration-200 group-hover/code:visible group-hover/code:opacity-100", children: /* @__PURE__ */ jsxRuntime.jsx(copyButton.CopyButton, { content: code$1, copyMessage: "Copied code to clipboard" }) })
24
- ] });
25
- };
26
- function childrenTakeAllStringContents(element) {
27
- if (typeof element === "string") {
28
- return element;
29
- }
30
- if (element?.props?.children) {
31
- let children = element.props.children;
32
- if (Array.isArray(children)) {
33
- return children.map((child) => childrenTakeAllStringContents(child)).join("");
34
- } else {
35
- return childrenTakeAllStringContents(children);
36
- }
37
- }
38
- return "";
39
- }
40
- const POPUP_WINDOW_FEATURES = "popup=yes,width=720,height=800,resizable=yes,scrollbars=yes";
41
- const createMarkdownLink = (externalLinkTarget) => ({ children, href, onClick, ...props }) => {
42
- const isExternal = /^https?:\/\//i.test(href ?? "");
43
- const handleClick = (event) => {
44
- onClick?.(event);
45
- if (event.defaultPrevented || !isExternal || externalLinkTarget !== "window" || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
46
- return;
47
- }
48
- const popup = window.open(href, "_blank", POPUP_WINDOW_FEATURES);
49
- if (!popup) return;
50
- popup.opener = null;
51
- event.preventDefault();
52
- };
53
- return /* @__PURE__ */ jsxRuntime.jsx(
54
- "a",
55
- {
56
- className: "underline underline-offset-2",
57
- href,
58
- ...props,
59
- target: isExternal ? "_blank" : void 0,
60
- rel: isExternal ? "noopener noreferrer" : void 0,
61
- onClick: handleClick,
62
- children
63
- }
64
- );
65
- };
66
- const COMPONENTS = {
67
- h1: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-semibold", ...props, children }),
68
- h2: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold", ...props, children }),
69
- h3: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold", ...props, children }),
70
- h4: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-semibold", ...props, children }),
71
- h5: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h5", { className: "font-medium", ...props, children }),
72
- strong: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-semibold", ...props, children }),
73
- a: createMarkdownLink("tab"),
74
- blockquote: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("blockquote", { className: "border-neutral6 border-l-2 pl-4", ...props, children }),
75
- code: ({ children, className, ...rest }) => {
76
- const match = /language-(\w+)/.exec(className || "");
77
- return match ? /* @__PURE__ */ jsxRuntime.jsx(CodeBlock, { className, language: match[1], ...rest, children }) : /* @__PURE__ */ jsxRuntime.jsx(
78
- "code",
79
- {
80
- className: utils_cn.cn(
81
- "font-mono [:not(pre)>&]:rounded-md [:not(pre)>&]:bg-surface1/50 [:not(pre)>&]:px-1 [:not(pre)>&]:py-0.5"
82
- ),
83
- ...rest,
84
- children
85
- }
86
- );
87
- },
88
- pre: ({ children }) => children,
89
- ol: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "list-decimal space-y-2 pl-6", ...props, children }),
90
- ul: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-disc space-y-2 pl-6", ...props, children }),
91
- li: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "my-1.5", ...props, children }),
92
- table: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("table", { className: "border-neutral6/20 w-full border-collapse overflow-y-auto rounded-md border", ...props, children }),
93
- th: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
94
- "th",
95
- {
96
- className: "border-neutral6/20 border px-4 py-2 text-left font-bold [[align=center]]:text-center [[align=right]]:text-right",
97
- ...props,
98
- children
99
- }
100
- ),
101
- td: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
102
- "td",
103
- {
104
- className: "border-neutral6/20 border px-4 py-2 text-left [[align=center]]:text-center [[align=right]]:text-right",
105
- ...props,
106
- children
107
- }
108
- ),
109
- tr: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "even:bg-surface4 m-0 border-t p-0", ...props, children }),
110
- p: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-relaxed whitespace-pre-wrap", ...props, children }),
111
- hr: ({ ...props }) => /* @__PURE__ */ jsxRuntime.jsx("hr", { className: "border-neutral6/20", ...props })
112
- };
113
- const WINDOW_COMPONENTS = {
114
- ...COMPONENTS,
115
- a: createMarkdownLink("window")
116
- };
117
-
118
- exports.MarkdownRenderer = MarkdownRenderer;
119
- //# sourceMappingURL=markdown-renderer-g8xNLOc0.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-renderer-g8xNLOc0.cjs","sources":["../src/ds/components/MarkdownRenderer/markdown-renderer.tsx"],"sourcesContent":["import React from 'react';\nimport Markdown from 'react-markdown';\nimport type { Components } from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\n\nimport { Code } from '@/ds/components/Code';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { cn } from '@/lib/utils';\n\nexport type MarkdownExternalLinkTarget = 'tab' | 'window';\n\nexport type MarkdownRendererProps = {\n children: string;\n externalLinkTarget?: MarkdownExternalLinkTarget;\n};\n\nexport function MarkdownRenderer({ children, externalLinkTarget = 'tab' }: MarkdownRendererProps) {\n const processedText = children.replace(/\\\\n/g, '\\n');\n const components = externalLinkTarget === 'window' ? WINDOW_COMPONENTS : COMPONENTS;\n\n return (\n <Markdown remarkPlugins={[remarkGfm]} components={components} className=\"space-y-3\">\n {processedText}\n </Markdown>\n );\n}\n\ninterface CodeBlockProps extends React.HTMLAttributes<HTMLPreElement> {\n children: React.ReactNode;\n className?: string;\n language: string;\n}\n\nconst CodeBlock = ({ children, className, language, ...restProps }: CodeBlockProps) => {\n const code = typeof children === 'string' ? children : childrenTakeAllStringContents(children);\n\n const preClass = cn(\n '[scrollbar-width:none] overflow-x-scroll rounded-md border bg-surface1/50 p-4 font-mono text-sm',\n className,\n );\n\n return (\n <div className=\"group/code relative mb-4\">\n <Code code={code} lang={language} className={preClass} {...restProps} />\n\n <div className=\"invisible absolute top-2 right-2 flex gap-1 rounded-lg p-1 opacity-0 transition-all duration-200 group-hover/code:visible group-hover/code:opacity-100\">\n <CopyButton content={code} copyMessage=\"Copied code to clipboard\" />\n </div>\n </div>\n );\n};\n\nfunction childrenTakeAllStringContents(element: any): string {\n if (typeof element === 'string') {\n return element;\n }\n\n if (element?.props?.children) {\n let children = element.props.children;\n\n if (Array.isArray(children)) {\n return children.map(child => childrenTakeAllStringContents(child)).join('');\n } else {\n return childrenTakeAllStringContents(children);\n }\n }\n\n return '';\n}\n\nconst POPUP_WINDOW_FEATURES = 'popup=yes,width=720,height=800,resizable=yes,scrollbars=yes';\n\nconst createMarkdownLink =\n (externalLinkTarget: MarkdownExternalLinkTarget): NonNullable<Components['a']> =>\n ({ children, href, onClick, ...props }) => {\n const isExternal = /^https?:\\/\\//i.test(href ?? '');\n const handleClick: React.MouseEventHandler<HTMLAnchorElement> = event => {\n onClick?.(event);\n if (\n event.defaultPrevented ||\n !isExternal ||\n externalLinkTarget !== 'window' ||\n event.button !== 0 ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey\n ) {\n return;\n }\n\n const popup = window.open(href, '_blank', POPUP_WINDOW_FEATURES);\n if (!popup) return;\n\n popup.opener = null;\n event.preventDefault();\n };\n\n return (\n <a\n className=\"underline underline-offset-2\"\n href={href}\n {...props}\n target={isExternal ? '_blank' : undefined}\n rel={isExternal ? 'noopener noreferrer' : undefined}\n onClick={handleClick}\n >\n {children}\n </a>\n );\n };\n\n// Create component wrappers with className\nconst COMPONENTS: Components = {\n h1: ({ children, ...props }) => (\n <h1 className=\"text-2xl font-semibold\" {...props}>\n {children}\n </h1>\n ),\n h2: ({ children, ...props }) => (\n <h2 className=\"text-xl font-semibold\" {...props}>\n {children}\n </h2>\n ),\n h3: ({ children, ...props }) => (\n <h3 className=\"text-lg font-semibold\" {...props}>\n {children}\n </h3>\n ),\n h4: ({ children, ...props }) => (\n <h4 className=\"text-base font-semibold\" {...props}>\n {children}\n </h4>\n ),\n h5: ({ children, ...props }) => (\n <h5 className=\"font-medium\" {...props}>\n {children}\n </h5>\n ),\n strong: ({ children, ...props }) => (\n <strong className=\"font-semibold\" {...props}>\n {children}\n </strong>\n ),\n a: createMarkdownLink('tab'),\n blockquote: ({ children, ...props }) => (\n <blockquote className=\"border-neutral6 border-l-2 pl-4\" {...props}>\n {children}\n </blockquote>\n ),\n code: ({ children, className, ...rest }: any) => {\n const match = /language-(\\w+)/.exec(className || '');\n return match ? (\n <CodeBlock className={className} language={match[1]} {...rest}>\n {children}\n </CodeBlock>\n ) : (\n <code\n className={cn(\n 'font-mono [:not(pre)>&]:rounded-md [:not(pre)>&]:bg-surface1/50 [:not(pre)>&]:px-1 [:not(pre)>&]:py-0.5',\n )}\n {...rest}\n >\n {children}\n </code>\n );\n },\n pre: ({ children }: any) => children,\n ol: ({ children, ...props }) => (\n <ol className=\"list-decimal space-y-2 pl-6\" {...props}>\n {children}\n </ol>\n ),\n ul: ({ children, ...props }) => (\n <ul className=\"list-disc space-y-2 pl-6\" {...props}>\n {children}\n </ul>\n ),\n li: ({ children, ...props }) => (\n <li className=\"my-1.5\" {...props}>\n {children}\n </li>\n ),\n table: ({ children, ...props }) => (\n <table className=\"border-neutral6/20 w-full border-collapse overflow-y-auto rounded-md border\" {...props}>\n {children}\n </table>\n ),\n th: ({ children, ...props }) => (\n <th\n className=\"border-neutral6/20 border px-4 py-2 text-left font-bold [[align=center]]:text-center [[align=right]]:text-right\"\n {...props}\n >\n {children}\n </th>\n ),\n td: ({ children, ...props }) => (\n <td\n className=\"border-neutral6/20 border px-4 py-2 text-left [[align=center]]:text-center [[align=right]]:text-right\"\n {...props}\n >\n {children}\n </td>\n ),\n tr: ({ children, ...props }) => (\n <tr className=\"even:bg-surface4 m-0 border-t p-0\" {...props}>\n {children}\n </tr>\n ),\n p: ({ children, ...props }) => (\n <p className=\"leading-relaxed whitespace-pre-wrap\" {...props}>\n {children}\n </p>\n ),\n hr: ({ ...props }) => <hr className=\"border-neutral6/20\" {...props} />,\n};\n\nconst WINDOW_COMPONENTS: Components = {\n ...COMPONENTS,\n a: createMarkdownLink('window'),\n};\n\nexport default MarkdownRenderer;\n"],"names":["jsx","code","cn","jsxs","Code","CopyButton"],"mappings":"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"}