@almadar/ui 5.21.3 → 5.21.4
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/avl/index.cjs +157 -139
- package/dist/avl/index.js +153 -135
- package/dist/components/index.cjs +157 -139
- package/dist/components/index.js +153 -135
- package/dist/providers/index.cjs +157 -139
- package/dist/providers/index.js +153 -135
- package/dist/runtime/index.cjs +157 -139
- package/dist/runtime/index.js +153 -135
- package/package.json +1 -1
package/dist/runtime/index.cjs
CHANGED
|
@@ -15,10 +15,6 @@ var evaluator = require('@almadar/evaluator');
|
|
|
15
15
|
var context = require('@almadar/ui/context');
|
|
16
16
|
var reactRouterDom = require('react-router-dom');
|
|
17
17
|
var ELK = require('elkjs/lib/elk.bundled.js');
|
|
18
|
-
var ReactMarkdown = require('react-markdown');
|
|
19
|
-
var remarkGfm = require('remark-gfm');
|
|
20
|
-
var remarkMath = require('remark-math');
|
|
21
|
-
var rehypeKatex = require('rehype-katex');
|
|
22
18
|
var SyntaxHighlighter = require('react-syntax-highlighter/dist/esm/prism-light.js');
|
|
23
19
|
var dark = require('react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus.js');
|
|
24
20
|
var syntax = require('@almadar/syntax');
|
|
@@ -38,6 +34,10 @@ var langDiff = require('react-syntax-highlighter/dist/esm/languages/prism/diff.j
|
|
|
38
34
|
var langToml = require('react-syntax-highlighter/dist/esm/languages/prism/toml.js');
|
|
39
35
|
var langGo = require('react-syntax-highlighter/dist/esm/languages/prism/go.js');
|
|
40
36
|
var langGraphql = require('react-syntax-highlighter/dist/esm/languages/prism/graphql.js');
|
|
37
|
+
var ReactMarkdown = require('react-markdown');
|
|
38
|
+
var remarkGfm = require('remark-gfm');
|
|
39
|
+
var remarkMath = require('remark-math');
|
|
40
|
+
var rehypeKatex = require('rehype-katex');
|
|
41
41
|
var core = require('@almadar/core');
|
|
42
42
|
var core$1 = require('@dnd-kit/core');
|
|
43
43
|
var sortable = require('@dnd-kit/sortable');
|
|
@@ -73,10 +73,6 @@ var PhosphorIcons__namespace = /*#__PURE__*/_interopNamespace(PhosphorIcons);
|
|
|
73
73
|
var TablerIcons__namespace = /*#__PURE__*/_interopNamespace(TablerIcons);
|
|
74
74
|
var FaIcons__namespace = /*#__PURE__*/_interopNamespace(FaIcons);
|
|
75
75
|
var ELK__default = /*#__PURE__*/_interopDefault(ELK);
|
|
76
|
-
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
77
|
-
var remarkGfm__default = /*#__PURE__*/_interopDefault(remarkGfm);
|
|
78
|
-
var remarkMath__default = /*#__PURE__*/_interopDefault(remarkMath);
|
|
79
|
-
var rehypeKatex__default = /*#__PURE__*/_interopDefault(rehypeKatex);
|
|
80
76
|
var SyntaxHighlighter__default = /*#__PURE__*/_interopDefault(SyntaxHighlighter);
|
|
81
77
|
var dark__default = /*#__PURE__*/_interopDefault(dark);
|
|
82
78
|
var langJson__default = /*#__PURE__*/_interopDefault(langJson);
|
|
@@ -95,6 +91,10 @@ var langDiff__default = /*#__PURE__*/_interopDefault(langDiff);
|
|
|
95
91
|
var langToml__default = /*#__PURE__*/_interopDefault(langToml);
|
|
96
92
|
var langGo__default = /*#__PURE__*/_interopDefault(langGo);
|
|
97
93
|
var langGraphql__default = /*#__PURE__*/_interopDefault(langGraphql);
|
|
94
|
+
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
95
|
+
var remarkGfm__default = /*#__PURE__*/_interopDefault(remarkGfm);
|
|
96
|
+
var remarkMath__default = /*#__PURE__*/_interopDefault(remarkMath);
|
|
97
|
+
var rehypeKatex__default = /*#__PURE__*/_interopDefault(rehypeKatex);
|
|
98
98
|
|
|
99
99
|
var __defProp = Object.defineProperty;
|
|
100
100
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -13722,137 +13722,6 @@ var init_katex_min = __esm({
|
|
|
13722
13722
|
"node_modules/katex/dist/katex.min.css"() {
|
|
13723
13723
|
}
|
|
13724
13724
|
});
|
|
13725
|
-
var MarkdownContent;
|
|
13726
|
-
var init_MarkdownContent = __esm({
|
|
13727
|
-
"components/core/molecules/markdown/MarkdownContent.tsx"() {
|
|
13728
|
-
init_katex_min();
|
|
13729
|
-
init_Box();
|
|
13730
|
-
init_useTranslate();
|
|
13731
|
-
init_cn();
|
|
13732
|
-
MarkdownContent = React84__namespace.default.memo(
|
|
13733
|
-
({ content, direction, className }) => {
|
|
13734
|
-
const { t: _t } = useTranslate();
|
|
13735
|
-
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
13736
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13737
|
-
Box,
|
|
13738
|
-
{
|
|
13739
|
-
className: cn("prose max-w-none", className),
|
|
13740
|
-
style: {
|
|
13741
|
-
color: "var(--color-foreground)",
|
|
13742
|
-
"--tw-prose-body": "var(--color-foreground)",
|
|
13743
|
-
"--tw-prose-headings": "var(--color-foreground)",
|
|
13744
|
-
"--tw-prose-lead": "var(--color-muted-foreground)",
|
|
13745
|
-
"--tw-prose-links": "var(--color-primary)",
|
|
13746
|
-
"--tw-prose-bold": "var(--color-foreground)",
|
|
13747
|
-
"--tw-prose-counters": "var(--color-muted-foreground)",
|
|
13748
|
-
"--tw-prose-bullets": "var(--color-muted-foreground)",
|
|
13749
|
-
"--tw-prose-hr": "var(--color-border)",
|
|
13750
|
-
"--tw-prose-quotes": "var(--color-foreground)",
|
|
13751
|
-
"--tw-prose-quote-borders": "var(--color-primary)",
|
|
13752
|
-
"--tw-prose-captions": "var(--color-muted-foreground)",
|
|
13753
|
-
"--tw-prose-code": "var(--color-foreground)",
|
|
13754
|
-
"--tw-prose-pre-code": "var(--color-foreground)",
|
|
13755
|
-
"--tw-prose-pre-bg": "var(--color-muted)",
|
|
13756
|
-
"--tw-prose-th-borders": "var(--color-border)",
|
|
13757
|
-
"--tw-prose-td-borders": "var(--color-border)",
|
|
13758
|
-
direction
|
|
13759
|
-
},
|
|
13760
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13761
|
-
ReactMarkdown__default.default,
|
|
13762
|
-
{
|
|
13763
|
-
remarkPlugins: [remarkMath__default.default, remarkGfm__default.default],
|
|
13764
|
-
rehypePlugins: [
|
|
13765
|
-
[rehypeKatex__default.default, { strict: false, throwOnError: false }]
|
|
13766
|
-
],
|
|
13767
|
-
components: {
|
|
13768
|
-
// Handle inline code only — fenced code blocks are parsed out separately
|
|
13769
|
-
code({ className: codeClassName, children, ...props }) {
|
|
13770
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13771
|
-
"code",
|
|
13772
|
-
{
|
|
13773
|
-
...props,
|
|
13774
|
-
className: codeClassName,
|
|
13775
|
-
style: {
|
|
13776
|
-
backgroundColor: "var(--color-muted)",
|
|
13777
|
-
color: "var(--color-foreground)",
|
|
13778
|
-
border: "1px solid var(--color-border)",
|
|
13779
|
-
padding: "0.125rem 0.375rem",
|
|
13780
|
-
borderRadius: "0.25rem",
|
|
13781
|
-
fontSize: "0.875em",
|
|
13782
|
-
fontFamily: "ui-monospace, monospace"
|
|
13783
|
-
},
|
|
13784
|
-
children
|
|
13785
|
-
}
|
|
13786
|
-
);
|
|
13787
|
-
},
|
|
13788
|
-
// Style links
|
|
13789
|
-
a({ href, children, ...props }) {
|
|
13790
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13791
|
-
"a",
|
|
13792
|
-
{
|
|
13793
|
-
href,
|
|
13794
|
-
...props,
|
|
13795
|
-
className: "text-[var(--color-primary)] hover:underline",
|
|
13796
|
-
target: href?.startsWith("http") ? "_blank" : void 0,
|
|
13797
|
-
rel: href?.startsWith("http") ? "noopener noreferrer" : void 0,
|
|
13798
|
-
children
|
|
13799
|
-
}
|
|
13800
|
-
);
|
|
13801
|
-
},
|
|
13802
|
-
// Style tables
|
|
13803
|
-
table({ children, ...props }) {
|
|
13804
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13805
|
-
"table",
|
|
13806
|
-
{
|
|
13807
|
-
...props,
|
|
13808
|
-
className: "min-w-full border-collapse border border-[var(--color-border)]",
|
|
13809
|
-
children
|
|
13810
|
-
}
|
|
13811
|
-
) });
|
|
13812
|
-
},
|
|
13813
|
-
th({ children, ...props }) {
|
|
13814
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13815
|
-
"th",
|
|
13816
|
-
{
|
|
13817
|
-
...props,
|
|
13818
|
-
className: "border border-[var(--color-border)] bg-[var(--color-muted)] px-4 py-2 text-left font-semibold",
|
|
13819
|
-
children
|
|
13820
|
-
}
|
|
13821
|
-
);
|
|
13822
|
-
},
|
|
13823
|
-
td({ children, ...props }) {
|
|
13824
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13825
|
-
"td",
|
|
13826
|
-
{
|
|
13827
|
-
...props,
|
|
13828
|
-
className: "border border-[var(--color-border)] px-4 py-2",
|
|
13829
|
-
children
|
|
13830
|
-
}
|
|
13831
|
-
);
|
|
13832
|
-
},
|
|
13833
|
-
// Style blockquotes
|
|
13834
|
-
blockquote({ children, ...props }) {
|
|
13835
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13836
|
-
"blockquote",
|
|
13837
|
-
{
|
|
13838
|
-
...props,
|
|
13839
|
-
className: "border-l-4 border-[var(--color-primary)] pl-4 italic text-[var(--color-foreground)] my-4",
|
|
13840
|
-
children
|
|
13841
|
-
}
|
|
13842
|
-
);
|
|
13843
|
-
}
|
|
13844
|
-
},
|
|
13845
|
-
children: safeContent
|
|
13846
|
-
}
|
|
13847
|
-
)
|
|
13848
|
-
}
|
|
13849
|
-
);
|
|
13850
|
-
},
|
|
13851
|
-
(prev, next) => prev.content === next.content && prev.className === next.className && prev.direction === next.direction
|
|
13852
|
-
);
|
|
13853
|
-
MarkdownContent.displayName = "MarkdownContent";
|
|
13854
|
-
}
|
|
13855
|
-
});
|
|
13856
13725
|
function computeFoldRegions(code) {
|
|
13857
13726
|
const lines = code.split("\n");
|
|
13858
13727
|
const regions = [];
|
|
@@ -14398,6 +14267,155 @@ var init_CodeBlock = __esm({
|
|
|
14398
14267
|
CodeBlock.displayName = "CodeBlock";
|
|
14399
14268
|
}
|
|
14400
14269
|
});
|
|
14270
|
+
var MarkdownContent;
|
|
14271
|
+
var init_MarkdownContent = __esm({
|
|
14272
|
+
"components/core/molecules/markdown/MarkdownContent.tsx"() {
|
|
14273
|
+
init_katex_min();
|
|
14274
|
+
init_Box();
|
|
14275
|
+
init_CodeBlock();
|
|
14276
|
+
init_useTranslate();
|
|
14277
|
+
init_cn();
|
|
14278
|
+
MarkdownContent = React84__namespace.default.memo(
|
|
14279
|
+
({ content, direction, className }) => {
|
|
14280
|
+
const { t: _t } = useTranslate();
|
|
14281
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
14282
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14283
|
+
Box,
|
|
14284
|
+
{
|
|
14285
|
+
className: cn("prose max-w-none", className),
|
|
14286
|
+
style: {
|
|
14287
|
+
color: "var(--color-foreground)",
|
|
14288
|
+
"--tw-prose-body": "var(--color-foreground)",
|
|
14289
|
+
"--tw-prose-headings": "var(--color-foreground)",
|
|
14290
|
+
"--tw-prose-lead": "var(--color-muted-foreground)",
|
|
14291
|
+
"--tw-prose-links": "var(--color-primary)",
|
|
14292
|
+
"--tw-prose-bold": "var(--color-foreground)",
|
|
14293
|
+
"--tw-prose-counters": "var(--color-muted-foreground)",
|
|
14294
|
+
"--tw-prose-bullets": "var(--color-muted-foreground)",
|
|
14295
|
+
"--tw-prose-hr": "var(--color-border)",
|
|
14296
|
+
"--tw-prose-quotes": "var(--color-foreground)",
|
|
14297
|
+
"--tw-prose-quote-borders": "var(--color-primary)",
|
|
14298
|
+
"--tw-prose-captions": "var(--color-muted-foreground)",
|
|
14299
|
+
"--tw-prose-code": "var(--color-foreground)",
|
|
14300
|
+
"--tw-prose-pre-code": "var(--color-foreground)",
|
|
14301
|
+
"--tw-prose-pre-bg": "var(--color-muted)",
|
|
14302
|
+
"--tw-prose-th-borders": "var(--color-border)",
|
|
14303
|
+
"--tw-prose-td-borders": "var(--color-border)",
|
|
14304
|
+
direction
|
|
14305
|
+
},
|
|
14306
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14307
|
+
ReactMarkdown__default.default,
|
|
14308
|
+
{
|
|
14309
|
+
remarkPlugins: [remarkMath__default.default, remarkGfm__default.default],
|
|
14310
|
+
rehypePlugins: [
|
|
14311
|
+
[rehypeKatex__default.default, { strict: false, throwOnError: false }]
|
|
14312
|
+
],
|
|
14313
|
+
components: {
|
|
14314
|
+
code({
|
|
14315
|
+
className: codeClassName,
|
|
14316
|
+
children,
|
|
14317
|
+
inline,
|
|
14318
|
+
...props
|
|
14319
|
+
}) {
|
|
14320
|
+
if (!inline) {
|
|
14321
|
+
const match = /language-(\w+)/.exec(codeClassName ?? "");
|
|
14322
|
+
const language = match ? match[1] : "text";
|
|
14323
|
+
const code = String(children).replace(/\n$/, "");
|
|
14324
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14325
|
+
CodeBlock,
|
|
14326
|
+
{
|
|
14327
|
+
code,
|
|
14328
|
+
language,
|
|
14329
|
+
maxHeight: "60vh"
|
|
14330
|
+
}
|
|
14331
|
+
);
|
|
14332
|
+
}
|
|
14333
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14334
|
+
"code",
|
|
14335
|
+
{
|
|
14336
|
+
...props,
|
|
14337
|
+
className: codeClassName,
|
|
14338
|
+
style: {
|
|
14339
|
+
backgroundColor: "var(--color-muted)",
|
|
14340
|
+
color: "var(--color-foreground)",
|
|
14341
|
+
border: "1px solid var(--color-border)",
|
|
14342
|
+
padding: "0.125rem 0.375rem",
|
|
14343
|
+
borderRadius: "0.25rem",
|
|
14344
|
+
fontSize: "0.875em",
|
|
14345
|
+
fontFamily: "ui-monospace, monospace"
|
|
14346
|
+
},
|
|
14347
|
+
children
|
|
14348
|
+
}
|
|
14349
|
+
);
|
|
14350
|
+
},
|
|
14351
|
+
// Style links
|
|
14352
|
+
a({ href, children, ...props }) {
|
|
14353
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14354
|
+
"a",
|
|
14355
|
+
{
|
|
14356
|
+
href,
|
|
14357
|
+
...props,
|
|
14358
|
+
className: "text-[var(--color-primary)] hover:underline",
|
|
14359
|
+
target: href?.startsWith("http") ? "_blank" : void 0,
|
|
14360
|
+
rel: href?.startsWith("http") ? "noopener noreferrer" : void 0,
|
|
14361
|
+
children
|
|
14362
|
+
}
|
|
14363
|
+
);
|
|
14364
|
+
},
|
|
14365
|
+
// Style tables
|
|
14366
|
+
table({ children, ...props }) {
|
|
14367
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14368
|
+
"table",
|
|
14369
|
+
{
|
|
14370
|
+
...props,
|
|
14371
|
+
className: "min-w-full border-collapse border border-[var(--color-border)]",
|
|
14372
|
+
children
|
|
14373
|
+
}
|
|
14374
|
+
) });
|
|
14375
|
+
},
|
|
14376
|
+
th({ children, ...props }) {
|
|
14377
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14378
|
+
"th",
|
|
14379
|
+
{
|
|
14380
|
+
...props,
|
|
14381
|
+
className: "border border-[var(--color-border)] bg-[var(--color-muted)] px-4 py-2 text-left font-semibold",
|
|
14382
|
+
children
|
|
14383
|
+
}
|
|
14384
|
+
);
|
|
14385
|
+
},
|
|
14386
|
+
td({ children, ...props }) {
|
|
14387
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14388
|
+
"td",
|
|
14389
|
+
{
|
|
14390
|
+
...props,
|
|
14391
|
+
className: "border border-[var(--color-border)] px-4 py-2",
|
|
14392
|
+
children
|
|
14393
|
+
}
|
|
14394
|
+
);
|
|
14395
|
+
},
|
|
14396
|
+
// Style blockquotes
|
|
14397
|
+
blockquote({ children, ...props }) {
|
|
14398
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14399
|
+
"blockquote",
|
|
14400
|
+
{
|
|
14401
|
+
...props,
|
|
14402
|
+
className: "border-l-4 border-[var(--color-primary)] pl-4 italic text-[var(--color-foreground)] my-4",
|
|
14403
|
+
children
|
|
14404
|
+
}
|
|
14405
|
+
);
|
|
14406
|
+
}
|
|
14407
|
+
},
|
|
14408
|
+
children: safeContent
|
|
14409
|
+
}
|
|
14410
|
+
)
|
|
14411
|
+
}
|
|
14412
|
+
);
|
|
14413
|
+
},
|
|
14414
|
+
(prev, next) => prev.content === next.content && prev.className === next.className && prev.direction === next.direction
|
|
14415
|
+
);
|
|
14416
|
+
MarkdownContent.displayName = "MarkdownContent";
|
|
14417
|
+
}
|
|
14418
|
+
});
|
|
14401
14419
|
function Card2({
|
|
14402
14420
|
title,
|
|
14403
14421
|
subtitle,
|
package/dist/runtime/index.js
CHANGED
|
@@ -15,10 +15,6 @@ import { evaluate, createMinimalContext } from '@almadar/evaluator';
|
|
|
15
15
|
import { useUISlots, UISlotProvider } from '@almadar/ui/context';
|
|
16
16
|
import { Link, Outlet, useLocation } from 'react-router-dom';
|
|
17
17
|
import ELK from 'elkjs/lib/elk.bundled.js';
|
|
18
|
-
import ReactMarkdown from 'react-markdown';
|
|
19
|
-
import remarkGfm from 'remark-gfm';
|
|
20
|
-
import remarkMath from 'remark-math';
|
|
21
|
-
import rehypeKatex from 'rehype-katex';
|
|
22
18
|
import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism-light.js';
|
|
23
19
|
import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus.js';
|
|
24
20
|
import { orbLanguage, loloLanguage, ORB_COLORS } from '@almadar/syntax';
|
|
@@ -38,6 +34,10 @@ import langDiff from 'react-syntax-highlighter/dist/esm/languages/prism/diff.js'
|
|
|
38
34
|
import langToml from 'react-syntax-highlighter/dist/esm/languages/prism/toml.js';
|
|
39
35
|
import langGo from 'react-syntax-highlighter/dist/esm/languages/prism/go.js';
|
|
40
36
|
import langGraphql from 'react-syntax-highlighter/dist/esm/languages/prism/graphql.js';
|
|
37
|
+
import ReactMarkdown from 'react-markdown';
|
|
38
|
+
import remarkGfm from 'remark-gfm';
|
|
39
|
+
import remarkMath from 'remark-math';
|
|
40
|
+
import rehypeKatex from 'rehype-katex';
|
|
41
41
|
import { isCircuitEvent, schemaToIR, getPage, clearSchemaCache as clearSchemaCache$1, isEntityCall, isInlineTrait } from '@almadar/core';
|
|
42
42
|
import { DndContext, pointerWithin, rectIntersection, closestCorners, useSensors, useSensor, PointerSensor, KeyboardSensor, useDroppable } from '@dnd-kit/core';
|
|
43
43
|
import { useSortable, arrayMove, sortableKeyboardCoordinates, SortableContext, rectSortingStrategy, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
@@ -13673,137 +13673,6 @@ var init_katex_min = __esm({
|
|
|
13673
13673
|
"node_modules/katex/dist/katex.min.css"() {
|
|
13674
13674
|
}
|
|
13675
13675
|
});
|
|
13676
|
-
var MarkdownContent;
|
|
13677
|
-
var init_MarkdownContent = __esm({
|
|
13678
|
-
"components/core/molecules/markdown/MarkdownContent.tsx"() {
|
|
13679
|
-
init_katex_min();
|
|
13680
|
-
init_Box();
|
|
13681
|
-
init_useTranslate();
|
|
13682
|
-
init_cn();
|
|
13683
|
-
MarkdownContent = React84__default.memo(
|
|
13684
|
-
({ content, direction, className }) => {
|
|
13685
|
-
const { t: _t } = useTranslate();
|
|
13686
|
-
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
13687
|
-
return /* @__PURE__ */ jsx(
|
|
13688
|
-
Box,
|
|
13689
|
-
{
|
|
13690
|
-
className: cn("prose max-w-none", className),
|
|
13691
|
-
style: {
|
|
13692
|
-
color: "var(--color-foreground)",
|
|
13693
|
-
"--tw-prose-body": "var(--color-foreground)",
|
|
13694
|
-
"--tw-prose-headings": "var(--color-foreground)",
|
|
13695
|
-
"--tw-prose-lead": "var(--color-muted-foreground)",
|
|
13696
|
-
"--tw-prose-links": "var(--color-primary)",
|
|
13697
|
-
"--tw-prose-bold": "var(--color-foreground)",
|
|
13698
|
-
"--tw-prose-counters": "var(--color-muted-foreground)",
|
|
13699
|
-
"--tw-prose-bullets": "var(--color-muted-foreground)",
|
|
13700
|
-
"--tw-prose-hr": "var(--color-border)",
|
|
13701
|
-
"--tw-prose-quotes": "var(--color-foreground)",
|
|
13702
|
-
"--tw-prose-quote-borders": "var(--color-primary)",
|
|
13703
|
-
"--tw-prose-captions": "var(--color-muted-foreground)",
|
|
13704
|
-
"--tw-prose-code": "var(--color-foreground)",
|
|
13705
|
-
"--tw-prose-pre-code": "var(--color-foreground)",
|
|
13706
|
-
"--tw-prose-pre-bg": "var(--color-muted)",
|
|
13707
|
-
"--tw-prose-th-borders": "var(--color-border)",
|
|
13708
|
-
"--tw-prose-td-borders": "var(--color-border)",
|
|
13709
|
-
direction
|
|
13710
|
-
},
|
|
13711
|
-
children: /* @__PURE__ */ jsx(
|
|
13712
|
-
ReactMarkdown,
|
|
13713
|
-
{
|
|
13714
|
-
remarkPlugins: [remarkMath, remarkGfm],
|
|
13715
|
-
rehypePlugins: [
|
|
13716
|
-
[rehypeKatex, { strict: false, throwOnError: false }]
|
|
13717
|
-
],
|
|
13718
|
-
components: {
|
|
13719
|
-
// Handle inline code only — fenced code blocks are parsed out separately
|
|
13720
|
-
code({ className: codeClassName, children, ...props }) {
|
|
13721
|
-
return /* @__PURE__ */ jsx(
|
|
13722
|
-
"code",
|
|
13723
|
-
{
|
|
13724
|
-
...props,
|
|
13725
|
-
className: codeClassName,
|
|
13726
|
-
style: {
|
|
13727
|
-
backgroundColor: "var(--color-muted)",
|
|
13728
|
-
color: "var(--color-foreground)",
|
|
13729
|
-
border: "1px solid var(--color-border)",
|
|
13730
|
-
padding: "0.125rem 0.375rem",
|
|
13731
|
-
borderRadius: "0.25rem",
|
|
13732
|
-
fontSize: "0.875em",
|
|
13733
|
-
fontFamily: "ui-monospace, monospace"
|
|
13734
|
-
},
|
|
13735
|
-
children
|
|
13736
|
-
}
|
|
13737
|
-
);
|
|
13738
|
-
},
|
|
13739
|
-
// Style links
|
|
13740
|
-
a({ href, children, ...props }) {
|
|
13741
|
-
return /* @__PURE__ */ jsx(
|
|
13742
|
-
"a",
|
|
13743
|
-
{
|
|
13744
|
-
href,
|
|
13745
|
-
...props,
|
|
13746
|
-
className: "text-[var(--color-primary)] hover:underline",
|
|
13747
|
-
target: href?.startsWith("http") ? "_blank" : void 0,
|
|
13748
|
-
rel: href?.startsWith("http") ? "noopener noreferrer" : void 0,
|
|
13749
|
-
children
|
|
13750
|
-
}
|
|
13751
|
-
);
|
|
13752
|
-
},
|
|
13753
|
-
// Style tables
|
|
13754
|
-
table({ children, ...props }) {
|
|
13755
|
-
return /* @__PURE__ */ jsx("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ jsx(
|
|
13756
|
-
"table",
|
|
13757
|
-
{
|
|
13758
|
-
...props,
|
|
13759
|
-
className: "min-w-full border-collapse border border-[var(--color-border)]",
|
|
13760
|
-
children
|
|
13761
|
-
}
|
|
13762
|
-
) });
|
|
13763
|
-
},
|
|
13764
|
-
th({ children, ...props }) {
|
|
13765
|
-
return /* @__PURE__ */ jsx(
|
|
13766
|
-
"th",
|
|
13767
|
-
{
|
|
13768
|
-
...props,
|
|
13769
|
-
className: "border border-[var(--color-border)] bg-[var(--color-muted)] px-4 py-2 text-left font-semibold",
|
|
13770
|
-
children
|
|
13771
|
-
}
|
|
13772
|
-
);
|
|
13773
|
-
},
|
|
13774
|
-
td({ children, ...props }) {
|
|
13775
|
-
return /* @__PURE__ */ jsx(
|
|
13776
|
-
"td",
|
|
13777
|
-
{
|
|
13778
|
-
...props,
|
|
13779
|
-
className: "border border-[var(--color-border)] px-4 py-2",
|
|
13780
|
-
children
|
|
13781
|
-
}
|
|
13782
|
-
);
|
|
13783
|
-
},
|
|
13784
|
-
// Style blockquotes
|
|
13785
|
-
blockquote({ children, ...props }) {
|
|
13786
|
-
return /* @__PURE__ */ jsx(
|
|
13787
|
-
"blockquote",
|
|
13788
|
-
{
|
|
13789
|
-
...props,
|
|
13790
|
-
className: "border-l-4 border-[var(--color-primary)] pl-4 italic text-[var(--color-foreground)] my-4",
|
|
13791
|
-
children
|
|
13792
|
-
}
|
|
13793
|
-
);
|
|
13794
|
-
}
|
|
13795
|
-
},
|
|
13796
|
-
children: safeContent
|
|
13797
|
-
}
|
|
13798
|
-
)
|
|
13799
|
-
}
|
|
13800
|
-
);
|
|
13801
|
-
},
|
|
13802
|
-
(prev, next) => prev.content === next.content && prev.className === next.className && prev.direction === next.direction
|
|
13803
|
-
);
|
|
13804
|
-
MarkdownContent.displayName = "MarkdownContent";
|
|
13805
|
-
}
|
|
13806
|
-
});
|
|
13807
13676
|
function computeFoldRegions(code) {
|
|
13808
13677
|
const lines = code.split("\n");
|
|
13809
13678
|
const regions = [];
|
|
@@ -14349,6 +14218,155 @@ var init_CodeBlock = __esm({
|
|
|
14349
14218
|
CodeBlock.displayName = "CodeBlock";
|
|
14350
14219
|
}
|
|
14351
14220
|
});
|
|
14221
|
+
var MarkdownContent;
|
|
14222
|
+
var init_MarkdownContent = __esm({
|
|
14223
|
+
"components/core/molecules/markdown/MarkdownContent.tsx"() {
|
|
14224
|
+
init_katex_min();
|
|
14225
|
+
init_Box();
|
|
14226
|
+
init_CodeBlock();
|
|
14227
|
+
init_useTranslate();
|
|
14228
|
+
init_cn();
|
|
14229
|
+
MarkdownContent = React84__default.memo(
|
|
14230
|
+
({ content, direction, className }) => {
|
|
14231
|
+
const { t: _t } = useTranslate();
|
|
14232
|
+
const safeContent = typeof content === "string" ? content : String(content ?? "");
|
|
14233
|
+
return /* @__PURE__ */ jsx(
|
|
14234
|
+
Box,
|
|
14235
|
+
{
|
|
14236
|
+
className: cn("prose max-w-none", className),
|
|
14237
|
+
style: {
|
|
14238
|
+
color: "var(--color-foreground)",
|
|
14239
|
+
"--tw-prose-body": "var(--color-foreground)",
|
|
14240
|
+
"--tw-prose-headings": "var(--color-foreground)",
|
|
14241
|
+
"--tw-prose-lead": "var(--color-muted-foreground)",
|
|
14242
|
+
"--tw-prose-links": "var(--color-primary)",
|
|
14243
|
+
"--tw-prose-bold": "var(--color-foreground)",
|
|
14244
|
+
"--tw-prose-counters": "var(--color-muted-foreground)",
|
|
14245
|
+
"--tw-prose-bullets": "var(--color-muted-foreground)",
|
|
14246
|
+
"--tw-prose-hr": "var(--color-border)",
|
|
14247
|
+
"--tw-prose-quotes": "var(--color-foreground)",
|
|
14248
|
+
"--tw-prose-quote-borders": "var(--color-primary)",
|
|
14249
|
+
"--tw-prose-captions": "var(--color-muted-foreground)",
|
|
14250
|
+
"--tw-prose-code": "var(--color-foreground)",
|
|
14251
|
+
"--tw-prose-pre-code": "var(--color-foreground)",
|
|
14252
|
+
"--tw-prose-pre-bg": "var(--color-muted)",
|
|
14253
|
+
"--tw-prose-th-borders": "var(--color-border)",
|
|
14254
|
+
"--tw-prose-td-borders": "var(--color-border)",
|
|
14255
|
+
direction
|
|
14256
|
+
},
|
|
14257
|
+
children: /* @__PURE__ */ jsx(
|
|
14258
|
+
ReactMarkdown,
|
|
14259
|
+
{
|
|
14260
|
+
remarkPlugins: [remarkMath, remarkGfm],
|
|
14261
|
+
rehypePlugins: [
|
|
14262
|
+
[rehypeKatex, { strict: false, throwOnError: false }]
|
|
14263
|
+
],
|
|
14264
|
+
components: {
|
|
14265
|
+
code({
|
|
14266
|
+
className: codeClassName,
|
|
14267
|
+
children,
|
|
14268
|
+
inline,
|
|
14269
|
+
...props
|
|
14270
|
+
}) {
|
|
14271
|
+
if (!inline) {
|
|
14272
|
+
const match = /language-(\w+)/.exec(codeClassName ?? "");
|
|
14273
|
+
const language = match ? match[1] : "text";
|
|
14274
|
+
const code = String(children).replace(/\n$/, "");
|
|
14275
|
+
return /* @__PURE__ */ jsx(
|
|
14276
|
+
CodeBlock,
|
|
14277
|
+
{
|
|
14278
|
+
code,
|
|
14279
|
+
language,
|
|
14280
|
+
maxHeight: "60vh"
|
|
14281
|
+
}
|
|
14282
|
+
);
|
|
14283
|
+
}
|
|
14284
|
+
return /* @__PURE__ */ jsx(
|
|
14285
|
+
"code",
|
|
14286
|
+
{
|
|
14287
|
+
...props,
|
|
14288
|
+
className: codeClassName,
|
|
14289
|
+
style: {
|
|
14290
|
+
backgroundColor: "var(--color-muted)",
|
|
14291
|
+
color: "var(--color-foreground)",
|
|
14292
|
+
border: "1px solid var(--color-border)",
|
|
14293
|
+
padding: "0.125rem 0.375rem",
|
|
14294
|
+
borderRadius: "0.25rem",
|
|
14295
|
+
fontSize: "0.875em",
|
|
14296
|
+
fontFamily: "ui-monospace, monospace"
|
|
14297
|
+
},
|
|
14298
|
+
children
|
|
14299
|
+
}
|
|
14300
|
+
);
|
|
14301
|
+
},
|
|
14302
|
+
// Style links
|
|
14303
|
+
a({ href, children, ...props }) {
|
|
14304
|
+
return /* @__PURE__ */ jsx(
|
|
14305
|
+
"a",
|
|
14306
|
+
{
|
|
14307
|
+
href,
|
|
14308
|
+
...props,
|
|
14309
|
+
className: "text-[var(--color-primary)] hover:underline",
|
|
14310
|
+
target: href?.startsWith("http") ? "_blank" : void 0,
|
|
14311
|
+
rel: href?.startsWith("http") ? "noopener noreferrer" : void 0,
|
|
14312
|
+
children
|
|
14313
|
+
}
|
|
14314
|
+
);
|
|
14315
|
+
},
|
|
14316
|
+
// Style tables
|
|
14317
|
+
table({ children, ...props }) {
|
|
14318
|
+
return /* @__PURE__ */ jsx("div", { className: "overflow-x-auto my-4", children: /* @__PURE__ */ jsx(
|
|
14319
|
+
"table",
|
|
14320
|
+
{
|
|
14321
|
+
...props,
|
|
14322
|
+
className: "min-w-full border-collapse border border-[var(--color-border)]",
|
|
14323
|
+
children
|
|
14324
|
+
}
|
|
14325
|
+
) });
|
|
14326
|
+
},
|
|
14327
|
+
th({ children, ...props }) {
|
|
14328
|
+
return /* @__PURE__ */ jsx(
|
|
14329
|
+
"th",
|
|
14330
|
+
{
|
|
14331
|
+
...props,
|
|
14332
|
+
className: "border border-[var(--color-border)] bg-[var(--color-muted)] px-4 py-2 text-left font-semibold",
|
|
14333
|
+
children
|
|
14334
|
+
}
|
|
14335
|
+
);
|
|
14336
|
+
},
|
|
14337
|
+
td({ children, ...props }) {
|
|
14338
|
+
return /* @__PURE__ */ jsx(
|
|
14339
|
+
"td",
|
|
14340
|
+
{
|
|
14341
|
+
...props,
|
|
14342
|
+
className: "border border-[var(--color-border)] px-4 py-2",
|
|
14343
|
+
children
|
|
14344
|
+
}
|
|
14345
|
+
);
|
|
14346
|
+
},
|
|
14347
|
+
// Style blockquotes
|
|
14348
|
+
blockquote({ children, ...props }) {
|
|
14349
|
+
return /* @__PURE__ */ jsx(
|
|
14350
|
+
"blockquote",
|
|
14351
|
+
{
|
|
14352
|
+
...props,
|
|
14353
|
+
className: "border-l-4 border-[var(--color-primary)] pl-4 italic text-[var(--color-foreground)] my-4",
|
|
14354
|
+
children
|
|
14355
|
+
}
|
|
14356
|
+
);
|
|
14357
|
+
}
|
|
14358
|
+
},
|
|
14359
|
+
children: safeContent
|
|
14360
|
+
}
|
|
14361
|
+
)
|
|
14362
|
+
}
|
|
14363
|
+
);
|
|
14364
|
+
},
|
|
14365
|
+
(prev, next) => prev.content === next.content && prev.className === next.className && prev.direction === next.direction
|
|
14366
|
+
);
|
|
14367
|
+
MarkdownContent.displayName = "MarkdownContent";
|
|
14368
|
+
}
|
|
14369
|
+
});
|
|
14352
14370
|
function Card2({
|
|
14353
14371
|
title,
|
|
14354
14372
|
subtitle,
|