@mantine/code-highlight 9.0.0-alpha.4 → 9.0.0-alpha.6
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/cjs/CodeHighlight/CodeHighlight.cjs +130 -169
- package/cjs/CodeHighlight/CodeHighlight.cjs.map +1 -1
- package/cjs/CodeHighlight/CodeHighlight.context.cjs +7 -10
- package/cjs/CodeHighlight/CodeHighlight.context.cjs.map +1 -1
- package/cjs/CodeHighlight/CodeHighlightControl/CodeHighlightControl.cjs +31 -40
- package/cjs/CodeHighlight/CodeHighlightControl/CodeHighlightControl.cjs.map +1 -1
- package/cjs/CodeHighlight/CopyCodeButton/CopyCodeButton.cjs +19 -26
- package/cjs/CodeHighlight/CopyCodeButton/CopyCodeButton.cjs.map +1 -1
- package/cjs/CodeHighlight/CopyCodeButton/CopyIcon.cjs +30 -28
- package/cjs/CodeHighlight/CopyCodeButton/CopyIcon.cjs.map +1 -1
- package/cjs/CodeHighlight/ExpandCodeButton/ExpandCodeButton.cjs +16 -24
- package/cjs/CodeHighlight/ExpandCodeButton/ExpandCodeButton.cjs.map +1 -1
- package/cjs/CodeHighlight/ExpandCodeButton/ExpandIcon.cjs +40 -35
- package/cjs/CodeHighlight/ExpandCodeButton/ExpandIcon.cjs.map +1 -1
- package/cjs/CodeHighlight/InlineCodeHighlight.cjs +38 -37
- package/cjs/CodeHighlight/InlineCodeHighlight.cjs.map +1 -1
- package/cjs/CodeHighlight.module.cjs +22 -0
- package/cjs/CodeHighlight.module.cjs.map +1 -0
- package/cjs/CodeHighlightProvider/CodeHighlightProvider.cjs +26 -27
- package/cjs/CodeHighlightProvider/CodeHighlightProvider.cjs.map +1 -1
- package/cjs/CodeHighlightProvider/adapters/highlight-js-adapter.cjs +12 -14
- package/cjs/CodeHighlightProvider/adapters/highlight-js-adapter.cjs.map +1 -1
- package/cjs/CodeHighlightProvider/adapters/plain-text-adapter.cjs +8 -7
- package/cjs/CodeHighlightProvider/adapters/plain-text-adapter.cjs.map +1 -1
- package/cjs/CodeHighlightProvider/adapters/shiki-adapter.cjs +34 -42
- package/cjs/CodeHighlightProvider/adapters/shiki-adapter.cjs.map +1 -1
- package/cjs/CodeHighlightProvider/adapters/shiki-themes.cjs +1131 -1234
- package/cjs/CodeHighlightProvider/adapters/shiki-themes.cjs.map +1 -1
- package/cjs/CodeHighlightTabs/CodeHighlightTabs.cjs +103 -134
- package/cjs/CodeHighlightTabs/CodeHighlightTabs.cjs.map +1 -1
- package/cjs/CodeHighlightTabs/FileIcon.cjs +18 -14
- package/cjs/CodeHighlightTabs/FileIcon.cjs.map +1 -1
- package/cjs/_virtual/_rolldown/runtime.cjs +24 -0
- package/cjs/index.cjs +21 -26
- package/esm/CodeHighlight/CodeHighlight.context.mjs +7 -8
- package/esm/CodeHighlight/CodeHighlight.context.mjs.map +1 -1
- package/esm/CodeHighlight/CodeHighlight.mjs +126 -161
- package/esm/CodeHighlight/CodeHighlight.mjs.map +1 -1
- package/esm/CodeHighlight/CodeHighlightControl/CodeHighlightControl.mjs +29 -37
- package/esm/CodeHighlight/CodeHighlightControl/CodeHighlightControl.mjs.map +1 -1
- package/esm/CodeHighlight/CopyCodeButton/CopyCodeButton.mjs +18 -24
- package/esm/CodeHighlight/CopyCodeButton/CopyCodeButton.mjs.map +1 -1
- package/esm/CodeHighlight/CopyCodeButton/CopyIcon.mjs +29 -26
- package/esm/CodeHighlight/CopyCodeButton/CopyIcon.mjs.map +1 -1
- package/esm/CodeHighlight/ExpandCodeButton/ExpandCodeButton.mjs +15 -22
- package/esm/CodeHighlight/ExpandCodeButton/ExpandCodeButton.mjs.map +1 -1
- package/esm/CodeHighlight/ExpandCodeButton/ExpandIcon.mjs +39 -33
- package/esm/CodeHighlight/ExpandCodeButton/ExpandIcon.mjs.map +1 -1
- package/esm/CodeHighlight/InlineCodeHighlight.mjs +36 -34
- package/esm/CodeHighlight/InlineCodeHighlight.mjs.map +1 -1
- package/esm/CodeHighlight.module.mjs +22 -0
- package/esm/CodeHighlight.module.mjs.map +1 -0
- package/esm/CodeHighlightProvider/CodeHighlightProvider.mjs +24 -23
- package/esm/CodeHighlightProvider/CodeHighlightProvider.mjs.map +1 -1
- package/esm/CodeHighlightProvider/adapters/highlight-js-adapter.mjs +12 -12
- package/esm/CodeHighlightProvider/adapters/highlight-js-adapter.mjs.map +1 -1
- package/esm/CodeHighlightProvider/adapters/plain-text-adapter.mjs +8 -5
- package/esm/CodeHighlightProvider/adapters/plain-text-adapter.mjs.map +1 -1
- package/esm/CodeHighlightProvider/adapters/shiki-adapter.mjs +34 -40
- package/esm/CodeHighlightProvider/adapters/shiki-adapter.mjs.map +1 -1
- package/esm/CodeHighlightProvider/adapters/shiki-themes.mjs +1131 -1232
- package/esm/CodeHighlightProvider/adapters/shiki-themes.mjs.map +1 -1
- package/esm/CodeHighlightTabs/CodeHighlightTabs.mjs +101 -131
- package/esm/CodeHighlightTabs/CodeHighlightTabs.mjs.map +1 -1
- package/esm/CodeHighlightTabs/FileIcon.mjs +17 -12
- package/esm/CodeHighlightTabs/FileIcon.mjs.map +1 -1
- package/esm/index.mjs +10 -10
- package/package.json +7 -7
- package/cjs/CodeHighlight.module.css.cjs +0 -7
- package/cjs/CodeHighlight.module.css.cjs.map +0 -1
- package/cjs/index.cjs.map +0 -1
- package/esm/CodeHighlight.module.css.mjs +0 -5
- package/esm/CodeHighlight.module.css.mjs.map +0 -1
- package/esm/index.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight-js-adapter.mjs","sources":["../../../src/CodeHighlightProvider/adapters/highlight-js-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider';\n\nexport function createHighlightJsAdapter(hljs: any): CodeHighlightAdapter {\n return {\n getHighlighter:\n () =>\n ({ code, language }) => {\n const lang = hljs.getLanguage(language) ? language : 'plaintext';\n return {\n highlightedCode: hljs.highlight(code.trim(), { language: lang }).value,\n isHighlighted: true,\n codeElementProps: { className: `hljs ${lang}` },\n };\n },\n };\n}\n"],"
|
|
1
|
+
{"version":3,"file":"highlight-js-adapter.mjs","names":[],"sources":["../../../src/CodeHighlightProvider/adapters/highlight-js-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider';\n\nexport function createHighlightJsAdapter(hljs: any): CodeHighlightAdapter {\n return {\n getHighlighter:\n () =>\n ({ code, language }) => {\n const lang = hljs.getLanguage(language) ? language : 'plaintext';\n return {\n highlightedCode: hljs.highlight(code.trim(), { language: lang }).value,\n isHighlighted: true,\n codeElementProps: { className: `hljs ${lang}` },\n };\n },\n };\n}\n"],"mappings":";AAEA,SAAgB,yBAAyB,MAAiC;AACxE,QAAO,EACL,uBAEG,EAAE,MAAM,eAAe;EACtB,MAAM,OAAO,KAAK,YAAY,SAAS,GAAG,WAAW;AACrD,SAAO;GACL,iBAAiB,KAAK,UAAU,KAAK,MAAM,EAAE,EAAE,UAAU,MAAM,CAAC,CAAC;GACjE,eAAe;GACf,kBAAkB,EAAE,WAAW,QAAQ,QAAQ;GAChD;IAEN"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
//#region packages/@mantine/code-highlight/src/CodeHighlightProvider/adapters/plain-text-adapter.ts
|
|
2
|
+
const plainTextAdapter = { getHighlighter: () => ({ code }) => ({
|
|
3
|
+
highlightedCode: code,
|
|
4
|
+
isHighlighted: false
|
|
5
|
+
}) };
|
|
6
|
+
//#endregion
|
|
5
7
|
export { plainTextAdapter };
|
|
6
|
-
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=plain-text-adapter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-text-adapter.mjs","sources":["../../../src/CodeHighlightProvider/adapters/plain-text-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider';\n\nexport const plainTextAdapter: CodeHighlightAdapter = {\n getHighlighter:\n () =>\n ({ code }) => ({ highlightedCode: code, isHighlighted: false }),\n};\n"],"
|
|
1
|
+
{"version":3,"file":"plain-text-adapter.mjs","names":[],"sources":["../../../src/CodeHighlightProvider/adapters/plain-text-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider';\n\nexport const plainTextAdapter: CodeHighlightAdapter = {\n getHighlighter:\n () =>\n ({ code }) => ({ highlightedCode: code, isHighlighted: false }),\n};\n"],"mappings":";AAEA,MAAa,mBAAyC,EACpD,uBAEG,EAAE,YAAY;CAAE,iBAAiB;CAAM,eAAe;CAAO,GACjE"}
|
|
@@ -1,47 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { dark, light } from "./shiki-themes.mjs";
|
|
2
|
+
//#region packages/@mantine/code-highlight/src/CodeHighlightProvider/adapters/shiki-adapter.ts
|
|
3
3
|
function stripElement(openTag, data) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
const striped = data.slice(0, openIndex) + data.slice(closeIndex + 1);
|
|
13
|
-
return striped.replace(`</${openTag}>`, "");
|
|
4
|
+
const openIndex = data.indexOf(`<${openTag}`);
|
|
5
|
+
let closeIndex = openIndex + openTag.length;
|
|
6
|
+
for (let i = openIndex; i < data.length; i++) if (data[i] === ">") {
|
|
7
|
+
closeIndex = i;
|
|
8
|
+
break;
|
|
9
|
+
}
|
|
10
|
+
return (data.slice(0, openIndex) + data.slice(closeIndex + 1)).replace(`</${openTag}>`, "");
|
|
14
11
|
}
|
|
15
12
|
function stripShikiCodeBlocks(data) {
|
|
16
|
-
|
|
13
|
+
return stripElement("code", stripElement("pre", data));
|
|
17
14
|
}
|
|
18
15
|
const createShikiAdapter = (loadShiki, { forceColorScheme } = {}) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
};
|
|
16
|
+
return {
|
|
17
|
+
loadContext: loadShiki,
|
|
18
|
+
getHighlighter: (ctx) => {
|
|
19
|
+
if (!ctx) return ({ code }) => ({
|
|
20
|
+
highlightedCode: code,
|
|
21
|
+
isHighlighted: false
|
|
22
|
+
});
|
|
23
|
+
return ({ code, language, colorScheme }) => {
|
|
24
|
+
let _colorScheme = colorScheme;
|
|
25
|
+
if (colorScheme === "light") _colorScheme = light;
|
|
26
|
+
else if (colorScheme === "dark") _colorScheme = dark;
|
|
27
|
+
return {
|
|
28
|
+
isHighlighted: true,
|
|
29
|
+
highlightedCode: stripShikiCodeBlocks(ctx.codeToHtml(code, {
|
|
30
|
+
lang: language,
|
|
31
|
+
theme: forceColorScheme || _colorScheme
|
|
32
|
+
}))
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
};
|
|
44
37
|
};
|
|
45
|
-
|
|
38
|
+
//#endregion
|
|
46
39
|
export { createShikiAdapter, stripShikiCodeBlocks };
|
|
47
|
-
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=shiki-adapter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shiki-adapter.mjs","sources":["../../../src/CodeHighlightProvider/adapters/shiki-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider';\nimport { dark, light } from './shiki-themes';\n\nfunction stripElement(openTag: string, data: string) {\n const openIndex = data.indexOf(`<${openTag}`);\n let closeIndex = openIndex + openTag.length;\n\n for (let i = openIndex; i < data.length; i++) {\n if (data[i] === '>') {\n closeIndex = i;\n break;\n }\n }\n\n const striped = data.slice(0, openIndex) + data.slice(closeIndex + 1);\n return striped.replace(`</${openTag}>`, '');\n}\n\nexport function stripShikiCodeBlocks(data: string) {\n return stripElement('code', stripElement('pre', data));\n}\n\ninterface CreateShikiAdapterOptions {\n forceColorScheme?: 'dark' | 'light' | (string & {});\n}\n\nexport const createShikiAdapter = (\n loadShiki: () => Promise<any>,\n { forceColorScheme }: CreateShikiAdapterOptions = {}\n): CodeHighlightAdapter => {\n return {\n loadContext: loadShiki,\n getHighlighter: (ctx) => {\n if (!ctx) {\n return ({ code }) => ({ highlightedCode: code, isHighlighted: false });\n }\n\n return ({ code, language, colorScheme }) => {\n let _colorScheme: any = colorScheme;\n\n if (colorScheme === 'light') {\n _colorScheme = light;\n } else if (colorScheme === 'dark') {\n _colorScheme = dark;\n }\n\n return {\n isHighlighted: true,\n highlightedCode: stripShikiCodeBlocks(\n ctx.codeToHtml(code, {\n lang: language,\n theme: forceColorScheme || _colorScheme,\n })\n ),\n };\n };\n },\n };\n};\n"],"
|
|
1
|
+
{"version":3,"file":"shiki-adapter.mjs","names":[],"sources":["../../../src/CodeHighlightProvider/adapters/shiki-adapter.ts"],"sourcesContent":["import type { CodeHighlightAdapter } from '../CodeHighlightProvider';\nimport { dark, light } from './shiki-themes';\n\nfunction stripElement(openTag: string, data: string) {\n const openIndex = data.indexOf(`<${openTag}`);\n let closeIndex = openIndex + openTag.length;\n\n for (let i = openIndex; i < data.length; i++) {\n if (data[i] === '>') {\n closeIndex = i;\n break;\n }\n }\n\n const striped = data.slice(0, openIndex) + data.slice(closeIndex + 1);\n return striped.replace(`</${openTag}>`, '');\n}\n\nexport function stripShikiCodeBlocks(data: string) {\n return stripElement('code', stripElement('pre', data));\n}\n\ninterface CreateShikiAdapterOptions {\n forceColorScheme?: 'dark' | 'light' | (string & {});\n}\n\nexport const createShikiAdapter = (\n loadShiki: () => Promise<any>,\n { forceColorScheme }: CreateShikiAdapterOptions = {}\n): CodeHighlightAdapter => {\n return {\n loadContext: loadShiki,\n getHighlighter: (ctx) => {\n if (!ctx) {\n return ({ code }) => ({ highlightedCode: code, isHighlighted: false });\n }\n\n return ({ code, language, colorScheme }) => {\n let _colorScheme: any = colorScheme;\n\n if (colorScheme === 'light') {\n _colorScheme = light;\n } else if (colorScheme === 'dark') {\n _colorScheme = dark;\n }\n\n return {\n isHighlighted: true,\n highlightedCode: stripShikiCodeBlocks(\n ctx.codeToHtml(code, {\n lang: language,\n theme: forceColorScheme || _colorScheme,\n })\n ),\n };\n };\n },\n };\n};\n"],"mappings":";;AAGA,SAAS,aAAa,SAAiB,MAAc;CACnD,MAAM,YAAY,KAAK,QAAQ,IAAI,UAAU;CAC7C,IAAI,aAAa,YAAY,QAAQ;AAErC,MAAK,IAAI,IAAI,WAAW,IAAI,KAAK,QAAQ,IACvC,KAAI,KAAK,OAAO,KAAK;AACnB,eAAa;AACb;;AAKJ,SADgB,KAAK,MAAM,GAAG,UAAU,GAAG,KAAK,MAAM,aAAa,EAAE,EACtD,QAAQ,KAAK,QAAQ,IAAI,GAAG;;AAG7C,SAAgB,qBAAqB,MAAc;AACjD,QAAO,aAAa,QAAQ,aAAa,OAAO,KAAK,CAAC;;AAOxD,MAAa,sBACX,WACA,EAAE,qBAAgD,EAAE,KAC3B;AACzB,QAAO;EACL,aAAa;EACb,iBAAiB,QAAQ;AACvB,OAAI,CAAC,IACH,SAAQ,EAAE,YAAY;IAAE,iBAAiB;IAAM,eAAe;IAAO;AAGvE,WAAQ,EAAE,MAAM,UAAU,kBAAkB;IAC1C,IAAI,eAAoB;AAExB,QAAI,gBAAgB,QAClB,gBAAe;aACN,gBAAgB,OACzB,gBAAe;AAGjB,WAAO;KACL,eAAe;KACf,iBAAiB,qBACf,IAAI,WAAW,MAAM;MACnB,MAAM;MACN,OAAO,oBAAoB;MAC5B,CAAC,CACH;KACF;;;EAGN"}
|