@arbidocs/react 0.4.3 → 0.4.5

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 (72) hide show
  1. package/README.md +33 -0
  2. package/dist/artifacts/index.cjs +458 -0
  3. package/dist/artifacts/index.cjs.map +1 -0
  4. package/dist/artifacts/index.d.cts +276 -0
  5. package/dist/artifacts/index.d.ts +276 -0
  6. package/dist/artifacts/index.js +434 -0
  7. package/dist/artifacts/index.js.map +1 -0
  8. package/dist/artifacts/redline-core.cjs +20 -0
  9. package/dist/artifacts/redline-core.cjs.map +1 -0
  10. package/dist/artifacts/redline-core.d.cts +36 -0
  11. package/dist/artifacts/redline-core.d.ts +36 -0
  12. package/dist/artifacts/redline-core.js +3 -0
  13. package/dist/artifacts/redline-core.js.map +1 -0
  14. package/dist/chunk-2DXS7L7M.cjs +302 -0
  15. package/dist/chunk-2DXS7L7M.cjs.map +1 -0
  16. package/dist/{chunk-ORKGCXG3.cjs → chunk-7BDGLRQX.cjs} +123 -427
  17. package/dist/chunk-7BDGLRQX.cjs.map +1 -0
  18. package/dist/chunk-7V7B7OEM.cjs +318 -0
  19. package/dist/chunk-7V7B7OEM.cjs.map +1 -0
  20. package/dist/{chunk-MIJRORQL.js → chunk-DVRJFLE7.js} +8 -302
  21. package/dist/chunk-DVRJFLE7.js.map +1 -0
  22. package/dist/{chunk-EJ2BMHYK.js → chunk-FSMIN5VX.js} +4 -3
  23. package/dist/chunk-FSMIN5VX.js.map +1 -0
  24. package/dist/chunk-H7ZZQ4ZV.js +305 -0
  25. package/dist/chunk-H7ZZQ4ZV.js.map +1 -0
  26. package/dist/{chunk-JKO3NR5L.js → chunk-HDCRPPBW.js} +5 -23
  27. package/dist/chunk-HDCRPPBW.js.map +1 -0
  28. package/dist/chunk-J4MX2W4H.js +26 -0
  29. package/dist/chunk-J4MX2W4H.js.map +1 -0
  30. package/dist/{chunk-6ALMBER7.js → chunk-N5SVBDLC.js} +4 -9
  31. package/dist/chunk-N5SVBDLC.js.map +1 -0
  32. package/dist/{chunk-RZQACYNQ.cjs → chunk-OBNTJEEO.cjs} +14 -20
  33. package/dist/chunk-OBNTJEEO.cjs.map +1 -0
  34. package/dist/{chunk-BXP6S34V.cjs → chunk-PGLV23SB.cjs} +13 -12
  35. package/dist/chunk-PGLV23SB.cjs.map +1 -0
  36. package/dist/chunk-RKWNX32A.js +299 -0
  37. package/dist/chunk-RKWNX32A.js.map +1 -0
  38. package/dist/chunk-S6A6FSG7.cjs +13 -0
  39. package/dist/chunk-S6A6FSG7.cjs.map +1 -0
  40. package/dist/chunk-SN5YV6FF.js +11 -0
  41. package/dist/chunk-SN5YV6FF.js.map +1 -0
  42. package/dist/{chunk-7IOCMCC5.cjs → chunk-TMPDW7J5.cjs} +3 -23
  43. package/dist/chunk-TMPDW7J5.cjs.map +1 -0
  44. package/dist/chunk-VJWAP2HJ.cjs +303 -0
  45. package/dist/chunk-VJWAP2HJ.cjs.map +1 -0
  46. package/dist/chunk-ZMTLGO3K.cjs +29 -0
  47. package/dist/chunk-ZMTLGO3K.cjs.map +1 -0
  48. package/dist/chunk-ZY53R6I4.js +276 -0
  49. package/dist/chunk-ZY53R6I4.js.map +1 -0
  50. package/dist/index.cjs +784 -612
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +1522 -82
  53. package/dist/index.d.ts +1522 -82
  54. package/dist/index.js +327 -250
  55. package/dist/index.js.map +1 -1
  56. package/dist/shell/index.cjs +8 -7
  57. package/dist/shell/index.js +3 -2
  58. package/dist/ui/index.cjs +156 -154
  59. package/dist/ui/index.js +4 -2
  60. package/dist/viewers/index.cjs +9 -8
  61. package/dist/viewers/index.cjs.map +1 -1
  62. package/dist/viewers/index.js +3 -2
  63. package/dist/viewers/index.js.map +1 -1
  64. package/package.json +19 -3
  65. package/dist/chunk-6ALMBER7.js.map +0 -1
  66. package/dist/chunk-7IOCMCC5.cjs.map +0 -1
  67. package/dist/chunk-BXP6S34V.cjs.map +0 -1
  68. package/dist/chunk-EJ2BMHYK.js.map +0 -1
  69. package/dist/chunk-JKO3NR5L.js.map +0 -1
  70. package/dist/chunk-MIJRORQL.js.map +0 -1
  71. package/dist/chunk-ORKGCXG3.cjs.map +0 -1
  72. package/dist/chunk-RZQACYNQ.cjs.map +0 -1
@@ -1,9 +1,11 @@
1
- import { cn, getCollisionPadding, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator } from './chunk-6ALMBER7.js';
1
+ import { MarkdownRenderer } from './chunk-H7ZZQ4ZV.js';
2
+ import { getCollisionPadding, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuItem, DropdownMenuSeparator } from './chunk-N5SVBDLC.js';
3
+ import { cn } from './chunk-SN5YV6FF.js';
2
4
  import * as React from 'react';
3
- import React__default, { createContext, forwardRef, memo, useContext, useState, useRef, useEffect, useMemo, useCallback, useId, Fragment as Fragment$1 } from 'react';
5
+ import React__default, { createContext, forwardRef, memo, useContext, useState, useRef, useEffect, useCallback, useId, Fragment as Fragment$1 } from 'react';
4
6
  import { createPortal } from 'react-dom';
5
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
- import { Circle, Check, X, ChevronDown, ChevronUp, Search, MessageCircleMore, Loader2, Square, Mic, MoreVertical, Copy, MessageSquareLock, Info, FileQuestion, BookOpen, Upload, LogOut, LayoutGrid, Bell, MessageSquare, CircleUserRound, Wrench, CreditCard, ClipboardList, UserPlus, UserStar, Settings2, Users, User, NotebookPen, NotebookText, StickyNote, FolderPlus, Hash, EyeOff, Eye, CaptionsOff, FolderOpen, MessageSquareMore, MessageSquarePlus, MessageSquareText, MessageSquareOff, MessagesSquare, Columns3Cog, SquarePlus, SquareM, ChevronsDown, Bot, Calendar, Folder, List, SquareCheckBig, ChevronsUpDown, Minus, Plus, AlertTriangle, FileX, SkipForward, XCircle, CheckCircle } from 'lucide-react';
8
+ import { Circle, Check, X, ChevronDown, ChevronUp, Search, MessageCircleMore, Loader2, Square, Mic, MoreVertical, MessageSquareLock, Info, FileQuestion, BookOpen, Upload, LogOut, LayoutGrid, Bell, MessageSquare, CircleUserRound, Wrench, CreditCard, ClipboardList, UserPlus, UserStar, Settings2, Users, User, NotebookPen, NotebookText, StickyNote, FolderPlus, Hash, EyeOff, Eye, CaptionsOff, FolderOpen, MessageSquareMore, MessageSquarePlus, MessageSquareText, MessageSquareOff, MessagesSquare, Columns3Cog, SquarePlus, SquareM, ChevronsDown, Bot, Calendar, Folder, List, SquareCheckBig, ChevronsUpDown, Minus, Plus, AlertTriangle, FileX, SkipForward, XCircle, CheckCircle } from 'lucide-react';
7
9
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
8
10
  import { cva } from 'class-variance-authority';
9
11
  import { Slot } from '@radix-ui/react-slot';
@@ -22,9 +24,6 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';
22
24
  import * as PopoverPrimitive from '@radix-ui/react-popover';
23
25
  import * as SelectPrimitive from '@radix-ui/react-select';
24
26
  import { Command as Command$1 } from 'cmdk';
25
- import Markdown from 'react-markdown';
26
- import remarkGfm from 'remark-gfm';
27
- import rehypeRaw from 'rehype-raw';
28
27
 
29
28
  var TooltipContext = React.createContext(null);
30
29
  var DEFAULT_DELAY = 300;
@@ -1749,299 +1748,6 @@ var CommandShortcut = ({ className, ...props }) => {
1749
1748
  );
1750
1749
  };
1751
1750
  CommandShortcut.displayName = "CommandShortcut";
1752
- var markdownBaseComponents = {
1753
- h1: ({ children, ...props }) => /* @__PURE__ */ jsx("h1", { className: "text-lg font-semibold", "data-testid": "markdown-heading-1", ...props, children }),
1754
- h2: ({ children, ...props }) => /* @__PURE__ */ jsx("h2", { className: "font-semibold text-base", "data-testid": "markdown-heading-2", ...props, children }),
1755
- h3: ({ children, ...props }) => /* @__PURE__ */ jsx("h3", { className: "font-semibold text-base", "data-testid": "markdown-heading-3", ...props, children }),
1756
- h4: ({ children, ...props }) => /* @__PURE__ */ jsx("h4", { className: "font-semibold text-base", ...props, children }),
1757
- h5: ({ children, ...props }) => /* @__PURE__ */ jsx("h5", { className: "font-medium", ...props, children }),
1758
- strong: ({ children, ...props }) => /* @__PURE__ */ jsx("strong", { className: "font-semibold", ...props, children }),
1759
- blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx("blockquote", { className: "border-l-2 border-primary pl-4", ...props, children }),
1760
- ol: ({ children, ...props }) => /* @__PURE__ */ jsx("ol", { className: "list-decimal space-y-2 pl-6", "data-testid": "markdown-ordered-list", ...props, children }),
1761
- ul: ({ children, ...props }) => /* @__PURE__ */ jsx("ul", { className: "list-none space-y-2 pl-6", "data-testid": "markdown-unordered-list", ...props, children }),
1762
- li: ({ children, ...props }) => /* @__PURE__ */ jsx("li", { className: "my-1.5", ...props, children }),
1763
- table: ({ children, ...props }) => /* @__PURE__ */ jsx("table", { "data-testid": "markdown-table", ...props, children }),
1764
- th: ({ children, ...props }) => /* @__PURE__ */ jsx("th", { ...props, children }),
1765
- td: ({ children, ...props }) => /* @__PURE__ */ jsx("td", { ...props, children }),
1766
- tr: ({ children, ...props }) => /* @__PURE__ */ jsx("tr", { ...props, children }),
1767
- p: ({ children, ...props }) => /* @__PURE__ */ jsx("p", { className: "whitespace-pre-wrap", ...props, children }),
1768
- hr: (props) => /* @__PURE__ */ jsx("hr", { className: "border-foreground/20", ...props }),
1769
- sup: ({ children, ...props }) => /* @__PURE__ */ jsx("sup", { className: "text-xs", ...props, children }),
1770
- sub: ({ children, ...props }) => /* @__PURE__ */ jsx("sub", { className: "text-xs", ...props, children }),
1771
- div: ({ children, className, ...props }) => /* @__PURE__ */ jsx("div", { className, ...props, children }),
1772
- br: (props) => /* @__PURE__ */ jsx("br", { ...props }),
1773
- kbd: ({ children, ...props }) => /* @__PURE__ */ jsx(
1774
- "kbd",
1775
- {
1776
- className: "px-1.5 py-0.5 text-xs font-mono bg-muted border border-border rounded",
1777
- ...props,
1778
- children
1779
- }
1780
- ),
1781
- abbr: ({ children, title, ...props }) => /* @__PURE__ */ jsx("abbr", { title, className: "underline decoration-dotted cursor-help", ...props, children }),
1782
- cite: ({ children, ...props }) => /* @__PURE__ */ jsx("cite", { className: "italic", ...props, children })
1783
- };
1784
- var MarkdownStreamingContext = createContext(false);
1785
-
1786
- // src/ai/split-markdown-blocks.ts
1787
- var LIST_ITEM_RE = /^\s*([-*+]|\d+[.)])\s/;
1788
- var BLOCKQUOTE_RE = /^\s*>/;
1789
- function splitMarkdownBlocks(content) {
1790
- if (!content) return [];
1791
- const blocks = [];
1792
- let start = 0;
1793
- let inFence = false;
1794
- let i = 0;
1795
- while (i < content.length) {
1796
- if (content.startsWith("```", i)) {
1797
- inFence = !inFence;
1798
- i += 3;
1799
- continue;
1800
- }
1801
- if (!inFence && content[i] === "\n" && content[i + 1] === "\n") {
1802
- const before = content.slice(start, i);
1803
- const lastLine = before.slice(before.lastIndexOf("\n") + 1);
1804
- const afterStart = i + 2;
1805
- const nextNewline = content.indexOf("\n", afterStart);
1806
- const nextLine = content.slice(afterStart, nextNewline === -1 ? void 0 : nextNewline);
1807
- const bothListItems = LIST_ITEM_RE.test(lastLine) && LIST_ITEM_RE.test(nextLine);
1808
- const bothBlockquotes = BLOCKQUOTE_RE.test(lastLine) && BLOCKQUOTE_RE.test(nextLine);
1809
- if (bothListItems || bothBlockquotes) {
1810
- i += 2;
1811
- continue;
1812
- }
1813
- blocks.push(content.slice(start, afterStart));
1814
- start = afterStart;
1815
- i = afterStart;
1816
- continue;
1817
- }
1818
- i++;
1819
- }
1820
- if (start < content.length) blocks.push(content.slice(start));
1821
- return blocks;
1822
- }
1823
-
1824
- // src/ai/normalize-citations.ts
1825
- var CITE_LINK = /\[([^\]\n]+)\]\((#cite-[\w-]+)\)/g;
1826
- var BLOCK_MARKER = /^(?:[-*+]|\d{1,9}[.)]|#{1,6})[ \t]+/;
1827
- var LEADING_EMPHASIS = /^(?:\*\*|__|\*|_)+/;
1828
- var TRAILING_EMPHASIS = /(\*\*|__|\*|_)(:?)$/;
1829
- function countToken(text, token) {
1830
- const double = token + token;
1831
- if (token.length === 2) return text.split(token).length - 1;
1832
- const withoutDouble = text.split(double).join("");
1833
- return withoutDouble.split(token).length - 1;
1834
- }
1835
- function emphasisTokens(run) {
1836
- const char = run[0];
1837
- const tokens = [];
1838
- let rest = run;
1839
- while (rest.length > 0) {
1840
- const size = rest.length >= 2 ? 2 : 1;
1841
- tokens.push(char.repeat(size));
1842
- rest = rest.slice(size);
1843
- }
1844
- return tokens;
1845
- }
1846
- function hoistFromLink(text, before, after) {
1847
- let body = text;
1848
- let prefix = "";
1849
- let suffix = "";
1850
- if (before.trim() === "") {
1851
- const marker = BLOCK_MARKER.exec(body);
1852
- if (marker) {
1853
- prefix += marker[0];
1854
- body = body.slice(marker[0].length);
1855
- }
1856
- }
1857
- const leading = LEADING_EMPHASIS.exec(body);
1858
- if (leading) {
1859
- let kept = "";
1860
- let rest = body.slice(leading[0].length);
1861
- for (const token of emphasisTokens(leading[0]).reverse()) {
1862
- if (countToken(rest, token) % 2 === 1) {
1863
- kept = token + kept;
1864
- continue;
1865
- }
1866
- if (countToken(after, token) % 2 === 1) prefix += token;
1867
- else kept = token + kept;
1868
- }
1869
- body = kept + rest;
1870
- rest = "";
1871
- }
1872
- const trailing = TRAILING_EMPHASIS.exec(body);
1873
- if (trailing) {
1874
- const token = trailing[1];
1875
- const inner = body.slice(0, body.length - trailing[0].length);
1876
- const openedBefore = countToken(before + prefix, token) % 2 === 1;
1877
- if (countToken(inner, token) % 2 === 0 && openedBefore) {
1878
- body = inner;
1879
- suffix = trailing[0];
1880
- }
1881
- }
1882
- return [prefix, body, suffix];
1883
- }
1884
- function normalizeLine(line) {
1885
- if (!line.includes("](#cite-")) return line;
1886
- return line.replace(CITE_LINK, (match, text, href, offset) => {
1887
- const before = line.slice(0, offset);
1888
- const after = line.slice(offset + match.length);
1889
- const [prefix, body, suffix] = hoistFromLink(text, before, after);
1890
- if (!prefix && !suffix && body === text) return match;
1891
- return `${prefix}[${body}](${href})${suffix}`;
1892
- });
1893
- }
1894
- function normalizeCitationMarkup(markdown) {
1895
- if (!markdown.includes("](#cite-")) return markdown;
1896
- let inFence = false;
1897
- return markdown.split("\n").map((line) => {
1898
- if (/^\s*(```|~~~)/.test(line)) {
1899
- inFence = !inFence;
1900
- return line;
1901
- }
1902
- return inFence ? line : normalizeLine(line);
1903
- }).join("\n");
1904
- }
1905
- function CodeBlock({ language, code }) {
1906
- const [copied, setCopied] = useState(false);
1907
- const handleCopy = async () => {
1908
- try {
1909
- await navigator.clipboard.writeText(code);
1910
- setCopied(true);
1911
- setTimeout(() => setCopied(false), 2e3);
1912
- } catch {
1913
- }
1914
- };
1915
- return /* @__PURE__ */ jsxs(
1916
- "div",
1917
- {
1918
- className: "code-block relative my-3 overflow-hidden rounded-md border border-current/20 bg-current/5",
1919
- "data-testid": "markdown-code-block",
1920
- children: [
1921
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between border-b border-current/20 px-3 py-1.5", children: [
1922
- /* @__PURE__ */ jsx("span", { className: "font-mono text-xs text-muted-foreground", children: language || "code" }),
1923
- /* @__PURE__ */ jsxs(
1924
- "button",
1925
- {
1926
- type: "button",
1927
- onClick: handleCopy,
1928
- className: "flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground",
1929
- title: copied ? "Copied!" : "Copy code",
1930
- children: [
1931
- copied ? /* @__PURE__ */ jsx(Check, { size: 12 }) : /* @__PURE__ */ jsx(Copy, { size: 12 }),
1932
- /* @__PURE__ */ jsx("span", { children: copied ? "Copied" : "Copy" })
1933
- ]
1934
- }
1935
- )
1936
- ] }),
1937
- /* @__PURE__ */ jsx("pre", { className: "overflow-x-auto p-3 text-sm leading-relaxed", children: /* @__PURE__ */ jsx("code", { className: cn("font-mono", language && `language-${language}`), children: code }) })
1938
- ]
1939
- }
1940
- );
1941
- }
1942
- var defaultComponents = {
1943
- ...markdownBaseComponents,
1944
- a: ({ href, children, ...props }) => {
1945
- if (href?.startsWith("#cite-")) {
1946
- return /* @__PURE__ */ jsx(
1947
- "span",
1948
- {
1949
- className: "cited-text underline decoration-dotted underline-offset-4",
1950
- "data-cite": href.slice(6),
1951
- children
1952
- }
1953
- );
1954
- }
1955
- const isInternal = !href || href.startsWith("#") || href.startsWith("cite:");
1956
- return /* @__PURE__ */ jsx(
1957
- "a",
1958
- {
1959
- className: "text-primary underline underline-offset-2",
1960
- href,
1961
- ...isInternal ? {} : { target: "_blank", rel: "noopener noreferrer" },
1962
- ...props,
1963
- children
1964
- }
1965
- );
1966
- },
1967
- em: ({ children, ...props }) => /* @__PURE__ */ jsx("em", { className: "italic", ...props, children }),
1968
- code: function MarkdownCode({
1969
- className,
1970
- children,
1971
- ...props
1972
- }) {
1973
- const match = /language-(\w+)/.exec(className || "");
1974
- if (!match) {
1975
- return /* @__PURE__ */ jsx(
1976
- "code",
1977
- {
1978
- className: "rounded bg-current/10 px-1 py-0.5 font-mono text-[0.9em]",
1979
- "data-testid": "markdown-inline-code",
1980
- ...props,
1981
- children
1982
- }
1983
- );
1984
- }
1985
- return /* @__PURE__ */ jsx(CodeBlock, { language: match[1], code: String(children).replace(/\n$/, "") });
1986
- },
1987
- // The CodeBlock renders its own <pre>; unwrap react-markdown's wrapper so we
1988
- // don't nest <pre><pre>.
1989
- pre: ({ children }) => /* @__PURE__ */ jsx(Fragment, { children }),
1990
- blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx("blockquote", { className: "border-l-2 border-border pl-4 italic text-muted-foreground", ...props, children }),
1991
- table: ({ children, ...props }) => /* @__PURE__ */ jsx("div", { className: "my-3 overflow-x-auto rounded-lg border border-border", children: /* @__PURE__ */ jsx("table", { "data-testid": "markdown-table", className: "w-full border-collapse text-sm", ...props, children }) }),
1992
- thead: ({ children, ...props }) => /* @__PURE__ */ jsx("thead", { className: "bg-current/10", ...props, children }),
1993
- th: ({ children, ...props }) => /* @__PURE__ */ jsx("th", { className: "border-b border-border px-3 py-2 text-left font-semibold", ...props, children }),
1994
- td: ({ children, ...props }) => /* @__PURE__ */ jsx("td", { className: "border-b border-border px-3 py-2 align-top", ...props, children }),
1995
- // General emphasis marks (GFM `~~strikethrough~~` → <del>, raw <ins>/<mark>).
1996
- del: ({ children, ...props }) => /* @__PURE__ */ jsx("del", { className: "text-muted-foreground line-through", ...props, children }),
1997
- ins: ({ children, ...props }) => /* @__PURE__ */ jsx("ins", { className: "underline decoration-primary/60", ...props, children }),
1998
- mark: ({ children, ...props }) => /* @__PURE__ */ jsx("mark", { className: "rounded bg-primary/15 px-0.5 text-inherit", ...props, children })
1999
- };
2000
- var remarkPlugins = [remarkGfm];
2001
- var rehypePlugins = [rehypeRaw];
2002
- var MemoizedBlock = React__default.memo(function MarkdownBlock({
2003
- content,
2004
- components
2005
- }) {
2006
- return /* @__PURE__ */ jsx(Markdown, { remarkPlugins, rehypePlugins, components, children: content });
2007
- });
2008
- var MarkdownErrorBoundary = class extends React__default.Component {
2009
- state = { hasError: false };
2010
- static getDerivedStateFromError() {
2011
- return { hasError: true };
2012
- }
2013
- render() {
2014
- return this.state.hasError ? this.props.fallback : this.props.children;
2015
- }
2016
- };
2017
- function MarkdownRendererComponent({
2018
- children,
2019
- components: customComponents,
2020
- isStreaming = false,
2021
- className,
2022
- testId = "markdown-renderer"
2023
- }) {
2024
- const components = useMemo(
2025
- () => customComponents ? { ...defaultComponents, ...customComponents } : defaultComponents,
2026
- [customComponents]
2027
- );
2028
- const blocks = useMemo(() => splitMarkdownBlocks(normalizeCitationMarkup(children)), [children]);
2029
- return /* @__PURE__ */ jsx(
2030
- MarkdownErrorBoundary,
2031
- {
2032
- fallback: /* @__PURE__ */ jsx("div", { className: cn("whitespace-pre-wrap break-words", className), children }),
2033
- children: /* @__PURE__ */ jsx(MarkdownStreamingContext.Provider, { value: isStreaming, children: /* @__PURE__ */ jsx(
2034
- "div",
2035
- {
2036
- className: cn("markdown-content space-y-3 break-words leading-relaxed", className),
2037
- "data-testid": testId,
2038
- children: blocks.map((block, index) => /* @__PURE__ */ jsx(MemoizedBlock, { content: block, components }, index))
2039
- }
2040
- ) })
2041
- }
2042
- );
2043
- }
2044
- var MarkdownRenderer = React__default.memo(MarkdownRendererComponent);
2045
1751
  var AI_COMPONENTS = {
2046
1752
  a: (p) => /* @__PURE__ */ jsx(
2047
1753
  "a",
@@ -3959,6 +3665,6 @@ function DocumentCard({
3959
3665
  );
3960
3666
  }
3961
3667
 
3962
- export { AgentBadge, AiMarkdown, ArbiBotHeadIcon, AudIcon, Avatar, AvatarFallback, AvatarImage, BASE_COLORS2 as BASE_COLORS, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictateProvider, DocumentCard, DocumentEntity, ENTITY_MAPPINGS, EmlIcon, EntityIcon, EntityPill, FILE_TYPE_COLORS, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, ImgIcon, InlineMicButton, Input, Label, MarkMenu, MarkdownRenderer, MarkdownStreamingContext, MicRecordingOverlay, MicWaveformIndicator, NEUTRAL_GRAY2 as NEUTRAL_GRAY, PLACEHOLDER_COLOR, PassageCard, PdfIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PresenceLabel, Progress, ProjectEntity, RadioGroup, RadioGroupItem, RagDot, RelevanceDot, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, StatusPill, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, UserMenu, VISIBILITY_ICONS, VidIcon, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, classifyMediaError, configureEntityRegistry, configureRagLabels, configureStatusRegistry, formatElapsed, getDocIcon, getEntityColor2 as getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, normalizeCitationMarkup, splitMarkdownBlocks, toggleVariants, useAudioRecorder };
3963
- //# sourceMappingURL=chunk-MIJRORQL.js.map
3964
- //# sourceMappingURL=chunk-MIJRORQL.js.map
3668
+ export { AgentBadge, AiMarkdown, ArbiBotHeadIcon, AudIcon, Avatar, AvatarFallback, AvatarImage, BASE_COLORS2 as BASE_COLORS, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictateProvider, DocumentCard, DocumentEntity, ENTITY_MAPPINGS, EmlIcon, EntityIcon, EntityPill, FILE_TYPE_COLORS, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, ImgIcon, InlineMicButton, Input, Label, MarkMenu, MicRecordingOverlay, MicWaveformIndicator, NEUTRAL_GRAY2 as NEUTRAL_GRAY, PLACEHOLDER_COLOR, PassageCard, PdfIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PresenceLabel, Progress, ProjectEntity, RadioGroup, RadioGroupItem, RagDot, RelevanceDot, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, StatusPill, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, UserMenu, VISIBILITY_ICONS, VidIcon, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, classifyMediaError, configureEntityRegistry, configureRagLabels, configureStatusRegistry, formatElapsed, getDocIcon, getEntityColor2 as getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, toggleVariants, useAudioRecorder };
3669
+ //# sourceMappingURL=chunk-DVRJFLE7.js.map
3670
+ //# sourceMappingURL=chunk-DVRJFLE7.js.map