@mantine/code-highlight 7.17.6 → 7.17.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/cjs/CodeHighlight/CodeHighlight.cjs +168 -0
  2. package/cjs/CodeHighlight/CodeHighlight.cjs.map +1 -0
  3. package/cjs/CodeHighlight/CodeHighlight.context.cjs +12 -0
  4. package/cjs/CodeHighlight/CodeHighlight.context.cjs.map +1 -0
  5. package/cjs/CodeHighlight/CodeHighlightControl/CodeHighlightControl.cjs +47 -0
  6. package/cjs/CodeHighlight/CodeHighlightControl/CodeHighlightControl.cjs.map +1 -0
  7. package/cjs/CodeHighlight/CopyCodeButton/CopyCodeButton.cjs +28 -0
  8. package/cjs/CodeHighlight/CopyCodeButton/CopyCodeButton.cjs.map +1 -0
  9. package/cjs/CodeHighlight/CopyCodeButton/CopyIcon.cjs +32 -0
  10. package/cjs/CodeHighlight/CopyCodeButton/CopyIcon.cjs.map +1 -0
  11. package/cjs/CodeHighlight/ExpandCodeButton/ExpandCodeButton.cjs +26 -0
  12. package/cjs/CodeHighlight/ExpandCodeButton/ExpandCodeButton.cjs.map +1 -0
  13. package/cjs/CodeHighlight/ExpandCodeButton/ExpandIcon.cjs +39 -0
  14. package/cjs/CodeHighlight/ExpandCodeButton/ExpandIcon.cjs.map +1 -0
  15. package/cjs/CodeHighlight/InlineCodeHighlight.cjs +40 -0
  16. package/cjs/CodeHighlight/InlineCodeHighlight.cjs.map +1 -0
  17. package/cjs/CodeHighlightProvider/CodeHighlightProvider.cjs +35 -0
  18. package/cjs/CodeHighlightProvider/CodeHighlightProvider.cjs.map +1 -0
  19. package/cjs/CodeHighlightProvider/adapters/highlight-js-adapter.cjs +17 -0
  20. package/cjs/CodeHighlightProvider/adapters/highlight-js-adapter.cjs.map +1 -0
  21. package/cjs/CodeHighlightProvider/adapters/plain-text-adapter.cjs +8 -0
  22. package/cjs/CodeHighlightProvider/adapters/plain-text-adapter.cjs.map +1 -0
  23. package/cjs/CodeHighlightProvider/adapters/shiki-adapter.cjs +42 -0
  24. package/cjs/CodeHighlightProvider/adapters/shiki-adapter.cjs.map +1 -0
  25. package/cjs/CodeHighlightProvider/adapters/shiki-themes.cjs +1240 -0
  26. package/cjs/CodeHighlightProvider/adapters/shiki-themes.cjs.map +1 -0
  27. package/cjs/CodeHighlightTabs/CodeHighlightTabs.cjs +135 -0
  28. package/cjs/CodeHighlightTabs/CodeHighlightTabs.cjs.map +1 -0
  29. package/cjs/CodeHighlightTabs/FileIcon.cjs +17 -0
  30. package/cjs/CodeHighlightTabs/FileIcon.cjs.map +1 -0
  31. package/esm/CodeHighlight/CodeHighlight.context.mjs +9 -0
  32. package/esm/CodeHighlight/CodeHighlight.context.mjs.map +1 -0
  33. package/esm/CodeHighlight/CodeHighlight.mjs +162 -0
  34. package/esm/CodeHighlight/CodeHighlight.mjs.map +1 -0
  35. package/esm/CodeHighlight/CodeHighlightControl/CodeHighlightControl.mjs +45 -0
  36. package/esm/CodeHighlight/CodeHighlightControl/CodeHighlightControl.mjs.map +1 -0
  37. package/esm/CodeHighlight/CopyCodeButton/CopyCodeButton.mjs +26 -0
  38. package/esm/CodeHighlight/CopyCodeButton/CopyCodeButton.mjs.map +1 -0
  39. package/esm/CodeHighlight/CopyCodeButton/CopyIcon.mjs +30 -0
  40. package/esm/CodeHighlight/CopyCodeButton/CopyIcon.mjs.map +1 -0
  41. package/esm/CodeHighlight/ExpandCodeButton/ExpandCodeButton.mjs +24 -0
  42. package/esm/CodeHighlight/ExpandCodeButton/ExpandCodeButton.mjs.map +1 -0
  43. package/esm/CodeHighlight/ExpandCodeButton/ExpandIcon.mjs +37 -0
  44. package/esm/CodeHighlight/ExpandCodeButton/ExpandIcon.mjs.map +1 -0
  45. package/esm/CodeHighlight/InlineCodeHighlight.mjs +38 -0
  46. package/esm/CodeHighlight/InlineCodeHighlight.mjs.map +1 -0
  47. package/esm/CodeHighlightProvider/CodeHighlightProvider.mjs +30 -0
  48. package/esm/CodeHighlightProvider/CodeHighlightProvider.mjs.map +1 -0
  49. package/esm/CodeHighlightProvider/adapters/highlight-js-adapter.mjs +15 -0
  50. package/esm/CodeHighlightProvider/adapters/highlight-js-adapter.mjs.map +1 -0
  51. package/esm/CodeHighlightProvider/adapters/plain-text-adapter.mjs +6 -0
  52. package/esm/CodeHighlightProvider/adapters/plain-text-adapter.mjs.map +1 -0
  53. package/esm/CodeHighlightProvider/adapters/shiki-adapter.mjs +39 -0
  54. package/esm/CodeHighlightProvider/adapters/shiki-adapter.mjs.map +1 -0
  55. package/esm/CodeHighlightProvider/adapters/shiki-themes.mjs +1237 -0
  56. package/esm/CodeHighlightProvider/adapters/shiki-themes.mjs.map +1 -0
  57. package/esm/CodeHighlightTabs/CodeHighlightTabs.mjs +133 -0
  58. package/esm/CodeHighlightTabs/CodeHighlightTabs.mjs.map +1 -0
  59. package/esm/CodeHighlightTabs/FileIcon.mjs +15 -0
  60. package/esm/CodeHighlightTabs/FileIcon.mjs.map +1 -0
  61. package/lib/CodeHighlight/CodeHighlight.context.d.ts +11 -0
  62. package/lib/CodeHighlight/CodeHighlight.d.ts +66 -0
  63. package/lib/CodeHighlight/CodeHighlightControl/CodeHighlightControl.d.ts +33 -0
  64. package/lib/CodeHighlight/CopyCodeButton/CopyCodeButton.d.ts +10 -0
  65. package/lib/CodeHighlight/CopyCodeButton/CopyIcon.d.ts +8 -0
  66. package/lib/CodeHighlight/ExpandCodeButton/ExpandCodeButton.d.ts +11 -0
  67. package/lib/CodeHighlight/ExpandCodeButton/ExpandIcon.d.ts +8 -0
  68. package/lib/CodeHighlight/InlineCodeHighlight.d.ts +29 -0
  69. package/lib/CodeHighlightProvider/CodeHighlightProvider.d.ts +32 -0
  70. package/lib/CodeHighlightProvider/adapters/highlight-js-adapter.d.ts +2 -0
  71. package/lib/CodeHighlightProvider/adapters/plain-text-adapter.d.ts +2 -0
  72. package/lib/CodeHighlightProvider/adapters/shiki-adapter.d.ts +7 -0
  73. package/lib/CodeHighlightProvider/adapters/shiki-themes.d.ts +430 -0
  74. package/lib/CodeHighlightTabs/CodeHighlightTabs.d.ts +34 -0
  75. package/lib/CodeHighlightTabs/FileIcon.d.ts +9 -0
  76. package/package.json +3 -3
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ function createHighlightJsAdapter(hljs) {
4
+ return {
5
+ getHighlighter: () => ({ code, language }) => {
6
+ const lang = hljs.getLanguage(language) ? language : "plaintext";
7
+ return {
8
+ highlightedCode: hljs.highlight(code.trim(), { language: lang }).value,
9
+ isHighlighted: true,
10
+ codeElementProps: { className: `hljs ${lang}` }
11
+ };
12
+ }
13
+ };
14
+ }
15
+
16
+ exports.createHighlightJsAdapter = createHighlightJsAdapter;
17
+ //# sourceMappingURL=highlight-js-adapter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"highlight-js-adapter.cjs","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"],"names":[],"mappings":";;AAEO,SAAS,yBAAyB,IAAiC,EAAA;AACxE,EAAO,OAAA;AAAA,IACL,gBACE,MACA,CAAC,EAAE,IAAA,EAAM,UAAe,KAAA;AACtB,MAAA,MAAM,IAAO,GAAA,IAAA,CAAK,WAAY,CAAA,QAAQ,IAAI,QAAW,GAAA,WAAA;AACrD,MAAO,OAAA;AAAA,QACL,eAAA,EAAiB,IAAK,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,IAAQ,EAAE,QAAA,EAAU,IAAK,EAAC,CAAE,CAAA,KAAA;AAAA,QACjE,aAAe,EAAA,IAAA;AAAA,QACf,gBAAkB,EAAA,EAAE,SAAW,EAAA,CAAA,KAAA,EAAQ,IAAI,CAAG,CAAA;AAAA,OAChD;AAAA;AACF,GACJ;AACF;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ const plainTextAdapter = {
4
+ getHighlighter: () => ({ code }) => ({ highlightedCode: code, isHighlighted: false })
5
+ };
6
+
7
+ exports.plainTextAdapter = plainTextAdapter;
8
+ //# sourceMappingURL=plain-text-adapter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-text-adapter.cjs","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"],"names":[],"mappings":";;AAEO,MAAM,gBAAyC,GAAA;AAAA,EACpD,cAAA,EACE,MACA,CAAC,EAAE,IAAA,QAAY,EAAE,eAAA,EAAiB,IAAM,EAAA,aAAA,EAAe,KAAM,EAAA;AACjE;;;;"}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var shikiThemes = require('./shiki-themes.cjs');
4
+
5
+ function stripElement(openTag, data) {
6
+ const openIndex = data.indexOf(`<${openTag}`);
7
+ let closeIndex = openIndex + openTag.length;
8
+ for (let i = openIndex; i < data.length; i++) {
9
+ if (data[i] === ">") {
10
+ closeIndex = i;
11
+ break;
12
+ }
13
+ }
14
+ const striped = data.slice(0, openIndex) + data.slice(closeIndex + 1);
15
+ return striped.replace(`</${openTag}>`, "");
16
+ }
17
+ function stripShikiCodeBlocks(data) {
18
+ return stripElement("code", stripElement("pre", data));
19
+ }
20
+ const createShikiAdapter = (loadShiki, { forceColorScheme } = {}) => {
21
+ return {
22
+ loadContext: loadShiki,
23
+ getHighlighter: (ctx) => {
24
+ if (!ctx) {
25
+ return ({ code }) => ({ highlightedCode: code, isHighlighted: false });
26
+ }
27
+ return ({ code, language, colorScheme }) => ({
28
+ isHighlighted: true,
29
+ highlightedCode: stripShikiCodeBlocks(
30
+ ctx.codeToHtml(code, {
31
+ lang: language,
32
+ theme: forceColorScheme || (colorScheme === "light" ? shikiThemes.light : shikiThemes.dark)
33
+ })
34
+ )
35
+ });
36
+ }
37
+ };
38
+ };
39
+
40
+ exports.createShikiAdapter = createShikiAdapter;
41
+ exports.stripShikiCodeBlocks = stripShikiCodeBlocks;
42
+ //# sourceMappingURL=shiki-adapter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shiki-adapter.cjs","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';\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 isHighlighted: true,\n highlightedCode: stripShikiCodeBlocks(\n ctx.codeToHtml(code, {\n lang: language,\n theme: forceColorScheme || ((colorScheme === 'light' ? light : dark) as any),\n })\n ),\n });\n },\n };\n};\n"],"names":["light","dark"],"mappings":";;;;AAGA,SAAS,YAAA,CAAa,SAAiB,IAAc,EAAA;AACnD,EAAA,MAAM,SAAY,GAAA,IAAA,CAAK,OAAQ,CAAA,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,CAAA;AAC5C,EAAI,IAAA,UAAA,GAAa,YAAY,OAAQ,CAAA,MAAA;AAErC,EAAA,KAAA,IAAS,CAAI,GAAA,SAAA,EAAW,CAAI,GAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AAC5C,IAAI,IAAA,IAAA,CAAK,CAAC,CAAA,KAAM,GAAK,EAAA;AACnB,MAAa,UAAA,GAAA,CAAA;AACb,MAAA;AAAA;AACF;AAGF,EAAM,MAAA,OAAA,GAAU,KAAK,KAAM,CAAA,CAAA,EAAG,SAAS,CAAI,GAAA,IAAA,CAAK,KAAM,CAAA,UAAA,GAAa,CAAC,CAAA;AACpE,EAAA,OAAO,OAAQ,CAAA,OAAA,CAAQ,CAAK,EAAA,EAAA,OAAO,KAAK,EAAE,CAAA;AAC5C;AAEO,SAAS,qBAAqB,IAAc,EAAA;AACjD,EAAA,OAAO,YAAa,CAAA,MAAA,EAAQ,YAAa,CAAA,KAAA,EAAO,IAAI,CAAC,CAAA;AACvD;AAMO,MAAM,qBAAqB,CAChC,SAAA,EACA,EAAE,gBAAiB,EAAA,GAA+B,EACzB,KAAA;AACzB,EAAO,OAAA;AAAA,IACL,WAAa,EAAA,SAAA;AAAA,IACb,cAAA,EAAgB,CAAC,GAAQ,KAAA;AACvB,MAAA,IAAI,CAAC,GAAK,EAAA;AACR,QAAO,OAAA,CAAC,EAAE,IAAK,EAAA,MAAO,EAAE,eAAiB,EAAA,IAAA,EAAM,eAAe,KAAM,EAAA,CAAA;AAAA;AAGtE,MAAA,OAAO,CAAC,EAAE,IAAM,EAAA,QAAA,EAAU,aAAmB,MAAA;AAAA,QAC3C,aAAe,EAAA,IAAA;AAAA,QACf,eAAiB,EAAA,oBAAA;AAAA,UACf,GAAA,CAAI,WAAW,IAAM,EAAA;AAAA,YACnB,IAAM,EAAA,QAAA;AAAA,YACN,KAAO,EAAA,gBAAA,KAAsB,WAAgB,KAAA,OAAA,GAAUA,iBAAQ,GAAAC,gBAAA;AAAA,WAChE;AAAA;AACH,OACF,CAAA;AAAA;AACF,GACF;AACF;;;;;"}