@assistant-ui/react-markdown 0.7.21 → 0.8.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.
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +0 -6
- package/dist/index.mjs.map +1 -1
- package/dist/memoization.d.ts.map +1 -1
- package/dist/overrides/withDefaults.d.ts.map +1 -1
- package/dist/primitives/MarkdownText.d.ts +1 -0
- package/dist/primitives/MarkdownText.d.ts.map +1 -1
- package/dist/primitives/MarkdownText.js +1 -1
- package/dist/primitives/MarkdownText.js.map +1 -1
- package/dist/primitives/MarkdownText.mjs +1 -1
- package/dist/primitives/MarkdownText.mjs.map +1 -1
- package/package.json +9 -24
- package/src/index.ts +0 -12
- package/src/primitives/MarkdownText.tsx +2 -1
- package/dist/styles/markdown.css +0 -274
- package/dist/styles/markdown.css.map +0 -1
- package/dist/styles/tailwindcss/markdown.css +0 -106
- package/dist/styles/tailwindcss/markdown.css.json +0 -68
- package/dist/tailwindcss/index.d.ts +0 -9
- package/dist/tailwindcss/index.d.ts.map +0 -1
- package/dist/tailwindcss/index.js +0 -113
- package/dist/tailwindcss/index.js.map +0 -1
- package/dist/tailwindcss/index.mjs +0 -105
- package/dist/tailwindcss/index.mjs.map +0 -1
- package/dist/ui/code-header.d.ts +0 -4
- package/dist/ui/code-header.d.ts.map +0 -1
- package/dist/ui/code-header.js +0 -54
- package/dist/ui/code-header.js.map +0 -1
- package/dist/ui/code-header.mjs +0 -29
- package/dist/ui/code-header.mjs.map +0 -1
- package/dist/ui/markdown-text.d.ts +0 -4
- package/dist/ui/markdown-text.d.ts.map +0 -1
- package/dist/ui/markdown-text.js +0 -114
- package/dist/ui/markdown-text.js.map +0 -1
- package/dist/ui/markdown-text.mjs +0 -81
- package/dist/ui/markdown-text.mjs.map +0 -1
- package/dist/ui/useCopyToClipboard.d.ts +0 -11
- package/dist/ui/useCopyToClipboard.d.ts.map +0 -1
- package/dist/ui/useCopyToClipboard.js +0 -45
- package/dist/ui/useCopyToClipboard.js.map +0 -1
- package/dist/ui/useCopyToClipboard.mjs +0 -21
- package/dist/ui/useCopyToClipboard.mjs.map +0 -1
- package/src/styles/tailwindcss/markdown.css +0 -106
- package/src/tailwindcss/index.ts +0 -8
- package/src/ui/code-header.tsx +0 -32
- package/src/ui/markdown-text.tsx +0 -114
- package/src/ui/useCopyToClipboard.tsx +0 -26
- package/tailwindcss/README.md +0 -1
- package/tailwindcss/package-lock.json +0 -6
- package/tailwindcss/package.json +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/markdown-text.tsx"],"sourcesContent":["import { FC, memo } from \"react\";\nimport { CodeHeader } from \"./code-header\";\nimport classNames from \"classnames\";\nimport {\n MarkdownTextPrimitive,\n MarkdownTextPrimitiveProps,\n} from \"../primitives/MarkdownText\";\nimport { INTERNAL } from \"@assistant-ui/react\";\nimport { useIsMarkdownCodeBlock } from \"../overrides/PreOverride\";\n\nconst { withSmoothContextProvider, useSmoothStatus } = INTERNAL;\n\nexport type MakeMarkdownTextProps = MarkdownTextPrimitiveProps;\n\nconst defaultComponents: MakeMarkdownTextProps[\"components\"] = {\n h1: ({ node, className, ...props }) => (\n <h1 className={classNames(\"aui-md-h1\", className)} {...props} />\n ),\n h2: ({ node, className, ...props }) => (\n <h2 className={classNames(\"aui-md-h2\", className)} {...props} />\n ),\n h3: ({ node, className, ...props }) => (\n <h3 className={classNames(\"aui-md-h3\", className)} {...props} />\n ),\n h4: ({ node, className, ...props }) => (\n <h4 className={classNames(\"aui-md-h4\", className)} {...props} />\n ),\n h5: ({ node, className, ...props }) => (\n <h5 className={classNames(\"aui-md-h5\", className)} {...props} />\n ),\n h6: ({ node, className, ...props }) => (\n <h6 className={classNames(\"aui-md-h6\", className)} {...props} />\n ),\n p: ({ node, className, ...props }) => (\n <p className={classNames(\"aui-md-p\", className)} {...props} />\n ),\n a: ({ node, className, ...props }) => (\n <a className={classNames(\"aui-md-a\", className)} {...props} />\n ),\n blockquote: ({ node, className, ...props }) => (\n <blockquote\n className={classNames(\"aui-md-blockquote\", className)}\n {...props}\n />\n ),\n ul: ({ node, className, ...props }) => (\n <ul className={classNames(\"aui-md-ul\", className)} {...props} />\n ),\n ol: ({ node, className, ...props }) => (\n <ol className={classNames(\"aui-md-ol\", className)} {...props} />\n ),\n hr: ({ node, className, ...props }) => (\n <hr className={classNames(\"aui-md-hr\", className)} {...props} />\n ),\n table: ({ node, className, ...props }) => (\n <table className={classNames(\"aui-md-table\", className)} {...props} />\n ),\n th: ({ node, className, ...props }) => (\n <th className={classNames(\"aui-md-th\", className)} {...props} />\n ),\n td: ({ node, className, ...props }) => (\n <td className={classNames(\"aui-md-td\", className)} {...props} />\n ),\n tr: ({ node, className, ...props }) => (\n <tr className={classNames(\"aui-md-tr\", className)} {...props} />\n ),\n sup: ({ node, className, ...props }) => (\n <sup className={classNames(\"aui-md-sup\", className)} {...props} />\n ),\n pre: ({ node, className, ...props }) => (\n <pre className={classNames(\"aui-md-pre\", className)} {...props} />\n ),\n code: ({ node, className, ...props }) => {\n const isCodeBlock = useIsMarkdownCodeBlock();\n return (\n <code\n className={classNames(!isCodeBlock && \"aui-md-inline-code\", className)}\n {...props}\n />\n );\n },\n CodeHeader,\n};\n\nexport const makeMarkdownText = ({\n className,\n components: userComponents,\n ...rest\n}: MakeMarkdownTextProps = {}) => {\n const components = {\n ...defaultComponents,\n ...Object.fromEntries(\n // ignore undefined values, so undefined values do not override default components\n Object.entries(userComponents ?? {}).filter(([_, v]) => v !== undefined),\n ),\n };\n\n const MarkdownTextImpl: FC = () => {\n const status = useSmoothStatus();\n return (\n <MarkdownTextPrimitive\n components={components}\n {...rest}\n className={classNames(\n status.type === \"running\" && \"aui-md-running\",\n className,\n )}\n />\n );\n };\n MarkdownTextImpl.displayName = \"MarkdownText\";\n\n return memo(withSmoothContextProvider(MarkdownTextImpl), () => true);\n};\n"],"mappings":"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","names":["import_react","classNames"]}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// src/ui/markdown-text.tsx
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { CodeHeader } from "./code-header.mjs";
|
|
4
|
-
import classNames from "classnames";
|
|
5
|
-
import {
|
|
6
|
-
MarkdownTextPrimitive
|
|
7
|
-
} from "../primitives/MarkdownText.mjs";
|
|
8
|
-
import { INTERNAL } from "@assistant-ui/react";
|
|
9
|
-
import { useIsMarkdownCodeBlock } from "../overrides/PreOverride.mjs";
|
|
10
|
-
import { jsx } from "react/jsx-runtime";
|
|
11
|
-
var { withSmoothContextProvider, useSmoothStatus } = INTERNAL;
|
|
12
|
-
var defaultComponents = {
|
|
13
|
-
h1: ({ node, className, ...props }) => /* @__PURE__ */ jsx("h1", { className: classNames("aui-md-h1", className), ...props }),
|
|
14
|
-
h2: ({ node, className, ...props }) => /* @__PURE__ */ jsx("h2", { className: classNames("aui-md-h2", className), ...props }),
|
|
15
|
-
h3: ({ node, className, ...props }) => /* @__PURE__ */ jsx("h3", { className: classNames("aui-md-h3", className), ...props }),
|
|
16
|
-
h4: ({ node, className, ...props }) => /* @__PURE__ */ jsx("h4", { className: classNames("aui-md-h4", className), ...props }),
|
|
17
|
-
h5: ({ node, className, ...props }) => /* @__PURE__ */ jsx("h5", { className: classNames("aui-md-h5", className), ...props }),
|
|
18
|
-
h6: ({ node, className, ...props }) => /* @__PURE__ */ jsx("h6", { className: classNames("aui-md-h6", className), ...props }),
|
|
19
|
-
p: ({ node, className, ...props }) => /* @__PURE__ */ jsx("p", { className: classNames("aui-md-p", className), ...props }),
|
|
20
|
-
a: ({ node, className, ...props }) => /* @__PURE__ */ jsx("a", { className: classNames("aui-md-a", className), ...props }),
|
|
21
|
-
blockquote: ({ node, className, ...props }) => /* @__PURE__ */ jsx(
|
|
22
|
-
"blockquote",
|
|
23
|
-
{
|
|
24
|
-
className: classNames("aui-md-blockquote", className),
|
|
25
|
-
...props
|
|
26
|
-
}
|
|
27
|
-
),
|
|
28
|
-
ul: ({ node, className, ...props }) => /* @__PURE__ */ jsx("ul", { className: classNames("aui-md-ul", className), ...props }),
|
|
29
|
-
ol: ({ node, className, ...props }) => /* @__PURE__ */ jsx("ol", { className: classNames("aui-md-ol", className), ...props }),
|
|
30
|
-
hr: ({ node, className, ...props }) => /* @__PURE__ */ jsx("hr", { className: classNames("aui-md-hr", className), ...props }),
|
|
31
|
-
table: ({ node, className, ...props }) => /* @__PURE__ */ jsx("table", { className: classNames("aui-md-table", className), ...props }),
|
|
32
|
-
th: ({ node, className, ...props }) => /* @__PURE__ */ jsx("th", { className: classNames("aui-md-th", className), ...props }),
|
|
33
|
-
td: ({ node, className, ...props }) => /* @__PURE__ */ jsx("td", { className: classNames("aui-md-td", className), ...props }),
|
|
34
|
-
tr: ({ node, className, ...props }) => /* @__PURE__ */ jsx("tr", { className: classNames("aui-md-tr", className), ...props }),
|
|
35
|
-
sup: ({ node, className, ...props }) => /* @__PURE__ */ jsx("sup", { className: classNames("aui-md-sup", className), ...props }),
|
|
36
|
-
pre: ({ node, className, ...props }) => /* @__PURE__ */ jsx("pre", { className: classNames("aui-md-pre", className), ...props }),
|
|
37
|
-
code: ({ node, className, ...props }) => {
|
|
38
|
-
const isCodeBlock = useIsMarkdownCodeBlock();
|
|
39
|
-
return /* @__PURE__ */ jsx(
|
|
40
|
-
"code",
|
|
41
|
-
{
|
|
42
|
-
className: classNames(!isCodeBlock && "aui-md-inline-code", className),
|
|
43
|
-
...props
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
},
|
|
47
|
-
CodeHeader
|
|
48
|
-
};
|
|
49
|
-
var makeMarkdownText = ({
|
|
50
|
-
className,
|
|
51
|
-
components: userComponents,
|
|
52
|
-
...rest
|
|
53
|
-
} = {}) => {
|
|
54
|
-
const components = {
|
|
55
|
-
...defaultComponents,
|
|
56
|
-
...Object.fromEntries(
|
|
57
|
-
// ignore undefined values, so undefined values do not override default components
|
|
58
|
-
Object.entries(userComponents ?? {}).filter(([_, v]) => v !== void 0)
|
|
59
|
-
)
|
|
60
|
-
};
|
|
61
|
-
const MarkdownTextImpl = () => {
|
|
62
|
-
const status = useSmoothStatus();
|
|
63
|
-
return /* @__PURE__ */ jsx(
|
|
64
|
-
MarkdownTextPrimitive,
|
|
65
|
-
{
|
|
66
|
-
components,
|
|
67
|
-
...rest,
|
|
68
|
-
className: classNames(
|
|
69
|
-
status.type === "running" && "aui-md-running",
|
|
70
|
-
className
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
);
|
|
74
|
-
};
|
|
75
|
-
MarkdownTextImpl.displayName = "MarkdownText";
|
|
76
|
-
return memo(withSmoothContextProvider(MarkdownTextImpl), () => true);
|
|
77
|
-
};
|
|
78
|
-
export {
|
|
79
|
-
makeMarkdownText
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=markdown-text.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/markdown-text.tsx"],"sourcesContent":["import { FC, memo } from \"react\";\nimport { CodeHeader } from \"./code-header\";\nimport classNames from \"classnames\";\nimport {\n MarkdownTextPrimitive,\n MarkdownTextPrimitiveProps,\n} from \"../primitives/MarkdownText\";\nimport { INTERNAL } from \"@assistant-ui/react\";\nimport { useIsMarkdownCodeBlock } from \"../overrides/PreOverride\";\n\nconst { withSmoothContextProvider, useSmoothStatus } = INTERNAL;\n\nexport type MakeMarkdownTextProps = MarkdownTextPrimitiveProps;\n\nconst defaultComponents: MakeMarkdownTextProps[\"components\"] = {\n h1: ({ node, className, ...props }) => (\n <h1 className={classNames(\"aui-md-h1\", className)} {...props} />\n ),\n h2: ({ node, className, ...props }) => (\n <h2 className={classNames(\"aui-md-h2\", className)} {...props} />\n ),\n h3: ({ node, className, ...props }) => (\n <h3 className={classNames(\"aui-md-h3\", className)} {...props} />\n ),\n h4: ({ node, className, ...props }) => (\n <h4 className={classNames(\"aui-md-h4\", className)} {...props} />\n ),\n h5: ({ node, className, ...props }) => (\n <h5 className={classNames(\"aui-md-h5\", className)} {...props} />\n ),\n h6: ({ node, className, ...props }) => (\n <h6 className={classNames(\"aui-md-h6\", className)} {...props} />\n ),\n p: ({ node, className, ...props }) => (\n <p className={classNames(\"aui-md-p\", className)} {...props} />\n ),\n a: ({ node, className, ...props }) => (\n <a className={classNames(\"aui-md-a\", className)} {...props} />\n ),\n blockquote: ({ node, className, ...props }) => (\n <blockquote\n className={classNames(\"aui-md-blockquote\", className)}\n {...props}\n />\n ),\n ul: ({ node, className, ...props }) => (\n <ul className={classNames(\"aui-md-ul\", className)} {...props} />\n ),\n ol: ({ node, className, ...props }) => (\n <ol className={classNames(\"aui-md-ol\", className)} {...props} />\n ),\n hr: ({ node, className, ...props }) => (\n <hr className={classNames(\"aui-md-hr\", className)} {...props} />\n ),\n table: ({ node, className, ...props }) => (\n <table className={classNames(\"aui-md-table\", className)} {...props} />\n ),\n th: ({ node, className, ...props }) => (\n <th className={classNames(\"aui-md-th\", className)} {...props} />\n ),\n td: ({ node, className, ...props }) => (\n <td className={classNames(\"aui-md-td\", className)} {...props} />\n ),\n tr: ({ node, className, ...props }) => (\n <tr className={classNames(\"aui-md-tr\", className)} {...props} />\n ),\n sup: ({ node, className, ...props }) => (\n <sup className={classNames(\"aui-md-sup\", className)} {...props} />\n ),\n pre: ({ node, className, ...props }) => (\n <pre className={classNames(\"aui-md-pre\", className)} {...props} />\n ),\n code: ({ node, className, ...props }) => {\n const isCodeBlock = useIsMarkdownCodeBlock();\n return (\n <code\n className={classNames(!isCodeBlock && \"aui-md-inline-code\", className)}\n {...props}\n />\n );\n },\n CodeHeader,\n};\n\nexport const makeMarkdownText = ({\n className,\n components: userComponents,\n ...rest\n}: MakeMarkdownTextProps = {}) => {\n const components = {\n ...defaultComponents,\n ...Object.fromEntries(\n // ignore undefined values, so undefined values do not override default components\n Object.entries(userComponents ?? {}).filter(([_, v]) => v !== undefined),\n ),\n };\n\n const MarkdownTextImpl: FC = () => {\n const status = useSmoothStatus();\n return (\n <MarkdownTextPrimitive\n components={components}\n {...rest}\n className={classNames(\n status.type === \"running\" && \"aui-md-running\",\n className,\n )}\n />\n );\n };\n MarkdownTextImpl.displayName = \"MarkdownText\";\n\n return memo(withSmoothContextProvider(MarkdownTextImpl), () => true);\n};\n"],"mappings":";AAAA,SAAa,YAAY;AACzB,SAAS,kBAAkB;AAC3B,OAAO,gBAAgB;AACvB;AAAA,EACE;AAAA,OAEK;AACP,SAAS,gBAAgB;AACzB,SAAS,8BAA8B;AAQnC;AANJ,IAAM,EAAE,2BAA2B,gBAAgB,IAAI;AAIvD,IAAM,oBAAyD;AAAA,EAC7D,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,GAAG,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC9B,oBAAC,OAAE,WAAW,WAAW,YAAY,SAAS,GAAI,GAAG,OAAO;AAAA,EAE9D,GAAG,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC9B,oBAAC,OAAE,WAAW,WAAW,YAAY,SAAS,GAAI,GAAG,OAAO;AAAA,EAE9D,YAAY,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MACvC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,qBAAqB,SAAS;AAAA,MACnD,GAAG;AAAA;AAAA,EACN;AAAA,EAEF,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,OAAO,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAClC,oBAAC,WAAM,WAAW,WAAW,gBAAgB,SAAS,GAAI,GAAG,OAAO;AAAA,EAEtE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,IAAI,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAC/B,oBAAC,QAAG,WAAW,WAAW,aAAa,SAAS,GAAI,GAAG,OAAO;AAAA,EAEhE,KAAK,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAChC,oBAAC,SAAI,WAAW,WAAW,cAAc,SAAS,GAAI,GAAG,OAAO;AAAA,EAElE,KAAK,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAChC,oBAAC,SAAI,WAAW,WAAW,cAAc,SAAS,GAAI,GAAG,OAAO;AAAA,EAElE,MAAM,CAAC,EAAE,MAAM,WAAW,GAAG,MAAM,MAAM;AACvC,UAAM,cAAc,uBAAuB;AAC3C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,WAAW,CAAC,eAAe,sBAAsB,SAAS;AAAA,QACpE,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAAA,EACA;AACF;AAEO,IAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,YAAY;AAAA,EACZ,GAAG;AACL,IAA2B,CAAC,MAAM;AAChC,QAAM,aAAa;AAAA,IACjB,GAAG;AAAA,IACH,GAAG,OAAO;AAAA;AAAA,MAER,OAAO,QAAQ,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,MAAS;AAAA,IACzE;AAAA,EACF;AAEA,QAAM,mBAAuB,MAAM;AACjC,UAAM,SAAS,gBAAgB;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACC,GAAG;AAAA,QACJ,WAAW;AAAA,UACT,OAAO,SAAS,aAAa;AAAA,UAC7B;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACA,mBAAiB,cAAc;AAE/B,SAAO,KAAK,0BAA0B,gBAAgB,GAAG,MAAM,IAAI;AACrE;","names":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare namespace useCopyToClipboard {
|
|
2
|
-
interface Options {
|
|
3
|
-
copiedDuration?: number;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
export declare const useCopyToClipboard: ({ copiedDuration, }?: useCopyToClipboard.Options) => {
|
|
7
|
-
isCopied: boolean;
|
|
8
|
-
copyToClipboard: (value: string) => void;
|
|
9
|
-
};
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=useCopyToClipboard.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCopyToClipboard.d.ts","sourceRoot":"","sources":["../../src/ui/useCopyToClipboard.tsx"],"names":[],"mappings":"AAIA,kBAAU,kBAAkB,CAAC;IAC3B,UAAiB,OAAO;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;CACF;AAED,eAAO,MAAM,kBAAkB,yBAE5B,kBAAkB,CAAC,OAAO;;6BAGK,MAAM;CAUvC,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/ui/useCopyToClipboard.tsx
|
|
22
|
-
var useCopyToClipboard_exports = {};
|
|
23
|
-
__export(useCopyToClipboard_exports, {
|
|
24
|
-
useCopyToClipboard: () => useCopyToClipboard
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(useCopyToClipboard_exports);
|
|
27
|
-
var import_react = require("react");
|
|
28
|
-
var useCopyToClipboard = ({
|
|
29
|
-
copiedDuration = 3e3
|
|
30
|
-
} = {}) => {
|
|
31
|
-
const [isCopied, setIsCopied] = (0, import_react.useState)(false);
|
|
32
|
-
const copyToClipboard = (value) => {
|
|
33
|
-
if (!value) return;
|
|
34
|
-
navigator.clipboard.writeText(value).then(() => {
|
|
35
|
-
setIsCopied(true);
|
|
36
|
-
setTimeout(() => setIsCopied(false), copiedDuration);
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
return { isCopied, copyToClipboard };
|
|
40
|
-
};
|
|
41
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
-
0 && (module.exports = {
|
|
43
|
-
useCopyToClipboard
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=useCopyToClipboard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/useCopyToClipboard.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState } from \"react\";\n\nnamespace useCopyToClipboard {\n export interface Options {\n copiedDuration?: number;\n }\n}\n\nexport const useCopyToClipboard = ({\n copiedDuration = 3000,\n}: useCopyToClipboard.Options = {}) => {\n const [isCopied, setIsCopied] = useState<boolean>(false);\n\n const copyToClipboard = (value: string) => {\n if (!value) return;\n\n navigator.clipboard.writeText(value).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), copiedDuration);\n });\n };\n\n return { isCopied, copyToClipboard };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAyB;AAQlB,IAAM,qBAAqB,CAAC;AAAA,EACjC,iBAAiB;AACnB,IAAgC,CAAC,MAAM;AACrC,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAkB,KAAK;AAEvD,QAAM,kBAAkB,CAAC,UAAkB;AACzC,QAAI,CAAC,MAAO;AAEZ,cAAU,UAAU,UAAU,KAAK,EAAE,KAAK,MAAM;AAC9C,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,cAAc;AAAA,IACrD,CAAC;AAAA,EACH;AAEA,SAAO,EAAE,UAAU,gBAAgB;AACrC;","names":[]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
// src/ui/useCopyToClipboard.tsx
|
|
4
|
-
import { useState } from "react";
|
|
5
|
-
var useCopyToClipboard = ({
|
|
6
|
-
copiedDuration = 3e3
|
|
7
|
-
} = {}) => {
|
|
8
|
-
const [isCopied, setIsCopied] = useState(false);
|
|
9
|
-
const copyToClipboard = (value) => {
|
|
10
|
-
if (!value) return;
|
|
11
|
-
navigator.clipboard.writeText(value).then(() => {
|
|
12
|
-
setIsCopied(true);
|
|
13
|
-
setTimeout(() => setIsCopied(false), copiedDuration);
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
return { isCopied, copyToClipboard };
|
|
17
|
-
};
|
|
18
|
-
export {
|
|
19
|
-
useCopyToClipboard
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=useCopyToClipboard.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/useCopyToClipboard.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState } from \"react\";\n\nnamespace useCopyToClipboard {\n export interface Options {\n copiedDuration?: number;\n }\n}\n\nexport const useCopyToClipboard = ({\n copiedDuration = 3000,\n}: useCopyToClipboard.Options = {}) => {\n const [isCopied, setIsCopied] = useState<boolean>(false);\n\n const copyToClipboard = (value: string) => {\n if (!value) return;\n\n navigator.clipboard.writeText(value).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), copiedDuration);\n });\n };\n\n return { isCopied, copyToClipboard };\n};\n"],"mappings":";;;AAEA,SAAS,gBAAgB;AAQlB,IAAM,qBAAqB,CAAC;AAAA,EACjC,iBAAiB;AACnB,IAAgC,CAAC,MAAM;AACrC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAkB,KAAK;AAEvD,QAAM,kBAAkB,CAAC,UAAkB;AACzC,QAAI,CAAC,MAAO;AAEZ,cAAU,UAAU,UAAU,KAAK,EAAE,KAAK,MAAM;AAC9C,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,cAAc;AAAA,IACrD,CAAC;AAAA,EACH;AAEA,SAAO,EAAE,UAAU,gBAAgB;AACrC;","names":[]}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/* running indicator */
|
|
2
|
-
:where(.aui-md-running):empty::after,
|
|
3
|
-
:where(.aui-md-running) > :where(:not(ol):not(ul):not(pre)):last-child::after,
|
|
4
|
-
:where(.aui-md-running) > pre:last-child code::after,
|
|
5
|
-
:where(.aui-md-running)
|
|
6
|
-
> :where(:is(ol, ul):last-child)
|
|
7
|
-
> :where(li:last-child:not(:has(* > li)))::after,
|
|
8
|
-
:where(.aui-md-running)
|
|
9
|
-
> :where(:is(ol, ul):last-child)
|
|
10
|
-
> :where(li:last-child)
|
|
11
|
-
> :where(:is(ol, ul):last-child)
|
|
12
|
-
> :where(li:last-child:not(:has(* > li)))::after,
|
|
13
|
-
:where(.aui-md-running)
|
|
14
|
-
> :where(:is(ol, ul):last-child)
|
|
15
|
-
> :where(li:last-child)
|
|
16
|
-
> :where(:is(ol, ul):last-child)
|
|
17
|
-
> :where(li:last-child)
|
|
18
|
-
> :where(:is(ol, ul):last-child)
|
|
19
|
-
> :where(li:last-child)::after {
|
|
20
|
-
@apply animate-pulse font-sans content-['\25CF'] ltr:ml-1 rtl:mr-1;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/* typography */
|
|
24
|
-
.aui-md-h1 {
|
|
25
|
-
@apply mb-8 scroll-m-20 text-4xl font-extrabold tracking-tight last:mb-0;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.aui-md-h2 {
|
|
29
|
-
@apply mb-4 mt-8 scroll-m-20 text-3xl font-semibold tracking-tight first:mt-0 last:mb-0;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.aui-md-h3 {
|
|
33
|
-
@apply mb-4 mt-6 scroll-m-20 text-2xl font-semibold tracking-tight first:mt-0 last:mb-0;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.aui-md-h4 {
|
|
37
|
-
@apply mb-4 mt-6 scroll-m-20 text-xl font-semibold tracking-tight first:mt-0 last:mb-0;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.aui-md-h5 {
|
|
41
|
-
@apply my-4 text-lg font-semibold first:mt-0 last:mb-0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.aui-md-h6 {
|
|
45
|
-
@apply my-4 font-semibold first:mt-0 last:mb-0;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.aui-md-p {
|
|
49
|
-
@apply mb-5 mt-5 leading-7 first:mt-0 last:mb-0;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.aui-md-a {
|
|
53
|
-
@apply text-aui-primary font-medium underline underline-offset-4;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.aui-md-blockquote {
|
|
57
|
-
@apply border-l-2 pl-6 italic;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.aui-md-ul {
|
|
61
|
-
@apply my-5 ml-6 list-disc [&>li]:mt-2;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.aui-md-ol {
|
|
65
|
-
@apply my-5 ml-6 list-decimal [&>li]:mt-2;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.aui-md-hr {
|
|
69
|
-
@apply my-5 border-b;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.aui-md-table {
|
|
73
|
-
@apply my-5 w-full border-separate border-spacing-0 overflow-y-auto;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.aui-md-th {
|
|
77
|
-
@apply bg-aui-muted px-4 py-2 text-left font-bold first:rounded-tl-lg last:rounded-tr-lg [&[align=center]]:text-center [&[align=right]]:text-right;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.aui-md-td {
|
|
81
|
-
@apply border-b border-l px-4 py-2 text-left last:border-r [&[align=center]]:text-center [&[align=right]]:text-right;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.aui-md-tr {
|
|
85
|
-
@apply m-0 border-b p-0 first:border-t [&:last-child>td:first-child]:rounded-bl-lg [&:last-child>td:last-child]:rounded-br-lg;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.aui-md-sup {
|
|
89
|
-
@apply [&>a]:text-xs [&>a]:no-underline;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.aui-md-pre {
|
|
93
|
-
@apply overflow-x-auto rounded-b-lg bg-black p-4 text-white;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.aui-md-inline-code {
|
|
97
|
-
@apply bg-aui-muted rounded border font-semibold;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.aui-code-header-root {
|
|
101
|
-
@apply flex items-center justify-between gap-4 rounded-t-lg bg-zinc-900 px-4 py-2 text-sm font-semibold text-white;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.aui-code-header-language {
|
|
105
|
-
@apply lowercase [&>span]:text-xs;
|
|
106
|
-
}
|
package/src/tailwindcss/index.ts
DELETED
package/src/ui/code-header.tsx
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import { CheckIcon, CopyIcon } from "lucide-react";
|
|
3
|
-
import { INTERNAL, useThreadConfig } from "@assistant-ui/react";
|
|
4
|
-
|
|
5
|
-
import { CodeHeaderProps } from "../overrides/types";
|
|
6
|
-
import { useCopyToClipboard } from "./useCopyToClipboard";
|
|
7
|
-
|
|
8
|
-
const { TooltipIconButton } = INTERNAL;
|
|
9
|
-
|
|
10
|
-
export const CodeHeader: FC<CodeHeaderProps> = ({ language, code }) => {
|
|
11
|
-
const {
|
|
12
|
-
strings: {
|
|
13
|
-
code: { header: { copy: { tooltip = "Copy" } = {} } = {} } = {},
|
|
14
|
-
} = {},
|
|
15
|
-
} = useThreadConfig();
|
|
16
|
-
|
|
17
|
-
const { isCopied, copyToClipboard } = useCopyToClipboard();
|
|
18
|
-
const onCopy = () => {
|
|
19
|
-
if (!code || isCopied) return;
|
|
20
|
-
copyToClipboard(code);
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
return (
|
|
24
|
-
<div className="aui-code-header-root">
|
|
25
|
-
<span className="aui-code-header-language">{language}</span>
|
|
26
|
-
<TooltipIconButton tooltip={tooltip} onClick={onCopy}>
|
|
27
|
-
{!isCopied && <CopyIcon />}
|
|
28
|
-
{isCopied && <CheckIcon />}
|
|
29
|
-
</TooltipIconButton>
|
|
30
|
-
</div>
|
|
31
|
-
);
|
|
32
|
-
};
|
package/src/ui/markdown-text.tsx
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { FC, memo } from "react";
|
|
2
|
-
import { CodeHeader } from "./code-header";
|
|
3
|
-
import classNames from "classnames";
|
|
4
|
-
import {
|
|
5
|
-
MarkdownTextPrimitive,
|
|
6
|
-
MarkdownTextPrimitiveProps,
|
|
7
|
-
} from "../primitives/MarkdownText";
|
|
8
|
-
import { INTERNAL } from "@assistant-ui/react";
|
|
9
|
-
import { useIsMarkdownCodeBlock } from "../overrides/PreOverride";
|
|
10
|
-
|
|
11
|
-
const { withSmoothContextProvider, useSmoothStatus } = INTERNAL;
|
|
12
|
-
|
|
13
|
-
export type MakeMarkdownTextProps = MarkdownTextPrimitiveProps;
|
|
14
|
-
|
|
15
|
-
const defaultComponents: MakeMarkdownTextProps["components"] = {
|
|
16
|
-
h1: ({ node, className, ...props }) => (
|
|
17
|
-
<h1 className={classNames("aui-md-h1", className)} {...props} />
|
|
18
|
-
),
|
|
19
|
-
h2: ({ node, className, ...props }) => (
|
|
20
|
-
<h2 className={classNames("aui-md-h2", className)} {...props} />
|
|
21
|
-
),
|
|
22
|
-
h3: ({ node, className, ...props }) => (
|
|
23
|
-
<h3 className={classNames("aui-md-h3", className)} {...props} />
|
|
24
|
-
),
|
|
25
|
-
h4: ({ node, className, ...props }) => (
|
|
26
|
-
<h4 className={classNames("aui-md-h4", className)} {...props} />
|
|
27
|
-
),
|
|
28
|
-
h5: ({ node, className, ...props }) => (
|
|
29
|
-
<h5 className={classNames("aui-md-h5", className)} {...props} />
|
|
30
|
-
),
|
|
31
|
-
h6: ({ node, className, ...props }) => (
|
|
32
|
-
<h6 className={classNames("aui-md-h6", className)} {...props} />
|
|
33
|
-
),
|
|
34
|
-
p: ({ node, className, ...props }) => (
|
|
35
|
-
<p className={classNames("aui-md-p", className)} {...props} />
|
|
36
|
-
),
|
|
37
|
-
a: ({ node, className, ...props }) => (
|
|
38
|
-
<a className={classNames("aui-md-a", className)} {...props} />
|
|
39
|
-
),
|
|
40
|
-
blockquote: ({ node, className, ...props }) => (
|
|
41
|
-
<blockquote
|
|
42
|
-
className={classNames("aui-md-blockquote", className)}
|
|
43
|
-
{...props}
|
|
44
|
-
/>
|
|
45
|
-
),
|
|
46
|
-
ul: ({ node, className, ...props }) => (
|
|
47
|
-
<ul className={classNames("aui-md-ul", className)} {...props} />
|
|
48
|
-
),
|
|
49
|
-
ol: ({ node, className, ...props }) => (
|
|
50
|
-
<ol className={classNames("aui-md-ol", className)} {...props} />
|
|
51
|
-
),
|
|
52
|
-
hr: ({ node, className, ...props }) => (
|
|
53
|
-
<hr className={classNames("aui-md-hr", className)} {...props} />
|
|
54
|
-
),
|
|
55
|
-
table: ({ node, className, ...props }) => (
|
|
56
|
-
<table className={classNames("aui-md-table", className)} {...props} />
|
|
57
|
-
),
|
|
58
|
-
th: ({ node, className, ...props }) => (
|
|
59
|
-
<th className={classNames("aui-md-th", className)} {...props} />
|
|
60
|
-
),
|
|
61
|
-
td: ({ node, className, ...props }) => (
|
|
62
|
-
<td className={classNames("aui-md-td", className)} {...props} />
|
|
63
|
-
),
|
|
64
|
-
tr: ({ node, className, ...props }) => (
|
|
65
|
-
<tr className={classNames("aui-md-tr", className)} {...props} />
|
|
66
|
-
),
|
|
67
|
-
sup: ({ node, className, ...props }) => (
|
|
68
|
-
<sup className={classNames("aui-md-sup", className)} {...props} />
|
|
69
|
-
),
|
|
70
|
-
pre: ({ node, className, ...props }) => (
|
|
71
|
-
<pre className={classNames("aui-md-pre", className)} {...props} />
|
|
72
|
-
),
|
|
73
|
-
code: ({ node, className, ...props }) => {
|
|
74
|
-
const isCodeBlock = useIsMarkdownCodeBlock();
|
|
75
|
-
return (
|
|
76
|
-
<code
|
|
77
|
-
className={classNames(!isCodeBlock && "aui-md-inline-code", className)}
|
|
78
|
-
{...props}
|
|
79
|
-
/>
|
|
80
|
-
);
|
|
81
|
-
},
|
|
82
|
-
CodeHeader,
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const makeMarkdownText = ({
|
|
86
|
-
className,
|
|
87
|
-
components: userComponents,
|
|
88
|
-
...rest
|
|
89
|
-
}: MakeMarkdownTextProps = {}) => {
|
|
90
|
-
const components = {
|
|
91
|
-
...defaultComponents,
|
|
92
|
-
...Object.fromEntries(
|
|
93
|
-
// ignore undefined values, so undefined values do not override default components
|
|
94
|
-
Object.entries(userComponents ?? {}).filter(([_, v]) => v !== undefined),
|
|
95
|
-
),
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
const MarkdownTextImpl: FC = () => {
|
|
99
|
-
const status = useSmoothStatus();
|
|
100
|
-
return (
|
|
101
|
-
<MarkdownTextPrimitive
|
|
102
|
-
components={components}
|
|
103
|
-
{...rest}
|
|
104
|
-
className={classNames(
|
|
105
|
-
status.type === "running" && "aui-md-running",
|
|
106
|
-
className,
|
|
107
|
-
)}
|
|
108
|
-
/>
|
|
109
|
-
);
|
|
110
|
-
};
|
|
111
|
-
MarkdownTextImpl.displayName = "MarkdownText";
|
|
112
|
-
|
|
113
|
-
return memo(withSmoothContextProvider(MarkdownTextImpl), () => true);
|
|
114
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
|
|
5
|
-
namespace useCopyToClipboard {
|
|
6
|
-
export interface Options {
|
|
7
|
-
copiedDuration?: number;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const useCopyToClipboard = ({
|
|
12
|
-
copiedDuration = 3000,
|
|
13
|
-
}: useCopyToClipboard.Options = {}) => {
|
|
14
|
-
const [isCopied, setIsCopied] = useState<boolean>(false);
|
|
15
|
-
|
|
16
|
-
const copyToClipboard = (value: string) => {
|
|
17
|
-
if (!value) return;
|
|
18
|
-
|
|
19
|
-
navigator.clipboard.writeText(value).then(() => {
|
|
20
|
-
setIsCopied(true);
|
|
21
|
-
setTimeout(() => setIsCopied(false), copiedDuration);
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
return { isCopied, copyToClipboard };
|
|
26
|
-
};
|
package/tailwindcss/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
This directory exists to support subpath imports for TypeScript projects using --moduleResolution node.
|