@almadar/ui 5.122.11 → 5.122.13
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 +206 -10
- package/dist/avl/index.js +177 -10
- package/dist/components/index.cjs +212 -12
- package/dist/components/index.d.cts +17 -8
- package/dist/components/index.d.ts +17 -8
- package/dist/components/index.js +183 -13
- package/dist/providers/index.cjs +206 -10
- package/dist/providers/index.js +177 -10
- package/dist/runtime/index.cjs +206 -10
- package/dist/runtime/index.js +177 -10
- package/package.json +1 -1
package/dist/avl/index.cjs
CHANGED
|
@@ -32,6 +32,35 @@ var langDiff = require('react-syntax-highlighter/dist/esm/languages/prism/diff.j
|
|
|
32
32
|
var langToml = require('react-syntax-highlighter/dist/esm/languages/prism/toml.js');
|
|
33
33
|
var langGo = require('react-syntax-highlighter/dist/esm/languages/prism/go.js');
|
|
34
34
|
var langGraphql = require('react-syntax-highlighter/dist/esm/languages/prism/graphql.js');
|
|
35
|
+
var langClojure = require('react-syntax-highlighter/dist/esm/languages/prism/clojure.js');
|
|
36
|
+
var langHaskell = require('react-syntax-highlighter/dist/esm/languages/prism/haskell.js');
|
|
37
|
+
var langLisp = require('react-syntax-highlighter/dist/esm/languages/prism/lisp.js');
|
|
38
|
+
var langScheme = require('react-syntax-highlighter/dist/esm/languages/prism/scheme.js');
|
|
39
|
+
var langScala = require('react-syntax-highlighter/dist/esm/languages/prism/scala.js');
|
|
40
|
+
var langElixir = require('react-syntax-highlighter/dist/esm/languages/prism/elixir.js');
|
|
41
|
+
var langErlang = require('react-syntax-highlighter/dist/esm/languages/prism/erlang.js');
|
|
42
|
+
var langElm = require('react-syntax-highlighter/dist/esm/languages/prism/elm.js');
|
|
43
|
+
var langFsharp = require('react-syntax-highlighter/dist/esm/languages/prism/fsharp.js');
|
|
44
|
+
var langOcaml = require('react-syntax-highlighter/dist/esm/languages/prism/ocaml.js');
|
|
45
|
+
var langJava = require('react-syntax-highlighter/dist/esm/languages/prism/java.js');
|
|
46
|
+
var langC = require('react-syntax-highlighter/dist/esm/languages/prism/c.js');
|
|
47
|
+
var langCpp = require('react-syntax-highlighter/dist/esm/languages/prism/cpp.js');
|
|
48
|
+
var langCsharp = require('react-syntax-highlighter/dist/esm/languages/prism/csharp.js');
|
|
49
|
+
var langObjectivec = require('react-syntax-highlighter/dist/esm/languages/prism/objectivec.js');
|
|
50
|
+
var langPhp = require('react-syntax-highlighter/dist/esm/languages/prism/php.js');
|
|
51
|
+
var langRuby = require('react-syntax-highlighter/dist/esm/languages/prism/ruby.js');
|
|
52
|
+
var langSwift = require('react-syntax-highlighter/dist/esm/languages/prism/swift.js');
|
|
53
|
+
var langKotlin = require('react-syntax-highlighter/dist/esm/languages/prism/kotlin.js');
|
|
54
|
+
var langLua = require('react-syntax-highlighter/dist/esm/languages/prism/lua.js');
|
|
55
|
+
var langR = require('react-syntax-highlighter/dist/esm/languages/prism/r.js');
|
|
56
|
+
var langDart = require('react-syntax-highlighter/dist/esm/languages/prism/dart.js');
|
|
57
|
+
var langJulia = require('react-syntax-highlighter/dist/esm/languages/prism/julia.js');
|
|
58
|
+
var langFortran = require('react-syntax-highlighter/dist/esm/languages/prism/fortran.js');
|
|
59
|
+
var langPerl = require('react-syntax-highlighter/dist/esm/languages/prism/perl.js');
|
|
60
|
+
var langPowershell = require('react-syntax-highlighter/dist/esm/languages/prism/powershell.js');
|
|
61
|
+
var langMakefile = require('react-syntax-highlighter/dist/esm/languages/prism/makefile.js');
|
|
62
|
+
var langNginx = require('react-syntax-highlighter/dist/esm/languages/prism/nginx.js');
|
|
63
|
+
var langIni = require('react-syntax-highlighter/dist/esm/languages/prism/ini.js');
|
|
35
64
|
var ReactMarkdown = require('react-markdown');
|
|
36
65
|
var remarkGfm = require('remark-gfm');
|
|
37
66
|
var remarkMath = require('remark-math');
|
|
@@ -87,6 +116,35 @@ var langDiff__default = /*#__PURE__*/_interopDefault(langDiff);
|
|
|
87
116
|
var langToml__default = /*#__PURE__*/_interopDefault(langToml);
|
|
88
117
|
var langGo__default = /*#__PURE__*/_interopDefault(langGo);
|
|
89
118
|
var langGraphql__default = /*#__PURE__*/_interopDefault(langGraphql);
|
|
119
|
+
var langClojure__default = /*#__PURE__*/_interopDefault(langClojure);
|
|
120
|
+
var langHaskell__default = /*#__PURE__*/_interopDefault(langHaskell);
|
|
121
|
+
var langLisp__default = /*#__PURE__*/_interopDefault(langLisp);
|
|
122
|
+
var langScheme__default = /*#__PURE__*/_interopDefault(langScheme);
|
|
123
|
+
var langScala__default = /*#__PURE__*/_interopDefault(langScala);
|
|
124
|
+
var langElixir__default = /*#__PURE__*/_interopDefault(langElixir);
|
|
125
|
+
var langErlang__default = /*#__PURE__*/_interopDefault(langErlang);
|
|
126
|
+
var langElm__default = /*#__PURE__*/_interopDefault(langElm);
|
|
127
|
+
var langFsharp__default = /*#__PURE__*/_interopDefault(langFsharp);
|
|
128
|
+
var langOcaml__default = /*#__PURE__*/_interopDefault(langOcaml);
|
|
129
|
+
var langJava__default = /*#__PURE__*/_interopDefault(langJava);
|
|
130
|
+
var langC__default = /*#__PURE__*/_interopDefault(langC);
|
|
131
|
+
var langCpp__default = /*#__PURE__*/_interopDefault(langCpp);
|
|
132
|
+
var langCsharp__default = /*#__PURE__*/_interopDefault(langCsharp);
|
|
133
|
+
var langObjectivec__default = /*#__PURE__*/_interopDefault(langObjectivec);
|
|
134
|
+
var langPhp__default = /*#__PURE__*/_interopDefault(langPhp);
|
|
135
|
+
var langRuby__default = /*#__PURE__*/_interopDefault(langRuby);
|
|
136
|
+
var langSwift__default = /*#__PURE__*/_interopDefault(langSwift);
|
|
137
|
+
var langKotlin__default = /*#__PURE__*/_interopDefault(langKotlin);
|
|
138
|
+
var langLua__default = /*#__PURE__*/_interopDefault(langLua);
|
|
139
|
+
var langR__default = /*#__PURE__*/_interopDefault(langR);
|
|
140
|
+
var langDart__default = /*#__PURE__*/_interopDefault(langDart);
|
|
141
|
+
var langJulia__default = /*#__PURE__*/_interopDefault(langJulia);
|
|
142
|
+
var langFortran__default = /*#__PURE__*/_interopDefault(langFortran);
|
|
143
|
+
var langPerl__default = /*#__PURE__*/_interopDefault(langPerl);
|
|
144
|
+
var langPowershell__default = /*#__PURE__*/_interopDefault(langPowershell);
|
|
145
|
+
var langMakefile__default = /*#__PURE__*/_interopDefault(langMakefile);
|
|
146
|
+
var langNginx__default = /*#__PURE__*/_interopDefault(langNginx);
|
|
147
|
+
var langIni__default = /*#__PURE__*/_interopDefault(langIni);
|
|
90
148
|
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
91
149
|
var remarkGfm__default = /*#__PURE__*/_interopDefault(remarkGfm);
|
|
92
150
|
var remarkMath__default = /*#__PURE__*/_interopDefault(remarkMath);
|
|
@@ -16680,6 +16738,19 @@ var init_EmptyState = __esm({
|
|
|
16680
16738
|
EmptyState.displayName = "EmptyState";
|
|
16681
16739
|
}
|
|
16682
16740
|
});
|
|
16741
|
+
function isLanguageRegistered(lang) {
|
|
16742
|
+
return CODE_LANGUAGE_SET.has(lang) || dynamicallyLoaded.has(lang);
|
|
16743
|
+
}
|
|
16744
|
+
async function loadPrismLanguage(lang) {
|
|
16745
|
+
if (isLanguageRegistered(lang)) return;
|
|
16746
|
+
try {
|
|
16747
|
+
const grammar = codeLanguageLoader ? await codeLanguageLoader(lang) : null;
|
|
16748
|
+
if (grammar) SyntaxHighlighter__default.default.registerLanguage(lang, grammar);
|
|
16749
|
+
dynamicallyLoaded.add(lang);
|
|
16750
|
+
} catch {
|
|
16751
|
+
dynamicallyLoaded.add(lang);
|
|
16752
|
+
}
|
|
16753
|
+
}
|
|
16683
16754
|
function computeFoldRegions(code) {
|
|
16684
16755
|
const lines = code.split("\n");
|
|
16685
16756
|
const regions = [];
|
|
@@ -16715,7 +16786,8 @@ function computeFoldRegions(code) {
|
|
|
16715
16786
|
return regions.sort((a, b) => a.start - b.start);
|
|
16716
16787
|
}
|
|
16717
16788
|
function toCodeLanguage(value) {
|
|
16718
|
-
|
|
16789
|
+
if (!value) return "text";
|
|
16790
|
+
return value.toLowerCase();
|
|
16719
16791
|
}
|
|
16720
16792
|
function generateDiff(oldVal, newVal) {
|
|
16721
16793
|
const oldLines = oldVal.split("\n");
|
|
@@ -16734,7 +16806,24 @@ function generateDiff(oldVal, newVal) {
|
|
|
16734
16806
|
}
|
|
16735
16807
|
return diff;
|
|
16736
16808
|
}
|
|
16737
|
-
|
|
16809
|
+
function useLanguageReady(language) {
|
|
16810
|
+
const [ready, setReady] = React91.useState(() => isLanguageRegistered(language));
|
|
16811
|
+
React91.useEffect(() => {
|
|
16812
|
+
if (isLanguageRegistered(language)) {
|
|
16813
|
+
if (!ready) setReady(true);
|
|
16814
|
+
return;
|
|
16815
|
+
}
|
|
16816
|
+
let active = true;
|
|
16817
|
+
loadPrismLanguage(language).then(() => {
|
|
16818
|
+
if (active) setReady(true);
|
|
16819
|
+
});
|
|
16820
|
+
return () => {
|
|
16821
|
+
active = false;
|
|
16822
|
+
};
|
|
16823
|
+
}, [language]);
|
|
16824
|
+
return ready;
|
|
16825
|
+
}
|
|
16826
|
+
var dynamicallyLoaded, codeLanguageLoader, orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
|
|
16738
16827
|
var init_CodeBlock = __esm({
|
|
16739
16828
|
"components/core/molecules/markdown/CodeBlock.tsx"() {
|
|
16740
16829
|
init_cn();
|
|
@@ -16773,8 +16862,62 @@ var init_CodeBlock = __esm({
|
|
|
16773
16862
|
SyntaxHighlighter__default.default.registerLanguage("toml", langToml__default.default);
|
|
16774
16863
|
SyntaxHighlighter__default.default.registerLanguage("go", langGo__default.default);
|
|
16775
16864
|
SyntaxHighlighter__default.default.registerLanguage("graphql", langGraphql__default.default);
|
|
16865
|
+
SyntaxHighlighter__default.default.registerLanguage("clojure", langClojure__default.default);
|
|
16866
|
+
SyntaxHighlighter__default.default.registerLanguage("clj", langClojure__default.default);
|
|
16867
|
+
SyntaxHighlighter__default.default.registerLanguage("edn", langClojure__default.default);
|
|
16868
|
+
SyntaxHighlighter__default.default.registerLanguage("haskell", langHaskell__default.default);
|
|
16869
|
+
SyntaxHighlighter__default.default.registerLanguage("hs", langHaskell__default.default);
|
|
16870
|
+
SyntaxHighlighter__default.default.registerLanguage("lisp", langLisp__default.default);
|
|
16871
|
+
SyntaxHighlighter__default.default.registerLanguage("scheme", langScheme__default.default);
|
|
16872
|
+
SyntaxHighlighter__default.default.registerLanguage("scala", langScala__default.default);
|
|
16873
|
+
SyntaxHighlighter__default.default.registerLanguage("elixir", langElixir__default.default);
|
|
16874
|
+
SyntaxHighlighter__default.default.registerLanguage("ex", langElixir__default.default);
|
|
16875
|
+
SyntaxHighlighter__default.default.registerLanguage("exs", langElixir__default.default);
|
|
16876
|
+
SyntaxHighlighter__default.default.registerLanguage("erlang", langErlang__default.default);
|
|
16877
|
+
SyntaxHighlighter__default.default.registerLanguage("erl", langErlang__default.default);
|
|
16878
|
+
SyntaxHighlighter__default.default.registerLanguage("elm", langElm__default.default);
|
|
16879
|
+
SyntaxHighlighter__default.default.registerLanguage("fsharp", langFsharp__default.default);
|
|
16880
|
+
SyntaxHighlighter__default.default.registerLanguage("fs", langFsharp__default.default);
|
|
16881
|
+
SyntaxHighlighter__default.default.registerLanguage("fsx", langFsharp__default.default);
|
|
16882
|
+
SyntaxHighlighter__default.default.registerLanguage("ocaml", langOcaml__default.default);
|
|
16883
|
+
SyntaxHighlighter__default.default.registerLanguage("ml", langOcaml__default.default);
|
|
16884
|
+
SyntaxHighlighter__default.default.registerLanguage("java", langJava__default.default);
|
|
16885
|
+
SyntaxHighlighter__default.default.registerLanguage("c", langC__default.default);
|
|
16886
|
+
SyntaxHighlighter__default.default.registerLanguage("cpp", langCpp__default.default);
|
|
16887
|
+
SyntaxHighlighter__default.default.registerLanguage("c++", langCpp__default.default);
|
|
16888
|
+
SyntaxHighlighter__default.default.registerLanguage("cc", langCpp__default.default);
|
|
16889
|
+
SyntaxHighlighter__default.default.registerLanguage("cxx", langCpp__default.default);
|
|
16890
|
+
SyntaxHighlighter__default.default.registerLanguage("hpp", langCpp__default.default);
|
|
16891
|
+
SyntaxHighlighter__default.default.registerLanguage("h", langCpp__default.default);
|
|
16892
|
+
SyntaxHighlighter__default.default.registerLanguage("csharp", langCsharp__default.default);
|
|
16893
|
+
SyntaxHighlighter__default.default.registerLanguage("cs", langCsharp__default.default);
|
|
16894
|
+
SyntaxHighlighter__default.default.registerLanguage("objectivec", langObjectivec__default.default);
|
|
16895
|
+
SyntaxHighlighter__default.default.registerLanguage("objc", langObjectivec__default.default);
|
|
16896
|
+
SyntaxHighlighter__default.default.registerLanguage("php", langPhp__default.default);
|
|
16897
|
+
SyntaxHighlighter__default.default.registerLanguage("ruby", langRuby__default.default);
|
|
16898
|
+
SyntaxHighlighter__default.default.registerLanguage("rb", langRuby__default.default);
|
|
16899
|
+
SyntaxHighlighter__default.default.registerLanguage("swift", langSwift__default.default);
|
|
16900
|
+
SyntaxHighlighter__default.default.registerLanguage("kotlin", langKotlin__default.default);
|
|
16901
|
+
SyntaxHighlighter__default.default.registerLanguage("kt", langKotlin__default.default);
|
|
16902
|
+
SyntaxHighlighter__default.default.registerLanguage("lua", langLua__default.default);
|
|
16903
|
+
SyntaxHighlighter__default.default.registerLanguage("r", langR__default.default);
|
|
16904
|
+
SyntaxHighlighter__default.default.registerLanguage("dart", langDart__default.default);
|
|
16905
|
+
SyntaxHighlighter__default.default.registerLanguage("julia", langJulia__default.default);
|
|
16906
|
+
SyntaxHighlighter__default.default.registerLanguage("fortran", langFortran__default.default);
|
|
16907
|
+
SyntaxHighlighter__default.default.registerLanguage("f90", langFortran__default.default);
|
|
16908
|
+
SyntaxHighlighter__default.default.registerLanguage("f95", langFortran__default.default);
|
|
16909
|
+
SyntaxHighlighter__default.default.registerLanguage("perl", langPerl__default.default);
|
|
16910
|
+
SyntaxHighlighter__default.default.registerLanguage("pl", langPerl__default.default);
|
|
16911
|
+
SyntaxHighlighter__default.default.registerLanguage("powershell", langPowershell__default.default);
|
|
16912
|
+
SyntaxHighlighter__default.default.registerLanguage("ps1", langPowershell__default.default);
|
|
16913
|
+
SyntaxHighlighter__default.default.registerLanguage("makefile", langMakefile__default.default);
|
|
16914
|
+
SyntaxHighlighter__default.default.registerLanguage("make", langMakefile__default.default);
|
|
16915
|
+
SyntaxHighlighter__default.default.registerLanguage("nginx", langNginx__default.default);
|
|
16916
|
+
SyntaxHighlighter__default.default.registerLanguage("ini", langIni__default.default);
|
|
16776
16917
|
SyntaxHighlighter__default.default.registerLanguage("orb", syntax.orbLanguage);
|
|
16777
16918
|
SyntaxHighlighter__default.default.registerLanguage("lolo", syntax.loloLanguage);
|
|
16919
|
+
dynamicallyLoaded = /* @__PURE__ */ new Set();
|
|
16920
|
+
codeLanguageLoader = null;
|
|
16778
16921
|
orbStyleOverrides = {
|
|
16779
16922
|
"orb-binding": { color: syntax.ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
16780
16923
|
"orb-effect": { color: syntax.ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -16845,6 +16988,58 @@ var init_CodeBlock = __esm({
|
|
|
16845
16988
|
"graphql",
|
|
16846
16989
|
"html",
|
|
16847
16990
|
"xml",
|
|
16991
|
+
"clojure",
|
|
16992
|
+
"clj",
|
|
16993
|
+
"edn",
|
|
16994
|
+
"haskell",
|
|
16995
|
+
"hs",
|
|
16996
|
+
"lisp",
|
|
16997
|
+
"scheme",
|
|
16998
|
+
"scala",
|
|
16999
|
+
"elixir",
|
|
17000
|
+
"ex",
|
|
17001
|
+
"exs",
|
|
17002
|
+
"erlang",
|
|
17003
|
+
"erl",
|
|
17004
|
+
"elm",
|
|
17005
|
+
"fsharp",
|
|
17006
|
+
"fs",
|
|
17007
|
+
"fsx",
|
|
17008
|
+
"ocaml",
|
|
17009
|
+
"ml",
|
|
17010
|
+
"java",
|
|
17011
|
+
"c",
|
|
17012
|
+
"cpp",
|
|
17013
|
+
"c++",
|
|
17014
|
+
"cc",
|
|
17015
|
+
"cxx",
|
|
17016
|
+
"hpp",
|
|
17017
|
+
"h",
|
|
17018
|
+
"csharp",
|
|
17019
|
+
"cs",
|
|
17020
|
+
"objectivec",
|
|
17021
|
+
"objc",
|
|
17022
|
+
"php",
|
|
17023
|
+
"ruby",
|
|
17024
|
+
"rb",
|
|
17025
|
+
"swift",
|
|
17026
|
+
"kotlin",
|
|
17027
|
+
"kt",
|
|
17028
|
+
"lua",
|
|
17029
|
+
"r",
|
|
17030
|
+
"dart",
|
|
17031
|
+
"julia",
|
|
17032
|
+
"fortran",
|
|
17033
|
+
"f90",
|
|
17034
|
+
"f95",
|
|
17035
|
+
"perl",
|
|
17036
|
+
"pl",
|
|
17037
|
+
"powershell",
|
|
17038
|
+
"ps1",
|
|
17039
|
+
"makefile",
|
|
17040
|
+
"make",
|
|
17041
|
+
"nginx",
|
|
17042
|
+
"ini",
|
|
16848
17043
|
"orb",
|
|
16849
17044
|
"lolo"
|
|
16850
17045
|
];
|
|
@@ -16890,6 +17085,7 @@ var init_CodeBlock = __esm({
|
|
|
16890
17085
|
const isOrb = language === "orb";
|
|
16891
17086
|
const isLolo = language === "lolo";
|
|
16892
17087
|
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark__default.default;
|
|
17088
|
+
const languageReady = useLanguageReady(language);
|
|
16893
17089
|
const eventBus = useEventBus();
|
|
16894
17090
|
const { t } = hooks.useTranslate();
|
|
16895
17091
|
const scrollRef = React91.useRef(null);
|
|
@@ -17013,7 +17209,7 @@ var init_CodeBlock = __esm({
|
|
|
17013
17209
|
children: code
|
|
17014
17210
|
}
|
|
17015
17211
|
),
|
|
17016
|
-
[code, language, activeStyle]
|
|
17212
|
+
[code, language, activeStyle, languageReady]
|
|
17017
17213
|
);
|
|
17018
17214
|
React91.useLayoutEffect(() => {
|
|
17019
17215
|
const container = codeRef.current;
|
|
@@ -17613,10 +17809,10 @@ var init_MarkdownContent = __esm({
|
|
|
17613
17809
|
}
|
|
17614
17810
|
});
|
|
17615
17811
|
|
|
17616
|
-
//
|
|
17812
|
+
// lib/lessonSegmentUtils.ts
|
|
17617
17813
|
function parseMarkdownWithCodeBlocks(content) {
|
|
17618
17814
|
const segments = [];
|
|
17619
|
-
const codeBlockRegex = /```([\
|
|
17815
|
+
const codeBlockRegex = /```([^\n\r]*)\r?\n([\s\S]*?)```/g;
|
|
17620
17816
|
let lastIndex = 0;
|
|
17621
17817
|
let match;
|
|
17622
17818
|
while ((match = codeBlockRegex.exec(content)) !== null) {
|
|
@@ -17624,12 +17820,12 @@ function parseMarkdownWithCodeBlocks(content) {
|
|
|
17624
17820
|
if (before.trim()) {
|
|
17625
17821
|
segments.push({ type: "markdown", content: before });
|
|
17626
17822
|
}
|
|
17627
|
-
const
|
|
17628
|
-
|
|
17823
|
+
const tokens = match[1].trim().split(/\s+/).filter(Boolean);
|
|
17824
|
+
let rawLanguage = tokens[0] ?? "text";
|
|
17629
17825
|
const suffixRunnable = rawLanguage.endsWith("-runnable");
|
|
17630
|
-
const runnable =
|
|
17826
|
+
const runnable = suffixRunnable || tokens.includes("run");
|
|
17631
17827
|
const baseLanguage = suffixRunnable ? rawLanguage.slice(0, -"-runnable".length) || "text" : rawLanguage;
|
|
17632
|
-
segments.push({ type: "code", language: baseLanguage, content: match[
|
|
17828
|
+
segments.push({ type: "code", language: baseLanguage, content: match[2].trim(), runnable });
|
|
17633
17829
|
lastIndex = codeBlockRegex.lastIndex;
|
|
17634
17830
|
}
|
|
17635
17831
|
const remaining = content.slice(lastIndex);
|
|
@@ -17639,7 +17835,7 @@ function parseMarkdownWithCodeBlocks(content) {
|
|
|
17639
17835
|
return segments;
|
|
17640
17836
|
}
|
|
17641
17837
|
var init_lessonSegmentUtils = __esm({
|
|
17642
|
-
"
|
|
17838
|
+
"lib/lessonSegmentUtils.ts"() {
|
|
17643
17839
|
}
|
|
17644
17840
|
});
|
|
17645
17841
|
var BLOOM_CONFIG, BloomQuizBlock;
|
package/dist/avl/index.js
CHANGED
|
@@ -32,6 +32,35 @@ import langDiff from 'react-syntax-highlighter/dist/esm/languages/prism/diff.js'
|
|
|
32
32
|
import langToml from 'react-syntax-highlighter/dist/esm/languages/prism/toml.js';
|
|
33
33
|
import langGo from 'react-syntax-highlighter/dist/esm/languages/prism/go.js';
|
|
34
34
|
import langGraphql from 'react-syntax-highlighter/dist/esm/languages/prism/graphql.js';
|
|
35
|
+
import langClojure from 'react-syntax-highlighter/dist/esm/languages/prism/clojure.js';
|
|
36
|
+
import langHaskell from 'react-syntax-highlighter/dist/esm/languages/prism/haskell.js';
|
|
37
|
+
import langLisp from 'react-syntax-highlighter/dist/esm/languages/prism/lisp.js';
|
|
38
|
+
import langScheme from 'react-syntax-highlighter/dist/esm/languages/prism/scheme.js';
|
|
39
|
+
import langScala from 'react-syntax-highlighter/dist/esm/languages/prism/scala.js';
|
|
40
|
+
import langElixir from 'react-syntax-highlighter/dist/esm/languages/prism/elixir.js';
|
|
41
|
+
import langErlang from 'react-syntax-highlighter/dist/esm/languages/prism/erlang.js';
|
|
42
|
+
import langElm from 'react-syntax-highlighter/dist/esm/languages/prism/elm.js';
|
|
43
|
+
import langFsharp from 'react-syntax-highlighter/dist/esm/languages/prism/fsharp.js';
|
|
44
|
+
import langOcaml from 'react-syntax-highlighter/dist/esm/languages/prism/ocaml.js';
|
|
45
|
+
import langJava from 'react-syntax-highlighter/dist/esm/languages/prism/java.js';
|
|
46
|
+
import langC from 'react-syntax-highlighter/dist/esm/languages/prism/c.js';
|
|
47
|
+
import langCpp from 'react-syntax-highlighter/dist/esm/languages/prism/cpp.js';
|
|
48
|
+
import langCsharp from 'react-syntax-highlighter/dist/esm/languages/prism/csharp.js';
|
|
49
|
+
import langObjectivec from 'react-syntax-highlighter/dist/esm/languages/prism/objectivec.js';
|
|
50
|
+
import langPhp from 'react-syntax-highlighter/dist/esm/languages/prism/php.js';
|
|
51
|
+
import langRuby from 'react-syntax-highlighter/dist/esm/languages/prism/ruby.js';
|
|
52
|
+
import langSwift from 'react-syntax-highlighter/dist/esm/languages/prism/swift.js';
|
|
53
|
+
import langKotlin from 'react-syntax-highlighter/dist/esm/languages/prism/kotlin.js';
|
|
54
|
+
import langLua from 'react-syntax-highlighter/dist/esm/languages/prism/lua.js';
|
|
55
|
+
import langR from 'react-syntax-highlighter/dist/esm/languages/prism/r.js';
|
|
56
|
+
import langDart from 'react-syntax-highlighter/dist/esm/languages/prism/dart.js';
|
|
57
|
+
import langJulia from 'react-syntax-highlighter/dist/esm/languages/prism/julia.js';
|
|
58
|
+
import langFortran from 'react-syntax-highlighter/dist/esm/languages/prism/fortran.js';
|
|
59
|
+
import langPerl from 'react-syntax-highlighter/dist/esm/languages/prism/perl.js';
|
|
60
|
+
import langPowershell from 'react-syntax-highlighter/dist/esm/languages/prism/powershell.js';
|
|
61
|
+
import langMakefile from 'react-syntax-highlighter/dist/esm/languages/prism/makefile.js';
|
|
62
|
+
import langNginx from 'react-syntax-highlighter/dist/esm/languages/prism/nginx.js';
|
|
63
|
+
import langIni from 'react-syntax-highlighter/dist/esm/languages/prism/ini.js';
|
|
35
64
|
import ReactMarkdown from 'react-markdown';
|
|
36
65
|
import remarkGfm from 'remark-gfm';
|
|
37
66
|
import remarkMath from 'remark-math';
|
|
@@ -16634,6 +16663,19 @@ var init_EmptyState = __esm({
|
|
|
16634
16663
|
EmptyState.displayName = "EmptyState";
|
|
16635
16664
|
}
|
|
16636
16665
|
});
|
|
16666
|
+
function isLanguageRegistered(lang) {
|
|
16667
|
+
return CODE_LANGUAGE_SET.has(lang) || dynamicallyLoaded.has(lang);
|
|
16668
|
+
}
|
|
16669
|
+
async function loadPrismLanguage(lang) {
|
|
16670
|
+
if (isLanguageRegistered(lang)) return;
|
|
16671
|
+
try {
|
|
16672
|
+
const grammar = codeLanguageLoader ? await codeLanguageLoader(lang) : null;
|
|
16673
|
+
if (grammar) SyntaxHighlighter.registerLanguage(lang, grammar);
|
|
16674
|
+
dynamicallyLoaded.add(lang);
|
|
16675
|
+
} catch {
|
|
16676
|
+
dynamicallyLoaded.add(lang);
|
|
16677
|
+
}
|
|
16678
|
+
}
|
|
16637
16679
|
function computeFoldRegions(code) {
|
|
16638
16680
|
const lines = code.split("\n");
|
|
16639
16681
|
const regions = [];
|
|
@@ -16669,7 +16711,8 @@ function computeFoldRegions(code) {
|
|
|
16669
16711
|
return regions.sort((a, b) => a.start - b.start);
|
|
16670
16712
|
}
|
|
16671
16713
|
function toCodeLanguage(value) {
|
|
16672
|
-
|
|
16714
|
+
if (!value) return "text";
|
|
16715
|
+
return value.toLowerCase();
|
|
16673
16716
|
}
|
|
16674
16717
|
function generateDiff(oldVal, newVal) {
|
|
16675
16718
|
const oldLines = oldVal.split("\n");
|
|
@@ -16688,7 +16731,24 @@ function generateDiff(oldVal, newVal) {
|
|
|
16688
16731
|
}
|
|
16689
16732
|
return diff;
|
|
16690
16733
|
}
|
|
16691
|
-
|
|
16734
|
+
function useLanguageReady(language) {
|
|
16735
|
+
const [ready, setReady] = useState(() => isLanguageRegistered(language));
|
|
16736
|
+
useEffect(() => {
|
|
16737
|
+
if (isLanguageRegistered(language)) {
|
|
16738
|
+
if (!ready) setReady(true);
|
|
16739
|
+
return;
|
|
16740
|
+
}
|
|
16741
|
+
let active = true;
|
|
16742
|
+
loadPrismLanguage(language).then(() => {
|
|
16743
|
+
if (active) setReady(true);
|
|
16744
|
+
});
|
|
16745
|
+
return () => {
|
|
16746
|
+
active = false;
|
|
16747
|
+
};
|
|
16748
|
+
}, [language]);
|
|
16749
|
+
return ready;
|
|
16750
|
+
}
|
|
16751
|
+
var dynamicallyLoaded, codeLanguageLoader, orbStyleOverrides, orbStyle, loloStyleOverrides, loloStyle, log4, CODE_LANGUAGES, CODE_LANGUAGE_SET, DIFF_STYLES, DIFF_STYLE_FALLBACK, LINE_PROPS_FN, HIDDEN_LINE_NUMBERS, CodeBlock;
|
|
16692
16752
|
var init_CodeBlock = __esm({
|
|
16693
16753
|
"components/core/molecules/markdown/CodeBlock.tsx"() {
|
|
16694
16754
|
init_cn();
|
|
@@ -16727,8 +16787,62 @@ var init_CodeBlock = __esm({
|
|
|
16727
16787
|
SyntaxHighlighter.registerLanguage("toml", langToml);
|
|
16728
16788
|
SyntaxHighlighter.registerLanguage("go", langGo);
|
|
16729
16789
|
SyntaxHighlighter.registerLanguage("graphql", langGraphql);
|
|
16790
|
+
SyntaxHighlighter.registerLanguage("clojure", langClojure);
|
|
16791
|
+
SyntaxHighlighter.registerLanguage("clj", langClojure);
|
|
16792
|
+
SyntaxHighlighter.registerLanguage("edn", langClojure);
|
|
16793
|
+
SyntaxHighlighter.registerLanguage("haskell", langHaskell);
|
|
16794
|
+
SyntaxHighlighter.registerLanguage("hs", langHaskell);
|
|
16795
|
+
SyntaxHighlighter.registerLanguage("lisp", langLisp);
|
|
16796
|
+
SyntaxHighlighter.registerLanguage("scheme", langScheme);
|
|
16797
|
+
SyntaxHighlighter.registerLanguage("scala", langScala);
|
|
16798
|
+
SyntaxHighlighter.registerLanguage("elixir", langElixir);
|
|
16799
|
+
SyntaxHighlighter.registerLanguage("ex", langElixir);
|
|
16800
|
+
SyntaxHighlighter.registerLanguage("exs", langElixir);
|
|
16801
|
+
SyntaxHighlighter.registerLanguage("erlang", langErlang);
|
|
16802
|
+
SyntaxHighlighter.registerLanguage("erl", langErlang);
|
|
16803
|
+
SyntaxHighlighter.registerLanguage("elm", langElm);
|
|
16804
|
+
SyntaxHighlighter.registerLanguage("fsharp", langFsharp);
|
|
16805
|
+
SyntaxHighlighter.registerLanguage("fs", langFsharp);
|
|
16806
|
+
SyntaxHighlighter.registerLanguage("fsx", langFsharp);
|
|
16807
|
+
SyntaxHighlighter.registerLanguage("ocaml", langOcaml);
|
|
16808
|
+
SyntaxHighlighter.registerLanguage("ml", langOcaml);
|
|
16809
|
+
SyntaxHighlighter.registerLanguage("java", langJava);
|
|
16810
|
+
SyntaxHighlighter.registerLanguage("c", langC);
|
|
16811
|
+
SyntaxHighlighter.registerLanguage("cpp", langCpp);
|
|
16812
|
+
SyntaxHighlighter.registerLanguage("c++", langCpp);
|
|
16813
|
+
SyntaxHighlighter.registerLanguage("cc", langCpp);
|
|
16814
|
+
SyntaxHighlighter.registerLanguage("cxx", langCpp);
|
|
16815
|
+
SyntaxHighlighter.registerLanguage("hpp", langCpp);
|
|
16816
|
+
SyntaxHighlighter.registerLanguage("h", langCpp);
|
|
16817
|
+
SyntaxHighlighter.registerLanguage("csharp", langCsharp);
|
|
16818
|
+
SyntaxHighlighter.registerLanguage("cs", langCsharp);
|
|
16819
|
+
SyntaxHighlighter.registerLanguage("objectivec", langObjectivec);
|
|
16820
|
+
SyntaxHighlighter.registerLanguage("objc", langObjectivec);
|
|
16821
|
+
SyntaxHighlighter.registerLanguage("php", langPhp);
|
|
16822
|
+
SyntaxHighlighter.registerLanguage("ruby", langRuby);
|
|
16823
|
+
SyntaxHighlighter.registerLanguage("rb", langRuby);
|
|
16824
|
+
SyntaxHighlighter.registerLanguage("swift", langSwift);
|
|
16825
|
+
SyntaxHighlighter.registerLanguage("kotlin", langKotlin);
|
|
16826
|
+
SyntaxHighlighter.registerLanguage("kt", langKotlin);
|
|
16827
|
+
SyntaxHighlighter.registerLanguage("lua", langLua);
|
|
16828
|
+
SyntaxHighlighter.registerLanguage("r", langR);
|
|
16829
|
+
SyntaxHighlighter.registerLanguage("dart", langDart);
|
|
16830
|
+
SyntaxHighlighter.registerLanguage("julia", langJulia);
|
|
16831
|
+
SyntaxHighlighter.registerLanguage("fortran", langFortran);
|
|
16832
|
+
SyntaxHighlighter.registerLanguage("f90", langFortran);
|
|
16833
|
+
SyntaxHighlighter.registerLanguage("f95", langFortran);
|
|
16834
|
+
SyntaxHighlighter.registerLanguage("perl", langPerl);
|
|
16835
|
+
SyntaxHighlighter.registerLanguage("pl", langPerl);
|
|
16836
|
+
SyntaxHighlighter.registerLanguage("powershell", langPowershell);
|
|
16837
|
+
SyntaxHighlighter.registerLanguage("ps1", langPowershell);
|
|
16838
|
+
SyntaxHighlighter.registerLanguage("makefile", langMakefile);
|
|
16839
|
+
SyntaxHighlighter.registerLanguage("make", langMakefile);
|
|
16840
|
+
SyntaxHighlighter.registerLanguage("nginx", langNginx);
|
|
16841
|
+
SyntaxHighlighter.registerLanguage("ini", langIni);
|
|
16730
16842
|
SyntaxHighlighter.registerLanguage("orb", orbLanguage);
|
|
16731
16843
|
SyntaxHighlighter.registerLanguage("lolo", loloLanguage);
|
|
16844
|
+
dynamicallyLoaded = /* @__PURE__ */ new Set();
|
|
16845
|
+
codeLanguageLoader = null;
|
|
16732
16846
|
orbStyleOverrides = {
|
|
16733
16847
|
"orb-binding": { color: ORB_COLORS.dark.binding, fontWeight: "bold" },
|
|
16734
16848
|
"orb-effect": { color: ORB_COLORS.dark.effect, fontWeight: "bold" },
|
|
@@ -16799,6 +16913,58 @@ var init_CodeBlock = __esm({
|
|
|
16799
16913
|
"graphql",
|
|
16800
16914
|
"html",
|
|
16801
16915
|
"xml",
|
|
16916
|
+
"clojure",
|
|
16917
|
+
"clj",
|
|
16918
|
+
"edn",
|
|
16919
|
+
"haskell",
|
|
16920
|
+
"hs",
|
|
16921
|
+
"lisp",
|
|
16922
|
+
"scheme",
|
|
16923
|
+
"scala",
|
|
16924
|
+
"elixir",
|
|
16925
|
+
"ex",
|
|
16926
|
+
"exs",
|
|
16927
|
+
"erlang",
|
|
16928
|
+
"erl",
|
|
16929
|
+
"elm",
|
|
16930
|
+
"fsharp",
|
|
16931
|
+
"fs",
|
|
16932
|
+
"fsx",
|
|
16933
|
+
"ocaml",
|
|
16934
|
+
"ml",
|
|
16935
|
+
"java",
|
|
16936
|
+
"c",
|
|
16937
|
+
"cpp",
|
|
16938
|
+
"c++",
|
|
16939
|
+
"cc",
|
|
16940
|
+
"cxx",
|
|
16941
|
+
"hpp",
|
|
16942
|
+
"h",
|
|
16943
|
+
"csharp",
|
|
16944
|
+
"cs",
|
|
16945
|
+
"objectivec",
|
|
16946
|
+
"objc",
|
|
16947
|
+
"php",
|
|
16948
|
+
"ruby",
|
|
16949
|
+
"rb",
|
|
16950
|
+
"swift",
|
|
16951
|
+
"kotlin",
|
|
16952
|
+
"kt",
|
|
16953
|
+
"lua",
|
|
16954
|
+
"r",
|
|
16955
|
+
"dart",
|
|
16956
|
+
"julia",
|
|
16957
|
+
"fortran",
|
|
16958
|
+
"f90",
|
|
16959
|
+
"f95",
|
|
16960
|
+
"perl",
|
|
16961
|
+
"pl",
|
|
16962
|
+
"powershell",
|
|
16963
|
+
"ps1",
|
|
16964
|
+
"makefile",
|
|
16965
|
+
"make",
|
|
16966
|
+
"nginx",
|
|
16967
|
+
"ini",
|
|
16802
16968
|
"orb",
|
|
16803
16969
|
"lolo"
|
|
16804
16970
|
];
|
|
@@ -16844,6 +17010,7 @@ var init_CodeBlock = __esm({
|
|
|
16844
17010
|
const isOrb = language === "orb";
|
|
16845
17011
|
const isLolo = language === "lolo";
|
|
16846
17012
|
const activeStyle = isOrb ? orbStyle : isLolo ? loloStyle : dark;
|
|
17013
|
+
const languageReady = useLanguageReady(language);
|
|
16847
17014
|
const eventBus = useEventBus();
|
|
16848
17015
|
const { t } = useTranslate();
|
|
16849
17016
|
const scrollRef = useRef(null);
|
|
@@ -16967,7 +17134,7 @@ var init_CodeBlock = __esm({
|
|
|
16967
17134
|
children: code
|
|
16968
17135
|
}
|
|
16969
17136
|
),
|
|
16970
|
-
[code, language, activeStyle]
|
|
17137
|
+
[code, language, activeStyle, languageReady]
|
|
16971
17138
|
);
|
|
16972
17139
|
useLayoutEffect(() => {
|
|
16973
17140
|
const container = codeRef.current;
|
|
@@ -17567,10 +17734,10 @@ var init_MarkdownContent = __esm({
|
|
|
17567
17734
|
}
|
|
17568
17735
|
});
|
|
17569
17736
|
|
|
17570
|
-
//
|
|
17737
|
+
// lib/lessonSegmentUtils.ts
|
|
17571
17738
|
function parseMarkdownWithCodeBlocks(content) {
|
|
17572
17739
|
const segments = [];
|
|
17573
|
-
const codeBlockRegex = /```([\
|
|
17740
|
+
const codeBlockRegex = /```([^\n\r]*)\r?\n([\s\S]*?)```/g;
|
|
17574
17741
|
let lastIndex = 0;
|
|
17575
17742
|
let match;
|
|
17576
17743
|
while ((match = codeBlockRegex.exec(content)) !== null) {
|
|
@@ -17578,12 +17745,12 @@ function parseMarkdownWithCodeBlocks(content) {
|
|
|
17578
17745
|
if (before.trim()) {
|
|
17579
17746
|
segments.push({ type: "markdown", content: before });
|
|
17580
17747
|
}
|
|
17581
|
-
const
|
|
17582
|
-
|
|
17748
|
+
const tokens = match[1].trim().split(/\s+/).filter(Boolean);
|
|
17749
|
+
let rawLanguage = tokens[0] ?? "text";
|
|
17583
17750
|
const suffixRunnable = rawLanguage.endsWith("-runnable");
|
|
17584
|
-
const runnable =
|
|
17751
|
+
const runnable = suffixRunnable || tokens.includes("run");
|
|
17585
17752
|
const baseLanguage = suffixRunnable ? rawLanguage.slice(0, -"-runnable".length) || "text" : rawLanguage;
|
|
17586
|
-
segments.push({ type: "code", language: baseLanguage, content: match[
|
|
17753
|
+
segments.push({ type: "code", language: baseLanguage, content: match[2].trim(), runnable });
|
|
17587
17754
|
lastIndex = codeBlockRegex.lastIndex;
|
|
17588
17755
|
}
|
|
17589
17756
|
const remaining = content.slice(lastIndex);
|
|
@@ -17593,7 +17760,7 @@ function parseMarkdownWithCodeBlocks(content) {
|
|
|
17593
17760
|
return segments;
|
|
17594
17761
|
}
|
|
17595
17762
|
var init_lessonSegmentUtils = __esm({
|
|
17596
|
-
"
|
|
17763
|
+
"lib/lessonSegmentUtils.ts"() {
|
|
17597
17764
|
}
|
|
17598
17765
|
});
|
|
17599
17766
|
var BLOOM_CONFIG, BloomQuizBlock;
|